H5_init_library:
  140|      2|{
  141|      2|    size_t i;
  142|      2|    herr_t ret_value = SUCCEED;
  ------------------
  |  |  283|      2|#define SUCCEED 0
  ------------------
  143|       |
  144|      2|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      2|    {                                                                                                        \
  |  | 1392|      2|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      2|        {
  ------------------
  145|       |
  146|       |    /* Run the library initialization routine, if it hasn't already run */
  147|      2|    if (H5_INIT_GLOBAL || H5_TERM_GLOBAL)
  ------------------
  |  | 1235|      4|#define H5_INIT_GLOBAL (H5_libinit_g)
  |  |  ------------------
  |  |  |  Branch (1235:24): [True: 1, False: 1]
  |  |  ------------------
  ------------------
                  if (H5_INIT_GLOBAL || H5_TERM_GLOBAL)
  ------------------
  |  | 1236|      1|#define H5_TERM_GLOBAL (H5_libterm_g)
  |  |  ------------------
  |  |  |  Branch (1236:24): [True: 0, False: 1]
  |  |  ------------------
  ------------------
  148|      1|        HGOTO_DONE(SUCCEED);
  ------------------
  |  |   91|      1|    do {                                                                                                     \
  |  |   92|      1|        ret_value = ret_val;                                                                                 \
  |  |   93|      1|        goto done;                                                                                           \
  |  |   94|      1|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  149|       |
  150|       |    /* Set the 'library initialized' flag as early as possible, to avoid
  151|       |     * possible re-entrancy.
  152|       |     */
  153|      1|    H5_INIT_GLOBAL = true;
  ------------------
  |  | 1235|      1|#define H5_INIT_GLOBAL (H5_libinit_g)
  ------------------
  154|       |
  155|       |#ifdef H5_HAVE_PARALLEL
  156|       |    {
  157|       |        int mpi_initialized;
  158|       |        int mpi_finalized;
  159|       |        int mpi_code;
  160|       |
  161|       |        MPI_Initialized(&mpi_initialized);
  162|       |        MPI_Finalized(&mpi_finalized);
  163|       |
  164|       |        /* add an attribute on MPI_COMM_SELF to call H5_term_library
  165|       |           when it is destroyed, i.e. on MPI_Finalize */
  166|       |        if (mpi_initialized && !mpi_finalized) {
  167|       |            int key_val;
  168|       |
  169|       |            if (MPI_SUCCESS != (mpi_code = MPI_Comm_create_keyval(
  170|       |                                    MPI_COMM_NULL_COPY_FN, (MPI_Comm_delete_attr_function *)H5__mpi_delete_cb,
  171|       |                                    &key_val, NULL)))
  172|       |                HMPI_GOTO_ERROR(FAIL, "MPI_Comm_create_keyval failed", mpi_code)
  173|       |
  174|       |            if (MPI_SUCCESS != (mpi_code = MPI_Comm_set_attr(MPI_COMM_SELF, key_val, NULL)))
  175|       |                HMPI_GOTO_ERROR(FAIL, "MPI_Comm_set_attr failed", mpi_code)
  176|       |
  177|       |            if (MPI_SUCCESS != (mpi_code = MPI_Comm_free_keyval(&key_val)))
  178|       |                HMPI_GOTO_ERROR(FAIL, "MPI_Comm_free_keyval failed", mpi_code)
  179|       |        }
  180|       |    }
  181|       |#endif /*H5_HAVE_PARALLEL*/
  182|       |
  183|       |    /*
  184|       |     * Make sure the package information is updated.
  185|       |     */
  186|      1|    memset(&H5_debug_g, 0, sizeof H5_debug_g);
  187|      1|    H5_debug_g.pkg[H5_PKG_A].name  = "a";
  188|      1|    H5_debug_g.pkg[H5_PKG_AC].name = "ac";
  189|      1|    H5_debug_g.pkg[H5_PKG_B].name  = "b";
  190|      1|    H5_debug_g.pkg[H5_PKG_D].name  = "d";
  191|      1|    H5_debug_g.pkg[H5_PKG_E].name  = "e";
  192|      1|    H5_debug_g.pkg[H5_PKG_F].name  = "f";
  193|      1|    H5_debug_g.pkg[H5_PKG_G].name  = "g";
  194|      1|    H5_debug_g.pkg[H5_PKG_HG].name = "hg";
  195|      1|    H5_debug_g.pkg[H5_PKG_HL].name = "hl";
  196|      1|    H5_debug_g.pkg[H5_PKG_I].name  = "i";
  197|      1|    H5_debug_g.pkg[H5_PKG_M].name  = "m";
  198|      1|    H5_debug_g.pkg[H5_PKG_MF].name = "mf";
  199|      1|    H5_debug_g.pkg[H5_PKG_MM].name = "mm";
  200|      1|    H5_debug_g.pkg[H5_PKG_O].name  = "o";
  201|      1|    H5_debug_g.pkg[H5_PKG_P].name  = "p";
  202|      1|    H5_debug_g.pkg[H5_PKG_S].name  = "s";
  203|      1|    H5_debug_g.pkg[H5_PKG_T].name  = "t";
  204|      1|    H5_debug_g.pkg[H5_PKG_V].name  = "v";
  205|      1|    H5_debug_g.pkg[H5_PKG_VL].name = "vl";
  206|      1|    H5_debug_g.pkg[H5_PKG_Z].name  = "z";
  207|       |
  208|       |    /*
  209|       |     * Install atexit() library cleanup routines unless the H5dont_atexit()
  210|       |     * has been called.  Once we add something to the atexit() list it stays
  211|       |     * there permanently, so we set H5_dont_atexit_g after we add it to prevent
  212|       |     * adding it again later if the library is closed and reopened.
  213|       |     */
  214|      1|    if (!H5_dont_atexit_g) {
  ------------------
  |  Branch (214:9): [True: 1, False: 0]
  ------------------
  215|       |
  216|       |#if defined(H5_HAVE_THREADSAFE) && defined(H5_HAVE_WIN_THREADS)
  217|       |        /* Clean up Win32 thread resources. Pthreads automatically cleans up.
  218|       |         * This must be entered before the library cleanup code so it's
  219|       |         * executed in LIFO order (i.e., last).
  220|       |         */
  221|       |        (void)atexit(H5TS_win32_process_exit);
  222|       |#endif /* H5_HAVE_THREADSAFE && H5_HAVE_WIN_THREADS */
  223|       |
  224|       |        /* Normal library termination code */
  225|      1|        (void)atexit(H5_term_library);
  226|       |
  227|      1|        H5_dont_atexit_g = true;
  228|      1|    } /* end if */
  229|       |
  230|       |    /*
  231|       |     * Initialize interfaces that might not be able to initialize themselves
  232|       |     * soon enough.  The file & dataset interfaces must be initialized because
  233|       |     * calling H5P_create() might require the file/dataset property classes to be
  234|       |     * initialized.  The property interface must be initialized before the file
  235|       |     * & dataset interfaces though, in order to provide them with the proper
  236|       |     * property classes.
  237|       |     * The link interface needs to be initialized so that link property lists
  238|       |     * have their properties registered.
  239|       |     * The FS module needs to be initialized as a result of the fix for HDFFV-10160:
  240|       |     *   It might not be initialized during normal file open.
  241|       |     *   When the application does not close the file, routines in the module might
  242|       |     *   be called via H5_term_library() when shutting down the file.
  243|       |     * The dataspace interface needs to be initialized so that future IDs for
  244|       |     *   dataspaces work.
  245|       |     */
  246|      1|    {
  247|       |        /* clang-format off */
  248|      1|        struct {
  249|      1|            herr_t (*func)(void);
  250|      1|            const char *descr;
  251|      1|        } initializer[] = {
  252|      1|            {H5E_init, "error"}
  253|      1|        ,   {H5VL_init_phase1, "VOL"}
  254|      1|        ,   {H5SL_init, "skip lists"}
  255|      1|        ,   {H5FD_init, "VFD"}
  256|      1|        ,   {H5_default_vfd_init, "default VFD"}
  257|      1|        ,   {H5P_init_phase1, "property list"}
  258|      1|        ,   {H5AC_init, "metadata caching"}
  259|      1|        ,   {H5L_init, "link"}
  260|      1|        ,   {H5S_init, "dataspace"}
  261|      1|        ,   {H5PL_init, "plugins"}
  262|       |        /* Finish initializing interfaces that depend on the interfaces above */
  263|      1|        ,   {H5P_init_phase2, "property list"}
  264|      1|        ,   {H5VL_init_phase2, "VOL"}
  265|      1|        };
  266|       |
  267|     13|        for (i = 0; i < NELMTS(initializer); i++) {
  ------------------
  |  |  288|     13|#define NELMTS(X) (sizeof(X) / sizeof(X[0]))
  ------------------
  |  Branch (267:21): [True: 12, False: 1]
  ------------------
  268|     12|            if (initializer[i].func() < 0) {
  ------------------
  |  Branch (268:17): [True: 0, False: 12]
  ------------------
  269|      0|                HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  270|      0|                    "unable to initialize %s interface", initializer[i].descr);
  271|      0|            }
  272|     12|        }
  273|       |        /* clang-format on */
  274|      1|    }
  275|       |
  276|       |    /* Debugging? */
  277|      1|    H5__debug_mask("-all");
  278|      1|    H5__debug_mask(getenv("HDF5_DEBUG"));
  279|       |
  280|      2|done:
  281|      2|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      2|    ;                                                                                                        \
  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  282|      1|} /* end H5_init_library() */
H5_term_library:
  297|      1|{
  298|      1|    int         pending, ntries   = 0;
  299|      1|    char        loop[1024], *next = loop;
  300|      1|    size_t      i;
  301|      1|    size_t      nleft = sizeof(loop);
  302|      1|    int         nprinted;
  303|      1|    H5E_auto2_t func;
  304|       |
  305|       |#ifdef H5_HAVE_THREADSAFE
  306|       |    /* explicit locking of the API */
  307|       |    H5_FIRST_THREAD_INIT
  308|       |    H5_API_LOCK
  309|       |#endif
  310|       |
  311|       |    /* Don't do anything if the library is already closed */
  312|      1|    if (!(H5_INIT_GLOBAL))
  ------------------
  |  | 1235|      1|#define H5_INIT_GLOBAL (H5_libinit_g)
  ------------------
  |  Branch (312:9): [True: 0, False: 1]
  ------------------
  313|      0|        goto done;
  314|       |
  315|       |    /* Indicate that the library is being shut down */
  316|      1|    H5_TERM_GLOBAL = true;
  ------------------
  |  | 1236|      1|#define H5_TERM_GLOBAL (H5_libterm_g)
  ------------------
  317|       |
  318|       |    /* Push the API context without checking for errors */
  319|      1|    H5CX_push_special();
  320|       |
  321|       |    /* Check if we should display error output */
  322|      1|    (void)H5Eget_auto2(H5E_DEFAULT, &func, NULL);
  ------------------
  |  |   25|      1|#define H5E_DEFAULT 0 /* (hid_t) */
  ------------------
  323|       |
  324|       |    /* Iterate over the list of 'atclose' callbacks that have been registered */
  325|      1|    if (H5_atclose_head) {
  ------------------
  |  Branch (325:9): [True: 0, False: 1]
  ------------------
  326|      0|        H5_atclose_node_t *curr_atclose; /* Current 'atclose' node */
  327|       |
  328|       |        /* Iterate over all 'atclose' nodes, making callbacks */
  329|      0|        curr_atclose = H5_atclose_head;
  330|      0|        while (curr_atclose) {
  ------------------
  |  Branch (330:16): [True: 0, False: 0]
  ------------------
  331|      0|            H5_atclose_node_t *tmp_atclose; /* Temporary pointer to 'atclose' node */
  332|       |
  333|       |            /* Invoke callback, providing context */
  334|      0|            (*curr_atclose->func)(curr_atclose->ctx);
  335|       |
  336|       |            /* Advance to next node and free this one */
  337|      0|            tmp_atclose  = curr_atclose;
  338|      0|            curr_atclose = curr_atclose->next;
  339|      0|            H5FL_FREE(H5_atclose_node_t, tmp_atclose);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  340|      0|        } /* end while */
  341|       |
  342|       |        /* Reset list head, in case library is re-initialized */
  343|      0|        H5_atclose_head = NULL;
  344|      0|    } /* end if */
  345|       |
  346|       |    /* clang-format off */
  347|       |
  348|       |    /*
  349|       |     * Terminate each interface. The termination functions return a positive
  350|       |     * value if they do something that might affect some other interface in a
  351|       |     * way that would necessitate some cleanup work in the other interface.
  352|       |     */
  353|       |
  354|      1|    {
  355|      1|#define TERMINATOR(module, wait) {          \
  356|      1|          .func = H5##module##_term_package \
  357|      1|        , .name = #module                   \
  358|      1|        , .completed = false                \
  359|      1|        , .await_prior = wait               \
  360|      1|        }
  361|       |
  362|       |        /*
  363|       |         * Termination is ordered by the `terminator` table so the "higher" level
  364|       |         * packages are shut down before "lower" level packages that they
  365|       |         * rely on:
  366|       |         */
  367|      1|        struct {
  368|      1|            int (*func)(void);       /* function to terminate the module; returns 0
  369|       |                                      * on success, >0 if termination was not
  370|       |                                      * completed and we should try to terminate
  371|       |                                      * some dependent modules, first.
  372|       |                                      */
  373|      1|            const char *name;        /* name of the module */
  374|      1|            bool     completed;   /* true iff this terminator was already
  375|       |                                      * completed
  376|       |                                      */
  377|      1|            const bool await_prior;  /* true iff all prior terminators in the
  378|       |                                         * list must complete before this
  379|       |                                         * terminator is attempted
  380|       |                                         */
  381|      1|        } terminator[] = {
  382|       |            /* Close the event sets first, so that all asynchronous operations
  383|       |             * complete before anything else attempts to shut down.
  384|       |             */
  385|      1|            TERMINATOR(ES, false)
  ------------------
  |  |  355|      1|#define TERMINATOR(module, wait) {          \
  |  |  356|      1|          .func = H5##module##_term_package \
  |  |  357|      1|        , .name = #module                   \
  |  |  358|      1|        , .completed = false                \
  |  |  359|      1|        , .await_prior = wait               \
  |  |  360|      1|        }
  ------------------
  386|       |            /* Do not attempt to close down package L until after event sets
  387|       |             * have finished closing down.
  388|       |             */
  389|      1|        ,   TERMINATOR(L, true)
  ------------------
  |  |  355|      1|#define TERMINATOR(module, wait) {          \
  |  |  356|      1|          .func = H5##module##_term_package \
  |  |  357|      1|        , .name = #module                   \
  |  |  358|      1|        , .completed = false                \
  |  |  359|      1|        , .await_prior = wait               \
  |  |  360|      1|        }
  ------------------
  390|       |            /* Close the "top" of various interfaces (IDs, etc) but don't shut
  391|       |             * down the whole interface yet, so that the object header messages
  392|       |             * get serialized correctly for entries in the metadata cache and the
  393|       |             * symbol table entry in the superblock gets serialized correctly, etc.
  394|       |             * all of which is performed in the 'F' shutdown.
  395|       |             *
  396|       |             * The tops of packages A, D, G, M, S, T do not need to wait for L
  397|       |             * or previous packages to finish closing down.
  398|       |             */
  399|      1|        ,   TERMINATOR(A_top, false)
  ------------------
  |  |  355|      1|#define TERMINATOR(module, wait) {          \
  |  |  356|      1|          .func = H5##module##_term_package \
  |  |  357|      1|        , .name = #module                   \
  |  |  358|      1|        , .completed = false                \
  |  |  359|      1|        , .await_prior = wait               \
  |  |  360|      1|        }
  ------------------
  400|      1|        ,   TERMINATOR(D_top, false)
  ------------------
  |  |  355|      1|#define TERMINATOR(module, wait) {          \
  |  |  356|      1|          .func = H5##module##_term_package \
  |  |  357|      1|        , .name = #module                   \
  |  |  358|      1|        , .completed = false                \
  |  |  359|      1|        , .await_prior = wait               \
  |  |  360|      1|        }
  ------------------
  401|      1|        ,   TERMINATOR(G_top, false)
  ------------------
  |  |  355|      1|#define TERMINATOR(module, wait) {          \
  |  |  356|      1|          .func = H5##module##_term_package \
  |  |  357|      1|        , .name = #module                   \
  |  |  358|      1|        , .completed = false                \
  |  |  359|      1|        , .await_prior = wait               \
  |  |  360|      1|        }
  ------------------
  402|      1|        ,   TERMINATOR(M_top, false)
  ------------------
  |  |  355|      1|#define TERMINATOR(module, wait) {          \
  |  |  356|      1|          .func = H5##module##_term_package \
  |  |  357|      1|        , .name = #module                   \
  |  |  358|      1|        , .completed = false                \
  |  |  359|      1|        , .await_prior = wait               \
  |  |  360|      1|        }
  ------------------
  403|      1|        ,   TERMINATOR(S_top, false)
  ------------------
  |  |  355|      1|#define TERMINATOR(module, wait) {          \
  |  |  356|      1|          .func = H5##module##_term_package \
  |  |  357|      1|        , .name = #module                   \
  |  |  358|      1|        , .completed = false                \
  |  |  359|      1|        , .await_prior = wait               \
  |  |  360|      1|        }
  ------------------
  404|      1|        ,   TERMINATOR(T_top, false)
  ------------------
  |  |  355|      1|#define TERMINATOR(module, wait) {          \
  |  |  356|      1|          .func = H5##module##_term_package \
  |  |  357|      1|        , .name = #module                   \
  |  |  358|      1|        , .completed = false                \
  |  |  359|      1|        , .await_prior = wait               \
  |  |  360|      1|        }
  ------------------
  405|       |            /* Don't shut down the file code until objects in files are shut down */
  406|      1|        ,   TERMINATOR(F, true)
  ------------------
  |  |  355|      1|#define TERMINATOR(module, wait) {          \
  |  |  356|      1|          .func = H5##module##_term_package \
  |  |  357|      1|        , .name = #module                   \
  |  |  358|      1|        , .completed = false                \
  |  |  359|      1|        , .await_prior = wait               \
  |  |  360|      1|        }
  ------------------
  407|       |            /* Don't shut down the property list code until all objects that might
  408|       |             * use property lists are shut down
  409|       |             */
  410|      1|        ,   TERMINATOR(P, true)
  ------------------
  |  |  355|      1|#define TERMINATOR(module, wait) {          \
  |  |  356|      1|          .func = H5##module##_term_package \
  |  |  357|      1|        , .name = #module                   \
  |  |  358|      1|        , .completed = false                \
  |  |  359|      1|        , .await_prior = wait               \
  |  |  360|      1|        }
  ------------------
  411|       |            /* Wait to shut down the "bottom" of various interfaces until the
  412|       |             * files are closed, so pieces of the file can be serialized
  413|       |             * correctly.
  414|       |             *
  415|       |             * Shut down the "bottom" of the attribute, dataset, group,
  416|       |             * reference, dataspace, and datatype interfaces, fully closing
  417|       |             * out the interfaces now.
  418|       |             */
  419|      1|        ,   TERMINATOR(A, true)
  ------------------
  |  |  355|      1|#define TERMINATOR(module, wait) {          \
  |  |  356|      1|          .func = H5##module##_term_package \
  |  |  357|      1|        , .name = #module                   \
  |  |  358|      1|        , .completed = false                \
  |  |  359|      1|        , .await_prior = wait               \
  |  |  360|      1|        }
  ------------------
  420|      1|        ,   TERMINATOR(D, false)
  ------------------
  |  |  355|      1|#define TERMINATOR(module, wait) {          \
  |  |  356|      1|          .func = H5##module##_term_package \
  |  |  357|      1|        , .name = #module                   \
  |  |  358|      1|        , .completed = false                \
  |  |  359|      1|        , .await_prior = wait               \
  |  |  360|      1|        }
  ------------------
  421|      1|        ,   TERMINATOR(G, false)
  ------------------
  |  |  355|      1|#define TERMINATOR(module, wait) {          \
  |  |  356|      1|          .func = H5##module##_term_package \
  |  |  357|      1|        , .name = #module                   \
  |  |  358|      1|        , .completed = false                \
  |  |  359|      1|        , .await_prior = wait               \
  |  |  360|      1|        }
  ------------------
  422|      1|        ,   TERMINATOR(M, false)
  ------------------
  |  |  355|      1|#define TERMINATOR(module, wait) {          \
  |  |  356|      1|          .func = H5##module##_term_package \
  |  |  357|      1|        , .name = #module                   \
  |  |  358|      1|        , .completed = false                \
  |  |  359|      1|        , .await_prior = wait               \
  |  |  360|      1|        }
  ------------------
  423|      1|        ,   TERMINATOR(S, false)
  ------------------
  |  |  355|      1|#define TERMINATOR(module, wait) {          \
  |  |  356|      1|          .func = H5##module##_term_package \
  |  |  357|      1|        , .name = #module                   \
  |  |  358|      1|        , .completed = false                \
  |  |  359|      1|        , .await_prior = wait               \
  |  |  360|      1|        }
  ------------------
  424|      1|        ,   TERMINATOR(T, false)
  ------------------
  |  |  355|      1|#define TERMINATOR(module, wait) {          \
  |  |  356|      1|          .func = H5##module##_term_package \
  |  |  357|      1|        , .name = #module                   \
  |  |  358|      1|        , .completed = false                \
  |  |  359|      1|        , .await_prior = wait               \
  |  |  360|      1|        }
  ------------------
  425|       |            /* Wait to shut down low-level packages like AC until after
  426|       |             * the preceding high-level packages have shut down.  This prevents
  427|       |             * low-level objects from closing "out from underneath" their
  428|       |             * reliant high-level objects.
  429|       |             */
  430|      1|        ,   TERMINATOR(AC, true)
  ------------------
  |  |  355|      1|#define TERMINATOR(module, wait) {          \
  |  |  356|      1|          .func = H5##module##_term_package \
  |  |  357|      1|        , .name = #module                   \
  |  |  358|      1|        , .completed = false                \
  |  |  359|      1|        , .await_prior = wait               \
  |  |  360|      1|        }
  ------------------
  431|       |            /* Shut down the "pluggable" interfaces, before the plugin framework */
  432|      1|        ,   TERMINATOR(Z, false)
  ------------------
  |  |  355|      1|#define TERMINATOR(module, wait) {          \
  |  |  356|      1|          .func = H5##module##_term_package \
  |  |  357|      1|        , .name = #module                   \
  |  |  358|      1|        , .completed = false                \
  |  |  359|      1|        , .await_prior = wait               \
  |  |  360|      1|        }
  ------------------
  433|      1|        ,   TERMINATOR(FD, false)
  ------------------
  |  |  355|      1|#define TERMINATOR(module, wait) {          \
  |  |  356|      1|          .func = H5##module##_term_package \
  |  |  357|      1|        , .name = #module                   \
  |  |  358|      1|        , .completed = false                \
  |  |  359|      1|        , .await_prior = wait               \
  |  |  360|      1|        }
  ------------------
  434|      1|        ,   TERMINATOR(VL, false)
  ------------------
  |  |  355|      1|#define TERMINATOR(module, wait) {          \
  |  |  356|      1|          .func = H5##module##_term_package \
  |  |  357|      1|        , .name = #module                   \
  |  |  358|      1|        , .completed = false                \
  |  |  359|      1|        , .await_prior = wait               \
  |  |  360|      1|        }
  ------------------
  435|       |            /* Don't shut down the plugin code until all "pluggable" interfaces
  436|       |             * (Z, FD, PL) are shut down
  437|       |             */
  438|      1|        ,   TERMINATOR(PL, true)
  ------------------
  |  |  355|      1|#define TERMINATOR(module, wait) {          \
  |  |  356|      1|          .func = H5##module##_term_package \
  |  |  357|      1|        , .name = #module                   \
  |  |  358|      1|        , .completed = false                \
  |  |  359|      1|        , .await_prior = wait               \
  |  |  360|      1|        }
  ------------------
  439|       |            /* Shut down the following packages in strictly the order given
  440|       |             * by the table.
  441|       |             */
  442|      1|        ,   TERMINATOR(E, true)
  ------------------
  |  |  355|      1|#define TERMINATOR(module, wait) {          \
  |  |  356|      1|          .func = H5##module##_term_package \
  |  |  357|      1|        , .name = #module                   \
  |  |  358|      1|        , .completed = false                \
  |  |  359|      1|        , .await_prior = wait               \
  |  |  360|      1|        }
  ------------------
  443|      1|        ,   TERMINATOR(I, true)
  ------------------
  |  |  355|      1|#define TERMINATOR(module, wait) {          \
  |  |  356|      1|          .func = H5##module##_term_package \
  |  |  357|      1|        , .name = #module                   \
  |  |  358|      1|        , .completed = false                \
  |  |  359|      1|        , .await_prior = wait               \
  |  |  360|      1|        }
  ------------------
  444|      1|        ,   TERMINATOR(SL, true)
  ------------------
  |  |  355|      1|#define TERMINATOR(module, wait) {          \
  |  |  356|      1|          .func = H5##module##_term_package \
  |  |  357|      1|        , .name = #module                   \
  |  |  358|      1|        , .completed = false                \
  |  |  359|      1|        , .await_prior = wait               \
  |  |  360|      1|        }
  ------------------
  445|      1|        ,   TERMINATOR(FL, true)
  ------------------
  |  |  355|      1|#define TERMINATOR(module, wait) {          \
  |  |  356|      1|          .func = H5##module##_term_package \
  |  |  357|      1|        , .name = #module                   \
  |  |  358|      1|        , .completed = false                \
  |  |  359|      1|        , .await_prior = wait               \
  |  |  360|      1|        }
  ------------------
  446|      1|        ,   TERMINATOR(CX, true)
  ------------------
  |  |  355|      1|#define TERMINATOR(module, wait) {          \
  |  |  356|      1|          .func = H5##module##_term_package \
  |  |  357|      1|        , .name = #module                   \
  |  |  358|      1|        , .completed = false                \
  |  |  359|      1|        , .await_prior = wait               \
  |  |  360|      1|        }
  ------------------
  447|      1|        };
  448|       |
  449|      9|        do {
  450|      9|            pending = 0;
  451|    170|            for (i = 0; i < NELMTS(terminator); i++) {
  ------------------
  |  |  288|    170|#define NELMTS(X) (sizeof(X) / sizeof(X[0]))
  ------------------
  |  Branch (451:25): [True: 169, False: 1]
  ------------------
  452|    169|                if (terminator[i].completed)
  ------------------
  |  Branch (452:21): [True: 124, False: 45]
  ------------------
  453|    124|                    continue;
  454|     45|                if (pending != 0 && terminator[i].await_prior)
  ------------------
  |  Branch (454:21): [True: 16, False: 29]
  |  Branch (454:37): [True: 8, False: 8]
  ------------------
  455|      8|                    break;
  456|     37|                if (terminator[i].func() == 0) {
  ------------------
  |  Branch (456:21): [True: 26, False: 11]
  ------------------
  457|     26|                    terminator[i].completed = true;
  458|     26|                    continue;
  459|     26|                }
  460|       |
  461|       |                /* log a package when its terminator needs to be retried */
  462|     11|                pending++;
  463|     11|                nprinted = snprintf(next, nleft, "%s%s",
  464|     11|                    (next != loop) ? "," : "", terminator[i].name);
  ------------------
  |  Branch (464:21): [True: 10, False: 1]
  ------------------
  465|     11|                if (nprinted < 0)
  ------------------
  |  Branch (465:21): [True: 0, False: 11]
  ------------------
  466|      0|                    continue;
  467|     11|                if ((size_t)nprinted >= nleft)
  ------------------
  |  Branch (467:21): [True: 0, False: 11]
  ------------------
  468|      0|                    nprinted = snprintf(next, nleft, "...");
  469|     11|                if (nprinted < 0 || (size_t)nprinted >= nleft)
  ------------------
  |  Branch (469:21): [True: 0, False: 11]
  |  Branch (469:37): [True: 0, False: 11]
  ------------------
  470|      0|                    continue;
  471|     11|                nleft -= (size_t)nprinted;
  472|     11|                next += nprinted;
  473|     11|            }
  474|      9|        } while (pending && ntries++ < 100);
  ------------------
  |  Branch (474:18): [True: 8, False: 1]
  |  Branch (474:29): [True: 8, False: 0]
  ------------------
  475|       |
  476|       |        /* clang-format on */
  477|       |
  478|      1|        if (pending) {
  ------------------
  |  Branch (478:13): [True: 0, False: 1]
  ------------------
  479|       |            /* Only display the error message if the user is interested in them. */
  480|      0|            if (func) {
  ------------------
  |  Branch (480:17): [True: 0, False: 0]
  ------------------
  481|      0|                fprintf(stderr, "HDF5: infinite loop closing library\n");
  482|      0|                fprintf(stderr, "      %s\n", loop);
  483|       |#ifndef NDEBUG
  484|       |                abort();
  485|       |#endif
  486|      0|            }
  487|      0|        }
  488|      1|    }
  489|       |
  490|       |    /* Free open debugging streams */
  491|      1|    while (H5_debug_g.open_stream) {
  ------------------
  |  Branch (491:12): [True: 0, False: 1]
  ------------------
  492|      0|        H5_debug_open_stream_t *tmp_open_stream;
  493|       |
  494|      0|        tmp_open_stream = H5_debug_g.open_stream;
  495|      0|        (void)fclose(H5_debug_g.open_stream->stream);
  496|      0|        H5_debug_g.open_stream = H5_debug_g.open_stream->next;
  497|      0|        (void)H5MM_free(tmp_open_stream);
  ------------------
  |  |   37|      0|#define H5MM_free(Z)   free(Z)
  ------------------
  498|      0|    } /* end while */
  499|       |
  500|       |    /* Reset flag indicating that the library is being shut down */
  501|      1|    H5_TERM_GLOBAL = false;
  ------------------
  |  | 1236|      1|#define H5_TERM_GLOBAL (H5_libterm_g)
  ------------------
  502|       |
  503|       |    /* Mark library as closed */
  504|      1|    H5_INIT_GLOBAL = false;
  ------------------
  |  | 1235|      1|#define H5_INIT_GLOBAL (H5_libinit_g)
  ------------------
  505|       |
  506|       |    /* Don't pop the API context (i.e. H5CX_pop), since it's been shut down already */
  507|       |
  508|      1|done:
  509|       |#ifdef H5_HAVE_THREADSAFE
  510|       |    H5_API_UNLOCK
  511|       |#endif /* H5_HAVE_THREADSAFE */
  512|       |
  513|      1|    return;
  514|      1|} /* end H5_term_library() */
H5check_version:
  864|     10|{
  865|     10|    char                lib_str[256];
  866|     10|    char                substr[]                 = H5_VERS_SUBRELEASE;
  ------------------
  |  |   90|     10|#define H5_VERS_SUBRELEASE "1"
  ------------------
  867|     10|    static int          checked                  = 0; /* If we've already checked the version info */
  868|     10|    static unsigned int disable_version_check    = 0; /* Set if the version check should be disabled */
  869|     10|    static const char  *version_mismatch_warning = VERSION_MISMATCH_WARNING;
  ------------------
  |  |  844|     10|    "Warning! ***HDF5 library version mismatched error***\n"                                                 \
  |  |  845|     10|    "The HDF5 header files used to compile this application do not match\n"                                  \
  |  |  846|     10|    "the version used by the HDF5 library to which this application is linked.\n"                            \
  |  |  847|     10|    "Data corruption or segmentation faults may occur if the application continues.\n"                       \
  |  |  848|     10|    "This can happen when an application was compiled by one version of HDF5 but\n"                          \
  |  |  849|     10|    "linked with a different version of static or shared HDF5 library.\n"                                    \
  |  |  850|     10|    "You should recompile the application or check your shared library related\n"                            \
  |  |  851|     10|    "settings such as 'LD_LIBRARY_PATH'.\n"
  ------------------
  870|     10|    static const char  *release_mismatch_warning = RELEASE_MISMATCH_WARNING;
  ------------------
  |  |  853|     10|    "Warning! ***HDF5 library release mismatched error***\n"                                                 \
  |  |  854|     10|    "The HDF5 header files used to compile this application are not compatible with\n"                       \
  |  |  855|     10|    "the version used by the HDF5 library to which this application is linked.\n"                            \
  |  |  856|     10|    "Data corruption or segmentation faults may occur if the application continues.\n"                       \
  |  |  857|     10|    "This can happen when an application was compiled by one version of HDF5 but\n"                          \
  |  |  858|     10|    "linked with an incompatible version of static or shared HDF5 library.\n"                                \
  |  |  859|     10|    "You should recompile the application or check your shared library related\n"                            \
  |  |  860|     10|    "settings such as 'LD_LIBRARY_PATH'.\n"
  ------------------
  871|     10|    herr_t              ret_value                = SUCCEED; /* Return value */
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
  872|       |
  873|     10|    FUNC_ENTER_API_NOINIT_NOERR_NOFS
  ------------------
  |  | 1347|     10|    {                                                                                                        \
  |  | 1348|     10|        {                                                                                                    \
  |  | 1349|     10|            {                                                                                                \
  |  | 1350|     10|                {                                                                                            \
  |  | 1351|     10|                    FUNC_ENTER_COMMON_NOERR(H5_IS_API(__func__));                                            \
  |  |  ------------------
  |  |  |  | 1269|     10|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1352|     10|                    FUNC_ENTER_API_THREADSAFE;                                                               \
  |  | 1353|     10|                    {
  ------------------
  874|       |
  875|       |    /* Don't check again, if we already have */
  876|     10|    if (checked)
  ------------------
  |  Branch (876:9): [True: 9, False: 1]
  ------------------
  877|      9|        HGOTO_DONE(SUCCEED);
  ------------------
  |  |   91|      9|    do {                                                                                                     \
  |  |   92|      9|        ret_value = ret_val;                                                                                 \
  |  |   93|      9|        goto done;                                                                                           \
  |  |   94|      9|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  878|       |
  879|      1|    {
  880|      1|        const char *s; /* Environment string for disabling version check */
  881|       |
  882|       |        /* Allow different versions of the header files and library? */
  883|      1|        s = getenv("HDF5_DISABLE_VERSION_CHECK");
  884|       |
  885|      1|        if (s && isdigit(*s))
  ------------------
  |  Branch (885:13): [True: 0, False: 1]
  ------------------
  886|      0|            disable_version_check = (unsigned int)strtol(s, NULL, 0);
  887|      1|    }
  888|       |
  889|       |    /* H5_VERS_MAJOR and H5_VERS_MINOR must match */
  890|      1|    if (H5_VERS_MAJOR != majnum || H5_VERS_MINOR != minnum) {
  ------------------
  |  |   78|      1|#define H5_VERS_MAJOR 1
  ------------------
                  if (H5_VERS_MAJOR != majnum || H5_VERS_MINOR != minnum) {
  ------------------
  |  |   82|      1|#define H5_VERS_MINOR 14
  ------------------
  |  Branch (890:9): [True: 0, False: 1]
  |  Branch (890:36): [True: 0, False: 1]
  ------------------
  891|      0|        switch (disable_version_check) {
  892|      0|            case 0:
  ------------------
  |  Branch (892:13): [True: 0, False: 0]
  ------------------
  893|      0|                fprintf(stderr, "%s%s", version_mismatch_warning,
  894|      0|                        "You can, at your own risk, disable this warning by setting the environment\n"
  895|      0|                        "variable 'HDF5_DISABLE_VERSION_CHECK' to a value of '1'.\n"
  896|      0|                        "Setting it to 2 or higher will suppress the warning messages totally.\n");
  897|       |                /* Mention the versions we are referring to */
  898|      0|                fprintf(stderr, "Headers are %u.%u.%u, library is %u.%u.%u\n", majnum, minnum, relnum,
  899|      0|                        (unsigned)H5_VERS_MAJOR, (unsigned)H5_VERS_MINOR, (unsigned)H5_VERS_RELEASE);
  ------------------
  |  |   78|      0|#define H5_VERS_MAJOR 1
  ------------------
                                      (unsigned)H5_VERS_MAJOR, (unsigned)H5_VERS_MINOR, (unsigned)H5_VERS_RELEASE);
  ------------------
  |  |   82|      0|#define H5_VERS_MINOR 14
  ------------------
                                      (unsigned)H5_VERS_MAJOR, (unsigned)H5_VERS_MINOR, (unsigned)H5_VERS_RELEASE);
  ------------------
  |  |   86|      0|#define H5_VERS_RELEASE 5
  ------------------
  900|       |                /* Show library build settings if available */
  901|      0|                fprintf(stderr, "%s", H5build_settings);
  902|       |
  903|       |                /* Bail out now. */
  904|      0|                fputs("Bye...\n", stderr);
  905|      0|                abort();
  906|      0|            case 1:
  ------------------
  |  Branch (906:13): [True: 0, False: 0]
  ------------------
  907|       |                /* continue with a warning */
  908|       |                /* Note that the warning message is embedded in the format string.*/
  909|      0|                fprintf(stderr,
  910|      0|                        "%s'HDF5_DISABLE_VERSION_CHECK' "
  911|      0|                        "environment variable is set to %d, application will\n"
  912|      0|                        "continue at your own risk.\n",
  913|      0|                        version_mismatch_warning, disable_version_check);
  914|       |                /* Mention the versions we are referring to */
  915|      0|                fprintf(stderr, "Headers are %u.%u.%u, library is %u.%u.%u\n", majnum, minnum, relnum,
  916|      0|                        (unsigned)H5_VERS_MAJOR, (unsigned)H5_VERS_MINOR, (unsigned)H5_VERS_RELEASE);
  ------------------
  |  |   78|      0|#define H5_VERS_MAJOR 1
  ------------------
                                      (unsigned)H5_VERS_MAJOR, (unsigned)H5_VERS_MINOR, (unsigned)H5_VERS_RELEASE);
  ------------------
  |  |   82|      0|#define H5_VERS_MINOR 14
  ------------------
                                      (unsigned)H5_VERS_MAJOR, (unsigned)H5_VERS_MINOR, (unsigned)H5_VERS_RELEASE);
  ------------------
  |  |   86|      0|#define H5_VERS_RELEASE 5
  ------------------
  917|       |                /* Show library build settings if available */
  918|      0|                fprintf(stderr, "%s", H5build_settings);
  919|      0|                break;
  920|      0|            default:
  ------------------
  |  Branch (920:13): [True: 0, False: 0]
  ------------------
  921|       |                /* 2 or higher: continue silently */
  922|      0|                break;
  923|      0|        } /* end switch */
  924|       |
  925|      0|    } /* end if (H5_VERS_MAJOR != majnum || H5_VERS_MINOR != minnum) */
  926|       |
  927|       |    /* H5_VERS_RELEASE should be compatible, we will only add checks for exceptions */
  928|       |    /* Library develop release versions are incompatible by design */
  929|      1|    if (H5_VERS_RELEASE != relnum) {
  ------------------
  |  |   86|      1|#define H5_VERS_RELEASE 5
  ------------------
  |  Branch (929:9): [True: 0, False: 1]
  ------------------
  930|      0|        for (unsigned i = 0; i < VERS_RELEASE_EXCEPTIONS_SIZE; i++) {
  ------------------
  |  Branch (930:30): [True: 0, False: 0]
  ------------------
  931|       |            /* Check for incompatible headers or incompatible library */
  932|      0|            if (VERS_RELEASE_EXCEPTIONS[i] == relnum || VERS_RELEASE_EXCEPTIONS[i] == H5_VERS_RELEASE) {
  ------------------
  |  |   86|      0|#define H5_VERS_RELEASE 5
  ------------------
  |  Branch (932:17): [True: 0, False: 0]
  |  Branch (932:57): [True: 0, False: 0]
  ------------------
  933|      0|                switch (disable_version_check) {
  934|      0|                    case 0:
  ------------------
  |  Branch (934:21): [True: 0, False: 0]
  ------------------
  935|      0|                        fprintf(stderr, "%s%s", release_mismatch_warning,
  936|      0|                                "You can, at your own risk, disable this warning by setting the environment\n"
  937|      0|                                "variable 'HDF5_DISABLE_VERSION_CHECK' to a value of '1'.\n"
  938|      0|                                "Setting it to 2 or higher will suppress the warning messages totally.\n");
  939|       |                        /* Mention the versions we are referring to */
  940|      0|                        fprintf(stderr, "Headers are %u.%u.%u, library is %u.%u.%u\n", majnum, minnum, relnum,
  941|      0|                                (unsigned)H5_VERS_MAJOR, (unsigned)H5_VERS_MINOR, (unsigned)H5_VERS_RELEASE);
  ------------------
  |  |   78|      0|#define H5_VERS_MAJOR 1
  ------------------
                                              (unsigned)H5_VERS_MAJOR, (unsigned)H5_VERS_MINOR, (unsigned)H5_VERS_RELEASE);
  ------------------
  |  |   82|      0|#define H5_VERS_MINOR 14
  ------------------
                                              (unsigned)H5_VERS_MAJOR, (unsigned)H5_VERS_MINOR, (unsigned)H5_VERS_RELEASE);
  ------------------
  |  |   86|      0|#define H5_VERS_RELEASE 5
  ------------------
  942|       |
  943|       |                        /* Bail out now. */
  944|      0|                        fputs("Bye...\n", stderr);
  945|      0|                        abort();
  946|      0|                    case 1:
  ------------------
  |  Branch (946:21): [True: 0, False: 0]
  ------------------
  947|       |                        /* continue with a warning */
  948|       |                        /* Note that the warning message is embedded in the format string.*/
  949|      0|                        fprintf(stderr,
  950|      0|                                "%s'HDF5_DISABLE_VERSION_CHECK' "
  951|      0|                                "environment variable is set to %d, application will\n"
  952|      0|                                "continue at your own risk.\n",
  953|      0|                                release_mismatch_warning, disable_version_check);
  954|       |                        /* Mention the versions we are referring to */
  955|      0|                        fprintf(stderr, "Headers are %u.%u.%u, library is %u.%u.%u\n", majnum, minnum, relnum,
  956|      0|                                (unsigned)H5_VERS_MAJOR, (unsigned)H5_VERS_MINOR, (unsigned)H5_VERS_RELEASE);
  ------------------
  |  |   78|      0|#define H5_VERS_MAJOR 1
  ------------------
                                              (unsigned)H5_VERS_MAJOR, (unsigned)H5_VERS_MINOR, (unsigned)H5_VERS_RELEASE);
  ------------------
  |  |   82|      0|#define H5_VERS_MINOR 14
  ------------------
                                              (unsigned)H5_VERS_MAJOR, (unsigned)H5_VERS_MINOR, (unsigned)H5_VERS_RELEASE);
  ------------------
  |  |   86|      0|#define H5_VERS_RELEASE 5
  ------------------
  957|      0|                        break;
  958|      0|                    default:
  ------------------
  |  Branch (958:21): [True: 0, False: 0]
  ------------------
  959|       |                        /* 2 or higher: continue silently */
  960|      0|                        break;
  961|      0|                } /* end switch */
  962|       |
  963|      0|            } /* end if */
  964|       |
  965|      0|        } /* end for */
  966|       |
  967|      0|    } /* end if (H5_VERS_RELEASE != relnum) */
  968|       |
  969|       |    /* Indicate that the version check has been performed */
  970|      1|    checked = 1;
  971|       |
  972|      1|    if (!disable_version_check) {
  ------------------
  |  Branch (972:9): [True: 1, False: 0]
  ------------------
  973|       |        /*
  974|       |         * Verify if H5_VERS_INFO is consistent with the other version information.
  975|       |         * Check only the first sizeof(lib_str) char.  Assume the information
  976|       |         * will fit within this size or enough significance.
  977|       |         */
  978|      1|        snprintf(lib_str, sizeof(lib_str), "HDF5 library version: %d.%d.%d%s%s", H5_VERS_MAJOR, H5_VERS_MINOR,
  ------------------
  |  |   78|      1|#define H5_VERS_MAJOR 1
  ------------------
                      snprintf(lib_str, sizeof(lib_str), "HDF5 library version: %d.%d.%d%s%s", H5_VERS_MAJOR, H5_VERS_MINOR,
  ------------------
  |  |   82|      1|#define H5_VERS_MINOR 14
  ------------------
  979|      1|                 H5_VERS_RELEASE, (*substr ? "-" : ""), substr);
  ------------------
  |  |   86|      1|#define H5_VERS_RELEASE 5
  ------------------
  |  Branch (979:36): [True: 1, False: 0]
  ------------------
  980|       |
  981|      1|        if (strcmp(lib_str, H5_lib_vers_info_g) != 0) {
  ------------------
  |  Branch (981:13): [True: 0, False: 1]
  ------------------
  982|      0|            fputs("Warning!  Library version information error.\n"
  983|      0|                  "The HDF5 library version information are not "
  984|      0|                  "consistent in its source code.\nThis is NOT a fatal error "
  985|      0|                  "but should be corrected.  Setting the environment\n"
  986|      0|                  "variable 'HDF5_DISABLE_VERSION_CHECK' to a value of 1 "
  987|      0|                  "will suppress\nthis warning.\n",
  988|      0|                  stderr);
  989|      0|            fprintf(stderr,
  990|      0|                    "Library version information are:\n"
  991|      0|                    "H5_VERS_MAJOR=%d, H5_VERS_MINOR=%d, H5_VERS_RELEASE=%d, "
  992|      0|                    "H5_VERS_SUBRELEASE=%s,\nH5_VERS_INFO=%s\n",
  993|      0|                    H5_VERS_MAJOR, H5_VERS_MINOR, H5_VERS_RELEASE, H5_VERS_SUBRELEASE, H5_VERS_INFO);
  ------------------
  |  |   78|      0|#define H5_VERS_MAJOR 1
  ------------------
                                  H5_VERS_MAJOR, H5_VERS_MINOR, H5_VERS_RELEASE, H5_VERS_SUBRELEASE, H5_VERS_INFO);
  ------------------
  |  |   82|      0|#define H5_VERS_MINOR 14
  ------------------
                                  H5_VERS_MAJOR, H5_VERS_MINOR, H5_VERS_RELEASE, H5_VERS_SUBRELEASE, H5_VERS_INFO);
  ------------------
  |  |   86|      0|#define H5_VERS_RELEASE 5
  ------------------
                                  H5_VERS_MAJOR, H5_VERS_MINOR, H5_VERS_RELEASE, H5_VERS_SUBRELEASE, H5_VERS_INFO);
  ------------------
  |  |   90|      0|#define H5_VERS_SUBRELEASE "1"
  ------------------
                                  H5_VERS_MAJOR, H5_VERS_MINOR, H5_VERS_RELEASE, H5_VERS_SUBRELEASE, H5_VERS_INFO);
  ------------------
  |  |   98|      0|#define H5_VERS_INFO "HDF5 library version: 1.14.5-1"
  ------------------
  994|      0|        } /* end if */
  995|      1|    }
  996|       |
  997|     10|done:
  998|     10|    FUNC_LEAVE_API_NOFS(ret_value)
  ------------------
  |  | 1536|     10|    ;                                                                                                        \
  |  | 1537|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1538|     10|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1539|     10|    return (ret_value);                                                                                      \
  |  | 1540|     10|    }                                                                                                        \
  |  | 1541|     10|    }                                                                                                        \
  |  | 1542|     10|    }                                                                                                        \
  |  | 1543|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  999|      1|} /* end H5check_version() */
H5open:
 1015|     74|{
 1016|     74|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     74|#define SUCCEED 0
  ------------------
 1017|       |
 1018|     74|    FUNC_ENTER_API_NOPUSH(FAIL)
  ------------------
  |  | 1362|     74|    {                                                                                                        \
  |  | 1363|     74|        {                                                                                                    \
  |  | 1364|     74|            {                                                                                                \
  |  | 1365|     74|                {                                                                                            \
  |  | 1366|     74|                    {                                                                                        \
  |  | 1367|     74|                        FUNC_ENTER_COMMON(H5_IS_API(__func__));                                              \
  |  |  ------------------
  |  |  |  | 1265|     74|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     74|                                                                                                             \
  |  |  |  | 1267|     74|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1368|     74|                        FUNC_ENTER_API_THREADSAFE;                                                           \
  |  | 1369|     74|                        FUNC_ENTER_API_INIT(err);                                                            \
  |  |  ------------------
  |  |  |  | 1286|     74|    if (H5_UNLIKELY(!H5_INIT_GLOBAL && !H5_TERM_GLOBAL)) {                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     74|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 74]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 74]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1287|      0|        if (H5_UNLIKELY(H5_init_library() < 0))                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      0|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1288|      0|            HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, err, "library initialization failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1289|      0|    }
  |  |  ------------------
  |  | 1370|     74|                        {
  ------------------
 1019|       |
 1020|       |    /* all work is done by FUNC_ENTER() */
 1021|       |
 1022|     74|done:
 1023|     74|    FUNC_LEAVE_API_NOPUSH(ret_value)
  ------------------
  |  | 1547|     74|    ;                                                                                                        \
  |  | 1548|     74|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1549|     74|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|     74|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 0, False: 74]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1550|     74|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1551|     74|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1552|     74|    return (ret_value);                                                                                      \
  |  | 1553|     74|    }                                                                                                        \
  |  | 1554|     74|    }                                                                                                        \
  |  | 1555|     74|    }                                                                                                        \
  |  | 1556|     74|    }                                                                                                        \
  |  | 1557|     74|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1024|     74|} /* end H5open() */
H5.c:H5_default_vfd_init:
  110|      1|{
  111|      1|    herr_t ret_value = SUCCEED;
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  112|       |
  113|      1|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      1|    {                                                                                                        \
  |  | 1392|      1|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      1|        {
  ------------------
  114|       |    /* Load the hid_t for the default VFD for the side effect
  115|       |     * it has of initializing the default VFD.
  116|       |     */
  117|      1|    if (H5FD_sec2_init() == H5I_INVALID_HID) {
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  |  Branch (117:9): [True: 0, False: 1]
  ------------------
  118|      0|        HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, FAIL, "unable to load default VFD ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  119|      0|    }
  120|      1|done:
  121|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  122|      1|}
H5.c:H5__debug_mask:
  687|      2|{
  688|      2|    FILE  *stream = stderr;
  689|      2|    char   pkg_name[32], *rest;
  690|      2|    size_t i;
  691|      2|    bool   clear;
  692|       |
  693|      3|    while (s && *s) {
  ------------------
  |  Branch (693:12): [True: 2, False: 1]
  |  Branch (693:17): [True: 1, False: 1]
  ------------------
  694|       |
  695|      1|        if (isalpha(*s) || '-' == *s || '+' == *s) {
  ------------------
  |  Branch (695:28): [True: 1, False: 0]
  |  Branch (695:41): [True: 0, False: 0]
  ------------------
  696|       |
  697|       |            /* Enable or Disable debugging? */
  698|      1|            if ('-' == *s) {
  ------------------
  |  Branch (698:17): [True: 1, False: 0]
  ------------------
  699|      1|                clear = true;
  700|      1|                s++;
  701|      1|            }
  702|      0|            else if ('+' == *s) {
  ------------------
  |  Branch (702:22): [True: 0, False: 0]
  ------------------
  703|      0|                clear = false;
  704|      0|                s++;
  705|      0|            }
  706|      0|            else {
  707|      0|                clear = false;
  708|      0|            } /* end if */
  709|       |
  710|       |            /* Get the name */
  711|      3|            for (i = 0; isalpha(*s); i++, s++)
  712|      3|                if (i < sizeof pkg_name)
  ------------------
  |  Branch (712:21): [True: 3, False: 0]
  ------------------
  713|      3|                    pkg_name[i] = *s;
  714|      1|            pkg_name[MIN(sizeof(pkg_name) - 1, i)] = '\0';
  ------------------
  |  |  293|      1|#define MIN(a, b)        (((a) < (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (293:27): [True: 0, False: 1]
  |  |  ------------------
  ------------------
  715|       |
  716|       |            /* Trace, all, or one? */
  717|      1|            if (!strcmp(pkg_name, "trace")) {
  ------------------
  |  Branch (717:17): [True: 0, False: 1]
  ------------------
  718|      0|                H5_debug_g.trace = clear ? NULL : stream;
  ------------------
  |  Branch (718:36): [True: 0, False: 0]
  ------------------
  719|      0|            }
  720|      1|            else if (!strcmp(pkg_name, "ttop")) {
  ------------------
  |  Branch (720:22): [True: 0, False: 1]
  ------------------
  721|      0|                H5_debug_g.trace = stream;
  722|      0|                H5_debug_g.ttop  = (bool)!clear;
  723|      0|            }
  724|      1|            else if (!strcmp(pkg_name, "ttimes")) {
  ------------------
  |  Branch (724:22): [True: 0, False: 1]
  ------------------
  725|      0|                H5_debug_g.trace  = stream;
  726|      0|                H5_debug_g.ttimes = (bool)!clear;
  727|      0|            }
  728|      1|            else if (!strcmp(pkg_name, "all")) {
  ------------------
  |  Branch (728:22): [True: 1, False: 0]
  ------------------
  729|     21|                for (i = 0; i < (size_t)H5_NPKGS; i++)
  ------------------
  |  Branch (729:29): [True: 20, False: 1]
  ------------------
  730|     20|                    H5_debug_g.pkg[i].stream = clear ? NULL : stream;
  ------------------
  |  Branch (730:48): [True: 20, False: 0]
  ------------------
  731|      1|            }
  732|      0|            else {
  733|      0|                for (i = 0; i < (size_t)H5_NPKGS; i++) {
  ------------------
  |  Branch (733:29): [True: 0, False: 0]
  ------------------
  734|      0|                    if (!strcmp(H5_debug_g.pkg[i].name, pkg_name)) {
  ------------------
  |  Branch (734:25): [True: 0, False: 0]
  ------------------
  735|      0|                        H5_debug_g.pkg[i].stream = clear ? NULL : stream;
  ------------------
  |  Branch (735:52): [True: 0, False: 0]
  ------------------
  736|      0|                        break;
  737|      0|                    } /* end if */
  738|      0|                }     /* end for */
  739|      0|                if (i >= (size_t)H5_NPKGS)
  ------------------
  |  Branch (739:21): [True: 0, False: 0]
  ------------------
  740|      0|                    fprintf(stderr, "HDF5_DEBUG: ignored %s\n", pkg_name);
  741|      0|            } /* end if-else */
  742|      1|        }
  743|      0|        else if (isdigit(*s)) {
  744|      0|            int                     fd = (int)strtol(s, &rest, 0);
  745|      0|            H5_debug_open_stream_t *open_stream;
  746|       |
  747|      0|            if ((stream = HDfdopen(fd, "w")) != NULL) {
  ------------------
  |  |  688|      0|#define HDfdopen(N, S) fdopen(N, S)
  ------------------
  |  Branch (747:17): [True: 0, False: 0]
  ------------------
  748|      0|                (void)HDsetvbuf(stream, NULL, _IOLBF, (size_t)0);
  ------------------
  |  |  835|      0|#define HDsetvbuf(F, S, M, Z) setvbuf(F, S, M, Z)
  ------------------
  749|       |
  750|      0|                if (NULL ==
  ------------------
  |  Branch (750:21): [True: 0, False: 0]
  ------------------
  751|      0|                    (open_stream = (H5_debug_open_stream_t *)H5MM_malloc(sizeof(H5_debug_open_stream_t)))) {
  ------------------
  |  |   38|      0|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  752|      0|                    (void)fclose(stream);
  753|      0|                    return;
  754|      0|                } /* end if */
  755|       |
  756|      0|                open_stream->stream    = stream;
  757|      0|                open_stream->next      = H5_debug_g.open_stream;
  758|      0|                H5_debug_g.open_stream = open_stream;
  759|      0|            } /* end if */
  760|       |
  761|      0|            s = rest;
  762|      0|        }
  763|      0|        else {
  764|      0|            s++;
  765|      0|        } /* end if-else */
  766|      1|    }     /* end while */
  767|      2|} /* end H5__debug_mask() */

H5Aopen_by_name:
  658|     81|{
  659|     81|    hid_t ret_value = H5I_INVALID_HID;
  ------------------
  |  |   75|     81|#define H5I_INVALID_HID (-1)
  ------------------
  660|       |
  661|    162|    FUNC_ENTER_API(H5I_INVALID_HID)
  ------------------
  |  | 1300|     81|    {                                                                                                        \
  |  | 1301|     81|        {                                                                                                    \
  |  | 1302|     81|            bool api_ctx_pushed = false;                                                                     \
  |  | 1303|     81|                                                                                                             \
  |  | 1304|     81|            FUNC_ENTER_API_COMMON                                                                            \
  |  |  ------------------
  |  |  |  | 1281|     81|    FUNC_ENTER_COMMON(H5_IS_API(__func__));                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1265|     81|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  | 1266|     81|                                                                                                             \
  |  |  |  |  |  | 1267|     81|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  ------------------
  |  |  |  | 1282|     81|    FUNC_ENTER_API_THREADSAFE;
  |  |  ------------------
  |  | 1305|     81|            FUNC_ENTER_API_INIT(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1286|     81|    if (H5_UNLIKELY(!H5_INIT_GLOBAL && !H5_TERM_GLOBAL)) {                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     81|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 81]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 81]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1287|      0|        if (H5_UNLIKELY(H5_init_library() < 0))                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      0|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1288|      0|            HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, err, "library initialization failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1289|      0|    }
  |  |  ------------------
  |  | 1306|     81|            FUNC_ENTER_API_PUSH(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1293|     81|    if (H5_UNLIKELY(H5CX_push() < 0))                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     81|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 81]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1294|     81|        HGOTO_ERROR(H5E_FUNC, H5E_CANTSET, err, "can't set API context");                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1295|     81|    else                                                                                                     \
  |  |  |  | 1296|     81|        api_ctx_pushed = true;
  |  |  ------------------
  |  | 1307|     81|            /* Clear thread error stack entering public functions */                                         \
  |  | 1308|     81|            H5E_clear_stack();                                                                               \
  |  | 1309|     81|            {
  ------------------
  662|       |
  663|       |    /* Open the attribute by name asynchronously */
  664|    162|    if ((ret_value =
  ------------------
  |  Branch (664:9): [True: 17, False: 64]
  ------------------
  665|     81|             H5A__open_by_name_api_common(loc_id, obj_name, attr_name, aapl_id, lapl_id, NULL, NULL)) < 0)
  666|     17|        HGOTO_ERROR(H5E_ATTR, H5E_CANTOPENOBJ, H5I_INVALID_HID, "unable to synchronously open attribute");
  ------------------
  |  |   68|     17|    do {                                                                                                     \
  |  |   69|     17|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     17|    do {                                                                                                     \
  |  |  |  |   40|     17|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     17|    do {                                                                                                     \
  |  |  |  |  |  |   31|     17|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     17|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     17|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     17|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     17|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     17|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     17|    do {                                                                                                     \
  |  |  |  |   92|     17|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     17|        goto done;                                                                                           \
  |  |  |  |   94|     17|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     17|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  667|       |
  668|     81|done:
  669|     81|    FUNC_LEAVE_API(ret_value)
  ------------------
  |  | 1509|     81|    ;                                                                                                        \
  |  | 1510|     81|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1511|     81|    if (H5_LIKELY(api_ctx_pushed)) {                                                                         \
  |  |  ------------------
  |  |  |  |  167|     81|#define H5_LIKELY(expression)   __builtin_expect(!!(expression), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (167:33): [True: 81, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1512|     81|        (void)H5CX_pop(true);                                                                                \
  |  | 1513|     81|        api_ctx_pushed = false;                                                                              \
  |  | 1514|     81|    }                                                                                                        \
  |  | 1515|     81|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|     81|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 17, False: 64]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1516|     81|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1517|     81|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1518|     81|    return (ret_value);                                                                                      \
  |  | 1519|     81|    }                                                                                                        \
  |  | 1520|     81|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  670|    162|} /* end H5Aopen_by_name() */
H5Aread:
 1015|     76|{
 1016|     76|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     76|#define SUCCEED 0
  ------------------
 1017|       |
 1018|    152|    FUNC_ENTER_API(FAIL)
  ------------------
  |  | 1300|     76|    {                                                                                                        \
  |  | 1301|     76|        {                                                                                                    \
  |  | 1302|     76|            bool api_ctx_pushed = false;                                                                     \
  |  | 1303|     76|                                                                                                             \
  |  | 1304|     76|            FUNC_ENTER_API_COMMON                                                                            \
  |  |  ------------------
  |  |  |  | 1281|     76|    FUNC_ENTER_COMMON(H5_IS_API(__func__));                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1265|     76|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  | 1266|     76|                                                                                                             \
  |  |  |  |  |  | 1267|     76|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  ------------------
  |  |  |  | 1282|     76|    FUNC_ENTER_API_THREADSAFE;
  |  |  ------------------
  |  | 1305|     76|            FUNC_ENTER_API_INIT(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1286|     76|    if (H5_UNLIKELY(!H5_INIT_GLOBAL && !H5_TERM_GLOBAL)) {                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     76|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 76]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 76]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1287|      0|        if (H5_UNLIKELY(H5_init_library() < 0))                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      0|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1288|      0|            HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, err, "library initialization failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1289|      0|    }
  |  |  ------------------
  |  | 1306|     76|            FUNC_ENTER_API_PUSH(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1293|     76|    if (H5_UNLIKELY(H5CX_push() < 0))                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     76|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 76]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1294|     76|        HGOTO_ERROR(H5E_FUNC, H5E_CANTSET, err, "can't set API context");                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1295|     76|    else                                                                                                     \
  |  |  |  | 1296|     76|        api_ctx_pushed = true;
  |  |  ------------------
  |  | 1307|     76|            /* Clear thread error stack entering public functions */                                         \
  |  | 1308|     76|            H5E_clear_stack();                                                                               \
  |  | 1309|     76|            {
  ------------------
 1019|       |
 1020|       |    /* Synchronously read the data */
 1021|    152|    if (H5A__read_api_common(attr_id, dtype_id, buf, NULL, NULL) < 0)
  ------------------
  |  Branch (1021:9): [True: 15, False: 61]
  ------------------
 1022|     15|        HGOTO_ERROR(H5E_ATTR, H5E_READERROR, FAIL, "can't synchronously read data");
  ------------------
  |  |   68|     15|    do {                                                                                                     \
  |  |   69|     15|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     15|    do {                                                                                                     \
  |  |  |  |   40|     15|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     15|    do {                                                                                                     \
  |  |  |  |  |  |   31|     15|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     15|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     15|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     15|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     15|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     15|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     15|    do {                                                                                                     \
  |  |  |  |   92|     15|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     15|        goto done;                                                                                           \
  |  |  |  |   94|     15|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     15|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1023|       |
 1024|     76|done:
 1025|     76|    FUNC_LEAVE_API(ret_value)
  ------------------
  |  | 1509|     76|    ;                                                                                                        \
  |  | 1510|     76|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1511|     76|    if (H5_LIKELY(api_ctx_pushed)) {                                                                         \
  |  |  ------------------
  |  |  |  |  167|     76|#define H5_LIKELY(expression)   __builtin_expect(!!(expression), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (167:33): [True: 76, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1512|     76|        (void)H5CX_pop(true);                                                                                \
  |  | 1513|     76|        api_ctx_pushed = false;                                                                              \
  |  | 1514|     76|    }                                                                                                        \
  |  | 1515|     76|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|     76|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 15, False: 61]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1516|     76|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1517|     76|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1518|     76|    return (ret_value);                                                                                      \
  |  | 1519|     76|    }                                                                                                        \
  |  | 1520|     76|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1026|    152|} /* H5Aread() */
H5Aget_space:
 1085|      3|{
 1086|      3|    H5VL_object_t       *vol_obj = NULL;              /* Attribute object for ID */
 1087|      3|    H5VL_attr_get_args_t vol_cb_args;                 /* Arguments to VOL callback */
 1088|      3|    hid_t                ret_value = H5I_INVALID_HID; /* Return value */
  ------------------
  |  |   75|      3|#define H5I_INVALID_HID (-1)
  ------------------
 1089|       |
 1090|      6|    FUNC_ENTER_API(H5I_INVALID_HID)
  ------------------
  |  | 1300|      3|    {                                                                                                        \
  |  | 1301|      3|        {                                                                                                    \
  |  | 1302|      3|            bool api_ctx_pushed = false;                                                                     \
  |  | 1303|      3|                                                                                                             \
  |  | 1304|      3|            FUNC_ENTER_API_COMMON                                                                            \
  |  |  ------------------
  |  |  |  | 1281|      3|    FUNC_ENTER_COMMON(H5_IS_API(__func__));                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1265|      3|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  | 1266|      3|                                                                                                             \
  |  |  |  |  |  | 1267|      3|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  ------------------
  |  |  |  | 1282|      3|    FUNC_ENTER_API_THREADSAFE;
  |  |  ------------------
  |  | 1305|      3|            FUNC_ENTER_API_INIT(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1286|      3|    if (H5_UNLIKELY(!H5_INIT_GLOBAL && !H5_TERM_GLOBAL)) {                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      3|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 3]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 3]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1287|      0|        if (H5_UNLIKELY(H5_init_library() < 0))                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      0|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1288|      0|            HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, err, "library initialization failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1289|      0|    }
  |  |  ------------------
  |  | 1306|      3|            FUNC_ENTER_API_PUSH(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1293|      3|    if (H5_UNLIKELY(H5CX_push() < 0))                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      3|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 3]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1294|      3|        HGOTO_ERROR(H5E_FUNC, H5E_CANTSET, err, "can't set API context");                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1295|      3|    else                                                                                                     \
  |  |  |  | 1296|      3|        api_ctx_pushed = true;
  |  |  ------------------
  |  | 1307|      3|            /* Clear thread error stack entering public functions */                                         \
  |  | 1308|      3|            H5E_clear_stack();                                                                               \
  |  | 1309|      3|            {
  ------------------
 1091|       |
 1092|       |    /* Check arguments */
 1093|      6|    if (NULL == (vol_obj = (H5VL_object_t *)H5I_object_verify(attr_id, H5I_ATTR)))
  ------------------
  |  Branch (1093:9): [True: 0, False: 3]
  ------------------
 1094|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, H5I_INVALID_HID, "not an attribute");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1095|       |
 1096|       |    /* Set up VOL callback arguments */
 1097|      3|    vol_cb_args.op_type                 = H5VL_ATTR_GET_SPACE;
 1098|      3|    vol_cb_args.args.get_space.space_id = H5I_INVALID_HID;
  ------------------
  |  |   75|      3|#define H5I_INVALID_HID (-1)
  ------------------
 1099|       |
 1100|       |    /* Get the dataspace */
 1101|      3|    if (H5VL_attr_get(vol_obj, &vol_cb_args, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL) < 0)
  ------------------
  |  |  160|      3|#define H5P_DATASET_XFER_DEFAULT (H5OPEN H5P_LST_DATASET_XFER_ID_g)
  ------------------
                  if (H5VL_attr_get(vol_obj, &vol_cb_args, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL) < 0)
  ------------------
  |  |  442|      3|#define H5_REQUEST_NULL NULL
  ------------------
  |  Branch (1101:9): [True: 0, False: 3]
  ------------------
 1102|      0|        HGOTO_ERROR(H5E_ATTR, H5E_CANTGET, H5I_INVALID_HID, "unable to get dataspace of attribute");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1103|       |
 1104|       |    /* Set the return value */
 1105|      3|    ret_value = vol_cb_args.args.get_space.space_id;
 1106|       |
 1107|      3|done:
 1108|      3|    FUNC_LEAVE_API(ret_value)
  ------------------
  |  | 1509|      3|    ;                                                                                                        \
  |  | 1510|      3|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1511|      3|    if (H5_LIKELY(api_ctx_pushed)) {                                                                         \
  |  |  ------------------
  |  |  |  |  167|      3|#define H5_LIKELY(expression)   __builtin_expect(!!(expression), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (167:33): [True: 3, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1512|      3|        (void)H5CX_pop(true);                                                                                \
  |  | 1513|      3|        api_ctx_pushed = false;                                                                              \
  |  | 1514|      3|    }                                                                                                        \
  |  | 1515|      3|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|      3|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 0, False: 3]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1516|      3|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1517|      3|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1518|      3|    return (ret_value);                                                                                      \
  |  | 1519|      3|    }                                                                                                        \
  |  | 1520|      3|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1109|      3|} /* H5Aget_space() */
H5Aget_type:
 1129|     58|{
 1130|     58|    H5VL_object_t       *vol_obj = NULL;              /* Attribute object for ID */
 1131|     58|    H5VL_attr_get_args_t vol_cb_args;                 /* Arguments to VOL callback */
 1132|     58|    hid_t                ret_value = H5I_INVALID_HID; /* Return value */
  ------------------
  |  |   75|     58|#define H5I_INVALID_HID (-1)
  ------------------
 1133|       |
 1134|    116|    FUNC_ENTER_API(H5I_INVALID_HID)
  ------------------
  |  | 1300|     58|    {                                                                                                        \
  |  | 1301|     58|        {                                                                                                    \
  |  | 1302|     58|            bool api_ctx_pushed = false;                                                                     \
  |  | 1303|     58|                                                                                                             \
  |  | 1304|     58|            FUNC_ENTER_API_COMMON                                                                            \
  |  |  ------------------
  |  |  |  | 1281|     58|    FUNC_ENTER_COMMON(H5_IS_API(__func__));                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1265|     58|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  | 1266|     58|                                                                                                             \
  |  |  |  |  |  | 1267|     58|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  ------------------
  |  |  |  | 1282|     58|    FUNC_ENTER_API_THREADSAFE;
  |  |  ------------------
  |  | 1305|     58|            FUNC_ENTER_API_INIT(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1286|     58|    if (H5_UNLIKELY(!H5_INIT_GLOBAL && !H5_TERM_GLOBAL)) {                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     58|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 58]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 58]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1287|      0|        if (H5_UNLIKELY(H5_init_library() < 0))                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      0|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1288|      0|            HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, err, "library initialization failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1289|      0|    }
  |  |  ------------------
  |  | 1306|     58|            FUNC_ENTER_API_PUSH(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1293|     58|    if (H5_UNLIKELY(H5CX_push() < 0))                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     58|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 58]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1294|     58|        HGOTO_ERROR(H5E_FUNC, H5E_CANTSET, err, "can't set API context");                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1295|     58|    else                                                                                                     \
  |  |  |  | 1296|     58|        api_ctx_pushed = true;
  |  |  ------------------
  |  | 1307|     58|            /* Clear thread error stack entering public functions */                                         \
  |  | 1308|     58|            H5E_clear_stack();                                                                               \
  |  | 1309|     58|            {
  ------------------
 1135|       |
 1136|       |    /* Check arguments */
 1137|    116|    if (NULL == (vol_obj = (H5VL_object_t *)H5I_object_verify(attr_id, H5I_ATTR)))
  ------------------
  |  Branch (1137:9): [True: 0, False: 58]
  ------------------
 1138|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, H5I_INVALID_HID, "not an attribute");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1139|       |
 1140|       |    /* Set up VOL callback arguments */
 1141|     58|    vol_cb_args.op_type               = H5VL_ATTR_GET_TYPE;
 1142|     58|    vol_cb_args.args.get_type.type_id = H5I_INVALID_HID;
  ------------------
  |  |   75|     58|#define H5I_INVALID_HID (-1)
  ------------------
 1143|       |
 1144|       |    /* Get the datatype */
 1145|     58|    if (H5VL_attr_get(vol_obj, &vol_cb_args, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL) < 0)
  ------------------
  |  |  160|     58|#define H5P_DATASET_XFER_DEFAULT (H5OPEN H5P_LST_DATASET_XFER_ID_g)
  ------------------
                  if (H5VL_attr_get(vol_obj, &vol_cb_args, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL) < 0)
  ------------------
  |  |  442|     58|#define H5_REQUEST_NULL NULL
  ------------------
  |  Branch (1145:9): [True: 0, False: 58]
  ------------------
 1146|      0|        HGOTO_ERROR(H5E_ATTR, H5E_CANTGET, H5I_INVALID_HID, "unable to get datatype of attribute");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1147|       |
 1148|       |    /* Set the return value */
 1149|     58|    ret_value = vol_cb_args.args.get_type.type_id;
 1150|       |
 1151|     58|done:
 1152|     58|    FUNC_LEAVE_API(ret_value)
  ------------------
  |  | 1509|     58|    ;                                                                                                        \
  |  | 1510|     58|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1511|     58|    if (H5_LIKELY(api_ctx_pushed)) {                                                                         \
  |  |  ------------------
  |  |  |  |  167|     58|#define H5_LIKELY(expression)   __builtin_expect(!!(expression), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (167:33): [True: 58, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1512|     58|        (void)H5CX_pop(true);                                                                                \
  |  | 1513|     58|        api_ctx_pushed = false;                                                                              \
  |  | 1514|     58|    }                                                                                                        \
  |  | 1515|     58|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|     58|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 0, False: 58]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1516|     58|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1517|     58|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1518|     58|    return (ret_value);                                                                                      \
  |  | 1519|     58|    }                                                                                                        \
  |  | 1520|     58|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1153|     58|} /* H5Aget_type() */
H5Aclose:
 2174|     76|{
 2175|     76|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     76|#define SUCCEED 0
  ------------------
 2176|       |
 2177|    152|    FUNC_ENTER_API(FAIL)
  ------------------
  |  | 1300|     76|    {                                                                                                        \
  |  | 1301|     76|        {                                                                                                    \
  |  | 1302|     76|            bool api_ctx_pushed = false;                                                                     \
  |  | 1303|     76|                                                                                                             \
  |  | 1304|     76|            FUNC_ENTER_API_COMMON                                                                            \
  |  |  ------------------
  |  |  |  | 1281|     76|    FUNC_ENTER_COMMON(H5_IS_API(__func__));                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1265|     76|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  | 1266|     76|                                                                                                             \
  |  |  |  |  |  | 1267|     76|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  ------------------
  |  |  |  | 1282|     76|    FUNC_ENTER_API_THREADSAFE;
  |  |  ------------------
  |  | 1305|     76|            FUNC_ENTER_API_INIT(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1286|     76|    if (H5_UNLIKELY(!H5_INIT_GLOBAL && !H5_TERM_GLOBAL)) {                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     76|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 76]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 76]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1287|      0|        if (H5_UNLIKELY(H5_init_library() < 0))                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      0|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1288|      0|            HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, err, "library initialization failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1289|      0|    }
  |  |  ------------------
  |  | 1306|     76|            FUNC_ENTER_API_PUSH(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1293|     76|    if (H5_UNLIKELY(H5CX_push() < 0))                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     76|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 76]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1294|     76|        HGOTO_ERROR(H5E_FUNC, H5E_CANTSET, err, "can't set API context");                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1295|     76|    else                                                                                                     \
  |  |  |  | 1296|     76|        api_ctx_pushed = true;
  |  |  ------------------
  |  | 1307|     76|            /* Clear thread error stack entering public functions */                                         \
  |  | 1308|     76|            H5E_clear_stack();                                                                               \
  |  | 1309|     76|            {
  ------------------
 2178|       |
 2179|       |    /* Check arguments */
 2180|    152|    if (H5I_ATTR != H5I_get_type(attr_id))
  ------------------
  |  Branch (2180:9): [True: 12, False: 64]
  ------------------
 2181|     12|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not an attribute ID");
  ------------------
  |  |   68|     12|    do {                                                                                                     \
  |  |   69|     12|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     12|    do {                                                                                                     \
  |  |  |  |   40|     12|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     12|    do {                                                                                                     \
  |  |  |  |  |  |   31|     12|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     12|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     12|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     12|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     12|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     12|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     12|    do {                                                                                                     \
  |  |  |  |   92|     12|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     12|        goto done;                                                                                           \
  |  |  |  |   94|     12|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     12|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2182|       |
 2183|       |    /* Decrement the counter on the attribute ID. It will be freed if the count
 2184|       |     * reaches zero.
 2185|       |     */
 2186|     64|    if (H5I_dec_app_ref(attr_id) < 0)
  ------------------
  |  Branch (2186:9): [True: 0, False: 64]
  ------------------
 2187|      0|        HGOTO_ERROR(H5E_ATTR, H5E_CANTDEC, FAIL, "decrementing attribute ID failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2188|       |
 2189|     76|done:
 2190|     76|    FUNC_LEAVE_API(ret_value)
  ------------------
  |  | 1509|     76|    ;                                                                                                        \
  |  | 1510|     76|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1511|     76|    if (H5_LIKELY(api_ctx_pushed)) {                                                                         \
  |  |  ------------------
  |  |  |  |  167|     76|#define H5_LIKELY(expression)   __builtin_expect(!!(expression), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (167:33): [True: 76, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1512|     76|        (void)H5CX_pop(true);                                                                                \
  |  | 1513|     76|        api_ctx_pushed = false;                                                                              \
  |  | 1514|     76|    }                                                                                                        \
  |  | 1515|     76|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|     76|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 12, False: 64]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1516|     76|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1517|     76|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1518|     76|    return (ret_value);                                                                                      \
  |  | 1519|     76|    }                                                                                                        \
  |  | 1520|     76|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2191|     64|} /* H5Aclose() */
H5Aexists_by_name:
 2454|    107|{
 2455|    107|    bool   exists;           /* Flag for attribute existence */
 2456|    107|    htri_t ret_value = FAIL; /* Return value */
  ------------------
  |  |  284|    107|#define FAIL    (-1)
  ------------------
 2457|       |
 2458|    214|    FUNC_ENTER_API(FAIL)
  ------------------
  |  | 1300|    107|    {                                                                                                        \
  |  | 1301|    107|        {                                                                                                    \
  |  | 1302|    107|            bool api_ctx_pushed = false;                                                                     \
  |  | 1303|    107|                                                                                                             \
  |  | 1304|    107|            FUNC_ENTER_API_COMMON                                                                            \
  |  |  ------------------
  |  |  |  | 1281|    107|    FUNC_ENTER_COMMON(H5_IS_API(__func__));                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1265|    107|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  | 1266|    107|                                                                                                             \
  |  |  |  |  |  | 1267|    107|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  ------------------
  |  |  |  | 1282|    107|    FUNC_ENTER_API_THREADSAFE;
  |  |  ------------------
  |  | 1305|    107|            FUNC_ENTER_API_INIT(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1286|    107|    if (H5_UNLIKELY(!H5_INIT_GLOBAL && !H5_TERM_GLOBAL)) {                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|    107|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 107]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 107]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1287|      0|        if (H5_UNLIKELY(H5_init_library() < 0))                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      0|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1288|      0|            HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, err, "library initialization failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1289|      0|    }
  |  |  ------------------
  |  | 1306|    107|            FUNC_ENTER_API_PUSH(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1293|    107|    if (H5_UNLIKELY(H5CX_push() < 0))                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|    107|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 107]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1294|    107|        HGOTO_ERROR(H5E_FUNC, H5E_CANTSET, err, "can't set API context");                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1295|    107|    else                                                                                                     \
  |  |  |  | 1296|    107|        api_ctx_pushed = true;
  |  |  ------------------
  |  | 1307|    107|            /* Clear thread error stack entering public functions */                                         \
  |  | 1308|    107|            H5E_clear_stack();                                                                               \
  |  | 1309|    107|            {
  ------------------
 2459|       |
 2460|       |    /* Synchronously check if an attribute exists */
 2461|    214|    exists = false;
 2462|    214|    if (H5A__exists_by_name_api_common(loc_id, obj_name, attr_name, &exists, lapl_id, NULL, NULL) < 0)
  ------------------
  |  Branch (2462:9): [True: 12, False: 95]
  ------------------
 2463|     12|        HGOTO_ERROR(H5E_ATTR, H5E_CANTGET, FAIL, "can't synchronously determine if attribute exists by name");
  ------------------
  |  |   68|     12|    do {                                                                                                     \
  |  |   69|     12|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     12|    do {                                                                                                     \
  |  |  |  |   40|     12|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     12|    do {                                                                                                     \
  |  |  |  |  |  |   31|     12|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     12|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     12|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     12|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     12|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     12|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     12|    do {                                                                                                     \
  |  |  |  |   92|     12|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     12|        goto done;                                                                                           \
  |  |  |  |   94|     12|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     12|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2464|       |
 2465|       |    /* Set return value */
 2466|     95|    ret_value = (htri_t)exists;
 2467|       |
 2468|    107|done:
 2469|    107|    FUNC_LEAVE_API(ret_value)
  ------------------
  |  | 1509|    107|    ;                                                                                                        \
  |  | 1510|    107|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1511|    107|    if (H5_LIKELY(api_ctx_pushed)) {                                                                         \
  |  |  ------------------
  |  |  |  |  167|    107|#define H5_LIKELY(expression)   __builtin_expect(!!(expression), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (167:33): [True: 107, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1512|    107|        (void)H5CX_pop(true);                                                                                \
  |  | 1513|    107|        api_ctx_pushed = false;                                                                              \
  |  | 1514|    107|    }                                                                                                        \
  |  | 1515|    107|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|    107|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 12, False: 95]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1516|    107|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1517|    107|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1518|    107|    return (ret_value);                                                                                      \
  |  | 1519|    107|    }                                                                                                        \
  |  | 1520|    107|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2470|     95|} /* H5Aexists_by_name() */
H5A.c:H5A__open_common:
  441|     78|{
  442|     78|    void *attr      = NULL; /* attr object from VOL connector */
  443|     78|    hid_t ret_value = H5I_INVALID_HID;
  ------------------
  |  |   75|     78|#define H5I_INVALID_HID (-1)
  ------------------
  444|       |
  445|     78|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     78|    {                                                                                                        \
  |  | 1461|     78|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     78|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     78|                                                                                                             \
  |  |  |  | 1267|     78|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     78|        {
  ------------------
  446|       |
  447|       |    /* Sanity checks */
  448|     78|    assert(vol_obj);
  449|     78|    assert(loc_params);
  450|       |
  451|       |    /* Open the attribute */
  452|     78|    if (NULL ==
  ------------------
  |  Branch (452:9): [True: 14, False: 64]
  ------------------
  453|     78|        (attr = H5VL_attr_open(vol_obj, loc_params, attr_name, aapl_id, H5P_DATASET_XFER_DEFAULT, token_ptr)))
  ------------------
  |  |  160|     78|#define H5P_DATASET_XFER_DEFAULT (H5OPEN H5P_LST_DATASET_XFER_ID_g)
  ------------------
  454|     14|        HGOTO_ERROR(H5E_ATTR, H5E_CANTOPENOBJ, H5I_INVALID_HID, "unable to open attribute: '%s'", attr_name);
  ------------------
  |  |   68|     14|    do {                                                                                                     \
  |  |   69|     14|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     14|    do {                                                                                                     \
  |  |  |  |   40|     14|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     14|    do {                                                                                                     \
  |  |  |  |  |  |   31|     14|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     14|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     14|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     14|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     14|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     14|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     14|    do {                                                                                                     \
  |  |  |  |   92|     14|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     14|        goto done;                                                                                           \
  |  |  |  |   94|     14|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     14|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  455|       |
  456|       |    /* Register the attribute and get an ID for it */
  457|     64|    if ((ret_value = H5VL_register(H5I_ATTR, attr, vol_obj->connector, true)) < 0)
  ------------------
  |  Branch (457:9): [True: 0, False: 64]
  ------------------
  458|      0|        HGOTO_ERROR(H5E_ATTR, H5E_CANTREGISTER, H5I_INVALID_HID, "unable to register attribute for ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  459|       |
  460|     78|done:
  461|       |    /* Cleanup on failure */
  462|     78|    if (H5I_INVALID_HID == ret_value)
  ------------------
  |  |   75|     78|#define H5I_INVALID_HID (-1)
  ------------------
  |  Branch (462:9): [True: 14, False: 64]
  ------------------
  463|     14|        if (attr && H5VL_attr_close(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL) < 0)
  ------------------
  |  |  160|      0|#define H5P_DATASET_XFER_DEFAULT (H5OPEN H5P_LST_DATASET_XFER_ID_g)
  ------------------
                      if (attr && H5VL_attr_close(vol_obj, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL) < 0)
  ------------------
  |  |  442|      0|#define H5_REQUEST_NULL NULL
  ------------------
  |  Branch (463:13): [True: 0, False: 14]
  |  Branch (463:21): [True: 0, False: 0]
  ------------------
  464|      0|            HDONE_ERROR(H5E_ATTR, H5E_CLOSEERROR, H5I_INVALID_HID, "can't close attribute");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  465|       |
  466|     78|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     78|    ;                                                                                                        \
  |  | 1573|     78|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     78|    return (ret_value);                                                                                      \
  |  | 1575|     78|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  467|     64|} /* H5A__open_common() */
H5A.c:H5A__open_by_name_api_common:
  602|     81|{
  603|     81|    H5VL_object_t  *tmp_vol_obj = NULL; /* Object for loc_id */
  604|     81|    H5VL_object_t **vol_obj_ptr =
  605|     81|        (_vol_obj_ptr ? _vol_obj_ptr : &tmp_vol_obj); /* Ptr to object ptr for loc_id */
  ------------------
  |  Branch (605:10): [True: 0, False: 81]
  ------------------
  606|     81|    H5VL_loc_params_t loc_params;                     /* Location parameters for object access */
  607|     81|    hid_t             ret_value = H5I_INVALID_HID;
  ------------------
  |  |   75|     81|#define H5I_INVALID_HID (-1)
  ------------------
  608|       |
  609|     81|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     81|    {                                                                                                        \
  |  | 1461|     81|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     81|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     81|                                                                                                             \
  |  |  |  | 1267|     81|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     81|        {
  ------------------
  610|       |
  611|       |    /* Check arguments */
  612|     81|    if (H5I_ATTR == H5I_get_type(loc_id))
  ------------------
  |  Branch (612:9): [True: 0, False: 81]
  ------------------
  613|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, H5I_INVALID_HID, "location is not valid for an attribute");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  614|       |
  615|     81|    if (!attr_name || !*attr_name)
  ------------------
  |  Branch (615:9): [True: 0, False: 81]
  |  Branch (615:23): [True: 0, False: 81]
  ------------------
  616|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, H5I_INVALID_HID, "no attribute name");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  617|       |
  618|       |    /* obj_name is verified in H5VL_setup_name_args() */
  619|       |    /* Set up object access arguments */
  620|     81|    if (H5VL_setup_name_args(loc_id, obj_name, false, lapl_id, vol_obj_ptr, &loc_params) < 0)
  ------------------
  |  Branch (620:9): [True: 3, False: 78]
  ------------------
  621|      3|        HGOTO_ERROR(H5E_ATTR, H5E_CANTSET, H5I_INVALID_HID, "can't set object access arguments");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  622|       |
  623|       |    /* Verify access property list and set up collective metadata if appropriate */
  624|     78|    if (H5CX_set_apl(&aapl_id, H5P_CLS_AACC, loc_id, false) < 0)
  ------------------
  |  Branch (624:9): [True: 0, False: 78]
  ------------------
  625|      0|        HGOTO_ERROR(H5E_ATTR, H5E_CANTSET, H5I_INVALID_HID, "can't set attribute access property list info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  626|       |
  627|       |    /* Open the attribute */
  628|     78|    if ((ret_value = H5A__open_common(*vol_obj_ptr, &loc_params, attr_name, aapl_id, token_ptr)) < 0)
  ------------------
  |  Branch (628:9): [True: 14, False: 64]
  ------------------
  629|     14|        HGOTO_ERROR(H5E_ATTR, H5E_CANTOPENOBJ, H5I_INVALID_HID, "unable to open attribute: '%s'", attr_name);
  ------------------
  |  |   68|     14|    do {                                                                                                     \
  |  |   69|     14|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     14|    do {                                                                                                     \
  |  |  |  |   40|     14|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     14|    do {                                                                                                     \
  |  |  |  |  |  |   31|     14|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     14|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     14|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     14|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     14|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     14|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     14|    do {                                                                                                     \
  |  |  |  |   92|     14|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     14|        goto done;                                                                                           \
  |  |  |  |   94|     14|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     14|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  630|       |
  631|     81|done:
  632|     81|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     81|    ;                                                                                                        \
  |  | 1573|     81|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     81|    return (ret_value);                                                                                      \
  |  | 1575|     81|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  633|     78|} /* H5A__open_by_name_api_common() */
H5A.c:H5A__read_api_common:
  971|     76|{
  972|     76|    H5VL_object_t  *tmp_vol_obj = NULL; /* Object for loc_id */
  973|     76|    H5VL_object_t **vol_obj_ptr =
  974|     76|        (_vol_obj_ptr ? _vol_obj_ptr : &tmp_vol_obj); /* Ptr to object ptr for loc_id */
  ------------------
  |  Branch (974:10): [True: 0, False: 76]
  ------------------
  975|     76|    herr_t ret_value = SUCCEED;                       /* Return value */
  ------------------
  |  |  283|     76|#define SUCCEED 0
  ------------------
  976|       |
  977|     76|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     76|    {                                                                                                        \
  |  | 1461|     76|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     76|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     76|                                                                                                             \
  |  |  |  | 1267|     76|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     76|        {
  ------------------
  978|       |
  979|       |    /* Check arguments */
  980|     76|    if (H5I_DATATYPE != H5I_get_type(dtype_id))
  ------------------
  |  Branch (980:9): [True: 0, False: 76]
  ------------------
  981|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  982|     76|    if (NULL == buf)
  ------------------
  |  Branch (982:9): [True: 0, False: 76]
  ------------------
  983|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "buf parameter can't be NULL");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  984|       |
  985|       |    /* Get attribute object pointer */
  986|     76|    if (NULL == (*vol_obj_ptr = (H5VL_object_t *)H5I_object_verify(attr_id, H5I_ATTR)))
  ------------------
  |  Branch (986:9): [True: 12, False: 64]
  ------------------
  987|     12|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not an attribute");
  ------------------
  |  |   68|     12|    do {                                                                                                     \
  |  |   69|     12|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     12|    do {                                                                                                     \
  |  |  |  |   40|     12|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     12|    do {                                                                                                     \
  |  |  |  |  |  |   31|     12|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     12|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     12|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     12|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     12|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     12|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     12|    do {                                                                                                     \
  |  |  |  |   92|     12|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     12|        goto done;                                                                                           \
  |  |  |  |   94|     12|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     12|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  988|       |
  989|       |    /* Read the attribute data */
  990|     64|    if (H5VL_attr_read(*vol_obj_ptr, dtype_id, buf, H5P_DATASET_XFER_DEFAULT, token_ptr) < 0)
  ------------------
  |  |  160|     64|#define H5P_DATASET_XFER_DEFAULT (H5OPEN H5P_LST_DATASET_XFER_ID_g)
  ------------------
  |  Branch (990:9): [True: 3, False: 61]
  ------------------
  991|      3|        HGOTO_ERROR(H5E_ATTR, H5E_READERROR, FAIL, "unable to read attribute");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  992|       |
  993|     76|done:
  994|     76|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     76|    ;                                                                                                        \
  |  | 1573|     76|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     76|    return (ret_value);                                                                                      \
  |  | 1575|     76|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  995|     64|} /* H5A__read_api_common() */
H5A.c:H5A__exists_common:
 2264|    107|{
 2265|    107|    H5VL_attr_specific_args_t vol_cb_args;         /* Arguments to VOL callback */
 2266|    107|    herr_t                    ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    107|#define SUCCEED 0
  ------------------
 2267|       |
 2268|    107|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    107|    {                                                                                                        \
  |  | 1461|    107|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    107|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    107|                                                                                                             \
  |  |  |  | 1267|    107|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    107|        {
  ------------------
 2269|       |
 2270|       |    /* Sanity checks */
 2271|    107|    assert(vol_obj);
 2272|    107|    assert(loc_params);
 2273|       |
 2274|       |    /* Check arguments */
 2275|    107|    if (!attr_name || !*attr_name)
  ------------------
  |  Branch (2275:9): [True: 0, False: 107]
  |  Branch (2275:23): [True: 0, False: 107]
  ------------------
 2276|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no attribute name");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2277|       |
 2278|       |    /* Set up VOL callback arguments */
 2279|    107|    vol_cb_args.op_type            = H5VL_ATTR_EXISTS;
 2280|    107|    vol_cb_args.args.exists.name   = attr_name;
 2281|    107|    vol_cb_args.args.exists.exists = attr_exists;
 2282|       |
 2283|       |    /* Check if the attribute exists */
 2284|    107|    if (H5VL_attr_specific(vol_obj, loc_params, &vol_cb_args, H5P_DATASET_XFER_DEFAULT, token_ptr) < 0)
  ------------------
  |  |  160|    107|#define H5P_DATASET_XFER_DEFAULT (H5OPEN H5P_LST_DATASET_XFER_ID_g)
  ------------------
  |  Branch (2284:9): [True: 12, False: 95]
  ------------------
 2285|     12|        HGOTO_ERROR(H5E_ATTR, H5E_CANTGET, FAIL, "unable to determine if attribute exists");
  ------------------
  |  |   68|     12|    do {                                                                                                     \
  |  |   69|     12|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     12|    do {                                                                                                     \
  |  |  |  |   40|     12|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     12|    do {                                                                                                     \
  |  |  |  |  |  |   31|     12|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     12|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     12|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     12|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     12|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     12|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     12|    do {                                                                                                     \
  |  |  |  |   92|     12|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     12|        goto done;                                                                                           \
  |  |  |  |   94|     12|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     12|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2286|       |
 2287|    107|done:
 2288|    107|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    107|    ;                                                                                                        \
  |  | 1573|    107|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    107|    return (ret_value);                                                                                      \
  |  | 1575|    107|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2289|    107|} /* H5A__exists_common() */
H5A.c:H5A__exists_by_name_api_common:
 2412|    107|{
 2413|    107|    H5VL_object_t  *tmp_vol_obj = NULL; /* Object for loc_id */
 2414|    107|    H5VL_object_t **vol_obj_ptr =
 2415|    107|        (_vol_obj_ptr ? _vol_obj_ptr : &tmp_vol_obj); /* Ptr to object ptr for loc_id */
  ------------------
  |  Branch (2415:10): [True: 0, False: 107]
  ------------------
 2416|    107|    H5VL_loc_params_t loc_params;                     /* Location parameters for object access */
 2417|    107|    herr_t            ret_value = SUCCEED;            /* Return value */
  ------------------
  |  |  283|    107|#define SUCCEED 0
  ------------------
 2418|       |
 2419|    107|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    107|    {                                                                                                        \
  |  | 1461|    107|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    107|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    107|                                                                                                             \
  |  |  |  | 1267|    107|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    107|        {
  ------------------
 2420|       |
 2421|       |    /* Check arguments */
 2422|    107|    if (H5I_ATTR == H5I_get_type(loc_id))
  ------------------
  |  Branch (2422:9): [True: 0, False: 107]
  ------------------
 2423|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "location is not valid for an attribute");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2424|    107|    if (!attr_name || !*attr_name)
  ------------------
  |  Branch (2424:9): [True: 0, False: 107]
  |  Branch (2424:23): [True: 0, False: 107]
  ------------------
 2425|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no attribute name");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2426|    107|    if (NULL == attr_exists)
  ------------------
  |  Branch (2426:9): [True: 0, False: 107]
  ------------------
 2427|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid pointer for attribute existence");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2428|       |
 2429|       |    /* obj_name is verified in H5VL_setup_name_args() */
 2430|       |    /* Set up object access arguments */
 2431|    107|    if (H5VL_setup_name_args(loc_id, obj_name, false, lapl_id, vol_obj_ptr, &loc_params) < 0)
  ------------------
  |  Branch (2431:9): [True: 0, False: 107]
  ------------------
 2432|      0|        HGOTO_ERROR(H5E_ATTR, H5E_CANTSET, FAIL, "can't set object access arguments");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2433|       |
 2434|       |    /* Check if the attribute exists */
 2435|    107|    if (H5A__exists_common(*vol_obj_ptr, &loc_params, attr_name, attr_exists, token_ptr) < 0)
  ------------------
  |  Branch (2435:9): [True: 12, False: 95]
  ------------------
 2436|     12|        HGOTO_ERROR(H5E_ATTR, H5E_CANTGET, FAIL, "unable to determine if attribute exists");
  ------------------
  |  |   68|     12|    do {                                                                                                     \
  |  |   69|     12|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     12|    do {                                                                                                     \
  |  |  |  |   40|     12|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     12|    do {                                                                                                     \
  |  |  |  |  |  |   31|     12|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     12|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     12|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     12|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     12|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     12|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     12|    do {                                                                                                     \
  |  |  |  |   92|     12|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     12|        goto done;                                                                                           \
  |  |  |  |   94|     12|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     12|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2437|       |
 2438|    107|done:
 2439|    107|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    107|    ;                                                                                                        \
  |  | 1573|    107|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    107|    return (ret_value);                                                                                      \
  |  | 1575|    107|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2440|    107|} /* H5A__exists_by_name_api_common() */

H5AC_init:
  134|      1|{
  135|      1|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  136|       |
  137|      1|    FUNC_ENTER_NOAPI_NOERR
  ------------------
  |  | 1397|      1|    {                                                                                                        \
  |  | 1398|      1|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      1|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1399|      1|        {
  ------------------
  138|       |
  139|       |#ifdef H5_HAVE_PARALLEL
  140|       |    /* check whether to enable strict collective function calling
  141|       |     * sanity checks using MPI barriers
  142|       |     */
  143|       |    {
  144|       |        const char *s; /* String for environment variables */
  145|       |
  146|       |        s = getenv("H5_COLL_API_SANITY_CHECK");
  147|       |        if (s && isdigit(*s)) {
  148|       |            long env_val               = strtol(s, NULL, 0);
  149|       |            H5_coll_api_sanity_check_g = (0 == env_val) ? false : true;
  150|       |        }
  151|       |    }
  152|       |#endif /* H5_HAVE_PARALLEL */
  153|       |
  154|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  155|      1|} /* end H5AC_init() */
H5AC_term_package:
  170|      1|{
  171|      1|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      1|    {                                                                                                        \
  |  | 1425|      1|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      1|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      1|        {
  ------------------
  172|       |
  173|      1|    FUNC_LEAVE_NOAPI(0)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  174|      1|} /* end H5AC_term_package() */
H5AC_create:
  225|     10|{
  226|       |#ifdef H5_HAVE_PARALLEL
  227|       |    char        prefix[H5C__PREFIX_LEN] = "";
  228|       |    H5AC_aux_t *aux_ptr                 = NULL;
  229|       |#endif /* H5_HAVE_PARALLEL */
  230|     10|    struct H5C_cache_image_ctl_t int_ci_config = H5C__DEFAULT_CACHE_IMAGE_CTL;
  ------------------
  |  | 2127|     10|    {                                                                                                        \
  |  | 2128|     10|        H5C__CURR_CACHE_IMAGE_CTL_VER,             /* = version */                                           \
  |  |  ------------------
  |  |  |  |  106|     10|#define H5C__CURR_CACHE_IMAGE_CTL_VER     1
  |  |  ------------------
  |  | 2129|     10|            false,                                 /* = generate_image */                                    \
  |  | 2130|     10|            false,                                 /* = save_resize_status */                                \
  |  | 2131|     10|            H5AC__CACHE_IMAGE__ENTRY_AGEOUT__NONE, /* = entry_ageout */                                      \
  |  |  ------------------
  |  |  |  |  722|     10|#define H5AC__CACHE_IMAGE__ENTRY_AGEOUT__NONE -1
  |  |  ------------------
  |  | 2132|     10|            H5C_CI__ALL_FLAGS                      /* = flags */                                             \
  |  |  ------------------
  |  |  |  | 2124|     10|#define H5C_CI__ALL_FLAGS ((unsigned)0x000F)
  |  |  ------------------
  |  | 2133|     10|    }
  ------------------
  231|     10|    herr_t                       ret_value     = SUCCEED; /* Return value */
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
  232|       |
  233|     10|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     10|    {                                                                                                        \
  |  | 1392|     10|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     10|        {
  ------------------
  234|       |
  235|       |    /* Check arguments */
  236|     10|    assert(f);
  237|     10|    assert(NULL == f->shared->cache);
  238|     10|    assert(config_ptr != NULL);
  239|     10|    assert(image_config_ptr != NULL);
  240|     10|    assert(image_config_ptr->version == H5AC__CURR_CACHE_IMAGE_CONFIG_VERSION);
  241|     10|    HDcompile_assert(NELMTS(H5AC_class_s) == H5AC_NTYPES);
  ------------------
  |  | 1611|     10|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  ------------------
  242|     10|    HDcompile_assert(H5C__MAX_NUM_TYPE_IDS == H5AC_NTYPES);
  ------------------
  |  | 1611|     10|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  ------------------
  243|       |
  244|       |    /* Validate configurations */
  245|     10|    if (H5AC_validate_config(config_ptr) < 0)
  ------------------
  |  Branch (245:9): [True: 0, False: 10]
  ------------------
  246|      0|        HGOTO_ERROR(H5E_CACHE, H5E_BADVALUE, FAIL, "Bad cache configuration");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  247|     10|    if (H5AC_validate_cache_image_config(image_config_ptr) < 0)
  ------------------
  |  Branch (247:9): [True: 0, False: 10]
  ------------------
  248|      0|        HGOTO_ERROR(H5E_CACHE, H5E_BADVALUE, FAIL, "Bad cache image configuration");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  249|       |
  250|       |#ifdef H5_HAVE_PARALLEL
  251|       |    if (H5F_HAS_FEATURE(f, H5FD_FEAT_HAS_MPI)) {
  252|       |        MPI_Comm mpi_comm;
  253|       |        int      mpi_rank;
  254|       |        int      mpi_size;
  255|       |
  256|       |        if (MPI_COMM_NULL == (mpi_comm = H5F_mpi_get_comm(f)))
  257|       |            HGOTO_ERROR(H5E_VFL, H5E_CANTGET, FAIL, "can't get MPI communicator");
  258|       |
  259|       |        if ((mpi_rank = H5F_mpi_get_rank(f)) < 0)
  260|       |            HGOTO_ERROR(H5E_VFL, H5E_CANTGET, FAIL, "can't get mpi rank");
  261|       |
  262|       |        if ((mpi_size = H5F_mpi_get_size(f)) < 0)
  263|       |            HGOTO_ERROR(H5E_VFL, H5E_CANTGET, FAIL, "can't get mpi size");
  264|       |
  265|       |        if (NULL == (aux_ptr = H5FL_CALLOC(H5AC_aux_t)))
  266|       |            HGOTO_ERROR(H5E_CACHE, H5E_CANTALLOC, FAIL, "Can't allocate H5AC auxiliary structure");
  267|       |
  268|       |        aux_ptr->mpi_comm                = mpi_comm;
  269|       |        aux_ptr->mpi_rank                = mpi_rank;
  270|       |        aux_ptr->mpi_size                = mpi_size;
  271|       |        aux_ptr->write_permitted         = false;
  272|       |        aux_ptr->dirty_bytes_threshold   = H5AC__DEFAULT_DIRTY_BYTES_THRESHOLD;
  273|       |        aux_ptr->dirty_bytes             = 0;
  274|       |        aux_ptr->metadata_write_strategy = H5AC__DEFAULT_METADATA_WRITE_STRATEGY;
  275|       |#ifdef H5AC_DEBUG_DIRTY_BYTES_CREATION
  276|       |        aux_ptr->dirty_bytes_propagations      = 0;
  277|       |        aux_ptr->unprotect_dirty_bytes         = 0;
  278|       |        aux_ptr->unprotect_dirty_bytes_updates = 0;
  279|       |        aux_ptr->insert_dirty_bytes            = 0;
  280|       |        aux_ptr->insert_dirty_bytes_updates    = 0;
  281|       |        aux_ptr->move_dirty_bytes              = 0;
  282|       |        aux_ptr->move_dirty_bytes_updates      = 0;
  283|       |#endif /* H5AC_DEBUG_DIRTY_BYTES_CREATION */
  284|       |        aux_ptr->d_slist_ptr         = NULL;
  285|       |        aux_ptr->c_slist_ptr         = NULL;
  286|       |        aux_ptr->candidate_slist_ptr = NULL;
  287|       |        aux_ptr->write_done          = NULL;
  288|       |        aux_ptr->sync_point_done     = NULL;
  289|       |        aux_ptr->p0_image_len        = 0;
  290|       |
  291|       |        snprintf(prefix, sizeof(prefix), "%d:", mpi_rank);
  292|       |
  293|       |        if (mpi_rank == 0) {
  294|       |            if (NULL == (aux_ptr->d_slist_ptr = H5SL_create(H5SL_TYPE_HADDR, NULL)))
  295|       |                HGOTO_ERROR(H5E_CACHE, H5E_CANTCREATE, FAIL, "can't create dirtied entry list");
  296|       |
  297|       |            if (NULL == (aux_ptr->c_slist_ptr = H5SL_create(H5SL_TYPE_HADDR, NULL)))
  298|       |                HGOTO_ERROR(H5E_CACHE, H5E_CANTCREATE, FAIL, "can't create cleaned entry list");
  299|       |        } /* end if */
  300|       |
  301|       |        /* construct the candidate skip list for all processes.
  302|       |         * when the distributed strategy is selected as all processes
  303|       |         * will use it in the case of a flush.
  304|       |         */
  305|       |        if (NULL == (aux_ptr->candidate_slist_ptr = H5SL_create(H5SL_TYPE_HADDR, NULL)))
  306|       |            HGOTO_ERROR(H5E_CACHE, H5E_CANTCREATE, FAIL, "can't create candidate entry list");
  307|       |
  308|       |        if (aux_ptr->mpi_rank == 0)
  309|       |            f->shared->cache = H5C_create(H5AC__DEFAULT_MAX_CACHE_SIZE, H5AC__DEFAULT_MIN_CLEAN_SIZE,
  310|       |                                          (H5AC_NTYPES - 1), H5AC_class_s, H5AC__check_if_write_permitted,
  311|       |                                          true, H5AC__log_flushed_entry, (void *)aux_ptr);
  312|       |        else
  313|       |            f->shared->cache =
  314|       |                H5C_create(H5AC__DEFAULT_MAX_CACHE_SIZE, H5AC__DEFAULT_MIN_CLEAN_SIZE, (H5AC_NTYPES - 1),
  315|       |                           H5AC_class_s, H5AC__check_if_write_permitted, true, NULL, (void *)aux_ptr);
  316|       |    } /* end if */
  317|       |    else {
  318|       |#endif /* H5_HAVE_PARALLEL */
  319|       |        /* The default max cache size and min clean size will frequently be
  320|       |         * overwritten shortly by the subsequent set resize config call.
  321|       |         *                                             -- JRM
  322|       |         */
  323|     10|        f->shared->cache =
  324|     10|            H5C_create(H5AC__DEFAULT_MAX_CACHE_SIZE, H5AC__DEFAULT_MIN_CLEAN_SIZE, (H5AC_NTYPES - 1),
  ------------------
  |  |  121|     10|#define H5AC__DEFAULT_MAX_CACHE_SIZE H5C__DEFAULT_MAX_CACHE_SIZE
  |  |  ------------------
  |  |  |  |   85|     10|#define H5C__DEFAULT_MAX_CACHE_SIZE ((size_t)(4 * 1024 * 1024))
  |  |  ------------------
  ------------------
                          H5C_create(H5AC__DEFAULT_MAX_CACHE_SIZE, H5AC__DEFAULT_MIN_CLEAN_SIZE, (H5AC_NTYPES - 1),
  ------------------
  |  |  122|     10|#define H5AC__DEFAULT_MIN_CLEAN_SIZE H5C__DEFAULT_MIN_CLEAN_SIZE
  |  |  ------------------
  |  |  |  |   86|     10|#define H5C__DEFAULT_MIN_CLEAN_SIZE ((size_t)(2 * 1024 * 1024))
  |  |  ------------------
  ------------------
  325|     10|                       H5AC_class_s, H5AC__check_if_write_permitted, true, NULL, NULL);
  326|       |#ifdef H5_HAVE_PARALLEL
  327|       |    }  /* end else */
  328|       |#endif /* H5_HAVE_PARALLEL */
  329|       |
  330|     10|    if (NULL == f->shared->cache)
  ------------------
  |  Branch (330:9): [True: 0, False: 10]
  ------------------
  331|      0|        HGOTO_ERROR(H5E_CACHE, H5E_CANTALLOC, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  332|       |
  333|       |#ifdef H5_HAVE_PARALLEL
  334|       |    if (aux_ptr != NULL)
  335|       |        if (H5C_set_prefix(f->shared->cache, prefix) < 0)
  336|       |            HGOTO_ERROR(H5E_CACHE, H5E_CANTALLOC, FAIL, "H5C_set_prefix() failed");
  337|       |#endif /* H5_HAVE_PARALLEL */
  338|       |
  339|       |    /* Turn on metadata cache logging, if being used
  340|       |     * This will be JSON until we create a special API call. Trace output
  341|       |     * is generated when logging is controlled by the struct.
  342|       |     */
  343|     10|    if (H5F_USE_MDC_LOGGING(f))
  ------------------
  |  |  156|     10|#define H5F_USE_MDC_LOGGING(F)         (H5F_use_mdc_logging(F))
  |  |  ------------------
  |  |  |  Branch (156:40): [True: 0, False: 10]
  |  |  ------------------
  ------------------
  344|      0|        if (H5C_log_set_up(f->shared->cache, H5F_MDC_LOG_LOCATION(f), H5C_LOG_STYLE_JSON,
  ------------------
  |  |  158|      0|#define H5F_MDC_LOG_LOCATION(F)        (H5F_mdc_log_location(F))
  ------------------
  |  Branch (344:13): [True: 0, False: 0]
  ------------------
  345|      0|                           H5F_START_MDC_LOG_ON_ACCESS(f)) < 0)
  ------------------
  |  |  157|      0|#define H5F_START_MDC_LOG_ON_ACCESS(F) (H5F_start_mdc_log_on_access(F))
  ------------------
  346|      0|            HGOTO_ERROR(H5E_CACHE, H5E_LOGGING, FAIL, "mdc logging setup failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  347|       |
  348|       |    /* Set the cache parameters */
  349|     10|    if (H5AC_set_cache_auto_resize_config(f->shared->cache, config_ptr) < 0)
  ------------------
  |  Branch (349:9): [True: 0, False: 10]
  ------------------
  350|      0|        HGOTO_ERROR(H5E_CACHE, H5E_CANTSET, FAIL, "auto resize configuration failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  351|       |
  352|       |    /* Don't need to get the current H5C image config here since the
  353|       |     * cache has just been created, and thus f->shared->cache->image_ctl
  354|       |     * must still set to its initial value (H5C__DEFAULT_CACHE_IMAGE_CTL).
  355|       |     * Note that this not true as soon as control returns to the application
  356|       |     * program, as some test code modifies f->shared->cache->image_ctl.
  357|       |     */
  358|     10|    int_ci_config.version            = image_config_ptr->version;
  359|     10|    int_ci_config.generate_image     = image_config_ptr->generate_image;
  360|     10|    int_ci_config.save_resize_status = image_config_ptr->save_resize_status;
  361|     10|    int_ci_config.entry_ageout       = image_config_ptr->entry_ageout;
  362|     10|    if (H5C_set_cache_image_config(f, f->shared->cache, &int_ci_config) < 0)
  ------------------
  |  Branch (362:9): [True: 0, False: 10]
  ------------------
  363|      0|        HGOTO_ERROR(H5E_CACHE, H5E_CANTSET, FAIL, "auto resize configuration failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  364|       |
  365|     10|done:
  366|       |    /* If currently logging, generate a message */
  367|     10|    if (f->shared->cache->log_info->logging)
  ------------------
  |  Branch (367:9): [True: 0, False: 10]
  ------------------
  368|      0|        if (H5C_log_write_create_cache_msg(f->shared->cache, ret_value) < 0)
  ------------------
  |  Branch (368:13): [True: 0, False: 0]
  ------------------
  369|      0|            HDONE_ERROR(H5E_CACHE, H5E_LOGGING, FAIL, "unable to emit log message");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  370|       |
  371|       |#ifdef H5_HAVE_PARALLEL
  372|       |    /* if there is a failure, try to tidy up the auxiliary structure */
  373|       |    if (ret_value < 0) {
  374|       |        if (aux_ptr != NULL) {
  375|       |            if (aux_ptr->d_slist_ptr != NULL)
  376|       |                H5SL_close(aux_ptr->d_slist_ptr);
  377|       |            if (aux_ptr->c_slist_ptr != NULL)
  378|       |                H5SL_close(aux_ptr->c_slist_ptr);
  379|       |            if (aux_ptr->candidate_slist_ptr != NULL)
  380|       |                H5SL_close(aux_ptr->candidate_slist_ptr);
  381|       |            aux_ptr = H5FL_FREE(H5AC_aux_t, aux_ptr);
  382|       |        } /* end if */
  383|       |    }     /* end if */
  384|       |#endif    /* H5_HAVE_PARALLEL */
  385|       |
  386|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  387|     10|} /* H5AC_create() */
H5AC_dest:
  402|     10|{
  403|     10|    bool log_enabled;  /* true if logging was set up */
  404|     10|    bool curr_logging; /* true if currently logging */
  405|       |#ifdef H5_HAVE_PARALLEL
  406|       |    H5AC_aux_t *aux_ptr = NULL;
  407|       |#endif                          /* H5_HAVE_PARALLEL */
  408|     10|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
  409|       |
  410|     10|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     10|    {                                                                                                        \
  |  | 1392|     10|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     10|        {
  ------------------
  411|       |
  412|       |    /* Sanity check */
  413|     10|    assert(f);
  414|     10|    assert(f->shared);
  415|     10|    assert(f->shared->cache);
  416|       |
  417|       |#if H5AC_DUMP_STATS_ON_CLOSE
  418|       |    /* Dump debugging info */
  419|       |    H5AC_stats(f);
  420|       |#endif /* H5AC_DUMP_STATS_ON_CLOSE */
  421|       |
  422|       |    /* Check if log messages are being emitted */
  423|     10|    if (H5C_get_logging_status(f->shared->cache, &log_enabled, &curr_logging) < 0)
  ------------------
  |  Branch (423:9): [True: 0, False: 10]
  ------------------
  424|      0|        HGOTO_ERROR(H5E_CACHE, H5E_LOGGING, FAIL, "unable to get logging status");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  425|       |
  426|       |    /* Tear down logging */
  427|     10|    if (log_enabled) {
  ------------------
  |  Branch (427:9): [True: 0, False: 10]
  ------------------
  428|      0|        if (curr_logging)
  ------------------
  |  Branch (428:13): [True: 0, False: 0]
  ------------------
  429|      0|            if (H5C_log_write_destroy_cache_msg(f->shared->cache) < 0)
  ------------------
  |  Branch (429:17): [True: 0, False: 0]
  ------------------
  430|      0|                HGOTO_ERROR(H5E_CACHE, H5E_LOGGING, FAIL, "unable to emit log message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  431|       |
  432|      0|        if (H5C_log_tear_down(f->shared->cache) < 0)
  ------------------
  |  Branch (432:13): [True: 0, False: 0]
  ------------------
  433|      0|            HGOTO_ERROR(H5E_CACHE, H5E_LOGGING, FAIL, "metadata cache logging tear-down failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  434|      0|    } /* end if */
  435|       |
  436|       |#ifdef H5_HAVE_PARALLEL
  437|       |    /* destroying the cache, so clear all collective entries */
  438|       |    if (H5C_clear_coll_entries(f->shared->cache, false) < 0)
  439|       |        HGOTO_ERROR(H5E_CACHE, H5E_CANTSET, FAIL, "can't clear collective entries");
  440|       |
  441|       |    aux_ptr = (H5AC_aux_t *)H5C_get_aux_ptr(f->shared->cache);
  442|       |    if (aux_ptr) {
  443|       |        /* If the file was opened R/W, attempt to flush all entries
  444|       |         * from rank 0 & Bcast clean list to other ranks.
  445|       |         *
  446|       |         * Must not flush in the R/O case, as this will trigger the
  447|       |         * free space manager settle routines.
  448|       |         *
  449|       |         * Must also enable the skip list before the call to
  450|       |         * H5AC__flush_entries() and disable it afterwards, as the
  451|       |         * skip list will be disabled after the previous flush.
  452|       |         *
  453|       |         * Note that H5C_dest() does skip list setup and take down as well.
  454|       |         * Unfortunately, we can't do the setup and take down just once,
  455|       |         * as H5C_dest() is called directly in the test code.
  456|       |         *
  457|       |         * Fortunately, the cache should be clean or close to it at this
  458|       |         * point, so the overhead should be minimal.
  459|       |         */
  460|       |        if (H5F_ACC_RDWR & H5F_INTENT(f)) {
  461|       |            /* enable and load the skip list */
  462|       |            if (H5C_set_slist_enabled(f->shared->cache, true, true) < 0)
  463|       |                HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "can't enable skip list");
  464|       |
  465|       |            if (H5AC__flush_entries(f) < 0)
  466|       |                HGOTO_ERROR(H5E_CACHE, H5E_CANTFLUSH, FAIL, "Can't flush");
  467|       |
  468|       |            /* disable the skip list -- should be empty */
  469|       |            if (H5C_set_slist_enabled(f->shared->cache, false, false) < 0)
  470|       |                HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "can't disable skip list");
  471|       |        } /* end if */
  472|       |    }     /* end if */
  473|       |#endif    /* H5_HAVE_PARALLEL */
  474|       |
  475|       |    /* Destroy the cache */
  476|     10|    if (H5C_dest(f) < 0)
  ------------------
  |  Branch (476:9): [True: 0, False: 10]
  ------------------
  477|      0|        HGOTO_ERROR(H5E_CACHE, H5E_CANTFREE, FAIL, "can't destroy cache");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  478|       |
  479|     10|    f->shared->cache = NULL;
  480|       |
  481|       |#ifdef H5_HAVE_PARALLEL
  482|       |    if (aux_ptr != NULL) {
  483|       |        if (aux_ptr->d_slist_ptr != NULL) {
  484|       |            assert(H5SL_count(aux_ptr->d_slist_ptr) == 0);
  485|       |            H5SL_close(aux_ptr->d_slist_ptr);
  486|       |        } /* end if */
  487|       |
  488|       |        if (aux_ptr->c_slist_ptr != NULL) {
  489|       |            assert(H5SL_count(aux_ptr->c_slist_ptr) == 0);
  490|       |            H5SL_close(aux_ptr->c_slist_ptr);
  491|       |        } /* end if */
  492|       |
  493|       |        if (aux_ptr->candidate_slist_ptr != NULL) {
  494|       |            assert(H5SL_count(aux_ptr->candidate_slist_ptr) == 0);
  495|       |            H5SL_close(aux_ptr->candidate_slist_ptr);
  496|       |        } /* end if */
  497|       |
  498|       |        aux_ptr = H5FL_FREE(H5AC_aux_t, aux_ptr);
  499|       |    }  /* end if */
  500|       |#endif /* H5_HAVE_PARALLEL */
  501|       |
  502|     10|done:
  503|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  504|     10|} /* H5AC_dest() */
H5AC_expunge_entry:
  554|      4|{
  555|      4|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      4|#define SUCCEED 0
  ------------------
  556|       |
  557|      4|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      4|    {                                                                                                        \
  |  | 1392|      4|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      4|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      4|                                                                                                             \
  |  |  |  | 1267|      4|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      4|        {
  ------------------
  558|       |
  559|       |    /* Sanity checks */
  560|      4|    assert(f);
  561|      4|    assert(f->shared);
  562|      4|    assert(f->shared->cache);
  563|      4|    assert(type);
  564|      4|    assert(type->serialize);
  565|      4|    assert(H5_addr_defined(addr));
  566|       |
  567|      4|    if (H5C_expunge_entry(f, type, addr, flags) < 0)
  ------------------
  |  Branch (567:9): [True: 0, False: 4]
  ------------------
  568|      0|        HGOTO_ERROR(H5E_CACHE, H5E_CANTEXPUNGE, FAIL, "H5C_expunge_entry() failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  569|       |
  570|      4|done:
  571|       |    /* If currently logging, generate a message */
  572|      4|    if (f->shared->cache->log_info->logging)
  ------------------
  |  Branch (572:9): [True: 0, False: 4]
  ------------------
  573|      0|        if (H5C_log_write_expunge_entry_msg(f->shared->cache, addr, type->id, ret_value) < 0)
  ------------------
  |  Branch (573:13): [True: 0, False: 0]
  ------------------
  574|      0|            HDONE_ERROR(H5E_CACHE, H5E_LOGGING, FAIL, "unable to emit log message");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  575|       |
  576|      4|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      4|    ;                                                                                                        \
  |  | 1573|      4|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      4|    return (ret_value);                                                                                      \
  |  | 1575|      4|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  577|      4|} /* H5AC_expunge_entry() */
H5AC_pin_protected_entry:
 1036|    247|{
 1037|    247|    H5AC_info_t *entry_ptr = NULL;    /* Pointer to the cache entry */
 1038|    247|    H5C_t       *cache_ptr = NULL;    /* Pointer to the entry's associated metadata cache */
 1039|    247|    herr_t       ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    247|#define SUCCEED 0
  ------------------
 1040|       |
 1041|    247|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    247|    {                                                                                                        \
  |  | 1392|    247|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    247|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    247|                                                                                                             \
  |  |  |  | 1267|    247|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    247|        {
  ------------------
 1042|       |
 1043|       |    /* Sanity check */
 1044|    247|    assert(thing);
 1045|       |
 1046|    247|    entry_ptr = (H5AC_info_t *)thing;
 1047|    247|    cache_ptr = entry_ptr->cache_ptr;
 1048|    247|    assert(cache_ptr);
 1049|       |
 1050|       |    /* Pin entry */
 1051|    247|    if (H5C_pin_protected_entry(thing) < 0)
  ------------------
  |  Branch (1051:9): [True: 0, False: 247]
  ------------------
 1052|      0|        HGOTO_ERROR(H5E_CACHE, H5E_CANTPIN, FAIL, "can't pin entry");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1053|       |
 1054|    247|done:
 1055|       |    /* If currently logging, generate a message */
 1056|    247|    if (cache_ptr != NULL && cache_ptr->log_info != NULL)
  ------------------
  |  Branch (1056:9): [True: 247, False: 0]
  |  Branch (1056:30): [True: 247, False: 0]
  ------------------
 1057|    247|        if (cache_ptr->log_info->logging)
  ------------------
  |  Branch (1057:13): [True: 0, False: 247]
  ------------------
 1058|      0|            if (H5C_log_write_pin_entry_msg(cache_ptr, entry_ptr, ret_value) < 0)
  ------------------
  |  Branch (1058:17): [True: 0, False: 0]
  ------------------
 1059|      0|                HDONE_ERROR(H5E_CACHE, H5E_LOGGING, FAIL, "unable to emit log message");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1060|       |
 1061|    247|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    247|    ;                                                                                                        \
  |  | 1573|    247|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    247|    return (ret_value);                                                                                      \
  |  | 1575|    247|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1062|    247|} /* H5AC_pin_protected_entry() */
H5AC_prep_for_file_close:
 1081|     10|{
 1082|     10|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
 1083|       |
 1084|     10|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     10|    {                                                                                                        \
  |  | 1392|     10|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     10|        {
  ------------------
 1085|       |
 1086|       |    /* Sanity checks */
 1087|     10|    assert(f);
 1088|     10|    assert(f->shared);
 1089|     10|    assert(f->shared->cache);
 1090|       |
 1091|     10|    if (H5C_prep_for_file_close(f) < 0)
  ------------------
  |  Branch (1091:9): [True: 0, False: 10]
  ------------------
 1092|      0|        HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "cache prep for file close failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1093|       |
 1094|     10|done:
 1095|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1096|     10|} /* H5AC_prep_for_file_close() */
H5AC_protect:
 1243|  3.28k|{
 1244|  3.28k|    void *thing     = NULL; /* Pointer to native data structure for entry */
 1245|  3.28k|    void *ret_value = NULL; /* Return value */
 1246|       |
 1247|  3.28k|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|  3.28k|    {                                                                                                        \
  |  | 1392|  3.28k|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|  3.28k|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|  3.28k|                                                                                                             \
  |  |  |  | 1267|  3.28k|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|  3.28k|        {
  ------------------
 1248|       |
 1249|       |    /* Sanity check */
 1250|  3.28k|    assert(f);
 1251|  3.28k|    assert(f->shared);
 1252|  3.28k|    assert(f->shared->cache);
 1253|  3.28k|    assert(type);
 1254|  3.28k|    assert(type->serialize);
 1255|  3.28k|    assert(H5_addr_defined(addr));
 1256|       |
 1257|       |    /* Check for unexpected flags -- H5C__FLUSH_COLLECTIVELY_FLAG
 1258|       |     * only permitted in the parallel case.
 1259|       |     */
 1260|       |#ifdef H5_HAVE_PARALLEL
 1261|       |    assert(0 == (flags &
 1262|       |                 (unsigned)(~(H5C__READ_ONLY_FLAG | H5C__FLUSH_LAST_FLAG | H5C__FLUSH_COLLECTIVELY_FLAG))));
 1263|       |#else  /* H5_HAVE_PARALLEL */
 1264|  3.28k|    assert(0 == (flags & (unsigned)(~(H5C__READ_ONLY_FLAG | H5C__FLUSH_LAST_FLAG))));
 1265|  3.28k|#endif /* H5_HAVE_PARALLEL */
 1266|       |
 1267|       |    /* Check for invalid access request */
 1268|  3.28k|    if ((0 == (H5F_INTENT(f) & H5F_ACC_RDWR)) && (0 == (flags & H5C__READ_ONLY_FLAG)))
  ------------------
  |  |  109|  3.28k|#define H5F_INTENT(F)                    (H5F_get_intent(F))
  ------------------
                  if ((0 == (H5F_INTENT(f) & H5F_ACC_RDWR)) && (0 == (flags & H5C__READ_ONLY_FLAG)))
  ------------------
  |  |   49|  3.28k|#define H5F_ACC_RDWR   (H5CHECK H5OPEN 0x0001u) /**< Open for read and write    */
  ------------------
                  if ((0 == (H5F_INTENT(f) & H5F_ACC_RDWR)) && (0 == (flags & H5C__READ_ONLY_FLAG)))
  ------------------
  |  |  183|  3.28k|#define H5C__READ_ONLY_FLAG                 0x00080
  ------------------
  |  Branch (1268:9): [True: 3.28k, False: 0]
  |  Branch (1268:50): [True: 0, False: 3.28k]
  ------------------
 1269|      0|        HGOTO_ERROR(H5E_CACHE, H5E_BADVALUE, NULL, "no write intent on file");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1270|       |
 1271|       |#if H5AC_DO_TAGGING_SANITY_CHECKS
 1272|       |    if (!H5C_get_ignore_tags(f->shared->cache) && H5AC__verify_tag(type) < 0)
 1273|       |        HGOTO_ERROR(H5E_CACHE, H5E_CANTTAG, NULL, "Bad tag value");
 1274|       |#endif /* H5AC_DO_TAGGING_SANITY_CHECKS */
 1275|       |
 1276|  3.28k|    if (NULL == (thing = H5C_protect(f, type, addr, udata, flags)))
  ------------------
  |  Branch (1276:9): [True: 39, False: 3.24k]
  ------------------
 1277|     39|        HGOTO_ERROR(H5E_CACHE, H5E_CANTPROTECT, NULL, "H5C_protect() failed");
  ------------------
  |  |   68|     39|    do {                                                                                                     \
  |  |   69|     39|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     39|    do {                                                                                                     \
  |  |  |  |   40|     39|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     39|    do {                                                                                                     \
  |  |  |  |  |  |   31|     39|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     39|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     39|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     39|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     39|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     39|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     39|    do {                                                                                                     \
  |  |  |  |   92|     39|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     39|        goto done;                                                                                           \
  |  |  |  |   94|     39|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     39|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1278|       |
 1279|       |    /* Set return value */
 1280|  3.24k|    ret_value = thing;
 1281|       |
 1282|  3.28k|done:
 1283|       |    /* If currently logging, generate a message */
 1284|  3.28k|    {
 1285|  3.28k|        herr_t fake_ret_value = (NULL == ret_value) ? FAIL : SUCCEED;
  ------------------
  |  |  284|     39|#define FAIL    (-1)
  ------------------
                      herr_t fake_ret_value = (NULL == ret_value) ? FAIL : SUCCEED;
  ------------------
  |  |  283|  3.24k|#define SUCCEED 0
  ------------------
  |  Branch (1285:33): [True: 39, False: 3.24k]
  ------------------
 1286|       |
 1287|  3.28k|        if (f->shared->cache->log_info->logging)
  ------------------
  |  Branch (1287:13): [True: 0, False: 3.28k]
  ------------------
 1288|      0|            if (H5C_log_write_protect_entry_msg(f->shared->cache, (H5AC_info_t *)thing, type->id, flags,
  ------------------
  |  Branch (1288:17): [True: 0, False: 0]
  ------------------
 1289|      0|                                                fake_ret_value) < 0)
 1290|      0|                HDONE_ERROR(H5E_CACHE, H5E_LOGGING, NULL, "unable to emit log message");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1291|  3.28k|    }
 1292|       |
 1293|  3.28k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  3.28k|    ;                                                                                                        \
  |  | 1573|  3.28k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  3.28k|    return (ret_value);                                                                                      \
  |  | 1575|  3.28k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1294|  3.24k|} /* H5AC_protect() */
H5AC_unpin_entry:
 1401|    247|{
 1402|    247|    H5AC_info_t *entry_ptr = NULL;    /* Pointer to the cache entry */
 1403|    247|    H5C_t       *cache_ptr = NULL;    /* Pointer to the entry's associated metadata cache */
 1404|    247|    herr_t       ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    247|#define SUCCEED 0
  ------------------
 1405|       |
 1406|    247|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    247|    {                                                                                                        \
  |  | 1392|    247|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    247|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    247|                                                                                                             \
  |  |  |  | 1267|    247|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    247|        {
  ------------------
 1407|       |
 1408|       |    /* Sanity check */
 1409|    247|    assert(thing);
 1410|       |
 1411|    247|    entry_ptr = (H5AC_info_t *)thing;
 1412|    247|    cache_ptr = entry_ptr->cache_ptr;
 1413|    247|    assert(cache_ptr);
 1414|       |
 1415|       |    /* Unpin the entry */
 1416|    247|    if (H5C_unpin_entry(thing) < 0)
  ------------------
  |  Branch (1416:9): [True: 0, False: 247]
  ------------------
 1417|      0|        HGOTO_ERROR(H5E_CACHE, H5E_CANTUNPIN, FAIL, "can't unpin entry");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1418|       |
 1419|    247|done:
 1420|       |    /* If currently logging, generate a message */
 1421|    247|    if (cache_ptr != NULL && cache_ptr->log_info != NULL)
  ------------------
  |  Branch (1421:9): [True: 247, False: 0]
  |  Branch (1421:30): [True: 247, False: 0]
  ------------------
 1422|    247|        if (cache_ptr->log_info->logging)
  ------------------
  |  Branch (1422:13): [True: 0, False: 247]
  ------------------
 1423|      0|            if (H5C_log_write_unpin_entry_msg(cache_ptr, entry_ptr, ret_value) < 0)
  ------------------
  |  Branch (1423:17): [True: 0, False: 0]
  ------------------
 1424|      0|                HDONE_ERROR(H5E_CACHE, H5E_LOGGING, FAIL, "unable to emit log message");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1425|       |
 1426|    247|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    247|    ;                                                                                                        \
  |  | 1573|    247|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    247|    return (ret_value);                                                                                      \
  |  | 1575|    247|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1427|    247|} /* H5AC_unpin_entry() */
H5AC_unprotect:
 1506|  3.24k|{
 1507|  3.24k|    bool dirtied;
 1508|  3.24k|    bool deleted;
 1509|       |#ifdef H5_HAVE_PARALLEL
 1510|       |    H5AC_aux_t *aux_ptr = NULL;
 1511|       |#endif                          /* H5_HAVE_PARALLEL */
 1512|  3.24k|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|  3.24k|#define SUCCEED 0
  ------------------
 1513|       |
 1514|  3.24k|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|  3.24k|    {                                                                                                        \
  |  | 1392|  3.24k|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|  3.24k|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|  3.24k|                                                                                                             \
  |  |  |  | 1267|  3.24k|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|  3.24k|        {
  ------------------
 1515|       |
 1516|       |    /* Sanity checks */
 1517|  3.24k|    assert(f);
 1518|  3.24k|    assert(f->shared);
 1519|  3.24k|    assert(f->shared->cache);
 1520|  3.24k|    assert(type);
 1521|  3.24k|    assert(type->deserialize);
 1522|  3.24k|    assert(type->image_len);
 1523|  3.24k|    assert(H5_addr_defined(addr));
 1524|  3.24k|    assert(thing);
 1525|  3.24k|    assert(((H5AC_info_t *)thing)->addr == addr);
 1526|  3.24k|    assert(((H5AC_info_t *)thing)->type == type);
 1527|       |
 1528|  3.24k|    dirtied =
 1529|  3.24k|        (bool)(((flags & H5AC__DIRTIED_FLAG) == H5AC__DIRTIED_FLAG) || (((H5AC_info_t *)thing)->dirtied));
  ------------------
  |  |  316|  3.24k|#define H5AC__DIRTIED_FLAG                H5C__DIRTIED_FLAG
  |  |  ------------------
  |  |  |  |  177|  3.24k|#define H5C__DIRTIED_FLAG                   0x00002
  |  |  ------------------
  ------------------
                      (bool)(((flags & H5AC__DIRTIED_FLAG) == H5AC__DIRTIED_FLAG) || (((H5AC_info_t *)thing)->dirtied));
  ------------------
  |  |  316|  3.24k|#define H5AC__DIRTIED_FLAG                H5C__DIRTIED_FLAG
  |  |  ------------------
  |  |  |  |  177|  3.24k|#define H5C__DIRTIED_FLAG                   0x00002
  |  |  ------------------
  ------------------
  |  Branch (1529:16): [True: 0, False: 3.24k]
  |  Branch (1529:72): [True: 0, False: 3.24k]
  ------------------
 1530|  3.24k|    deleted = (bool)((flags & H5C__DELETED_FLAG) == H5C__DELETED_FLAG);
  ------------------
  |  |  176|  3.24k|#define H5C__DELETED_FLAG                   0x00001
  ------------------
                  deleted = (bool)((flags & H5C__DELETED_FLAG) == H5C__DELETED_FLAG);
  ------------------
  |  |  176|  3.24k|#define H5C__DELETED_FLAG                   0x00001
  ------------------
 1531|       |
 1532|       |    /* Check if the size changed out from underneath us, if we're not deleting
 1533|       |     *  the entry.
 1534|       |     */
 1535|  3.24k|    if (dirtied && !deleted) {
  ------------------
  |  Branch (1535:9): [True: 0, False: 3.24k]
  |  Branch (1535:20): [True: 0, False: 0]
  ------------------
 1536|      0|        size_t curr_size = 0;
 1537|       |
 1538|      0|        if ((type->image_len)(thing, &curr_size) < 0)
  ------------------
  |  Branch (1538:13): [True: 0, False: 0]
  ------------------
 1539|      0|            HGOTO_ERROR(H5E_CACHE, H5E_CANTGETSIZE, FAIL, "Can't get size of thing");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1540|       |
 1541|      0|        if (((H5AC_info_t *)thing)->size != curr_size)
  ------------------
  |  Branch (1541:13): [True: 0, False: 0]
  ------------------
 1542|      0|            HGOTO_ERROR(H5E_CACHE, H5E_BADSIZE, FAIL, "size of entry changed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1543|      0|    } /* end if */
 1544|       |
 1545|       |#ifdef H5_HAVE_PARALLEL
 1546|       |    if (NULL != (aux_ptr = (H5AC_aux_t *)H5C_get_aux_ptr(f->shared->cache))) {
 1547|       |        if (dirtied && ((H5AC_info_t *)thing)->is_dirty == false)
 1548|       |            if (H5AC__log_dirtied_entry((H5AC_info_t *)thing) < 0)
 1549|       |                HGOTO_ERROR(H5E_CACHE, H5E_CANTUNPROTECT, FAIL, "can't log dirtied entry");
 1550|       |
 1551|       |        if (deleted && aux_ptr->mpi_rank == 0) {
 1552|       |            if (H5AC__log_deleted_entry((H5AC_info_t *)thing) < 0) {
 1553|       |                /* If we fail to log the deleted entry, push an error but still
 1554|       |                 * participate in a possible sync point ahead
 1555|       |                 */
 1556|       |                HDONE_ERROR(H5E_CACHE, H5E_CANTUNPROTECT, FAIL, "H5AC__log_deleted_entry() failed");
 1557|       |            }
 1558|       |        }
 1559|       |    }  /* end if */
 1560|       |#endif /* H5_HAVE_PARALLEL */
 1561|       |
 1562|  3.24k|    if (H5C_unprotect(f, addr, thing, flags) < 0)
  ------------------
  |  Branch (1562:9): [True: 0, False: 3.24k]
  ------------------
 1563|      0|        HGOTO_ERROR(H5E_CACHE, H5E_CANTUNPROTECT, FAIL, "H5C_unprotect() failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1564|       |
 1565|       |#ifdef H5_HAVE_PARALLEL
 1566|       |    /* Check if we should try to flush */
 1567|       |    if ((aux_ptr != NULL) && (aux_ptr->dirty_bytes >= aux_ptr->dirty_bytes_threshold))
 1568|       |        if (H5AC__run_sync_point(f, H5AC_SYNC_POINT_OP__FLUSH_TO_MIN_CLEAN) < 0)
 1569|       |            HGOTO_ERROR(H5E_CACHE, H5E_CANTFLUSH, FAIL, "Can't run sync point");
 1570|       |#endif /* H5_HAVE_PARALLEL */
 1571|       |
 1572|  3.24k|done:
 1573|       |    /* If currently logging, generate a message */
 1574|  3.24k|    if (f->shared->cache->log_info->logging)
  ------------------
  |  Branch (1574:9): [True: 0, False: 3.24k]
  ------------------
 1575|      0|        if (H5C_log_write_unprotect_entry_msg(f->shared->cache, addr, type->id, flags, ret_value) < 0)
  ------------------
  |  Branch (1575:13): [True: 0, False: 0]
  ------------------
 1576|      0|            HDONE_ERROR(H5E_CACHE, H5E_LOGGING, FAIL, "unable to emit log message");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1577|       |
 1578|  3.24k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  3.24k|    ;                                                                                                        \
  |  | 1573|  3.24k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  3.24k|    return (ret_value);                                                                                      \
  |  | 1575|  3.24k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1579|  3.24k|} /* H5AC_unprotect() */
H5AC_set_cache_auto_resize_config:
 1768|     10|{
 1769|     10|    H5C_auto_size_ctl_t internal_config;
 1770|     10|    herr_t              ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
 1771|       |
 1772|     10|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     10|    {                                                                                                        \
  |  | 1392|     10|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     10|        {
  ------------------
 1773|       |
 1774|       |    /* Sanity checks */
 1775|     10|    assert(cache_ptr);
 1776|       |
 1777|     10|    if (cache_ptr == NULL)
  ------------------
  |  Branch (1777:9): [True: 0, False: 10]
  ------------------
 1778|      0|        HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "bad cache_ptr on entry");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1779|       |
 1780|       |    /* Validate external configuration */
 1781|     10|    if (H5AC_validate_config(config_ptr) != SUCCEED)
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
  |  Branch (1781:9): [True: 0, False: 10]
  ------------------
 1782|      0|        HGOTO_ERROR(H5E_CACHE, H5E_BADVALUE, FAIL, "Bad cache configuration");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1783|       |
 1784|       |    /* If the cache config struct is being used to control logging, perform
 1785|       |     * the open/close operations. Note that this is the only place where the
 1786|       |     * struct-based control opens and closes the log files so we also have
 1787|       |     * to write start/stop messages.
 1788|       |     */
 1789|       |    /* close */
 1790|     10|    if (config_ptr->close_trace_file)
  ------------------
  |  Branch (1790:9): [True: 0, False: 10]
  ------------------
 1791|      0|        if (H5C_log_tear_down((H5C_t *)cache_ptr) < 0)
  ------------------
  |  Branch (1791:13): [True: 0, False: 0]
  ------------------
 1792|      0|            HGOTO_ERROR(H5E_CACHE, H5E_LOGGING, FAIL, "mdc logging tear-down failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1793|       |
 1794|       |    /* open */
 1795|     10|    if (config_ptr->open_trace_file) {
  ------------------
  |  Branch (1795:9): [True: 0, False: 10]
  ------------------
 1796|       |        /* Turn on metadata cache logging.
 1797|       |         * This will be trace output until we create a special API call. JSON
 1798|       |         * output is generated when logging is controlled by the H5P calls.
 1799|       |         */
 1800|      0|        if (H5C_log_set_up((H5C_t *)cache_ptr, config_ptr->trace_file_name, H5C_LOG_STYLE_TRACE, true) < 0)
  ------------------
  |  Branch (1800:13): [True: 0, False: 0]
  ------------------
 1801|      0|            HGOTO_ERROR(H5E_CACHE, H5E_LOGGING, FAIL, "mdc logging setup failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1802|      0|    }
 1803|       |
 1804|       |    /* Convert external configuration to internal representation */
 1805|     10|    if (H5AC__ext_config_2_int_config(config_ptr, &internal_config) < 0)
  ------------------
  |  Branch (1805:9): [True: 0, False: 10]
  ------------------
 1806|      0|        HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "H5AC__ext_config_2_int_config() failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1807|       |
 1808|       |    /* Set configuration */
 1809|     10|    if (H5C_set_cache_auto_resize_config(cache_ptr, &internal_config) < 0)
  ------------------
  |  Branch (1809:9): [True: 0, False: 10]
  ------------------
 1810|      0|        HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "H5C_set_cache_auto_resize_config() failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1811|     10|    if (H5C_set_evictions_enabled(cache_ptr, config_ptr->evictions_enabled) < 0)
  ------------------
  |  Branch (1811:9): [True: 0, False: 10]
  ------------------
 1812|      0|        HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "H5C_set_evictions_enabled() failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1813|       |
 1814|       |#ifdef H5_HAVE_PARALLEL
 1815|       |    {
 1816|       |        H5AC_aux_t *aux_ptr;
 1817|       |
 1818|       |        /* Set parallel configuration values */
 1819|       |        /* (Which are only held in the H5AC layer -QAK) */
 1820|       |        if (NULL != (aux_ptr = (H5AC_aux_t *)H5C_get_aux_ptr(cache_ptr))) {
 1821|       |            aux_ptr->dirty_bytes_threshold   = config_ptr->dirty_bytes_threshold;
 1822|       |            aux_ptr->metadata_write_strategy = config_ptr->metadata_write_strategy;
 1823|       |        } /* end if */
 1824|       |    }
 1825|       |#endif /* H5_HAVE_PARALLEL */
 1826|       |
 1827|     10|done:
 1828|       |    /* If currently logging, generate a message */
 1829|     10|    if (cache_ptr->log_info->logging)
  ------------------
  |  Branch (1829:9): [True: 0, False: 10]
  ------------------
 1830|      0|        if (H5C_log_write_set_cache_config_msg(cache_ptr, config_ptr, ret_value) < 0)
  ------------------
  |  Branch (1830:13): [True: 0, False: 0]
  ------------------
 1831|      0|            HDONE_ERROR(H5E_CACHE, H5E_LOGGING, FAIL, "unable to emit log message");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1832|       |
 1833|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1834|     10|} /* H5AC_set_cache_auto_resize_config() */
H5AC_validate_config:
 1857|     20|{
 1858|     20|    H5C_auto_size_ctl_t internal_config;
 1859|     20|    herr_t              ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     20|#define SUCCEED 0
  ------------------
 1860|       |
 1861|     20|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     20|    {                                                                                                        \
  |  | 1392|     20|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     20|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     20|                                                                                                             \
  |  |  |  | 1267|     20|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     20|        {
  ------------------
 1862|       |
 1863|       |    /* Check args */
 1864|     20|    if (config_ptr == NULL)
  ------------------
  |  Branch (1864:9): [True: 0, False: 20]
  ------------------
 1865|      0|        HGOTO_ERROR(H5E_CACHE, H5E_BADVALUE, FAIL, "NULL config_ptr on entry");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1866|     20|    if (config_ptr->version != H5AC__CURR_CACHE_CONFIG_VERSION)
  ------------------
  |  |  431|     20|#define H5AC__CURR_CACHE_CONFIG_VERSION 1
  ------------------
  |  Branch (1866:9): [True: 0, False: 20]
  ------------------
 1867|      0|        HGOTO_ERROR(H5E_CACHE, H5E_BADVALUE, FAIL, "Unknown config version");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1868|       |
 1869|       |    /* don't bother to test trace_file_name unless open_trace_file is true */
 1870|     20|    if (config_ptr->open_trace_file) {
  ------------------
  |  Branch (1870:9): [True: 0, False: 20]
  ------------------
 1871|      0|        size_t name_len;
 1872|       |
 1873|       |        /* Can't really test the trace_file_name field without trying to
 1874|       |         * open the file, so we will content ourselves with a couple of
 1875|       |         * sanity checks on the length of the file name.
 1876|       |         */
 1877|      0|        name_len = strlen(config_ptr->trace_file_name);
 1878|      0|        if (name_len == 0)
  ------------------
  |  Branch (1878:13): [True: 0, False: 0]
  ------------------
 1879|      0|            HGOTO_ERROR(H5E_CACHE, H5E_BADVALUE, FAIL, "config_ptr->trace_file_name is empty");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1880|      0|        else if (name_len > H5AC__MAX_TRACE_FILE_NAME_LEN)
  ------------------
  |  |  432|      0|#define H5AC__MAX_TRACE_FILE_NAME_LEN   1024
  ------------------
  |  Branch (1880:18): [True: 0, False: 0]
  ------------------
 1881|      0|            HGOTO_ERROR(H5E_CACHE, H5E_BADVALUE, FAIL, "config_ptr->trace_file_name too long");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1882|      0|    } /* end if */
 1883|       |
 1884|     20|    if ((config_ptr->evictions_enabled == false) &&
  ------------------
  |  Branch (1884:9): [True: 0, False: 20]
  ------------------
 1885|     20|        ((config_ptr->incr_mode != H5C_incr__off) || (config_ptr->flash_incr_mode != H5C_flash_incr__off) ||
  ------------------
  |  Branch (1885:10): [True: 0, False: 0]
  |  Branch (1885:54): [True: 0, False: 0]
  ------------------
 1886|      0|         (config_ptr->decr_mode != H5C_decr__off)))
  ------------------
  |  Branch (1886:10): [True: 0, False: 0]
  ------------------
 1887|      0|        HGOTO_ERROR(H5E_CACHE, H5E_BADVALUE, FAIL, "Can't disable evictions while auto-resize is enabled");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1888|       |
 1889|     20|    if (config_ptr->dirty_bytes_threshold < H5AC__MIN_DIRTY_BYTES_THRESHOLD)
  ------------------
  |  |   70|     20|#define H5AC__MIN_DIRTY_BYTES_THRESHOLD     (size_t)(H5C__MIN_MAX_CACHE_SIZE / 2)
  |  |  ------------------
  |  |  |  |   80|     20|#define H5C__MIN_MAX_CACHE_SIZE ((size_t)(1024))
  |  |  ------------------
  ------------------
  |  Branch (1889:9): [True: 0, False: 20]
  ------------------
 1890|      0|        HGOTO_ERROR(H5E_CACHE, H5E_BADVALUE, FAIL, "dirty_bytes_threshold too small");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1891|     20|    else if (config_ptr->dirty_bytes_threshold > H5AC__MAX_DIRTY_BYTES_THRESHOLD)
  ------------------
  |  |   72|     20|#define H5AC__MAX_DIRTY_BYTES_THRESHOLD     (size_t)(H5C__MAX_MAX_CACHE_SIZE / 4)
  |  |  ------------------
  |  |  |  |   79|     20|#define H5C__MAX_MAX_CACHE_SIZE ((size_t)(128 * 1024 * 1024))
  |  |  ------------------
  ------------------
  |  Branch (1891:14): [True: 0, False: 20]
  ------------------
 1892|      0|        HGOTO_ERROR(H5E_CACHE, H5E_BADVALUE, FAIL, "dirty_bytes_threshold too big");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1893|       |
 1894|     20|    if ((config_ptr->metadata_write_strategy != H5AC_METADATA_WRITE_STRATEGY__PROCESS_0_ONLY) &&
  ------------------
  |  |  434|     20|#define H5AC_METADATA_WRITE_STRATEGY__PROCESS_0_ONLY 0
  ------------------
  |  Branch (1894:9): [True: 20, False: 0]
  ------------------
 1895|     20|        (config_ptr->metadata_write_strategy != H5AC_METADATA_WRITE_STRATEGY__DISTRIBUTED))
  ------------------
  |  |  435|     20|#define H5AC_METADATA_WRITE_STRATEGY__DISTRIBUTED    1
  ------------------
  |  Branch (1895:9): [True: 0, False: 20]
  ------------------
 1896|      0|        HGOTO_ERROR(H5E_CACHE, H5E_BADVALUE, FAIL, "config_ptr->metadata_write_strategy out of range");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1897|       |
 1898|     20|    if (H5AC__ext_config_2_int_config(config_ptr, &internal_config) < 0)
  ------------------
  |  Branch (1898:9): [True: 0, False: 20]
  ------------------
 1899|      0|        HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "H5AC__ext_config_2_int_config() failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1900|       |
 1901|     20|    if (H5C_validate_resize_config(&internal_config, H5C_RESIZE_CFG__VALIDATE_ALL) < 0)
  ------------------
  |  |   94|     20|#define H5C_RESIZE_CFG__VALIDATE_ALL      \
  |  |   95|     20|(                                         \
  |  |   96|     20|    H5C_RESIZE_CFG__VALIDATE_GENERAL |    \
  |  |  ------------------
  |  |  |  |   89|     20|#define H5C_RESIZE_CFG__VALIDATE_GENERAL      0x1
  |  |  ------------------
  |  |   97|     20|    H5C_RESIZE_CFG__VALIDATE_INCREMENT |  \
  |  |  ------------------
  |  |  |  |   90|     20|#define H5C_RESIZE_CFG__VALIDATE_INCREMENT    0x2
  |  |  ------------------
  |  |   98|     20|    H5C_RESIZE_CFG__VALIDATE_DECREMENT |  \
  |  |  ------------------
  |  |  |  |   91|     20|#define H5C_RESIZE_CFG__VALIDATE_DECREMENT    0x4
  |  |  ------------------
  |  |   99|     20|    H5C_RESIZE_CFG__VALIDATE_INTERACTIONS \
  |  |  ------------------
  |  |  |  |   92|     20|#define H5C_RESIZE_CFG__VALIDATE_INTERACTIONS 0x8
  |  |  ------------------
  |  |  100|     20|)
  ------------------
  |  Branch (1901:9): [True: 0, False: 20]
  ------------------
 1902|      0|        HGOTO_ERROR(H5E_CACHE, H5E_BADVALUE, FAIL, "error(s) in new config");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1903|       |
 1904|     20|done:
 1905|     20|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     20|    ;                                                                                                        \
  |  | 1573|     20|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     20|    return (ret_value);                                                                                      \
  |  | 1575|     20|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1906|     20|} /* H5AC_validate_config() */
H5AC_validate_cache_image_config:
 1930|     10|{
 1931|     10|    H5C_cache_image_ctl_t internal_config = H5C__DEFAULT_CACHE_IMAGE_CTL;
  ------------------
  |  | 2127|     10|    {                                                                                                        \
  |  | 2128|     10|        H5C__CURR_CACHE_IMAGE_CTL_VER,             /* = version */                                           \
  |  |  ------------------
  |  |  |  |  106|     10|#define H5C__CURR_CACHE_IMAGE_CTL_VER     1
  |  |  ------------------
  |  | 2129|     10|            false,                                 /* = generate_image */                                    \
  |  | 2130|     10|            false,                                 /* = save_resize_status */                                \
  |  | 2131|     10|            H5AC__CACHE_IMAGE__ENTRY_AGEOUT__NONE, /* = entry_ageout */                                      \
  |  |  ------------------
  |  |  |  |  722|     10|#define H5AC__CACHE_IMAGE__ENTRY_AGEOUT__NONE -1
  |  |  ------------------
  |  | 2132|     10|            H5C_CI__ALL_FLAGS                      /* = flags */                                             \
  |  |  ------------------
  |  |  |  | 2124|     10|#define H5C_CI__ALL_FLAGS ((unsigned)0x000F)
  |  |  ------------------
  |  | 2133|     10|    }
  ------------------
 1932|     10|    herr_t                ret_value       = SUCCEED; /* Return value */
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
 1933|       |
 1934|     10|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     10|    {                                                                                                        \
  |  | 1392|     10|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     10|        {
  ------------------
 1935|       |
 1936|       |    /* Check args */
 1937|     10|    if (config_ptr == NULL)
  ------------------
  |  Branch (1937:9): [True: 0, False: 10]
  ------------------
 1938|      0|        HGOTO_ERROR(H5E_CACHE, H5E_BADVALUE, FAIL, "NULL config_ptr on entry");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1939|       |
 1940|     10|    if (config_ptr->version != H5AC__CURR_CACHE_IMAGE_CONFIG_VERSION)
  ------------------
  |  |  720|     10|#define H5AC__CURR_CACHE_IMAGE_CONFIG_VERSION 1
  ------------------
  |  Branch (1940:9): [True: 0, False: 10]
  ------------------
 1941|      0|        HGOTO_ERROR(H5E_CACHE, H5E_BADVALUE, FAIL, "Unknown image config version");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1942|       |
 1943|       |    /* don't need to get the current H5C image config here since the
 1944|       |     * default values of fields not in the H5AC config will always be
 1945|       |     * valid.
 1946|       |     */
 1947|     10|    internal_config.version            = config_ptr->version;
 1948|     10|    internal_config.generate_image     = config_ptr->generate_image;
 1949|     10|    internal_config.save_resize_status = config_ptr->save_resize_status;
 1950|     10|    internal_config.entry_ageout       = config_ptr->entry_ageout;
 1951|       |
 1952|     10|    if (H5C_validate_cache_image_config(&internal_config) < 0)
  ------------------
  |  Branch (1952:9): [True: 0, False: 10]
  ------------------
 1953|      0|        HGOTO_ERROR(H5E_CACHE, H5E_BADVALUE, FAIL, "error(s) in new cache image config");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1954|       |
 1955|     10|done:
 1956|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1957|     10|} /* H5AC_validate_cache_image_config() */
H5AC_tag:
 2115|  9.50k|{
 2116|  9.50k|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|  9.50k|    {                                                                                                        \
  |  | 1425|  9.50k|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|  9.50k|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|  9.50k|        {
  ------------------
 2117|       |
 2118|       |    /* Get the current tag value and return that (if prev_tag is NOT null) */
 2119|  9.50k|    if (prev_tag)
  ------------------
  |  Branch (2119:9): [True: 4.75k, False: 4.75k]
  ------------------
 2120|  4.75k|        *prev_tag = H5CX_get_tag();
 2121|       |
 2122|       |    /* Set the provided tag */
 2123|  9.50k|    H5CX_set_tag(metadata_tag);
 2124|       |
 2125|  9.50k|    FUNC_LEAVE_NOAPI_VOID
  ------------------
  |  | 1578|  9.50k|    ;                                                                                                        \
  |  | 1579|  9.50k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1580|  9.50k|    return;                                                                                                  \
  |  | 1581|  9.50k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2126|  9.50k|} /* H5AC_tag */
H5AC_cork:
 2296|    143|{
 2297|    143|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    143|#define SUCCEED 0
  ------------------
 2298|       |
 2299|    143|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    143|    {                                                                                                        \
  |  | 1392|    143|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    143|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    143|                                                                                                             \
  |  |  |  | 1267|    143|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    143|        {
  ------------------
 2300|       |
 2301|       |    /* Sanity check */
 2302|    143|    assert(f);
 2303|    143|    assert(f->shared);
 2304|    143|    assert(f->shared->cache);
 2305|    143|    assert(H5_addr_defined(obj_addr));
 2306|    143|    assert(action == H5AC__SET_CORK || action == H5AC__UNCORK || action == H5AC__GET_CORKED);
 2307|       |
 2308|       |    /*  Skip the search on "tag_list" when there are no "corked" objects.
 2309|       |     *  This is done to mitigate the slow down when closing objects.
 2310|       |     *  Re-visit this optimization when we optimize tag info management
 2311|       |     *  in the future.
 2312|       |     */
 2313|    143|    if (action == H5AC__GET_CORKED) {
  ------------------
  |  |  143|    143|#define H5AC__GET_CORKED H5C__GET_CORKED
  |  |  ------------------
  |  |  |  |  217|    143|#define H5C__GET_CORKED 0x4
  |  |  ------------------
  ------------------
  |  Branch (2313:9): [True: 143, False: 0]
  ------------------
 2314|    143|        assert(corked);
 2315|    143|        if (H5C_get_num_objs_corked(f->shared->cache) == 0) {
  ------------------
  |  Branch (2315:13): [True: 143, False: 0]
  ------------------
 2316|    143|            *corked = false;
 2317|    143|            HGOTO_DONE(SUCCEED);
  ------------------
  |  |   91|    143|    do {                                                                                                     \
  |  |   92|    143|        ret_value = ret_val;                                                                                 \
  |  |   93|    143|        goto done;                                                                                           \
  |  |   94|    143|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2318|    143|        }
 2319|    143|    }
 2320|       |
 2321|      0|    if (H5C_cork(f->shared->cache, obj_addr, action, corked) < 0)
  ------------------
  |  Branch (2321:9): [True: 0, False: 0]
  ------------------
 2322|      0|        HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "Cannot perform the cork action");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2323|       |
 2324|    143|done:
 2325|    143|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    143|    ;                                                                                                        \
  |  | 1573|    143|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    143|    return (ret_value);                                                                                      \
  |  | 1575|    143|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2326|      0|} /* H5AC_cork() */
H5AC_set_ring:
 2405|     21|{
 2406|     21|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|     21|    {                                                                                                        \
  |  | 1425|     21|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|     21|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|     21|        {
  ------------------
 2407|       |
 2408|       |    /* Note: orig_ring can be NULL so don't check it with assert() */
 2409|       |
 2410|       |    /* Get the current ring value and return that (if orig_ring is NOT null) */
 2411|     21|    if (orig_ring)
  ------------------
  |  Branch (2411:9): [True: 7, False: 14]
  ------------------
 2412|      7|        *orig_ring = H5CX_get_ring();
 2413|       |
 2414|       |    /* Set the provided ring */
 2415|     21|    H5CX_set_ring(ring);
 2416|       |
 2417|     21|    FUNC_LEAVE_NOAPI_VOID
  ------------------
  |  | 1578|     21|    ;                                                                                                        \
  |  | 1579|     21|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1580|     21|    return;                                                                                                  \
  |  | 1581|     21|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2418|     21|} /* end H5AC_set_ring() */
H5AC.c:H5AC__check_if_write_permitted:
 1983|      7|{
 1984|       |#ifdef H5_HAVE_PARALLEL
 1985|       |    H5AC_aux_t *aux_ptr = NULL;
 1986|       |#endif /* H5_HAVE_PARALLEL */
 1987|      7|    bool write_permitted = true;
 1988|       |
 1989|      7|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|      7|    {                                                                                                        \
  |  | 1467|      7|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|      7|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|      7|        {
  ------------------
 1990|       |
 1991|       |#ifdef H5_HAVE_PARALLEL
 1992|       |    /* Sanity checks */
 1993|       |    assert(f != NULL);
 1994|       |    assert(f->shared != NULL);
 1995|       |    assert(f->shared->cache != NULL);
 1996|       |    aux_ptr = (H5AC_aux_t *)H5C_get_aux_ptr(f->shared->cache);
 1997|       |    if (aux_ptr != NULL) {
 1998|       |        if ((aux_ptr->mpi_rank == 0) ||
 1999|       |            (aux_ptr->metadata_write_strategy == H5AC_METADATA_WRITE_STRATEGY__DISTRIBUTED))
 2000|       |            write_permitted = aux_ptr->write_permitted;
 2001|       |        else
 2002|       |            write_permitted = false;
 2003|       |    }  /* end if */
 2004|       |#endif /* H5_HAVE_PARALLEL */
 2005|       |
 2006|      7|    *write_permitted_ptr = write_permitted;
 2007|       |
 2008|      7|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2009|      7|} /* H5AC__check_if_write_permitted() */
H5AC.c:H5AC__ext_config_2_int_config:
 2028|     30|{
 2029|     30|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     30|#define SUCCEED 0
  ------------------
 2030|       |
 2031|     30|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     30|    {                                                                                                        \
  |  | 1461|     30|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     30|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     30|                                                                                                             \
  |  |  |  | 1267|     30|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     30|        {
  ------------------
 2032|       |
 2033|     30|    if ((ext_conf_ptr == NULL) || (ext_conf_ptr->version != H5AC__CURR_CACHE_CONFIG_VERSION) ||
  ------------------
  |  |  431|     30|#define H5AC__CURR_CACHE_CONFIG_VERSION 1
  ------------------
  |  Branch (2033:9): [True: 0, False: 30]
  |  Branch (2033:35): [True: 0, False: 30]
  ------------------
 2034|     30|        (int_conf_ptr == NULL))
  ------------------
  |  Branch (2034:9): [True: 0, False: 30]
  ------------------
 2035|      0|        HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "Bad ext_conf_ptr or inf_conf_ptr on entry");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2036|       |
 2037|     30|    int_conf_ptr->version = H5C__CURR_AUTO_SIZE_CTL_VER;
  ------------------
  |  |  104|     30|#define H5C__CURR_AUTO_SIZE_CTL_VER       1
  ------------------
 2038|     30|    if (ext_conf_ptr->rpt_fcn_enabled)
  ------------------
  |  Branch (2038:9): [True: 0, False: 30]
  ------------------
 2039|      0|        int_conf_ptr->rpt_fcn = H5C_def_auto_resize_rpt_fcn;
 2040|     30|    else
 2041|     30|        int_conf_ptr->rpt_fcn = NULL;
 2042|       |
 2043|     30|    int_conf_ptr->set_initial_size   = ext_conf_ptr->set_initial_size;
 2044|     30|    int_conf_ptr->initial_size       = ext_conf_ptr->initial_size;
 2045|     30|    int_conf_ptr->min_clean_fraction = ext_conf_ptr->min_clean_fraction;
 2046|     30|    int_conf_ptr->max_size           = ext_conf_ptr->max_size;
 2047|     30|    int_conf_ptr->min_size           = ext_conf_ptr->min_size;
 2048|     30|    int_conf_ptr->epoch_length       = (int64_t)(ext_conf_ptr->epoch_length);
 2049|       |
 2050|     30|    int_conf_ptr->incr_mode           = ext_conf_ptr->incr_mode;
 2051|     30|    int_conf_ptr->lower_hr_threshold  = ext_conf_ptr->lower_hr_threshold;
 2052|     30|    int_conf_ptr->increment           = ext_conf_ptr->increment;
 2053|     30|    int_conf_ptr->apply_max_increment = ext_conf_ptr->apply_max_increment;
 2054|     30|    int_conf_ptr->max_increment       = ext_conf_ptr->max_increment;
 2055|     30|    int_conf_ptr->flash_incr_mode     = ext_conf_ptr->flash_incr_mode;
 2056|     30|    int_conf_ptr->flash_multiple      = ext_conf_ptr->flash_multiple;
 2057|     30|    int_conf_ptr->flash_threshold     = ext_conf_ptr->flash_threshold;
 2058|       |
 2059|     30|    int_conf_ptr->decr_mode              = ext_conf_ptr->decr_mode;
 2060|     30|    int_conf_ptr->upper_hr_threshold     = ext_conf_ptr->upper_hr_threshold;
 2061|     30|    int_conf_ptr->decrement              = ext_conf_ptr->decrement;
 2062|     30|    int_conf_ptr->apply_max_decrement    = ext_conf_ptr->apply_max_decrement;
 2063|     30|    int_conf_ptr->max_decrement          = ext_conf_ptr->max_decrement;
 2064|     30|    int_conf_ptr->epochs_before_eviction = (int32_t)(ext_conf_ptr->epochs_before_eviction);
 2065|     30|    int_conf_ptr->apply_empty_reserve    = ext_conf_ptr->apply_empty_reserve;
 2066|     30|    int_conf_ptr->empty_reserve          = ext_conf_ptr->empty_reserve;
 2067|       |
 2068|     30|done:
 2069|     30|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     30|    ;                                                                                                        \
  |  | 1573|     30|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     30|    return (ret_value);                                                                                      \
  |  | 1575|     30|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2070|     30|} /* H5AC__ext_config_2_int_config() */

H5A_init:
  140|      1|{
  141|      1|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  142|       |
  143|      1|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      1|    {                                                                                                        \
  |  | 1392|      1|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      1|        {
  ------------------
  144|       |
  145|       |    /*
  146|       |     * Create attribute ID type.
  147|       |     */
  148|      1|    if (H5I_register_type(H5I_ATTR_CLS) < 0)
  ------------------
  |  Branch (148:9): [True: 0, False: 1]
  ------------------
  149|      0|        HGOTO_ERROR(H5E_ATTR, H5E_CANTINIT, FAIL, "unable to initialize interface");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  150|       |
  151|      1|done:
  152|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  153|      1|} /* end H5A_init() */
H5A_top_term_package:
  174|      1|{
  175|      1|    int n = 0;
  176|       |
  177|      1|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      1|    {                                                                                                        \
  |  | 1425|      1|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      1|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      1|        {
  ------------------
  178|       |
  179|      1|    if (H5I_nmembers(H5I_ATTR) > 0) {
  ------------------
  |  Branch (179:9): [True: 0, False: 1]
  ------------------
  180|      0|        (void)H5I_clear_type(H5I_ATTR, false, false);
  181|      0|        n++; /*H5I*/
  182|      0|    }        /* end if */
  183|       |
  184|      1|    FUNC_LEAVE_NOAPI(n)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  185|      1|} /* H5A_top_term_package() */
H5A_term_package:
  208|      1|{
  209|      1|    int n = 0;
  210|       |
  211|      1|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      1|    {                                                                                                        \
  |  | 1425|      1|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      1|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      1|        {
  ------------------
  212|       |
  213|       |    /* Sanity checks */
  214|      1|    assert(0 == H5I_nmembers(H5I_ATTR));
  215|       |
  216|       |    /* Destroy the attribute object id group */
  217|      1|    n += (H5I_dec_type_ref(H5I_ATTR) > 0);
  218|       |
  219|      1|    FUNC_LEAVE_NOAPI(n)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  220|      1|} /* H5A_term_package() */
H5A__open_by_name:
  603|     78|{
  604|     78|    H5G_loc_t  obj_loc;           /* Location used to open group */
  605|     78|    H5G_name_t obj_path;          /* Opened object group hier. path */
  606|     78|    H5O_loc_t  obj_oloc;          /* Opened object object location */
  607|     78|    bool       loc_found = false; /* Entry at 'obj_name' found */
  608|     78|    H5A_t     *attr      = NULL;  /* Attribute from object header */
  609|     78|    H5A_t     *ret_value = NULL;  /* Return value */
  610|       |
  611|     78|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     78|    {                                                                                                        \
  |  | 1461|     78|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     78|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     78|                                                                                                             \
  |  |  |  | 1267|     78|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     78|        {
  ------------------
  612|       |
  613|       |    /* check args */
  614|     78|    assert(loc);
  615|     78|    assert(obj_name);
  616|     78|    assert(attr_name);
  617|       |
  618|       |    /* Set up opened group location to fill in */
  619|     78|    obj_loc.oloc = &obj_oloc;
  620|     78|    obj_loc.path = &obj_path;
  621|     78|    H5G_loc_reset(&obj_loc);
  622|       |
  623|       |    /* Find the object's location */
  624|     78|    if (H5G_loc_find(loc, obj_name, &obj_loc /*out*/) < 0)
  ------------------
  |  Branch (624:9): [True: 0, False: 78]
  ------------------
  625|      0|        HGOTO_ERROR(H5E_ATTR, H5E_NOTFOUND, NULL, "object not found");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  626|     78|    loc_found = true;
  627|       |
  628|       |    /* Read in attribute from object header */
  629|     78|    if (NULL == (attr = H5O__attr_open_by_name(obj_loc.oloc, attr_name)))
  ------------------
  |  Branch (629:9): [True: 14, False: 64]
  ------------------
  630|     14|        HGOTO_ERROR(H5E_ATTR, H5E_CANTINIT, NULL, "unable to load attribute info from object header");
  ------------------
  |  |   68|     14|    do {                                                                                                     \
  |  |   69|     14|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     14|    do {                                                                                                     \
  |  |  |  |   40|     14|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     14|    do {                                                                                                     \
  |  |  |  |  |  |   31|     14|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     14|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     14|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     14|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     14|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     14|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     14|    do {                                                                                                     \
  |  |  |  |   92|     14|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     14|        goto done;                                                                                           \
  |  |  |  |   94|     14|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     14|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  631|       |
  632|       |    /* Finish initializing attribute */
  633|     64|    if (H5A__open_common(loc, attr) < 0)
  ------------------
  |  Branch (633:9): [True: 0, False: 64]
  ------------------
  634|      0|        HGOTO_ERROR(H5E_ATTR, H5E_CANTINIT, NULL, "unable to initialize attribute");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  635|       |
  636|       |    /* Set return value */
  637|     64|    ret_value = attr;
  638|       |
  639|     78|done:
  640|       |    /* Release resources */
  641|     78|    if (loc_found && H5G_loc_free(&obj_loc) < 0)
  ------------------
  |  Branch (641:9): [True: 78, False: 0]
  |  Branch (641:22): [True: 0, False: 78]
  ------------------
  642|      0|        HDONE_ERROR(H5E_ATTR, H5E_CANTRELEASE, NULL, "can't free location");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  643|       |
  644|       |    /* Cleanup on failure */
  645|     78|    if (ret_value == NULL)
  ------------------
  |  Branch (645:9): [True: 14, False: 64]
  ------------------
  646|     14|        if (attr && H5A__close(attr) < 0)
  ------------------
  |  Branch (646:13): [True: 0, False: 14]
  |  Branch (646:21): [True: 0, False: 0]
  ------------------
  647|      0|            HDONE_ERROR(H5E_ATTR, H5E_CANTFREE, NULL, "can't close attribute");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  648|       |
  649|     78|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     78|    ;                                                                                                        \
  |  | 1573|     78|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     78|    return (ret_value);                                                                                      \
  |  | 1575|     78|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  650|     64|} /* H5A__open_by_name() */
H5A__read:
  670|     64|{
  671|     64|    uint8_t    *tconv_buf = NULL; /* datatype conv buffer*/
  672|     64|    uint8_t    *bkg_buf   = NULL; /* background buffer */
  673|     64|    hssize_t    snelmts;          /* elements in attribute */
  674|     64|    size_t      nelmts;           /* elements in attribute*/
  675|     64|    H5T_path_t *tpath = NULL;     /* type conversion info    */
  676|     64|    size_t      src_type_size;    /* size of source type     */
  677|     64|    size_t      dst_type_size;    /* size of destination type */
  678|     64|    size_t      buf_size;         /* desired buffer size    */
  679|     64|    herr_t      ret_value = SUCCEED;
  ------------------
  |  |  283|     64|#define SUCCEED 0
  ------------------
  680|       |
  681|     64|    FUNC_ENTER_PACKAGE_TAG(attr->oloc.addr)
  ------------------
  |  | 1473|     64|    {                                                                                                        \
  |  | 1474|     64|        haddr_t prev_tag = HADDR_UNDEF;                                                                      \
  |  |  ------------------
  |  |  |  |  336|     64|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  | 1475|     64|                                                                                                             \
  |  | 1476|     64|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     64|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     64|                                                                                                             \
  |  |  |  | 1267|     64|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1477|     64|        H5AC_tag(tag, &prev_tag);                                                                            \
  |  | 1478|     64|        {
  ------------------
  682|       |
  683|     64|    assert(attr);
  684|     64|    assert(mem_type);
  685|     64|    assert(buf);
  686|       |
  687|       |    /* Patch the top level file pointer in attr->shared->dt->shared->u.vlen.f if needed */
  688|     64|    if (H5T_patch_vlen_file(attr->shared->dt, H5F_VOL_OBJ(attr->oloc.file)) < 0)
  ------------------
  |  |  167|     64|#define H5F_VOL_OBJ(F)                 (H5F_get_vol_obj(F))
  ------------------
  |  Branch (688:9): [True: 0, False: 64]
  ------------------
  689|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTOPENOBJ, FAIL, "can't patch VL datatype file pointer");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  690|       |
  691|       |    /* Create buffer for data to store on disk */
  692|     64|    if ((snelmts = H5S_GET_EXTENT_NPOINTS(attr->shared->ds)) < 0)
  ------------------
  |  |  164|     64|#define H5S_GET_EXTENT_NPOINTS(S)               (H5S_get_simple_extent_npoints(S))
  ------------------
  |  Branch (692:9): [True: 0, False: 64]
  ------------------
  693|      0|        HGOTO_ERROR(H5E_ATTR, H5E_CANTCOUNT, FAIL, "dataspace is invalid");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  694|     64|    H5_CHECKED_ASSIGN(nelmts, size_t, snelmts, hssize_t);
  ------------------
  |  |  977|     64|    do {                                                                                                     \
  |  |  978|     64|        (dst) = (dsttype)(src);                                                                              \
  |  |  979|     64|    } while (0)
  |  |  ------------------
  |  |  |  Branch (979:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  695|       |
  696|     64|    if (nelmts > 0) {
  ------------------
  |  Branch (696:9): [True: 64, False: 0]
  ------------------
  697|       |        /* Get the memory and file datatype sizes */
  698|     64|        src_type_size = H5T_GET_SIZE(attr->shared->dt);
  ------------------
  |  |   47|     64|#define H5T_GET_SIZE(T)             (H5T_get_size(T))
  ------------------
  699|     64|        dst_type_size = H5T_GET_SIZE(mem_type);
  ------------------
  |  |   47|     64|#define H5T_GET_SIZE(T)             (H5T_get_size(T))
  ------------------
  700|       |
  701|       |        /* Check if the attribute has any data yet, if not, fill with zeroes */
  702|     64|        if (attr->obj_opened && !attr->shared->data)
  ------------------
  |  Branch (702:13): [True: 64, False: 0]
  |  Branch (702:33): [True: 0, False: 64]
  ------------------
  703|      0|            memset(buf, 0, (dst_type_size * nelmts));
  704|     64|        else { /* Attribute exists and has a value */
  705|       |            /* Convert memory buffer into disk buffer */
  706|       |            /* Set up type conversion function */
  707|     64|            if (NULL == (tpath = H5T_path_find(attr->shared->dt, mem_type)))
  ------------------
  |  Branch (707:17): [True: 0, False: 64]
  ------------------
  708|      0|                HGOTO_ERROR(H5E_ATTR, H5E_UNSUPPORTED, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  709|     64|                            "unable to convert between src and dst datatypes");
  710|       |
  711|       |            /* Check for type conversion required */
  712|     64|            if (!H5T_path_noop(tpath)) {
  ------------------
  |  Branch (712:17): [True: 6, False: 58]
  ------------------
  713|      6|                H5T_bkg_t need_bkg; /* Background buffer type */
  714|       |
  715|       |                /* Get the maximum buffer size needed and allocate it */
  716|      6|                buf_size = nelmts * MAX(src_type_size, dst_type_size);
  ------------------
  |  |  300|      6|#define MAX(a, b)        (((a) > (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (300:27): [True: 3, False: 3]
  |  |  ------------------
  ------------------
  717|      6|                if (NULL == (tconv_buf = H5FL_BLK_MALLOC(attr_buf, buf_size)))
  ------------------
  |  |  146|      6|#define H5FL_BLK_MALLOC(t, size) (uint8_t *)H5FL_blk_malloc(&(H5FL_BLK_NAME(t)), (size))
  |  |  ------------------
  |  |  |  |  131|      6|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
  |  Branch (717:21): [True: 0, False: 6]
  ------------------
  718|      0|                    HGOTO_ERROR(H5E_ATTR, H5E_NOSPACE, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  719|       |
  720|       |                /* Copy the attribute data into the buffer for conversion */
  721|      6|                H5MM_memcpy(tconv_buf, attr->shared->data, (src_type_size * nelmts));
  ------------------
  |  |   41|      6|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  722|       |
  723|       |                /* Check if we need a background buffer */
  724|      6|                need_bkg = H5T_path_bkg(tpath);
  725|       |
  726|      6|                if (need_bkg) {
  ------------------
  |  Branch (726:21): [True: 0, False: 6]
  ------------------
  727|       |                    /* Allocate background buffer */
  728|      0|                    if (NULL == (bkg_buf = H5FL_BLK_CALLOC(attr_buf, buf_size)))
  ------------------
  |  |  149|      0|#define H5FL_BLK_CALLOC(t, size) (uint8_t *)H5FL_blk_calloc(&(H5FL_BLK_NAME(t)), (size))
  |  |  ------------------
  |  |  |  |  131|      0|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
  |  Branch (728:25): [True: 0, False: 0]
  ------------------
  729|      0|                        HGOTO_ERROR(H5E_ATTR, H5E_CANTALLOC, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  730|       |
  731|       |                    /* Copy the application buffer into the background buffer if necessary */
  732|      0|                    if (need_bkg == H5T_BKG_YES) {
  ------------------
  |  Branch (732:25): [True: 0, False: 0]
  ------------------
  733|      0|                        assert(buf_size >= (dst_type_size * nelmts));
  734|      0|                        H5MM_memcpy(bkg_buf, buf, dst_type_size * nelmts);
  ------------------
  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  735|      0|                    }
  736|      0|                }
  737|       |
  738|       |                /* Perform datatype conversion.  */
  739|      6|                if (H5T_convert(tpath, attr->shared->dt, mem_type, nelmts, (size_t)0, (size_t)0, tconv_buf,
  ------------------
  |  Branch (739:21): [True: 3, False: 3]
  ------------------
  740|      6|                                bkg_buf) < 0)
  741|      3|                    HGOTO_ERROR(H5E_ATTR, H5E_CANTCONVERT, FAIL, "datatype conversion failed");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  742|       |
  743|       |                /* Copy the converted data into the user's buffer */
  744|      3|                H5MM_memcpy(buf, tconv_buf, (dst_type_size * nelmts));
  ------------------
  |  |   41|      3|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  745|      3|            } /* end if */
  746|       |            /* No type conversion necessary */
  747|     58|            else {
  748|     58|                assert(dst_type_size == src_type_size);
  749|       |
  750|       |                /* Copy the attribute data into the user's buffer */
  751|     58|                H5MM_memcpy(buf, attr->shared->data, (dst_type_size * nelmts));
  ------------------
  |  |   41|     58|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  752|     58|            } /* end else */
  753|     64|        }     /* end else */
  754|     64|    }         /* end if */
  755|       |
  756|     64|done:
  757|       |    /* Release resources */
  758|     64|    if (tconv_buf)
  ------------------
  |  Branch (758:9): [True: 6, False: 58]
  ------------------
  759|      6|        tconv_buf = H5FL_BLK_FREE(attr_buf, tconv_buf);
  ------------------
  |  |  152|      6|#define H5FL_BLK_FREE(t, blk) (uint8_t *)H5FL_blk_free(&(H5FL_BLK_NAME(t)), blk)
  |  |  ------------------
  |  |  |  |  131|      6|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
  760|     64|    if (bkg_buf)
  ------------------
  |  Branch (760:9): [True: 0, False: 64]
  ------------------
  761|      0|        bkg_buf = H5FL_BLK_FREE(attr_buf, bkg_buf);
  ------------------
  |  |  152|      0|#define H5FL_BLK_FREE(t, blk) (uint8_t *)H5FL_blk_free(&(H5FL_BLK_NAME(t)), blk)
  |  |  ------------------
  |  |  |  |  131|      0|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
  762|       |
  763|     64|    FUNC_LEAVE_NOAPI_TAG(ret_value)
  ------------------
  |  | 1593|     64|    ;                                                                                                        \
  |  | 1594|     64|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1595|     64|    H5AC_tag(prev_tag, NULL);                                                                                \
  |  | 1596|     64|    return (ret_value);                                                                                      \
  |  | 1597|     64|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  764|     64|} /* H5A__read() */
H5A_get_space:
  956|      3|{
  957|      3|    H5S_t *ds        = NULL;
  958|      3|    hid_t  ret_value = H5I_INVALID_HID;
  ------------------
  |  |   75|      3|#define H5I_INVALID_HID (-1)
  ------------------
  959|       |
  960|      3|    FUNC_ENTER_NOAPI_NOINIT
  ------------------
  |  | 1410|      3|    {                                                                                                        \
  |  | 1411|      3|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      3|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      3|                                                                                                             \
  |  |  |  | 1267|      3|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1412|      3|        {
  ------------------
  961|       |
  962|      3|    assert(attr);
  963|       |
  964|       |    /* Copy the attribute's dataspace */
  965|      3|    if (NULL == (ds = H5S_copy(attr->shared->ds, false, true)))
  ------------------
  |  Branch (965:9): [True: 0, False: 3]
  ------------------
  966|      0|        HGOTO_ERROR(H5E_ATTR, H5E_CANTINIT, H5I_INVALID_HID, "unable to copy dataspace");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  967|       |
  968|       |    /* Register */
  969|      3|    if ((ret_value = H5I_register(H5I_DATASPACE, ds, true)) < 0)
  ------------------
  |  Branch (969:9): [True: 0, False: 3]
  ------------------
  970|      0|        HGOTO_ERROR(H5E_ID, H5E_CANTREGISTER, H5I_INVALID_HID, "unable to register dataspace ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  971|       |
  972|      3|done:
  973|      3|    if (H5I_INVALID_HID == ret_value && ds && H5S_close(ds) < 0)
  ------------------
  |  |   75|      3|#define H5I_INVALID_HID (-1)
  ------------------
  |  Branch (973:9): [True: 0, False: 3]
  |  Branch (973:41): [True: 0, False: 0]
  |  Branch (973:47): [True: 0, False: 0]
  ------------------
  974|      0|        HDONE_ERROR(H5E_ATTR, H5E_CLOSEERROR, H5I_INVALID_HID, "unable to release dataspace");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  975|       |
  976|      3|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      3|    ;                                                                                                        \
  |  | 1573|      3|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      3|    return (ret_value);                                                                                      \
  |  | 1575|      3|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  977|      3|} /* end H5A_get_space() */
H5A__get_type:
  991|     58|{
  992|     58|    H5T_t *dt        = NULL;
  993|     58|    hid_t  ret_value = H5I_INVALID_HID;
  ------------------
  |  |   75|     58|#define H5I_INVALID_HID (-1)
  ------------------
  994|       |
  995|     58|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     58|    {                                                                                                        \
  |  | 1461|     58|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     58|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     58|                                                                                                             \
  |  |  |  | 1267|     58|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     58|        {
  ------------------
  996|       |
  997|     58|    assert(attr);
  998|       |
  999|       |    /* Patch the datatype's "top level" file pointer */
 1000|     58|    if (H5T_patch_file(attr->shared->dt, attr->oloc.file) < 0)
  ------------------
  |  Branch (1000:9): [True: 0, False: 58]
  ------------------
 1001|      0|        HGOTO_ERROR(H5E_ATTR, H5E_CANTINIT, H5I_INVALID_HID, "unable to patch datatype's file pointer");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1002|       |
 1003|       |    /* Copy the attribute's datatype.  If the type is a named type then
 1004|       |     * reopen the type before returning it to the user. Make the type
 1005|       |     * read-only.
 1006|       |     */
 1007|     58|    if (NULL == (dt = H5T_copy_reopen(attr->shared->dt)))
  ------------------
  |  Branch (1007:9): [True: 0, False: 58]
  ------------------
 1008|      0|        HGOTO_ERROR(H5E_ATTR, H5E_CANTINIT, H5I_INVALID_HID, "unable to copy datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1009|       |
 1010|       |    /* Mark any datatypes as being in memory now */
 1011|     58|    if (H5T_set_loc(dt, NULL, H5T_LOC_MEMORY) < 0)
  ------------------
  |  Branch (1011:9): [True: 0, False: 58]
  ------------------
 1012|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, H5I_INVALID_HID, "invalid datatype location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1013|       |
 1014|       |    /* Lock copied type */
 1015|     58|    if (H5T_lock(dt, false) < 0)
  ------------------
  |  Branch (1015:9): [True: 0, False: 58]
  ------------------
 1016|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, H5I_INVALID_HID, "unable to lock transient datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1017|       |
 1018|       |    /* Register */
 1019|     58|    if (H5T_is_named(dt)) {
  ------------------
  |  Branch (1019:9): [True: 0, False: 58]
  ------------------
 1020|       |        /* If this is a committed datatype, we need to recreate the
 1021|       |         * two level IDs, where the VOL object is a copy of the
 1022|       |         * returned datatype
 1023|       |         */
 1024|      0|        if ((ret_value = H5VL_wrap_register(H5I_DATATYPE, dt, true)) < 0)
  ------------------
  |  Branch (1024:13): [True: 0, False: 0]
  ------------------
 1025|      0|            HGOTO_ERROR(H5E_ID, H5E_CANTREGISTER, H5I_INVALID_HID, "unable to register file handle");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1026|      0|    }
 1027|     58|    else {
 1028|     58|        if ((ret_value = H5I_register(H5I_DATATYPE, dt, true)) < 0)
  ------------------
  |  Branch (1028:13): [True: 0, False: 58]
  ------------------
 1029|      0|            HGOTO_ERROR(H5E_ID, H5E_CANTREGISTER, H5I_INVALID_HID, "unable to register datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1030|     58|    }
 1031|       |
 1032|     58|done:
 1033|     58|    if (H5I_INVALID_HID == ret_value)
  ------------------
  |  |   75|     58|#define H5I_INVALID_HID (-1)
  ------------------
  |  Branch (1033:9): [True: 0, False: 58]
  ------------------
 1034|      0|        if (dt && H5T_close(dt) < 0)
  ------------------
  |  Branch (1034:13): [True: 0, False: 0]
  |  Branch (1034:19): [True: 0, False: 0]
  ------------------
 1035|      0|            HDONE_ERROR(H5E_ATTR, H5E_CLOSEERROR, H5I_INVALID_HID, "unable to release datatype");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1036|       |
 1037|     58|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     58|    ;                                                                                                        \
  |  | 1573|     58|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     58|    return (ret_value);                                                                                      \
  |  | 1575|     58|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1038|     58|} /* end H5A__get_type() */
H5A__copy:
 1130|     64|{
 1131|     64|    H5A_t *new_attr       = NULL;
 1132|     64|    bool   allocated_attr = false; /* Whether the attribute was allocated */
 1133|     64|    H5A_t *ret_value      = NULL;  /* Return value */
 1134|       |
 1135|     64|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     64|    {                                                                                                        \
  |  | 1461|     64|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     64|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     64|                                                                                                             \
  |  |  |  | 1267|     64|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     64|        {
  ------------------
 1136|       |
 1137|       |    /* check args */
 1138|     64|    assert(old_attr);
 1139|       |
 1140|       |    /* Allocate attribute structure */
 1141|     64|    if (_new_attr == NULL) {
  ------------------
  |  Branch (1141:9): [True: 64, False: 0]
  ------------------
 1142|     64|        if (NULL == (new_attr = H5FL_CALLOC(H5A_t)))
  ------------------
  |  |   78|     64|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|     64|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (1142:13): [True: 0, False: 64]
  ------------------
 1143|      0|            HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1144|     64|        allocated_attr = true;
 1145|     64|    } /* end if */
 1146|      0|    else
 1147|      0|        new_attr = _new_attr;
 1148|       |
 1149|       |    /* Copy the top level of the attribute */
 1150|     64|    new_attr->sh_loc = old_attr->sh_loc;
 1151|       |
 1152|       |    /* Deep copy of the group hierarchy path */
 1153|     64|    if (H5G_name_copy(&(new_attr->path), &(old_attr->path), H5_COPY_DEEP) < 0)
  ------------------
  |  Branch (1153:9): [True: 0, False: 64]
  ------------------
 1154|      0|        HGOTO_ERROR(H5E_ATTR, H5E_CANTCOPY, NULL, "unable to copy path");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1155|       |
 1156|       |    /* Share some attribute information */
 1157|     64|    new_attr->shared = old_attr->shared;
 1158|       |
 1159|       |    /* Increment reference count for shared object */
 1160|     64|    new_attr->shared->nrefs++;
 1161|       |
 1162|       |    /* Don't open the object header for a copy */
 1163|     64|    new_attr->obj_opened = false;
 1164|       |
 1165|       |    /* Set the return value */
 1166|     64|    ret_value = new_attr;
 1167|       |
 1168|     64|done:
 1169|     64|    if (ret_value == NULL)
  ------------------
  |  Branch (1169:9): [True: 0, False: 64]
  ------------------
 1170|      0|        if (allocated_attr && new_attr && H5A__close(new_attr) < 0)
  ------------------
  |  Branch (1170:13): [True: 0, False: 0]
  |  Branch (1170:31): [True: 0, False: 0]
  |  Branch (1170:43): [True: 0, False: 0]
  ------------------
 1171|      0|            HDONE_ERROR(H5E_ATTR, H5E_CANTFREE, NULL, "can't close attribute");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1172|       |
 1173|     64|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     64|    ;                                                                                                        \
  |  | 1573|     64|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     64|    return (ret_value);                                                                                      \
  |  | 1575|     64|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1174|     64|} /* end H5A__copy() */
H5A__shared_free:
 1190|     76|{
 1191|     76|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     76|#define SUCCEED 0
  ------------------
 1192|       |
 1193|     76|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     76|    {                                                                                                        \
  |  | 1461|     76|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     76|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     76|                                                                                                             \
  |  |  |  | 1267|     76|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     76|        {
  ------------------
 1194|       |
 1195|     76|    assert(attr);
 1196|     76|    assert(attr->shared);
 1197|       |
 1198|       |    /* Free dynamically allocated items.
 1199|       |     * When possible, keep trying to shut things down (via HDONE_ERROR).
 1200|       |     */
 1201|     76|    if (attr->shared->name) {
  ------------------
  |  Branch (1201:9): [True: 76, False: 0]
  ------------------
 1202|     76|        H5MM_xfree(attr->shared->name);
 1203|     76|        attr->shared->name = NULL;
 1204|     76|    }
 1205|     76|    if (attr->shared->dt) {
  ------------------
  |  Branch (1205:9): [True: 52, False: 24]
  ------------------
 1206|     52|        if (H5T_close_real(attr->shared->dt) < 0)
  ------------------
  |  Branch (1206:13): [True: 0, False: 52]
  ------------------
 1207|      0|            HDONE_ERROR(H5E_ATTR, H5E_CANTRELEASE, FAIL, "can't release datatype info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1208|     52|        attr->shared->dt = NULL;
 1209|     52|    }
 1210|     76|    if (attr->shared->ds) {
  ------------------
  |  Branch (1210:9): [True: 52, False: 24]
  ------------------
 1211|     52|        if (H5S_close(attr->shared->ds) < 0)
  ------------------
  |  Branch (1211:13): [True: 0, False: 52]
  ------------------
 1212|      0|            HDONE_ERROR(H5E_ATTR, H5E_CANTRELEASE, FAIL, "can't release dataspace info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1213|     52|        attr->shared->ds = NULL;
 1214|     52|    }
 1215|     76|    if (attr->shared->data)
  ------------------
  |  Branch (1215:9): [True: 52, False: 24]
  ------------------
 1216|     52|        attr->shared->data = H5FL_BLK_FREE(attr_buf, attr->shared->data);
  ------------------
  |  |  152|     52|#define H5FL_BLK_FREE(t, blk) (uint8_t *)H5FL_blk_free(&(H5FL_BLK_NAME(t)), blk)
  |  |  ------------------
  |  |  |  |  131|     52|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
 1217|       |
 1218|       |    /* Destroy shared attribute struct */
 1219|     76|    attr->shared = H5FL_FREE(H5A_shared_t, attr->shared);
  ------------------
  |  |   81|     76|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|     76|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 1220|       |
 1221|     76|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     76|    ;                                                                                                        \
  |  | 1573|     76|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     76|    return (ret_value);                                                                                      \
  |  | 1575|     76|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1222|     76|} /* end H5A__shared_free() */
H5A__close:
 1266|    116|{
 1267|    116|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    116|#define SUCCEED 0
  ------------------
 1268|       |
 1269|    116|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    116|    {                                                                                                        \
  |  | 1461|    116|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    116|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    116|                                                                                                             \
  |  |  |  | 1267|    116|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    116|        {
  ------------------
 1270|       |
 1271|    116|    assert(attr);
 1272|    116|    assert(attr->shared);
 1273|       |
 1274|       |    /* Close the object's symbol-table entry */
 1275|    116|    if (attr->obj_opened && (H5O_close(&(attr->oloc), NULL) < 0))
  ------------------
  |  Branch (1275:9): [True: 64, False: 52]
  |  Branch (1275:29): [True: 0, False: 64]
  ------------------
 1276|      0|        HGOTO_ERROR(H5E_ATTR, H5E_CANTRELEASE, FAIL, "can't release object header info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1277|       |
 1278|       |    /* Reference count can be 0.  It only happens when H5A__create fails. */
 1279|    116|    if (attr->shared->nrefs <= 1) {
  ------------------
  |  Branch (1279:9): [True: 52, False: 64]
  ------------------
 1280|       |        /* Free dynamically allocated items */
 1281|     52|        if (attr->shared)
  ------------------
  |  Branch (1281:13): [True: 52, False: 0]
  ------------------
 1282|     52|            if (H5A__shared_free(attr) < 0)
  ------------------
  |  Branch (1282:17): [True: 0, False: 52]
  ------------------
 1283|      0|                HGOTO_ERROR(H5E_ATTR, H5E_CANTRELEASE, FAIL, "can't release attribute info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1284|     52|    } /* end if */
 1285|     64|    else {
 1286|       |        /* There are other references to the shared part of the attribute.
 1287|       |         * Only decrement the reference count. */
 1288|     64|        --attr->shared->nrefs;
 1289|     64|    } /* end else */
 1290|       |
 1291|       |    /* Free group hierarchy path */
 1292|    116|    if (H5G_name_free(&(attr->path)) < 0)
  ------------------
  |  Branch (1292:9): [True: 0, False: 116]
  ------------------
 1293|      0|        HGOTO_ERROR(H5E_ATTR, H5E_CANTRELEASE, FAIL, "can't release group hier. path");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1294|       |
 1295|    116|    attr->shared = NULL;
 1296|    116|    attr         = H5FL_FREE(H5A_t, attr);
  ------------------
  |  |   81|    116|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|    116|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 1297|       |
 1298|    116|done:
 1299|    116|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    116|    ;                                                                                                        \
  |  | 1573|    116|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    116|    return (ret_value);                                                                                      \
  |  | 1575|    116|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1300|    116|} /* end H5A__close() */
H5A_oloc:
 1316|     24|{
 1317|     24|    H5O_loc_t *ret_value = NULL; /* Return value */
 1318|       |
 1319|     24|    FUNC_ENTER_NOAPI_NOERR
  ------------------
  |  | 1397|     24|    {                                                                                                        \
  |  | 1398|     24|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|     24|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1399|     24|        {
  ------------------
 1320|       |
 1321|     24|    assert(attr);
 1322|       |
 1323|       |    /* Set return value */
 1324|     24|    ret_value = &(attr->oloc);
 1325|       |
 1326|     24|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     24|    ;                                                                                                        \
  |  | 1573|     24|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     24|    return (ret_value);                                                                                      \
  |  | 1575|     24|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1327|     24|} /* end H5A_oloc() */
H5A__exists_by_name:
 1392|    107|{
 1393|    107|    H5G_loc_t  obj_loc;             /* Location used to open group */
 1394|    107|    H5G_name_t obj_path;            /* Opened object group hier. path */
 1395|    107|    H5O_loc_t  obj_oloc;            /* Opened object object location */
 1396|    107|    bool       loc_found = false;   /* Entry at 'obj_name' found */
 1397|    107|    herr_t     ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    107|#define SUCCEED 0
  ------------------
 1398|       |
 1399|    107|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    107|    {                                                                                                        \
  |  | 1461|    107|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    107|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    107|                                                                                                             \
  |  |  |  | 1267|    107|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    107|        {
  ------------------
 1400|       |
 1401|       |    /* Sanity check */
 1402|    107|    assert(obj_name);
 1403|    107|    assert(attr_name);
 1404|    107|    assert(attr_exists);
 1405|       |
 1406|       |    /* Set up opened group location to fill in */
 1407|    107|    obj_loc.oloc = &obj_oloc;
 1408|    107|    obj_loc.path = &obj_path;
 1409|    107|    H5G_loc_reset(&obj_loc);
 1410|       |
 1411|       |    /* Find the object's location */
 1412|    107|    if (H5G_loc_find(&loc, obj_name, &obj_loc /*out*/) < 0)
  ------------------
  |  Branch (1412:9): [True: 0, False: 107]
  ------------------
 1413|      0|        HGOTO_ERROR(H5E_ATTR, H5E_NOTFOUND, FAIL, "object not found");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1414|    107|    loc_found = true;
 1415|       |
 1416|       |    /* Check if the attribute exists */
 1417|    107|    if (H5O__attr_exists(obj_loc.oloc, attr_name, attr_exists) < 0)
  ------------------
  |  Branch (1417:9): [True: 12, False: 95]
  ------------------
 1418|     12|        HGOTO_ERROR(H5E_ATTR, H5E_CANTGET, FAIL, "unable to determine if attribute exists");
  ------------------
  |  |   68|     12|    do {                                                                                                     \
  |  |   69|     12|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     12|    do {                                                                                                     \
  |  |  |  |   40|     12|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     12|    do {                                                                                                     \
  |  |  |  |  |  |   31|     12|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     12|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     12|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     12|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     12|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     12|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     12|    do {                                                                                                     \
  |  |  |  |   92|     12|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     12|        goto done;                                                                                           \
  |  |  |  |   94|     12|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     12|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1419|       |
 1420|    107|done:
 1421|       |    /* Release resources */
 1422|    107|    if (loc_found && H5G_loc_free(&obj_loc) < 0)
  ------------------
  |  Branch (1422:9): [True: 107, False: 0]
  |  Branch (1422:22): [True: 0, False: 107]
  ------------------
 1423|      0|        HDONE_ERROR(H5E_ATTR, H5E_CANTRELEASE, FAIL, "can't free location");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1424|       |
 1425|    107|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    107|    ;                                                                                                        \
  |  | 1573|    107|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    107|    return (ret_value);                                                                                      \
  |  | 1575|    107|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1426|    107|} /* H5A__exists_by_name() */
H5Aint.c:H5A__close_cb:
 1235|     64|{
 1236|     64|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     64|#define SUCCEED 0
  ------------------
 1237|       |
 1238|     64|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     64|    {                                                                                                        \
  |  | 1461|     64|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     64|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     64|                                                                                                             \
  |  |  |  | 1267|     64|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     64|        {
  ------------------
 1239|       |
 1240|       |    /* Sanity check */
 1241|     64|    assert(attr_vol_obj);
 1242|       |
 1243|       |    /* Close the attribute */
 1244|     64|    if (H5VL_attr_close(attr_vol_obj, H5P_DATASET_XFER_DEFAULT, request) < 0)
  ------------------
  |  |  160|     64|#define H5P_DATASET_XFER_DEFAULT (H5OPEN H5P_LST_DATASET_XFER_ID_g)
  ------------------
  |  Branch (1244:9): [True: 0, False: 64]
  ------------------
 1245|      0|        HGOTO_ERROR(H5E_ATTR, H5E_CLOSEERROR, FAIL, "problem closing attribute");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1246|       |
 1247|       |    /* Free the VOL object */
 1248|     64|    if (H5VL_free_object(attr_vol_obj) < 0)
  ------------------
  |  Branch (1248:9): [True: 0, False: 64]
  ------------------
 1249|      0|        HGOTO_ERROR(H5E_ATTR, H5E_CANTDEC, FAIL, "unable to free VOL object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1250|       |
 1251|     64|done:
 1252|     64|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     64|    ;                                                                                                        \
  |  | 1573|     64|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     64|    return (ret_value);                                                                                      \
  |  | 1575|     64|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1253|     64|} /* end H5A__close_cb() */
H5Aint.c:H5A__open_common:
  454|     64|{
  455|     64|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     64|#define SUCCEED 0
  ------------------
  456|       |
  457|     64|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     64|    {                                                                                                        \
  |  | 1461|     64|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     64|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     64|                                                                                                             \
  |  |  |  | 1267|     64|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     64|        {
  ------------------
  458|       |
  459|       |    /* check args */
  460|     64|    assert(loc);
  461|     64|    assert(attr);
  462|       |
  463|       |#if defined(H5_USING_MEMCHECKER) || !defined(NDEBUG)
  464|       |    /* Clear object location */
  465|       |    if (H5O_loc_reset(&(attr->oloc)) < 0)
  466|       |        HGOTO_ERROR(H5E_ATTR, H5E_CANTOPENOBJ, FAIL, "unable to reset location");
  467|       |#endif /* H5_USING_MEMCHECKER */
  468|       |
  469|       |    /* Free any previous group hier. path */
  470|     64|    if (H5G_name_free(&(attr->path)) < 0)
  ------------------
  |  Branch (470:9): [True: 0, False: 64]
  ------------------
  471|      0|        HGOTO_ERROR(H5E_ATTR, H5E_CANTRELEASE, FAIL, "can't release group hier. path");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  472|       |
  473|       |    /* Deep copy of the symbol table entry */
  474|     64|    if (H5O_loc_copy_deep(&(attr->oloc), loc->oloc) < 0)
  ------------------
  |  Branch (474:9): [True: 0, False: 64]
  ------------------
  475|      0|        HGOTO_ERROR(H5E_ATTR, H5E_CANTOPENOBJ, FAIL, "unable to copy entry");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  476|       |
  477|       |    /* Deep copy of the group hier. path */
  478|     64|    if (H5G_name_copy(&(attr->path), loc->path, H5_COPY_DEEP) < 0)
  ------------------
  |  Branch (478:9): [True: 0, False: 64]
  ------------------
  479|      0|        HGOTO_ERROR(H5E_ATTR, H5E_CANTCOPY, FAIL, "unable to copy entry");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  480|       |
  481|       |    /* Hold the symbol table entry (and file) open */
  482|     64|    if (H5O_open(&(attr->oloc)) < 0)
  ------------------
  |  Branch (482:9): [True: 0, False: 64]
  ------------------
  483|      0|        HGOTO_ERROR(H5E_ATTR, H5E_CANTOPENOBJ, FAIL, "unable to open");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  484|     64|    attr->obj_opened = true;
  485|       |
  486|     64|done:
  487|     64|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     64|    ;                                                                                                        \
  |  | 1573|     64|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     64|    return (ret_value);                                                                                      \
  |  | 1575|     64|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  488|     64|} /* H5A__open_common() */

H5B_find:
  275|    142|{
  276|    142|    H5B_t         *bt = NULL;
  277|    142|    H5UC_t        *rc_shared;           /* Ref-counted shared info */
  278|    142|    H5B_shared_t  *shared;              /* Pointer to shared B-tree info */
  279|    142|    H5B_cache_ud_t cache_udata;         /* User-data for metadata cache callback */
  280|    142|    unsigned       idx = 0, lt = 0, rt; /* Final, left & right key indices */
  281|    142|    int            cmp       = 1;       /* Key comparison value */
  282|    142|    herr_t         ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    142|#define SUCCEED 0
  ------------------
  283|       |
  284|    142|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    142|    {                                                                                                        \
  |  | 1392|    142|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    142|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    142|                                                                                                             \
  |  |  |  | 1267|    142|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    142|        {
  ------------------
  285|       |
  286|       |    /*
  287|       |     * Check arguments.
  288|       |     */
  289|    142|    assert(f);
  290|    142|    assert(type);
  291|    142|    assert(type->decode);
  292|    142|    assert(type->cmp3);
  293|    142|    assert(type->found);
  294|    142|    assert(H5_addr_defined(addr));
  295|       |
  296|       |    /* Get shared info for B-tree */
  297|    142|    if (NULL == (rc_shared = (type->get_shared)(f, udata)))
  ------------------
  |  Branch (297:9): [True: 0, False: 142]
  ------------------
  298|      0|        HGOTO_ERROR(H5E_BTREE, H5E_CANTGET, FAIL, "can't retrieve B-tree's shared ref. count object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  299|    142|    shared = (H5B_shared_t *)H5UC_GET_OBJ(rc_shared);
  ------------------
  |  |   50|    142|#define H5UC_GET_OBJ(rc) ((rc)->o)
  ------------------
  300|    142|    assert(shared);
  301|       |
  302|       |    /*
  303|       |     * Perform a binary search to locate the child which contains
  304|       |     * the thing for which we're searching.
  305|       |     */
  306|    142|    cache_udata.f         = f;
  307|    142|    cache_udata.type      = type;
  308|    142|    cache_udata.rc_shared = rc_shared;
  309|    142|    if (NULL == (bt = (H5B_t *)H5AC_protect(f, H5AC_BT, addr, &cache_udata, H5AC__READ_ONLY_FLAG)))
  ------------------
  |  |  322|    142|#define H5AC__READ_ONLY_FLAG              H5C__READ_ONLY_FLAG
  |  |  ------------------
  |  |  |  |  183|    142|#define H5C__READ_ONLY_FLAG                 0x00080
  |  |  ------------------
  ------------------
  |  Branch (309:9): [True: 0, False: 142]
  ------------------
  310|      0|        HGOTO_ERROR(H5E_BTREE, H5E_CANTPROTECT, FAIL, "unable to load B-tree node");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  311|       |
  312|    142|    rt = bt->nchildren;
  313|    398|    while (lt < rt && cmp) {
  ------------------
  |  Branch (313:12): [True: 277, False: 121]
  |  Branch (313:23): [True: 256, False: 21]
  ------------------
  314|    256|        idx = (lt + rt) / 2;
  315|       |        /* compare */
  316|    256|        if ((cmp = (type->cmp3)(H5B_NKEY(bt, shared, idx), udata, H5B_NKEY(bt, shared, (idx + 1)))) < 0)
  ------------------
  |  |   37|    256|#define H5B_NKEY(b, shared, idx) ((b)->native + (shared)->nkey[(idx)])
  ------------------
                      if ((cmp = (type->cmp3)(H5B_NKEY(bt, shared, idx), udata, H5B_NKEY(bt, shared, (idx + 1)))) < 0)
  ------------------
  |  |   37|    256|#define H5B_NKEY(b, shared, idx) ((b)->native + (shared)->nkey[(idx)])
  ------------------
  |  Branch (316:13): [True: 75, False: 181]
  ------------------
  317|     75|            rt = idx;
  318|    181|        else
  319|    181|            lt = idx + 1;
  320|    256|    } /* end while */
  321|       |
  322|       |    /* Check if not found */
  323|    142|    if (cmp)
  ------------------
  |  Branch (323:9): [True: 0, False: 142]
  ------------------
  324|      0|        *found = false;
  325|    142|    else {
  326|       |        /*
  327|       |         * Follow the link to the subtree or to the data node.
  328|       |         */
  329|    142|        assert(idx < bt->nchildren);
  330|       |
  331|    142|        if (bt->level > 0) {
  ------------------
  |  Branch (331:13): [True: 0, False: 142]
  ------------------
  332|      0|            if ((ret_value = H5B_find(f, type, bt->child[idx], found, udata)) < 0)
  ------------------
  |  Branch (332:17): [True: 0, False: 0]
  ------------------
  333|      0|                HGOTO_ERROR(H5E_BTREE, H5E_NOTFOUND, FAIL, "can't lookup key in subtree");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  334|      0|        } /* end if */
  335|    142|        else {
  336|    142|            if ((ret_value = (type->found)(f, bt->child[idx], H5B_NKEY(bt, shared, idx), found, udata)) < 0)
  ------------------
  |  |   37|    142|#define H5B_NKEY(b, shared, idx) ((b)->native + (shared)->nkey[(idx)])
  ------------------
  |  Branch (336:17): [True: 0, False: 142]
  ------------------
  337|      0|                HGOTO_ERROR(H5E_BTREE, H5E_NOTFOUND, FAIL, "can't lookup key in leaf node");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  338|    142|        } /* end else */
  339|    142|    }     /* end else */
  340|       |
  341|    142|done:
  342|    142|    if (bt && H5AC_unprotect(f, H5AC_BT, addr, bt, H5AC__NO_FLAGS_SET) < 0)
  ------------------
  |  |  314|    142|#define H5AC__NO_FLAGS_SET                H5C__NO_FLAGS_SET
  |  |  ------------------
  |  |  |  |  175|    142|#define H5C__NO_FLAGS_SET                   0x00000
  |  |  ------------------
  ------------------
  |  Branch (342:9): [True: 142, False: 0]
  |  Branch (342:15): [True: 0, False: 142]
  ------------------
  343|      0|        HDONE_ERROR(H5E_BTREE, H5E_CANTUNPROTECT, FAIL, "unable to release node");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  344|       |
  345|    142|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    142|    ;                                                                                                        \
  |  | 1573|    142|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    142|    return (ret_value);                                                                                      \
  |  | 1575|    142|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  346|    142|} /* end H5B_find() */
H5B_iterate:
 1112|    219|{
 1113|    219|    herr_t ret_value = FAIL; /* Return value */
  ------------------
  |  |  284|    219|#define FAIL    (-1)
  ------------------
 1114|       |
 1115|    219|    FUNC_ENTER_NOAPI_NOERR
  ------------------
  |  | 1397|    219|    {                                                                                                        \
  |  | 1398|    219|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    219|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1399|    219|        {
  ------------------
 1116|       |
 1117|       |    /*
 1118|       |     * Check arguments.
 1119|       |     */
 1120|    219|    assert(f);
 1121|    219|    assert(type);
 1122|    219|    assert(H5_addr_defined(addr));
 1123|    219|    assert(op);
 1124|    219|    assert(udata);
 1125|       |
 1126|       |    /* Iterate over the B-tree records */
 1127|    219|    if ((ret_value = H5B__iterate_helper(f, type, addr, op, udata)) < 0)
  ------------------
  |  Branch (1127:9): [True: 51, False: 168]
  ------------------
 1128|     51|        HERROR(H5E_BTREE, H5E_BADITER, "B-tree iteration failed");
  ------------------
  |  |   30|     51|    do {                                                                                                     \
  |  |   31|     51|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |   32|     51|    } while (0)
  |  |  ------------------
  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1129|       |
 1130|    219|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    219|    ;                                                                                                        \
  |  | 1573|    219|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    219|    return (ret_value);                                                                                      \
  |  | 1575|    219|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1131|    219|} /* end H5B_iterate() */
H5B_shared_new:
 1590|      7|{
 1591|      7|    H5B_shared_t *shared = NULL;    /* New shared B-tree struct */
 1592|      7|    size_t        u;                /* Local index variable */
 1593|      7|    H5B_shared_t *ret_value = NULL; /* Return value */
 1594|       |
 1595|      7|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|      7|    {                                                                                                        \
  |  | 1392|      7|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      7|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      7|                                                                                                             \
  |  |  |  | 1267|      7|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      7|        {
  ------------------
 1596|       |
 1597|       |    /*
 1598|       |     * Check arguments.
 1599|       |     */
 1600|      7|    assert(type);
 1601|       |
 1602|       |    /* Allocate space for the shared structure */
 1603|      7|    if (NULL == (shared = H5FL_CALLOC(H5B_shared_t)))
  ------------------
  |  |   78|      7|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|      7|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (1603:9): [True: 0, False: 7]
  ------------------
 1604|      0|        HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, NULL, "memory allocation failed for shared B-tree info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1605|       |
 1606|       |    /* Set up the "global" information for this file's groups */
 1607|      7|    shared->type        = type;
 1608|      7|    shared->two_k       = 2 * H5F_KVALUE(f, type);
  ------------------
  |  |  128|      7|#define H5F_KVALUE(F, T)                 (H5F_Kvalue(F, T))
  ------------------
 1609|      7|    shared->sizeof_addr = H5F_SIZEOF_ADDR(f);
  ------------------
  |  |  130|      7|#define H5F_SIZEOF_ADDR(F)               (H5F_sizeof_addr(F))
  ------------------
 1610|      7|    shared->sizeof_len  = H5F_SIZEOF_SIZE(f);
  ------------------
  |  |  131|      7|#define H5F_SIZEOF_SIZE(F)               (H5F_sizeof_size(F))
  ------------------
 1611|      7|    shared->sizeof_rkey = sizeof_rkey;
 1612|      7|    assert(shared->sizeof_rkey);
 1613|      7|    shared->sizeof_keys  = (shared->two_k + 1) * type->sizeof_nkey;
 1614|      7|    shared->sizeof_rnode = ((size_t)H5B_SIZEOF_HDR(f) +                 /*node header	*/
  ------------------
  |  |  112|      7|    (H5_SIZEOF_MAGIC +       /*magic number				  */                                                          \
  |  |  ------------------
  |  |  |  |  367|      7|#define H5_SIZEOF_MAGIC 4
  |  |  ------------------
  |  |  113|      7|     4 +                     /*type, level, num entries		  */                                                \
  |  |  114|      7|     2 * H5F_SIZEOF_ADDR(F)) /*left and right sibling addresses	  */
  |  |  ------------------
  |  |  |  |  130|      7|#define H5F_SIZEOF_ADDR(F)               (H5F_sizeof_addr(F))
  |  |  ------------------
  ------------------
 1615|      7|                            shared->two_k * H5F_SIZEOF_ADDR(f) +        /*child pointers */
  ------------------
  |  |  130|      7|#define H5F_SIZEOF_ADDR(F)               (H5F_sizeof_addr(F))
  ------------------
 1616|      7|                            (shared->two_k + 1) * shared->sizeof_rkey); /*keys		*/
 1617|      7|    assert(shared->sizeof_rnode);
 1618|       |
 1619|       |    /* Allocate and clear shared buffers */
 1620|      7|    if (NULL == (shared->page = H5FL_BLK_MALLOC(page, shared->sizeof_rnode)))
  ------------------
  |  |  146|      7|#define H5FL_BLK_MALLOC(t, size) (uint8_t *)H5FL_blk_malloc(&(H5FL_BLK_NAME(t)), (size))
  |  |  ------------------
  |  |  |  |  131|      7|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
  |  Branch (1620:9): [True: 0, False: 7]
  ------------------
 1621|      0|        HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, NULL, "memory allocation failed for B-tree page");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1622|      7|    memset(shared->page, 0, shared->sizeof_rnode);
 1623|       |
 1624|      7|    if (NULL == (shared->nkey = H5FL_SEQ_MALLOC(size_t, (size_t)(shared->two_k + 1))))
  ------------------
  |  |  282|      7|#define H5FL_SEQ_MALLOC(t, elem) (t *)H5FL_seq_malloc(&(H5FL_SEQ_NAME(t)), (elem))
  |  |  ------------------
  |  |  |  |  266|      7|#define H5FL_SEQ_NAME(t) H5_##t##_seq_free_list
  |  |  ------------------
  ------------------
  |  Branch (1624:9): [True: 0, False: 7]
  ------------------
 1625|      0|        HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, NULL, "memory allocation failed for B-tree native keys");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1626|       |
 1627|       |    /* Initialize the offsets into the native key buffer */
 1628|    234|    for (u = 0; u < (shared->two_k + 1); u++)
  ------------------
  |  Branch (1628:17): [True: 227, False: 7]
  ------------------
 1629|    227|        shared->nkey[u] = u * type->sizeof_nkey;
 1630|       |
 1631|       |    /* Set return value */
 1632|      7|    ret_value = shared;
 1633|       |
 1634|      7|done:
 1635|      7|    if (NULL == ret_value)
  ------------------
  |  Branch (1635:9): [True: 0, False: 7]
  ------------------
 1636|      0|        if (shared) {
  ------------------
  |  Branch (1636:13): [True: 0, False: 0]
  ------------------
 1637|      0|            if (shared->page)
  ------------------
  |  Branch (1637:17): [True: 0, False: 0]
  ------------------
 1638|      0|                shared->page = H5FL_BLK_FREE(page, shared->page);
  ------------------
  |  |  152|      0|#define H5FL_BLK_FREE(t, blk) (uint8_t *)H5FL_blk_free(&(H5FL_BLK_NAME(t)), blk)
  |  |  ------------------
  |  |  |  |  131|      0|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
 1639|      0|            if (shared->nkey)
  ------------------
  |  Branch (1639:17): [True: 0, False: 0]
  ------------------
 1640|      0|                shared->nkey = H5FL_SEQ_FREE(size_t, shared->nkey);
  ------------------
  |  |  288|      0|#define H5FL_SEQ_FREE(t, obj) (t *)H5FL_seq_free(&(H5FL_SEQ_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |  266|      0|#define H5FL_SEQ_NAME(t) H5_##t##_seq_free_list
  |  |  ------------------
  ------------------
 1641|      0|            shared = H5FL_FREE(H5B_shared_t, shared);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 1642|      0|        } /* end if */
 1643|       |
 1644|      7|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1645|      7|} /* end H5B_shared_new() */
H5B_shared_free:
 1658|      7|{
 1659|      7|    H5B_shared_t *shared = (H5B_shared_t *)_shared;
 1660|       |
 1661|      7|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      7|    {                                                                                                        \
  |  | 1425|      7|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      7|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      7|        {
  ------------------
 1662|       |
 1663|       |    /* Free the raw B-tree node buffer */
 1664|      7|    shared->page = H5FL_BLK_FREE(page, shared->page);
  ------------------
  |  |  152|      7|#define H5FL_BLK_FREE(t, blk) (uint8_t *)H5FL_blk_free(&(H5FL_BLK_NAME(t)), blk)
  |  |  ------------------
  |  |  |  |  131|      7|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
 1665|       |
 1666|       |    /* Free the B-tree native key offsets buffer */
 1667|      7|    shared->nkey = H5FL_SEQ_FREE(size_t, shared->nkey);
  ------------------
  |  |  288|      7|#define H5FL_SEQ_FREE(t, obj) (t *)H5FL_seq_free(&(H5FL_SEQ_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |  266|      7|#define H5FL_SEQ_NAME(t) H5_##t##_seq_free_list
  |  |  ------------------
  ------------------
 1668|       |
 1669|       |    /* Free the shared B-tree info */
 1670|      7|    shared = H5FL_FREE(H5B_shared_t, shared);
  ------------------
  |  |   81|      7|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      7|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 1671|       |
 1672|      7|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1673|      7|} /* end H5B_shared_free() */
H5B__node_dest:
 1949|     10|{
 1950|     10|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     10|    {                                                                                                        \
  |  | 1467|     10|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     10|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     10|        {
  ------------------
 1951|       |
 1952|       |    /* check arguments */
 1953|     10|    assert(bt);
 1954|     10|    assert(bt->rc_shared);
 1955|       |
 1956|     10|    bt->child  = H5FL_SEQ_FREE(haddr_t, bt->child);
  ------------------
  |  |  288|     10|#define H5FL_SEQ_FREE(t, obj) (t *)H5FL_seq_free(&(H5FL_SEQ_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |  266|     10|#define H5FL_SEQ_NAME(t) H5_##t##_seq_free_list
  |  |  ------------------
  ------------------
 1957|     10|    bt->native = H5FL_BLK_FREE(native_block, bt->native);
  ------------------
  |  |  152|     10|#define H5FL_BLK_FREE(t, blk) (uint8_t *)H5FL_blk_free(&(H5FL_BLK_NAME(t)), blk)
  |  |  ------------------
  |  |  |  |  131|     10|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
 1958|     10|    H5UC_DEC(bt->rc_shared);
  ------------------
  |  |   49|     10|#define H5UC_DEC(rc)     (H5UC_decr(rc))
  ------------------
 1959|     10|    bt = H5FL_FREE(H5B_t, bt);
  ------------------
  |  |   81|     10|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|     10|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 1960|       |
 1961|     10|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1962|     10|} /* end H5B__node_dest() */
H5B.c:H5B__iterate_helper:
 1051|    219|{
 1052|    219|    H5B_t         *bt = NULL;                /* Pointer to current B-tree node */
 1053|    219|    H5UC_t        *rc_shared;                /* Ref-counted shared info */
 1054|    219|    H5B_shared_t  *shared;                   /* Pointer to shared B-tree info */
 1055|    219|    H5B_cache_ud_t cache_udata;              /* User-data for metadata cache callback */
 1056|    219|    unsigned       u;                        /* Local index variable */
 1057|    219|    herr_t         ret_value = H5_ITER_CONT; /* Return value */
  ------------------
  |  |  362|    219|#define H5_ITER_CONT  (0)  /**< Continue iteration */
  ------------------
 1058|       |
 1059|    219|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    219|    {                                                                                                        \
  |  | 1461|    219|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    219|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    219|                                                                                                             \
  |  |  |  | 1267|    219|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    219|        {
  ------------------
 1060|       |
 1061|       |    /*
 1062|       |     * Check arguments.
 1063|       |     */
 1064|    219|    assert(f);
 1065|    219|    assert(type);
 1066|    219|    assert(H5_addr_defined(addr));
 1067|    219|    assert(op);
 1068|    219|    assert(udata);
 1069|       |
 1070|       |    /* Get shared info for B-tree */
 1071|    219|    if (NULL == (rc_shared = (type->get_shared)(f, udata)))
  ------------------
  |  Branch (1071:9): [True: 0, False: 219]
  ------------------
 1072|      0|        HGOTO_ERROR(H5E_BTREE, H5E_CANTGET, FAIL, "can't retrieve B-tree's shared ref. count object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1073|    219|    shared = (H5B_shared_t *)H5UC_GET_OBJ(rc_shared);
  ------------------
  |  |   50|    219|#define H5UC_GET_OBJ(rc) ((rc)->o)
  ------------------
 1074|    219|    assert(shared);
 1075|       |
 1076|       |    /* Protect the initial/current node */
 1077|    219|    cache_udata.f         = f;
 1078|    219|    cache_udata.type      = type;
 1079|    219|    cache_udata.rc_shared = rc_shared;
 1080|    219|    if (NULL == (bt = (H5B_t *)H5AC_protect(f, H5AC_BT, addr, &cache_udata, H5AC__READ_ONLY_FLAG)))
  ------------------
  |  |  322|    219|#define H5AC__READ_ONLY_FLAG              H5C__READ_ONLY_FLAG
  |  |  ------------------
  |  |  |  |  183|    219|#define H5C__READ_ONLY_FLAG                 0x00080
  |  |  ------------------
  ------------------
  |  Branch (1080:9): [True: 0, False: 219]
  ------------------
 1081|      0|        HGOTO_ERROR(H5E_BTREE, H5E_CANTPROTECT, H5_ITER_ERROR, "unable to load B-tree node");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1082|       |
 1083|       |    /* Iterate over node's children */
 1084|    772|    for (u = 0; u < bt->nchildren && ret_value == H5_ITER_CONT; u++) {
  ------------------
  |  |  362|    665|#define H5_ITER_CONT  (0)  /**< Continue iteration */
  ------------------
  |  Branch (1084:17): [True: 665, False: 107]
  |  Branch (1084:38): [True: 553, False: 112]
  ------------------
 1085|    553|        if (bt->level > 0)
  ------------------
  |  Branch (1085:13): [True: 0, False: 553]
  ------------------
 1086|      0|            ret_value = H5B__iterate_helper(f, type, bt->child[u], op, udata);
 1087|    553|        else
 1088|    553|            ret_value = (*op)(f, H5B_NKEY(bt, shared, u), bt->child[u], H5B_NKEY(bt, shared, u + 1), udata);
  ------------------
  |  |   37|    553|#define H5B_NKEY(b, shared, idx) ((b)->native + (shared)->nkey[(idx)])
  ------------------
                          ret_value = (*op)(f, H5B_NKEY(bt, shared, u), bt->child[u], H5B_NKEY(bt, shared, u + 1), udata);
  ------------------
  |  |   37|    553|#define H5B_NKEY(b, shared, idx) ((b)->native + (shared)->nkey[(idx)])
  ------------------
 1089|    553|        if (ret_value < 0)
  ------------------
  |  Branch (1089:13): [True: 51, False: 502]
  ------------------
 1090|     51|            HERROR(H5E_BTREE, H5E_BADITER, "B-tree iteration failed");
  ------------------
  |  |   30|     51|    do {                                                                                                     \
  |  |   31|     51|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |   32|     51|    } while (0)
  |  |  ------------------
  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1091|    553|    } /* end for */
 1092|       |
 1093|    219|done:
 1094|    219|    if (bt && H5AC_unprotect(f, H5AC_BT, addr, bt, H5AC__NO_FLAGS_SET) < 0)
  ------------------
  |  |  314|    219|#define H5AC__NO_FLAGS_SET                H5C__NO_FLAGS_SET
  |  |  ------------------
  |  |  |  |  175|    219|#define H5C__NO_FLAGS_SET                   0x00000
  |  |  ------------------
  ------------------
  |  Branch (1094:9): [True: 219, False: 0]
  |  Branch (1094:15): [True: 0, False: 219]
  ------------------
 1095|      0|        HDONE_ERROR(H5E_BTREE, H5E_CANTUNPROTECT, H5_ITER_ERROR, "unable to release B-tree node");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1096|       |
 1097|    219|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    219|    ;                                                                                                        \
  |  | 1573|    219|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    219|    return (ret_value);                                                                                      \
  |  | 1575|    219|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1098|    219|} /* end H5B__iterate_helper() */

H5Bcache.c:H5B__cache_get_initial_load_size:
   92|     10|{
   93|     10|    H5B_cache_ud_t *udata = (H5B_cache_ud_t *)_udata; /* User data for callback */
   94|     10|    H5B_shared_t   *shared;                           /* Pointer to shared B-tree info */
   95|       |
   96|     10|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     10|    {                                                                                                        \
  |  | 1467|     10|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     10|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     10|        {
  ------------------
   97|       |
   98|       |    /* Check arguments */
   99|     10|    assert(udata);
  100|     10|    assert(image_len);
  101|       |
  102|       |    /* Get shared info for B-tree */
  103|     10|    shared = (H5B_shared_t *)H5UC_GET_OBJ(udata->rc_shared);
  ------------------
  |  |   50|     10|#define H5UC_GET_OBJ(rc) ((rc)->o)
  ------------------
  104|     10|    assert(shared);
  105|       |
  106|       |    /* Set the image length size */
  107|     10|    *image_len = shared->sizeof_rnode;
  108|       |
  109|     10|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  110|     10|} /* end H5B__cache_get_initial_load_size() */
H5Bcache.c:H5B__cache_deserialize:
  123|     10|{
  124|     10|    H5B_t          *bt    = NULL;                     /* Pointer to the deserialized B-tree node */
  125|     10|    H5B_cache_ud_t *udata = (H5B_cache_ud_t *)_udata; /* User data for callback */
  126|     10|    H5B_shared_t   *shared;                           /* Pointer to shared B-tree info */
  127|     10|    const uint8_t  *image = (const uint8_t *)_image;  /* Pointer into image buffer */
  128|     10|    const uint8_t  *p_end = image + len - 1;          /* End of image buffer */
  129|     10|    uint8_t        *native;                           /* Pointer to native keys */
  130|     10|    unsigned        u;                                /* Local index variable */
  131|     10|    H5B_t          *ret_value = NULL;                 /* Return value */
  132|       |
  133|     10|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     10|    {                                                                                                        \
  |  | 1461|     10|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     10|        {
  ------------------
  134|       |
  135|       |    /* check arguments */
  136|     10|    assert(image);
  137|     10|    assert(udata);
  138|       |
  139|       |    /* Allocate the B-tree node in memory */
  140|     10|    if (NULL == (bt = H5FL_MALLOC(H5B_t)))
  ------------------
  |  |   75|     10|#define H5FL_MALLOC(t) (t *)H5FL_reg_malloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|     10|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (140:9): [True: 0, False: 10]
  ------------------
  141|      0|        HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, NULL, "can't allocate B-tree struct");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  142|     10|    memset(&bt->cache_info, 0, sizeof(H5AC_info_t));
  143|       |
  144|       |    /* Set & increment the ref-counted "shared" B-tree information for the node */
  145|     10|    bt->rc_shared = udata->rc_shared;
  146|     10|    H5UC_INC(bt->rc_shared);
  ------------------
  |  |   48|     10|#define H5UC_INC(rc)     ((rc)->n++)
  ------------------
  147|       |
  148|       |    /* Get a pointer to the shared info, for convenience */
  149|     10|    shared = (H5B_shared_t *)H5UC_GET_OBJ(bt->rc_shared);
  ------------------
  |  |   50|     10|#define H5UC_GET_OBJ(rc) ((rc)->o)
  ------------------
  150|     10|    if (NULL == shared)
  ------------------
  |  Branch (150:9): [True: 0, False: 10]
  ------------------
  151|      0|        HGOTO_ERROR(H5E_BTREE, H5E_CANTGET, NULL, "can't get a pointer to shared data");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  152|       |
  153|       |    /* Allocate space for the native keys and child addresses */
  154|     10|    if (NULL == (bt->native = H5FL_BLK_MALLOC(native_block, shared->sizeof_keys)))
  ------------------
  |  |  146|     10|#define H5FL_BLK_MALLOC(t, size) (uint8_t *)H5FL_blk_malloc(&(H5FL_BLK_NAME(t)), (size))
  |  |  ------------------
  |  |  |  |  131|     10|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
  |  Branch (154:9): [True: 0, False: 10]
  ------------------
  155|      0|        HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, NULL, "can't allocate buffer for native keys");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  156|     10|    if (NULL == (bt->child = H5FL_SEQ_MALLOC(haddr_t, (size_t)shared->two_k)))
  ------------------
  |  |  282|     10|#define H5FL_SEQ_MALLOC(t, elem) (t *)H5FL_seq_malloc(&(H5FL_SEQ_NAME(t)), (elem))
  |  |  ------------------
  |  |  |  |  266|     10|#define H5FL_SEQ_NAME(t) H5_##t##_seq_free_list
  |  |  ------------------
  ------------------
  |  Branch (156:9): [True: 0, False: 10]
  ------------------
  157|      0|        HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, NULL, "can't allocate buffer for child addresses");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  158|       |
  159|       |    /* Magic number */
  160|     10|    if (H5_IS_BUFFER_OVERFLOW(image, H5_SIZEOF_MAGIC, p_end))
  ------------------
  |  |  344|     10|    (                                                                                                        \
  |  |  345|     10|      /* Trivial case */                                                                                     \
  |  |  346|     10|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|     10|      (                                                                                                      \
  |  |  348|     10|        /* Bad precondition */                                                                               \
  |  |  349|     10|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 10]
  |  |  ------------------
  |  |  350|     10|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     10|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|     10|        /* Typical overflow */                                                                               \
  |  |  353|     10|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 10]
  |  |  ------------------
  |  |  354|     10|      )                                                                                                      \
  |  |  355|     10|    )
  ------------------
  161|      0|        HGOTO_ERROR(H5E_BTREE, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  162|     10|    if (memcmp(image, H5B_MAGIC, (size_t)H5_SIZEOF_MAGIC) != 0)
  ------------------
  |  |  374|     10|#define H5B_MAGIC "TREE"
  ------------------
                  if (memcmp(image, H5B_MAGIC, (size_t)H5_SIZEOF_MAGIC) != 0)
  ------------------
  |  |  367|     10|#define H5_SIZEOF_MAGIC 4
  ------------------
  |  Branch (162:9): [True: 0, False: 10]
  ------------------
  163|      0|        HGOTO_ERROR(H5E_BTREE, H5E_BADVALUE, NULL, "wrong B-tree signature");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  164|     10|    image += H5_SIZEOF_MAGIC;
  ------------------
  |  |  367|     10|#define H5_SIZEOF_MAGIC 4
  ------------------
  165|       |
  166|       |    /* Node type and level */
  167|     10|    if (H5_IS_BUFFER_OVERFLOW(image, 2, p_end))
  ------------------
  |  |  344|     10|    (                                                                                                        \
  |  |  345|     10|      /* Trivial case */                                                                                     \
  |  |  346|     10|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|     10|      (                                                                                                      \
  |  |  348|     10|        /* Bad precondition */                                                                               \
  |  |  349|     10|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 10]
  |  |  ------------------
  |  |  350|     10|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     10|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|     10|        /* Typical overflow */                                                                               \
  |  |  353|     10|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 10]
  |  |  ------------------
  |  |  354|     10|      )                                                                                                      \
  |  |  355|     10|    )
  ------------------
  168|      0|        HGOTO_ERROR(H5E_BTREE, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  169|     10|    if (*image++ != (uint8_t)udata->type->id)
  ------------------
  |  Branch (169:9): [True: 0, False: 10]
  ------------------
  170|      0|        HGOTO_ERROR(H5E_BTREE, H5E_CANTLOAD, NULL, "incorrect B-tree node type");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  171|     10|    bt->level = *image++;
  172|       |
  173|       |    /* Entries used */
  174|     10|    if (H5_IS_BUFFER_OVERFLOW(image, 2, p_end))
  ------------------
  |  |  344|     10|    (                                                                                                        \
  |  |  345|     10|      /* Trivial case */                                                                                     \
  |  |  346|     10|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|     10|      (                                                                                                      \
  |  |  348|     10|        /* Bad precondition */                                                                               \
  |  |  349|     10|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 10]
  |  |  ------------------
  |  |  350|     10|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     10|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|     10|        /* Typical overflow */                                                                               \
  |  |  353|     10|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 10]
  |  |  ------------------
  |  |  354|     10|      )                                                                                                      \
  |  |  355|     10|    )
  ------------------
  175|      0|        HGOTO_ERROR(H5E_BTREE, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  176|     10|    UINT16DECODE(image, bt->nchildren);
  ------------------
  |  |  159|     10|    do {                                                                                                     \
  |  |  160|     10|        (i) = (uint16_t)(*(p)&0xff);                                                                         \
  |  |  161|     10|        (p)++;                                                                                               \
  |  |  162|     10|        (i) |= (uint16_t)((*(p)&0xff) << 8);                                                                 \
  |  |  163|     10|        (p)++;                                                                                               \
  |  |  164|     10|    } while (0)
  |  |  ------------------
  |  |  |  Branch (164:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  177|       |
  178|       |    /* Check if bt->nchildren is greater than two_k */
  179|     10|    if (bt->nchildren > shared->two_k)
  ------------------
  |  Branch (179:9): [True: 0, False: 10]
  ------------------
  180|      0|        HGOTO_ERROR(H5E_BTREE, H5E_BADVALUE, NULL, "number of children is greater than maximum");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  181|       |
  182|       |    /* Sibling pointers */
  183|     10|    if (H5_IS_BUFFER_OVERFLOW(image, H5F_sizeof_addr(udata->f), p_end))
  ------------------
  |  |  344|     10|    (                                                                                                        \
  |  |  345|     10|      /* Trivial case */                                                                                     \
  |  |  346|     10|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 10, False: 0]
  |  |  ------------------
  |  |  347|     10|      (                                                                                                      \
  |  |  348|     10|        /* Bad precondition */                                                                               \
  |  |  349|     10|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 10]
  |  |  ------------------
  |  |  350|     10|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     10|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 10, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 10]
  |  |  ------------------
  |  |  352|     10|        /* Typical overflow */                                                                               \
  |  |  353|     10|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 10]
  |  |  ------------------
  |  |  354|     10|      )                                                                                                      \
  |  |  355|     10|    )
  ------------------
  184|      0|        HGOTO_ERROR(H5E_BTREE, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  185|     10|    H5F_addr_decode(udata->f, (const uint8_t **)&image, &(bt->left));
  186|       |
  187|     10|    if (H5_IS_BUFFER_OVERFLOW(image, H5F_sizeof_addr(udata->f), p_end))
  ------------------
  |  |  344|     10|    (                                                                                                        \
  |  |  345|     10|      /* Trivial case */                                                                                     \
  |  |  346|     10|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 10, False: 0]
  |  |  ------------------
  |  |  347|     10|      (                                                                                                      \
  |  |  348|     10|        /* Bad precondition */                                                                               \
  |  |  349|     10|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 10]
  |  |  ------------------
  |  |  350|     10|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     10|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 10, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 10]
  |  |  ------------------
  |  |  352|     10|        /* Typical overflow */                                                                               \
  |  |  353|     10|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 10]
  |  |  ------------------
  |  |  354|     10|      )                                                                                                      \
  |  |  355|     10|    )
  ------------------
  188|      0|        HGOTO_ERROR(H5E_BTREE, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  189|     10|    H5F_addr_decode(udata->f, (const uint8_t **)&image, &(bt->right));
  190|       |
  191|       |    /* Child/key pairs */
  192|     10|    native = bt->native;
  193|     32|    for (u = 0; u < bt->nchildren; u++) {
  ------------------
  |  Branch (193:17): [True: 22, False: 10]
  ------------------
  194|       |        /* Decode native key value */
  195|     22|        if (H5_IS_BUFFER_OVERFLOW(image, shared->sizeof_rkey, p_end))
  ------------------
  |  |  344|     22|    (                                                                                                        \
  |  |  345|     22|      /* Trivial case */                                                                                     \
  |  |  346|     22|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 22, False: 0]
  |  |  ------------------
  |  |  347|     22|      (                                                                                                      \
  |  |  348|     22|        /* Bad precondition */                                                                               \
  |  |  349|     22|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 22]
  |  |  ------------------
  |  |  350|     22|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     22|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 22, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 22]
  |  |  ------------------
  |  |  352|     22|        /* Typical overflow */                                                                               \
  |  |  353|     22|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 22]
  |  |  ------------------
  |  |  354|     22|      )                                                                                                      \
  |  |  355|     22|    )
  ------------------
  196|      0|            HGOTO_ERROR(H5E_BTREE, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  197|     22|        if ((udata->type->decode)(shared, image, native) < 0)
  ------------------
  |  Branch (197:13): [True: 0, False: 22]
  ------------------
  198|      0|            HGOTO_ERROR(H5E_BTREE, H5E_CANTDECODE, NULL, "unable to decode key");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  199|     22|        image += shared->sizeof_rkey;
  200|     22|        native += udata->type->sizeof_nkey;
  201|       |
  202|       |        /* Decode address value */
  203|     22|        if (H5_IS_BUFFER_OVERFLOW(image, H5F_sizeof_addr(udata->f), p_end))
  ------------------
  |  |  344|     22|    (                                                                                                        \
  |  |  345|     22|      /* Trivial case */                                                                                     \
  |  |  346|     22|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 22, False: 0]
  |  |  ------------------
  |  |  347|     22|      (                                                                                                      \
  |  |  348|     22|        /* Bad precondition */                                                                               \
  |  |  349|     22|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 22]
  |  |  ------------------
  |  |  350|     22|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     22|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 22, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 22]
  |  |  ------------------
  |  |  352|     22|        /* Typical overflow */                                                                               \
  |  |  353|     22|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 22]
  |  |  ------------------
  |  |  354|     22|      )                                                                                                      \
  |  |  355|     22|    )
  ------------------
  204|      0|            HGOTO_ERROR(H5E_BTREE, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  205|     22|        H5F_addr_decode(udata->f, (const uint8_t **)&image, bt->child + u);
  206|     22|    }
  207|       |
  208|       |    /* Final key */
  209|     10|    if (bt->nchildren > 0) {
  ------------------
  |  Branch (209:9): [True: 10, False: 0]
  ------------------
  210|       |        /* Decode native key value */
  211|     10|        if ((udata->type->decode)(shared, image, native) < 0)
  ------------------
  |  Branch (211:13): [True: 0, False: 10]
  ------------------
  212|      0|            HGOTO_ERROR(H5E_BTREE, H5E_CANTDECODE, NULL, "unable to decode key");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  213|     10|    }
  214|       |
  215|       |    /* Set return value */
  216|     10|    ret_value = bt;
  217|       |
  218|     10|done:
  219|     10|    if (!ret_value && bt)
  ------------------
  |  Branch (219:9): [True: 0, False: 10]
  |  Branch (219:23): [True: 0, False: 0]
  ------------------
  220|      0|        if (H5B__node_dest(bt) < 0)
  ------------------
  |  Branch (220:13): [True: 0, False: 0]
  ------------------
  221|      0|            HDONE_ERROR(H5E_BTREE, H5E_CANTFREE, NULL, "unable to destroy B-tree node");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  222|       |
  223|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  224|     10|} /* end H5B__cache_deserialize() */
H5Bcache.c:H5B__cache_free_icr:
  345|     10|{
  346|     10|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
  347|       |
  348|     10|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     10|    {                                                                                                        \
  |  | 1461|     10|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     10|        {
  ------------------
  349|       |
  350|       |    /* Check arguments */
  351|     10|    assert(thing);
  352|       |
  353|       |    /* Destroy B-tree node */
  354|     10|    if (H5B__node_dest((H5B_t *)thing) < 0)
  ------------------
  |  Branch (354:9): [True: 0, False: 10]
  ------------------
  355|      0|        HGOTO_ERROR(H5E_BTREE, H5E_CANTFREE, FAIL, "unable to destroy B-tree node");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  356|       |
  357|     10|done:
  358|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  359|     10|} /* end H5B__cache_free_icr() */

H5C_create:
  125|     10|{
  126|     10|    int    i;
  127|     10|    H5C_t *cache_ptr = NULL;
  128|     10|    H5C_t *ret_value = NULL; /* Return value */
  129|       |
  130|     10|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|     10|    {                                                                                                        \
  |  | 1392|     10|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     10|        {
  ------------------
  131|       |
  132|     10|    assert(max_cache_size >= H5C__MIN_MAX_CACHE_SIZE);
  133|     10|    assert(max_cache_size <= H5C__MAX_MAX_CACHE_SIZE);
  134|     10|    assert(min_clean_size <= max_cache_size);
  135|       |
  136|     10|    assert(max_type_id >= 0);
  137|     10|    assert(max_type_id < H5C__MAX_NUM_TYPE_IDS);
  138|     10|    assert(class_table_ptr);
  139|       |
  140|    310|    for (i = 0; i <= max_type_id; i++) {
  ------------------
  |  Branch (140:17): [True: 300, False: 10]
  ------------------
  141|    300|        assert((class_table_ptr)[i]);
  142|    300|        assert(strlen((class_table_ptr)[i]->name) > 0);
  143|    300|    } /* end for */
  144|       |
  145|     10|    if (NULL == (cache_ptr = H5FL_CALLOC(H5C_t)))
  ------------------
  |  |   78|     10|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|     10|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (145:9): [True: 0, False: 10]
  ------------------
  146|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  147|       |
  148|     10|    if (NULL == (cache_ptr->slist_ptr = H5SL_create(H5SL_TYPE_HADDR, NULL)))
  ------------------
  |  Branch (148:9): [True: 0, False: 10]
  ------------------
  149|      0|        HGOTO_ERROR(H5E_CACHE, H5E_CANTCREATE, NULL, "can't create skip list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  150|       |
  151|     10|    cache_ptr->tag_list = NULL;
  152|       |
  153|       |    /* If we get this far, we should succeed.  Go ahead and initialize all
  154|       |     * the fields.
  155|       |     */
  156|       |
  157|     10|    cache_ptr->flush_in_progress = false;
  158|       |
  159|     10|    if (NULL == (cache_ptr->log_info = (H5C_log_info_t *)H5MM_calloc(sizeof(H5C_log_info_t))))
  ------------------
  |  |   36|     10|#define H5MM_calloc(Z) calloc(1, Z)
  ------------------
  |  Branch (159:9): [True: 0, False: 10]
  ------------------
  160|      0|        HGOTO_ERROR(H5E_CACHE, H5E_CANTALLOC, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  161|       |
  162|     10|    cache_ptr->aux_ptr = aux_ptr;
  163|       |
  164|     10|    cache_ptr->max_type_id = max_type_id;
  165|       |
  166|     10|    cache_ptr->class_table_ptr = class_table_ptr;
  167|       |
  168|     10|    cache_ptr->max_cache_size = max_cache_size;
  169|     10|    cache_ptr->min_clean_size = min_clean_size;
  170|       |
  171|     10|    cache_ptr->check_write_permitted = check_write_permitted;
  172|     10|    cache_ptr->write_permitted       = write_permitted;
  173|       |
  174|     10|    cache_ptr->log_flush = log_flush;
  175|       |
  176|     10|    cache_ptr->evictions_enabled      = true;
  177|     10|    cache_ptr->close_warning_received = false;
  178|       |
  179|     10|    cache_ptr->index_len        = 0;
  180|     10|    cache_ptr->index_size       = (size_t)0;
  181|     10|    cache_ptr->clean_index_size = (size_t)0;
  182|     10|    cache_ptr->dirty_index_size = (size_t)0;
  183|       |
  184|     70|    for (i = 0; i < H5C_RING_NTYPES; i++) {
  ------------------
  |  |  946|     70|#define H5C_RING_NTYPES    6
  ------------------
  |  Branch (184:17): [True: 60, False: 10]
  ------------------
  185|     60|        cache_ptr->index_ring_len[i]        = 0;
  186|     60|        cache_ptr->index_ring_size[i]       = (size_t)0;
  187|     60|        cache_ptr->clean_index_ring_size[i] = (size_t)0;
  188|     60|        cache_ptr->dirty_index_ring_size[i] = (size_t)0;
  189|       |
  190|     60|        cache_ptr->slist_ring_len[i]  = 0;
  191|     60|        cache_ptr->slist_ring_size[i] = (size_t)0;
  192|     60|    } /* end for */
  193|       |
  194|   655k|    for (i = 0; i < H5C__HASH_TABLE_LEN; i++)
  ------------------
  |  |   41|   655k|#define H5C__HASH_TABLE_LEN (64 * 1024) /* must be a power of 2 */
  ------------------
  |  Branch (194:17): [True: 655k, False: 10]
  ------------------
  195|   655k|        (cache_ptr->index)[i] = NULL;
  196|       |
  197|     10|    cache_ptr->il_len  = 0;
  198|     10|    cache_ptr->il_size = (size_t)0;
  199|     10|    cache_ptr->il_head = NULL;
  200|     10|    cache_ptr->il_tail = NULL;
  201|       |
  202|       |    /* Tagging Field Initializations */
  203|     10|    cache_ptr->ignore_tags     = false;
  204|     10|    cache_ptr->num_objs_corked = 0;
  205|       |
  206|       |    /* slist field initializations */
  207|     10|    cache_ptr->slist_enabled = false;
  208|     10|    cache_ptr->slist_changed = false;
  209|     10|    cache_ptr->slist_len     = 0;
  210|     10|    cache_ptr->slist_size    = (size_t)0;
  211|       |
  212|       |    /* slist_ring_len, slist_ring_size, and
  213|       |     * slist_ptr initialized above.
  214|       |     */
  215|       |
  216|       |#ifdef H5C_DO_SANITY_CHECKS
  217|       |    cache_ptr->slist_len_increase  = 0;
  218|       |    cache_ptr->slist_size_increase = 0;
  219|       |#endif /* H5C_DO_SANITY_CHECKS */
  220|       |
  221|     10|    cache_ptr->entries_removed_counter   = 0;
  222|     10|    cache_ptr->last_entry_removed_ptr    = NULL;
  223|     10|    cache_ptr->entry_watched_for_removal = NULL;
  224|       |
  225|     10|    cache_ptr->pl_len      = 0;
  226|     10|    cache_ptr->pl_size     = (size_t)0;
  227|     10|    cache_ptr->pl_head_ptr = NULL;
  228|     10|    cache_ptr->pl_tail_ptr = NULL;
  229|       |
  230|     10|    cache_ptr->pel_len      = 0;
  231|     10|    cache_ptr->pel_size     = (size_t)0;
  232|     10|    cache_ptr->pel_head_ptr = NULL;
  233|     10|    cache_ptr->pel_tail_ptr = NULL;
  234|       |
  235|     10|    cache_ptr->LRU_list_len  = 0;
  236|     10|    cache_ptr->LRU_list_size = (size_t)0;
  237|     10|    cache_ptr->LRU_head_ptr  = NULL;
  238|     10|    cache_ptr->LRU_tail_ptr  = NULL;
  239|       |
  240|       |#ifdef H5_HAVE_PARALLEL
  241|       |    cache_ptr->coll_list_len   = 0;
  242|       |    cache_ptr->coll_list_size  = (size_t)0;
  243|       |    cache_ptr->coll_head_ptr   = NULL;
  244|       |    cache_ptr->coll_tail_ptr   = NULL;
  245|       |    cache_ptr->coll_write_list = NULL;
  246|       |#endif /* H5_HAVE_PARALLEL */
  247|       |
  248|       |#if H5C_MAINTAIN_CLEAN_AND_DIRTY_LRU_LISTS
  249|       |    cache_ptr->cLRU_list_len  = 0;
  250|       |    cache_ptr->cLRU_list_size = (size_t)0;
  251|       |    cache_ptr->cLRU_head_ptr  = NULL;
  252|       |    cache_ptr->cLRU_tail_ptr  = NULL;
  253|       |
  254|       |    cache_ptr->dLRU_list_len  = 0;
  255|       |    cache_ptr->dLRU_list_size = (size_t)0;
  256|       |    cache_ptr->dLRU_head_ptr  = NULL;
  257|       |    cache_ptr->dLRU_tail_ptr  = NULL;
  258|       |#endif /* H5C_MAINTAIN_CLEAN_AND_DIRTY_LRU_LISTS */
  259|       |
  260|     10|    cache_ptr->size_increase_possible        = false;
  261|     10|    cache_ptr->flash_size_increase_possible  = false;
  262|     10|    cache_ptr->flash_size_increase_threshold = 0;
  263|     10|    cache_ptr->size_decrease_possible        = false;
  264|     10|    cache_ptr->resize_enabled                = false;
  265|     10|    cache_ptr->cache_full                    = false;
  266|     10|    cache_ptr->size_decreased                = false;
  267|     10|    cache_ptr->resize_in_progress            = false;
  268|     10|    cache_ptr->msic_in_progress              = false;
  269|       |
  270|     10|    cache_ptr->resize_ctl.version            = H5C__CURR_AUTO_SIZE_CTL_VER;
  ------------------
  |  |  104|     10|#define H5C__CURR_AUTO_SIZE_CTL_VER       1
  ------------------
  271|     10|    cache_ptr->resize_ctl.rpt_fcn            = NULL;
  272|     10|    cache_ptr->resize_ctl.set_initial_size   = false;
  273|     10|    cache_ptr->resize_ctl.initial_size       = H5C__DEF_AR_INIT_SIZE;
  ------------------
  |  |  112|     10|#define H5C__DEF_AR_INIT_SIZE        ((size_t)(1 * 1024 * 1024))
  ------------------
  274|     10|    cache_ptr->resize_ctl.min_clean_fraction = H5C__DEF_AR_MIN_CLEAN_FRAC;
  ------------------
  |  |  114|     10|#define H5C__DEF_AR_MIN_CLEAN_FRAC   0.5
  ------------------
  275|     10|    cache_ptr->resize_ctl.max_size           = H5C__DEF_AR_MAX_SIZE;
  ------------------
  |  |  111|     10|#define H5C__DEF_AR_MAX_SIZE         ((size_t)(16 * 1024 * 1024))
  ------------------
  276|     10|    cache_ptr->resize_ctl.min_size           = H5C__DEF_AR_MIN_SIZE;
  ------------------
  |  |  113|     10|#define H5C__DEF_AR_MIN_SIZE         ((size_t)(1 * 1024 * 1024))
  ------------------
  277|     10|    cache_ptr->resize_ctl.epoch_length       = H5C__DEF_AR_EPOCH_LENGTH;
  ------------------
  |  |  124|     10|#define H5C__DEF_AR_EPOCH_LENGTH     50000
  ------------------
  278|       |
  279|     10|    cache_ptr->resize_ctl.incr_mode           = H5C_incr__off;
  280|     10|    cache_ptr->resize_ctl.lower_hr_threshold  = H5C__DEF_AR_LOWER_THRESHHOLD;
  ------------------
  |  |  110|     10|#define H5C__DEF_AR_LOWER_THRESHHOLD 0.9
  ------------------
  281|     10|    cache_ptr->resize_ctl.increment           = H5C__DEF_AR_INCREMENT;
  ------------------
  |  |  115|     10|#define H5C__DEF_AR_INCREMENT        2.0
  ------------------
  282|     10|    cache_ptr->resize_ctl.apply_max_increment = true;
  283|     10|    cache_ptr->resize_ctl.max_increment       = H5C__DEF_AR_MAX_INCREMENT;
  ------------------
  |  |  116|     10|#define H5C__DEF_AR_MAX_INCREMENT    ((size_t)(2 * 1024 * 1024))
  ------------------
  284|       |
  285|     10|    cache_ptr->resize_ctl.flash_incr_mode = H5C_flash_incr__off;
  286|     10|    cache_ptr->resize_ctl.flash_multiple  = 1.0;
  287|     10|    cache_ptr->resize_ctl.flash_threshold = 0.25;
  288|       |
  289|     10|    cache_ptr->resize_ctl.decr_mode              = H5C_decr__off;
  290|     10|    cache_ptr->resize_ctl.upper_hr_threshold     = H5C__DEF_AR_UPPER_THRESHHOLD;
  ------------------
  |  |  109|     10|#define H5C__DEF_AR_UPPER_THRESHHOLD 0.9999
  ------------------
  291|     10|    cache_ptr->resize_ctl.decrement              = H5C__DEF_AR_DECREMENT;
  ------------------
  |  |  119|     10|#define H5C__DEF_AR_DECREMENT        0.9
  ------------------
  292|     10|    cache_ptr->resize_ctl.apply_max_decrement    = true;
  293|     10|    cache_ptr->resize_ctl.max_decrement          = H5C__DEF_AR_MAX_DECREMENT;
  ------------------
  |  |  120|     10|#define H5C__DEF_AR_MAX_DECREMENT    ((size_t)(1 * 1024 * 1024))
  ------------------
  294|     10|    cache_ptr->resize_ctl.epochs_before_eviction = H5C__DEF_AR_EPCHS_B4_EVICT;
  ------------------
  |  |  121|     10|#define H5C__DEF_AR_EPCHS_B4_EVICT   3
  ------------------
  295|     10|    cache_ptr->resize_ctl.apply_empty_reserve    = true;
  296|     10|    cache_ptr->resize_ctl.empty_reserve          = H5C__DEF_AR_EMPTY_RESERVE;
  ------------------
  |  |  122|     10|#define H5C__DEF_AR_EMPTY_RESERVE    0.05
  ------------------
  297|       |
  298|     10|    cache_ptr->epoch_markers_active = 0;
  299|       |
  300|       |    /* no need to initialize the ring buffer itself */
  301|     10|    cache_ptr->epoch_marker_ringbuf_first = 1;
  302|     10|    cache_ptr->epoch_marker_ringbuf_last  = 0;
  303|     10|    cache_ptr->epoch_marker_ringbuf_size  = 0;
  304|       |
  305|       |    /* Initialize all epoch marker entries' fields to zero/false/NULL */
  306|     10|    memset(cache_ptr->epoch_markers, 0, sizeof(cache_ptr->epoch_markers));
  307|       |
  308|       |    /* Set non-zero/false/NULL fields for epoch markers */
  309|    110|    for (i = 0; i < H5C__MAX_EPOCH_MARKERS; i++) {
  ------------------
  |  |   38|    110|#define H5C__MAX_EPOCH_MARKERS 10
  ------------------
  |  Branch (309:17): [True: 100, False: 10]
  ------------------
  310|    100|        ((cache_ptr->epoch_markers)[i]).addr = (haddr_t)i;
  311|    100|        ((cache_ptr->epoch_markers)[i]).type = H5AC_EPOCH_MARKER;
  312|    100|    }
  313|       |
  314|       |    /* Initialize cache image generation on file close related fields.
  315|       |     * Initial value of image_ctl must match H5C__DEFAULT_CACHE_IMAGE_CTL
  316|       |     * in H5Cprivate.h.
  317|       |     */
  318|     10|    cache_ptr->image_ctl.version            = H5C__CURR_CACHE_IMAGE_CTL_VER;
  ------------------
  |  |  106|     10|#define H5C__CURR_CACHE_IMAGE_CTL_VER     1
  ------------------
  319|     10|    cache_ptr->image_ctl.generate_image     = false;
  320|     10|    cache_ptr->image_ctl.save_resize_status = false;
  321|     10|    cache_ptr->image_ctl.entry_ageout       = -1;
  322|     10|    cache_ptr->image_ctl.flags              = H5C_CI__ALL_FLAGS;
  ------------------
  |  | 2124|     10|#define H5C_CI__ALL_FLAGS ((unsigned)0x000F)
  ------------------
  323|       |
  324|     10|    cache_ptr->serialization_in_progress = false;
  325|     10|    cache_ptr->load_image                = false;
  326|     10|    cache_ptr->image_loaded              = false;
  327|     10|    cache_ptr->delete_image              = false;
  328|     10|    cache_ptr->image_addr                = HADDR_UNDEF;
  ------------------
  |  |  336|     10|#define HADDR_UNDEF         UINT64_MAX
  ------------------
  329|     10|    cache_ptr->image_len                 = 0;
  330|     10|    cache_ptr->image_data_len            = 0;
  331|       |
  332|     10|    cache_ptr->entries_loaded_counter         = 0;
  333|     10|    cache_ptr->entries_inserted_counter       = 0;
  334|     10|    cache_ptr->entries_relocated_counter      = 0;
  335|     10|    cache_ptr->entry_fd_height_change_counter = 0;
  336|       |
  337|     10|    cache_ptr->num_entries_in_image = 0;
  338|     10|    cache_ptr->image_entries        = NULL;
  339|     10|    cache_ptr->image_buffer         = NULL;
  340|       |
  341|       |    /* initialize free space manager related fields: */
  342|     10|    cache_ptr->rdfsm_settled = false;
  343|     10|    cache_ptr->mdfsm_settled = false;
  344|       |
  345|     10|    if (H5C_reset_cache_hit_rate_stats(cache_ptr) < 0)
  ------------------
  |  Branch (345:9): [True: 0, False: 10]
  ------------------
  346|       |        /* this should be impossible... */
  347|      0|        HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, NULL, "H5C_reset_cache_hit_rate_stats failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  348|       |
  349|     10|    H5C_stats__reset(cache_ptr);
  350|       |
  351|     10|    cache_ptr->prefix[0] = '\0'; /* empty string */
  352|       |
  353|       |#ifndef NDEBUG
  354|       |    cache_ptr->get_entry_ptr_from_addr_counter = 0;
  355|       |#endif
  356|       |
  357|       |    /* Set return value */
  358|     10|    ret_value = cache_ptr;
  359|       |
  360|     10|done:
  361|     10|    if (NULL == ret_value) {
  ------------------
  |  Branch (361:9): [True: 0, False: 10]
  ------------------
  362|      0|        if (cache_ptr != NULL) {
  ------------------
  |  Branch (362:13): [True: 0, False: 0]
  ------------------
  363|      0|            if (cache_ptr->slist_ptr != NULL)
  ------------------
  |  Branch (363:17): [True: 0, False: 0]
  ------------------
  364|      0|                H5SL_close(cache_ptr->slist_ptr);
  365|       |
  366|      0|            HASH_CLEAR(hh, cache_ptr->tag_list);
  ------------------
  |  | 1074|      0|    do {                                                                                                     \
  |  | 1075|      0|        if ((head) != NULL) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (1075:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 1076|      0|            HASH_BLOOM_FREE((head)->hh.tbl);                                                                 \
  |  | 1077|      0|            uthash_free((head)->hh.tbl->buckets,                                                             \
  |  |  ------------------
  |  |  |  |  158|      0|#define uthash_free(ptr, sz) H5MM_free(ptr) /* Ignoring sz is intentional */
  |  |  |  |  ------------------
  |  |  |  |  |  |   37|      0|#define H5MM_free(Z)   free(Z)
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1078|      0|                        (head)->hh.tbl->num_buckets * sizeof(struct UT_hash_bucket));                        \
  |  | 1079|      0|            uthash_free((head)->hh.tbl, sizeof(UT_hash_table));                                              \
  |  |  ------------------
  |  |  |  |  158|      0|#define uthash_free(ptr, sz) H5MM_free(ptr) /* Ignoring sz is intentional */
  |  |  |  |  ------------------
  |  |  |  |  |  |   37|      0|#define H5MM_free(Z)   free(Z)
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1080|      0|            (head) = NULL;                                                                                   \
  |  | 1081|      0|        }                                                                                                    \
  |  | 1082|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (1082:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  367|      0|            cache_ptr->tag_list = NULL;
  368|       |
  369|      0|            if (cache_ptr->log_info != NULL)
  ------------------
  |  Branch (369:17): [True: 0, False: 0]
  ------------------
  370|      0|                H5MM_xfree(cache_ptr->log_info);
  371|       |
  372|      0|            cache_ptr = H5FL_FREE(H5C_t, cache_ptr);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  373|      0|        }
  374|      0|    }
  375|       |
  376|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  377|     10|} /* H5C_create() */
H5C_prep_for_file_close:
  392|     10|{
  393|     10|    H5C_t *cache_ptr;
  394|     10|    bool   image_generated = false;   /* Whether a cache image was generated */
  395|     10|    herr_t ret_value       = SUCCEED; /* Return value */
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
  396|       |
  397|     10|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     10|    {                                                                                                        \
  |  | 1392|     10|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     10|        {
  ------------------
  398|       |
  399|       |    /* Sanity checks */
  400|     10|    assert(f);
  401|     10|    assert(f->shared);
  402|     10|    assert(f->shared->cache);
  403|     10|    cache_ptr = f->shared->cache;
  404|     10|    assert(cache_ptr);
  405|       |
  406|       |    /* It is possible to receive the close warning more than once */
  407|     10|    if (cache_ptr->close_warning_received)
  ------------------
  |  Branch (407:9): [True: 0, False: 10]
  ------------------
  408|      0|        HGOTO_DONE(SUCCEED);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  409|     10|    cache_ptr->close_warning_received = true;
  410|       |
  411|       |    /* Make certain there aren't any protected entries */
  412|     10|    assert(cache_ptr->pl_len == 0);
  413|       |
  414|       |    /* Prepare cache image */
  415|     10|    if (H5C__prep_image_for_file_close(f, &image_generated) < 0)
  ------------------
  |  Branch (415:9): [True: 0, False: 10]
  ------------------
  416|      0|        HGOTO_ERROR(H5E_CACHE, H5E_CANTCREATE, FAIL, "can't create cache image");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  417|       |
  418|       |#ifdef H5_HAVE_PARALLEL
  419|       |    if ((H5F_INTENT(f) & H5F_ACC_RDWR) && !image_generated && cache_ptr->aux_ptr != NULL &&
  420|       |        f->shared->fs_persist) {
  421|       |        /* If persistent free space managers are enabled, flushing the
  422|       |         * metadata cache may result in the deletion, insertion, and/or
  423|       |         * dirtying of entries.
  424|       |         *
  425|       |         * This is a problem in PHDF5, as it breaks two invariants of
  426|       |         * our management of the metadata cache across all processes:
  427|       |         *
  428|       |         * 1) Entries will not be dirtied, deleted, inserted, or moved
  429|       |         *    during flush in the parallel case.
  430|       |         *
  431|       |         * 2) All processes contain the same set of dirty metadata
  432|       |         *    entries on entry to a sync point.
  433|       |         *
  434|       |         * To solve this problem for the persistent free space managers,
  435|       |         * serialize the metadata cache on all processes prior to the
  436|       |         * first sync point on file shutdown.  The shutdown warning is
  437|       |         * a convenient location for this call.
  438|       |         *
  439|       |         * This is sufficient since:
  440|       |         *
  441|       |         * 1) FSM settle routines are only invoked on file close.  Since
  442|       |         *    serialization make the same settle calls as flush on file
  443|       |         *    close, and since the close warning is issued after all
  444|       |         *    non FSM related space allocations and just before the
  445|       |         *    first sync point on close, this call will leave the caches
  446|       |         *    in a consistent state across the processes if they were
  447|       |         *    consistent before.
  448|       |         *
  449|       |         * 2) Since the FSM settle routines are only invoked once during
  450|       |         *    file close, invoking them now will prevent their invocation
  451|       |         *    during a flush, and thus avoid any resulting entry dirties,
  452|       |         *    deletions, insertion, or moves during the flush.
  453|       |         */
  454|       |        if (H5C__serialize_cache(f) < 0)
  455|       |            HGOTO_ERROR(H5E_CACHE, H5E_CANTSERIALIZE, FAIL, "serialization of the cache failed");
  456|       |    }  /* end if */
  457|       |#endif /* H5_HAVE_PARALLEL */
  458|       |
  459|     10|done:
  460|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  461|     10|} /* H5C_prep_for_file_close() */
H5C_dest:
  479|     10|{
  480|     10|    H5C_t          *cache_ptr = f->shared->cache;
  481|     10|    H5C_tag_info_t *item      = NULL;
  482|     10|    H5C_tag_info_t *tmp       = NULL;
  483|     10|    herr_t          ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
  484|       |
  485|     10|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     10|    {                                                                                                        \
  |  | 1392|     10|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     10|        {
  ------------------
  486|       |
  487|       |    /* Sanity check */
  488|     10|    assert(cache_ptr);
  489|     10|    assert(cache_ptr->close_warning_received);
  490|       |
  491|       |#if H5AC_DUMP_IMAGE_STATS_ON_CLOSE
  492|       |    if (H5C__image_stats(cache_ptr, true) < 0)
  493|       |        HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "Can't display cache image stats");
  494|       |#endif /* H5AC_DUMP_IMAGE_STATS_ON_CLOSE */
  495|       |
  496|       |    /* Enable the slist, as it is needed in the flush */
  497|     10|    if (H5C_set_slist_enabled(f->shared->cache, true, true) < 0)
  ------------------
  |  Branch (497:9): [True: 0, False: 10]
  ------------------
  498|      0|        HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "set slist enabled failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  499|       |
  500|       |    /* Flush and invalidate all cache entries */
  501|     10|    if (H5C__flush_invalidate_cache(f, H5C__NO_FLAGS_SET) < 0)
  ------------------
  |  |  175|     10|#define H5C__NO_FLAGS_SET                   0x00000
  ------------------
  |  Branch (501:9): [True: 0, False: 10]
  ------------------
  502|      0|        HGOTO_ERROR(H5E_CACHE, H5E_CANTFLUSH, FAIL, "unable to flush cache");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  503|       |
  504|       |    /* Generate & write cache image if requested */
  505|     10|    if (cache_ptr->image_ctl.generate_image)
  ------------------
  |  Branch (505:9): [True: 0, False: 10]
  ------------------
  506|      0|        if (H5C__generate_cache_image(f, cache_ptr) < 0)
  ------------------
  |  Branch (506:13): [True: 0, False: 0]
  ------------------
  507|      0|            HGOTO_ERROR(H5E_CACHE, H5E_CANTCREATE, FAIL, "Can't generate metadata cache image");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  508|       |
  509|       |    /* Question: Is it possible for cache_ptr->slist be non-null at this
  510|       |     *           point?  If no, shouldn't this if statement be an assert?
  511|       |     */
  512|     10|    if (cache_ptr->slist_ptr != NULL) {
  ------------------
  |  Branch (512:9): [True: 10, False: 0]
  ------------------
  513|     10|        assert(cache_ptr->slist_len == 0);
  514|     10|        assert(cache_ptr->slist_size == 0);
  515|       |
  516|     10|        H5SL_close(cache_ptr->slist_ptr);
  517|     10|        cache_ptr->slist_ptr = NULL;
  518|     10|    }
  519|       |
  520|     10|    HASH_ITER(hh, cache_ptr->tag_list, item, tmp)
  ------------------
  |  | 1097|     10|    for (((el) = (head)), ((tmp) = DECLTYPE(el)((head != NULL) ? (head)->hh.next : NULL)); (el) != NULL;     \
  |  |  ------------------
  |  |  |  |   57|     10|#define DECLTYPE(x) (__typeof(x))
  |  |  ------------------
  |  |  |  Branch (1097:49): [True: 0, False: 10]
  |  |  |  Branch (1097:92): [True: 0, False: 10]
  |  |  ------------------
  |  | 1098|     10|         ((el) = (tmp)), ((tmp) = DECLTYPE(el)((tmp != NULL) ? (tmp)->hh.next : NULL)))
  |  |  ------------------
  |  |  |  |   57|      0|#define DECLTYPE(x) (__typeof(x))
  |  |  ------------------
  |  |  |  Branch (1098:48): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  521|      0|    {
  522|      0|        HASH_DELETE(hh, cache_ptr->tag_list, item);
  ------------------
  |  |  462|      0|#define HASH_DELETE(hh, head, delptr) HASH_DELETE_HH(hh, head, &(delptr)->hh)
  |  |  ------------------
  |  |  |  |  465|      0|    do {                                                                                                     \
  |  |  |  |  466|      0|        struct UT_hash_handle *_hd_hh_del = (delptrhh);                                                      \
  |  |  |  |  467|      0|        if ((_hd_hh_del->prev == NULL) && (_hd_hh_del->next == NULL)) {                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (467:13): [True: 0, False: 0]
  |  |  |  |  |  Branch (467:43): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  468|      0|            HASH_BLOOM_FREE((head)->hh.tbl);                                                                 \
  |  |  |  |  469|      0|            uthash_free((head)->hh.tbl->buckets,                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      0|#define uthash_free(ptr, sz) H5MM_free(ptr) /* Ignoring sz is intentional */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|      0|#define H5MM_free(Z)   free(Z)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  470|      0|                        (head)->hh.tbl->num_buckets * sizeof(struct UT_hash_bucket));                        \
  |  |  |  |  471|      0|            uthash_free((head)->hh.tbl, sizeof(UT_hash_table));                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      0|#define uthash_free(ptr, sz) H5MM_free(ptr) /* Ignoring sz is intentional */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|      0|#define H5MM_free(Z)   free(Z)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  472|      0|            (head) = NULL;                                                                                   \
  |  |  |  |  473|      0|        }                                                                                                    \
  |  |  |  |  474|      0|        else {                                                                                               \
  |  |  |  |  475|      0|            unsigned _hd_bkt;                                                                                \
  |  |  |  |  476|      0|            if (_hd_hh_del == (head)->hh.tbl->tail) {                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (476:17): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  477|      0|                (head)->hh.tbl->tail = HH_FROM_ELMT((head)->hh.tbl, _hd_hh_del->prev);                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  142|      0|#define HH_FROM_ELMT(tbl, elp) ((UT_hash_handle *)(void *)(((char *)(elp)) + ((tbl)->hho)))
  |  |  |  |  ------------------
  |  |  |  |  478|      0|            }                                                                                                \
  |  |  |  |  479|      0|            if (_hd_hh_del->prev != NULL) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (479:17): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  480|      0|                HH_FROM_ELMT((head)->hh.tbl, _hd_hh_del->prev)->next = _hd_hh_del->next;                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |  142|      0|#define HH_FROM_ELMT(tbl, elp) ((UT_hash_handle *)(void *)(((char *)(elp)) + ((tbl)->hho)))
  |  |  |  |  ------------------
  |  |  |  |  481|      0|            }                                                                                                \
  |  |  |  |  482|      0|            else {                                                                                           \
  |  |  |  |  483|      0|                DECLTYPE_ASSIGN(head, _hd_hh_del->next);                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|    do {                                                                                                     \
  |  |  |  |  |  |   71|      0|        (dst) = DECLTYPE(dst)(src);                                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   57|      0|#define DECLTYPE(x) (__typeof(x))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   72|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (72:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  484|      0|            }                                                                                                \
  |  |  |  |  485|      0|            if (_hd_hh_del->next != NULL) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (485:17): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  486|      0|                HH_FROM_ELMT((head)->hh.tbl, _hd_hh_del->next)->prev = _hd_hh_del->prev;                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |  142|      0|#define HH_FROM_ELMT(tbl, elp) ((UT_hash_handle *)(void *)(((char *)(elp)) + ((tbl)->hho)))
  |  |  |  |  ------------------
  |  |  |  |  487|      0|            }                                                                                                \
  |  |  |  |  488|      0|            HASH_TO_BKT(_hd_hh_del->hashv, (head)->hh.tbl->num_buckets, _hd_bkt);                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  446|      0|    do {                                                                                                     \
  |  |  |  |  |  |  447|      0|        bkt = ((hashv) & ((num_bkts)-1U));                                                                   \
  |  |  |  |  |  |  448|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (448:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  489|      0|            HASH_DEL_IN_BKT((head)->hh.tbl->buckets[_hd_bkt], _hd_hh_del);                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  831|      0|    do {                                                                                                     \
  |  |  |  |  |  |  832|      0|        UT_hash_bucket *_hd_head = &(head);                                                                  \
  |  |  |  |  |  |  833|      0|        _hd_head->count--;                                                                                   \
  |  |  |  |  |  |  834|      0|        if (_hd_head->hh_head == (delhh)) {                                                                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (834:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  835|      0|            _hd_head->hh_head = (delhh)->hh_next;                                                            \
  |  |  |  |  |  |  836|      0|        }                                                                                                    \
  |  |  |  |  |  |  837|      0|        if ((delhh)->hh_prev) {                                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (837:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  838|      0|            (delhh)->hh_prev->hh_next = (delhh)->hh_next;                                                    \
  |  |  |  |  |  |  839|      0|        }                                                                                                    \
  |  |  |  |  |  |  840|      0|        if ((delhh)->hh_next) {                                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (840:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  841|      0|            (delhh)->hh_next->hh_prev = (delhh)->hh_prev;                                                    \
  |  |  |  |  |  |  842|      0|        }                                                                                                    \
  |  |  |  |  |  |  843|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (843:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  490|      0|            (head)->hh.tbl->num_items--;                                                                     \
  |  |  |  |  491|      0|        }                                                                                                    \
  |  |  |  |  492|      0|        HASH_FSCK(hh, head, "HASH_DELETE_HH");                                                               \
  |  |  |  |  493|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (493:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  523|      0|        item = H5FL_FREE(H5C_tag_info_t, item);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  524|      0|    }
  525|       |
  526|     10|    if (cache_ptr->log_info != NULL)
  ------------------
  |  Branch (526:9): [True: 10, False: 0]
  ------------------
  527|     10|        H5MM_xfree(cache_ptr->log_info);
  528|       |
  529|       |#ifdef H5C_DO_SANITY_CHECKS
  530|       |    if (cache_ptr->get_entry_ptr_from_addr_counter > 0)
  531|       |        fprintf(stdout, "*** %" PRId64 " calls to H5C_get_entry_ptr_from_add(). ***\n",
  532|       |                cache_ptr->get_entry_ptr_from_addr_counter);
  533|       |#endif /* H5C_DO_SANITY_CHECKS */
  534|       |
  535|     10|    cache_ptr = H5FL_FREE(H5C_t, cache_ptr);
  ------------------
  |  |   81|     10|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|     10|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  536|       |
  537|     10|done:
  538|     10|    if (ret_value < 0 && cache_ptr && cache_ptr->slist_ptr)
  ------------------
  |  Branch (538:9): [True: 0, False: 10]
  |  Branch (538:26): [True: 0, False: 0]
  |  Branch (538:39): [True: 0, False: 0]
  ------------------
  539|       |        /* Arguably, it shouldn't be necessary to re-enable the slist after
  540|       |         * the call to H5C__flush_invalidate_cache(), as the metadata cache
  541|       |         * should be discarded.  However, in the test code, we make multiple
  542|       |         * calls to H5C_dest().  Thus we re-enable the slist on failure if it
  543|       |         * and the cache still exist.  JRM -- 5/15/20
  544|       |         */
  545|      0|        if (H5C_set_slist_enabled(f->shared->cache, false, false) < 0)
  ------------------
  |  Branch (545:13): [True: 0, False: 0]
  ------------------
  546|      0|            HDONE_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "disable slist on flush dest failure failed");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  547|       |
  548|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  549|     10|} /* H5C_dest() */
H5C_reset_cache_hit_rate_stats:
  782|     20|{
  783|     20|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     20|#define SUCCEED 0
  ------------------
  784|       |
  785|     20|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     20|    {                                                                                                        \
  |  | 1392|     20|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     20|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     20|                                                                                                             \
  |  |  |  | 1267|     20|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     20|        {
  ------------------
  786|       |
  787|     20|    if (cache_ptr == NULL)
  ------------------
  |  Branch (787:9): [True: 0, False: 20]
  ------------------
  788|      0|        HGOTO_ERROR(H5E_CACHE, H5E_BADVALUE, FAIL, "bad cache_ptr on entry");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  789|       |
  790|     20|    cache_ptr->cache_hits     = 0;
  791|     20|    cache_ptr->cache_accesses = 0;
  792|       |
  793|     20|done:
  794|     20|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     20|    ;                                                                                                        \
  |  | 1573|     20|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     20|    return (ret_value);                                                                                      \
  |  | 1575|     20|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  795|     20|} /* H5C_reset_cache_hit_rate_stats() */
H5C_set_cache_auto_resize_config:
  815|     10|{
  816|     10|    size_t new_max_cache_size;
  817|     10|    size_t new_min_clean_size;
  818|     10|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
  819|       |
  820|     10|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     10|    {                                                                                                        \
  |  | 1392|     10|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     10|        {
  ------------------
  821|       |
  822|     10|    if (cache_ptr == NULL)
  ------------------
  |  Branch (822:9): [True: 0, False: 10]
  ------------------
  823|      0|        HGOTO_ERROR(H5E_CACHE, H5E_BADVALUE, FAIL, "bad cache_ptr on entry");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  824|     10|    if (config_ptr == NULL)
  ------------------
  |  Branch (824:9): [True: 0, False: 10]
  ------------------
  825|      0|        HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "NULL config_ptr on entry");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  826|     10|    if (config_ptr->version != H5C__CURR_AUTO_SIZE_CTL_VER)
  ------------------
  |  |  104|     10|#define H5C__CURR_AUTO_SIZE_CTL_VER       1
  ------------------
  |  Branch (826:9): [True: 0, False: 10]
  ------------------
  827|      0|        HGOTO_ERROR(H5E_CACHE, H5E_BADVALUE, FAIL, "unknown config version");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  828|       |
  829|       |    /* check general configuration section of the config: */
  830|     10|    if (H5C_validate_resize_config(config_ptr, H5C_RESIZE_CFG__VALIDATE_GENERAL) < 0)
  ------------------
  |  |   89|     10|#define H5C_RESIZE_CFG__VALIDATE_GENERAL      0x1
  ------------------
  |  Branch (830:9): [True: 0, False: 10]
  ------------------
  831|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADRANGE, FAIL, "error in general configuration fields of new config");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  832|       |
  833|       |    /* check size increase control fields of the config: */
  834|     10|    if (H5C_validate_resize_config(config_ptr, H5C_RESIZE_CFG__VALIDATE_INCREMENT) < 0)
  ------------------
  |  |   90|     10|#define H5C_RESIZE_CFG__VALIDATE_INCREMENT    0x2
  ------------------
  |  Branch (834:9): [True: 0, False: 10]
  ------------------
  835|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADRANGE, FAIL, "error in the size increase control fields of new config");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  836|       |
  837|       |    /* check size decrease control fields of the config: */
  838|     10|    if (H5C_validate_resize_config(config_ptr, H5C_RESIZE_CFG__VALIDATE_DECREMENT) < 0)
  ------------------
  |  |   91|     10|#define H5C_RESIZE_CFG__VALIDATE_DECREMENT    0x4
  ------------------
  |  Branch (838:9): [True: 0, False: 10]
  ------------------
  839|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADRANGE, FAIL, "error in the size decrease control fields of new config");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  840|       |
  841|       |    /* check for conflicts between size increase and size decrease controls: */
  842|     10|    if (H5C_validate_resize_config(config_ptr, H5C_RESIZE_CFG__VALIDATE_INTERACTIONS) < 0)
  ------------------
  |  |   92|     10|#define H5C_RESIZE_CFG__VALIDATE_INTERACTIONS 0x8
  ------------------
  |  Branch (842:9): [True: 0, False: 10]
  ------------------
  843|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADRANGE, FAIL, "conflicting threshold fields in new config");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  844|       |
  845|       |    /* will set the increase possible fields to false later if needed */
  846|     10|    cache_ptr->size_increase_possible       = true;
  847|     10|    cache_ptr->flash_size_increase_possible = true;
  848|     10|    cache_ptr->size_decrease_possible       = true;
  849|       |
  850|     10|    switch (config_ptr->incr_mode) {
  851|      0|        case H5C_incr__off:
  ------------------
  |  Branch (851:9): [True: 0, False: 10]
  ------------------
  852|      0|            cache_ptr->size_increase_possible = false;
  853|      0|            break;
  854|       |
  855|     10|        case H5C_incr__threshold:
  ------------------
  |  Branch (855:9): [True: 10, False: 0]
  ------------------
  856|     10|            if ((config_ptr->lower_hr_threshold <= 0.0) || (config_ptr->increment <= 1.0) ||
  ------------------
  |  Branch (856:17): [True: 0, False: 10]
  |  Branch (856:60): [True: 0, False: 10]
  ------------------
  857|     10|                ((config_ptr->apply_max_increment) && (config_ptr->max_increment <= 0)))
  ------------------
  |  Branch (857:18): [True: 10, False: 0]
  |  Branch (857:55): [True: 0, False: 10]
  ------------------
  858|      0|                cache_ptr->size_increase_possible = false;
  859|     10|            break;
  860|       |
  861|      0|        default: /* should be unreachable */
  ------------------
  |  Branch (861:9): [True: 0, False: 10]
  ------------------
  862|      0|            HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "Unknown incr_mode?!?!?");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  863|     10|    } /* end switch */
  864|       |
  865|       |    /* logically, this is where configuration for flash cache size increases
  866|       |     * should go.  However, this configuration depends on max_cache_size, so
  867|       |     * we wait until the end of the function, when this field is set.
  868|       |     */
  869|       |
  870|     10|    switch (config_ptr->decr_mode) {
  871|      0|        case H5C_decr__off:
  ------------------
  |  Branch (871:9): [True: 0, False: 10]
  ------------------
  872|      0|            cache_ptr->size_decrease_possible = false;
  873|      0|            break;
  874|       |
  875|      0|        case H5C_decr__threshold:
  ------------------
  |  Branch (875:9): [True: 0, False: 10]
  ------------------
  876|      0|            if (config_ptr->upper_hr_threshold >= 1.0 || config_ptr->decrement >= 1.0 ||
  ------------------
  |  Branch (876:17): [True: 0, False: 0]
  |  Branch (876:58): [True: 0, False: 0]
  ------------------
  877|      0|                (config_ptr->apply_max_decrement && config_ptr->max_decrement <= 0))
  ------------------
  |  Branch (877:18): [True: 0, False: 0]
  |  Branch (877:53): [True: 0, False: 0]
  ------------------
  878|      0|                cache_ptr->size_decrease_possible = false;
  879|      0|            break;
  880|       |
  881|      0|        case H5C_decr__age_out:
  ------------------
  |  Branch (881:9): [True: 0, False: 10]
  ------------------
  882|      0|            if ((config_ptr->apply_empty_reserve && config_ptr->empty_reserve >= 1.0) ||
  ------------------
  |  Branch (882:18): [True: 0, False: 0]
  |  Branch (882:53): [True: 0, False: 0]
  ------------------
  883|      0|                (config_ptr->apply_max_decrement && config_ptr->max_decrement <= 0))
  ------------------
  |  Branch (883:18): [True: 0, False: 0]
  |  Branch (883:53): [True: 0, False: 0]
  ------------------
  884|      0|                cache_ptr->size_decrease_possible = false;
  885|      0|            break;
  886|       |
  887|     10|        case H5C_decr__age_out_with_threshold:
  ------------------
  |  Branch (887:9): [True: 10, False: 0]
  ------------------
  888|     10|            if ((config_ptr->apply_empty_reserve && config_ptr->empty_reserve >= 1.0) ||
  ------------------
  |  Branch (888:18): [True: 10, False: 0]
  |  Branch (888:53): [True: 0, False: 10]
  ------------------
  889|     10|                (config_ptr->apply_max_decrement && config_ptr->max_decrement <= 0) ||
  ------------------
  |  Branch (889:18): [True: 10, False: 0]
  |  Branch (889:53): [True: 0, False: 10]
  ------------------
  890|     10|                config_ptr->upper_hr_threshold >= 1.0)
  ------------------
  |  Branch (890:17): [True: 0, False: 10]
  ------------------
  891|      0|                cache_ptr->size_decrease_possible = false;
  892|     10|            break;
  893|       |
  894|      0|        default: /* should be unreachable */
  ------------------
  |  Branch (894:9): [True: 0, False: 10]
  ------------------
  895|      0|            HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "Unknown decr_mode?!?!?");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  896|     10|    } /* end switch */
  897|       |
  898|     10|    if (config_ptr->max_size == config_ptr->min_size) {
  ------------------
  |  Branch (898:9): [True: 0, False: 10]
  ------------------
  899|      0|        cache_ptr->size_increase_possible       = false;
  900|      0|        cache_ptr->flash_size_increase_possible = false;
  901|      0|        cache_ptr->size_decrease_possible       = false;
  902|      0|    } /* end if */
  903|       |
  904|       |    /* flash_size_increase_possible is intentionally omitted from the
  905|       |     * following:
  906|       |     */
  907|     10|    cache_ptr->resize_enabled = cache_ptr->size_increase_possible || cache_ptr->size_decrease_possible;
  ------------------
  |  Branch (907:33): [True: 10, False: 0]
  |  Branch (907:70): [True: 0, False: 0]
  ------------------
  908|     10|    cache_ptr->resize_ctl     = *config_ptr;
  909|       |
  910|       |    /* Resize the cache to the supplied initial value if requested, or as
  911|       |     * necessary to force it within the bounds of the current automatic
  912|       |     * cache resizing configuration.
  913|       |     *
  914|       |     * Note that the min_clean_fraction may have changed, so we
  915|       |     * go through the exercise even if the current size is within
  916|       |     * range and an initial size has not been provided.
  917|       |     */
  918|     10|    if (cache_ptr->resize_ctl.set_initial_size)
  ------------------
  |  Branch (918:9): [True: 10, False: 0]
  ------------------
  919|     10|        new_max_cache_size = cache_ptr->resize_ctl.initial_size;
  920|      0|    else if (cache_ptr->max_cache_size > cache_ptr->resize_ctl.max_size)
  ------------------
  |  Branch (920:14): [True: 0, False: 0]
  ------------------
  921|      0|        new_max_cache_size = cache_ptr->resize_ctl.max_size;
  922|      0|    else if (cache_ptr->max_cache_size < cache_ptr->resize_ctl.min_size)
  ------------------
  |  Branch (922:14): [True: 0, False: 0]
  ------------------
  923|      0|        new_max_cache_size = cache_ptr->resize_ctl.min_size;
  924|      0|    else
  925|      0|        new_max_cache_size = cache_ptr->max_cache_size;
  926|       |
  927|     10|    new_min_clean_size = (size_t)((double)new_max_cache_size * (cache_ptr->resize_ctl.min_clean_fraction));
  928|       |
  929|       |    /* since new_min_clean_size is of type size_t, we have
  930|       |     *
  931|       |     *     ( 0 <= new_min_clean_size )
  932|       |     *
  933|       |     * by definition.
  934|       |     */
  935|     10|    assert(new_min_clean_size <= new_max_cache_size);
  936|     10|    assert(cache_ptr->resize_ctl.min_size <= new_max_cache_size);
  937|     10|    assert(new_max_cache_size <= cache_ptr->resize_ctl.max_size);
  938|       |
  939|     10|    if (new_max_cache_size < cache_ptr->max_cache_size)
  ------------------
  |  Branch (939:9): [True: 10, False: 0]
  ------------------
  940|     10|        cache_ptr->size_decreased = true;
  941|       |
  942|     10|    cache_ptr->max_cache_size = new_max_cache_size;
  943|     10|    cache_ptr->min_clean_size = new_min_clean_size;
  944|       |
  945|     10|    if (H5C_reset_cache_hit_rate_stats(cache_ptr) < 0)
  ------------------
  |  Branch (945:9): [True: 0, False: 10]
  ------------------
  946|       |        /* this should be impossible... */
  947|      0|        HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "H5C_reset_cache_hit_rate_stats failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  948|       |
  949|       |    /* remove excess epoch markers if any */
  950|     10|    if ((config_ptr->decr_mode == H5C_decr__age_out_with_threshold) ||
  ------------------
  |  Branch (950:9): [True: 10, False: 0]
  ------------------
  951|     10|        (config_ptr->decr_mode == H5C_decr__age_out)) {
  ------------------
  |  Branch (951:9): [True: 0, False: 0]
  ------------------
  952|     10|        if (cache_ptr->epoch_markers_active > cache_ptr->resize_ctl.epochs_before_eviction)
  ------------------
  |  Branch (952:13): [True: 0, False: 10]
  ------------------
  953|      0|            if (H5C__autoadjust__ageout__remove_excess_markers(cache_ptr) < 0)
  ------------------
  |  Branch (953:17): [True: 0, False: 0]
  ------------------
  954|      0|                HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "can't remove excess epoch markers");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  955|     10|    } /* end if */
  956|      0|    else if (cache_ptr->epoch_markers_active > 0) {
  ------------------
  |  Branch (956:14): [True: 0, False: 0]
  ------------------
  957|      0|        if (H5C__autoadjust__ageout__remove_all_markers(cache_ptr) < 0)
  ------------------
  |  Branch (957:13): [True: 0, False: 0]
  ------------------
  958|      0|            HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "error removing all epoch markers");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  959|      0|    }
  960|       |
  961|       |    /* configure flash size increase facility.  We wait until the
  962|       |     * end of the function, as we need the max_cache_size set before
  963|       |     * we start to keep things simple.
  964|       |     *
  965|       |     * If we haven't already ruled out flash cache size increases above,
  966|       |     * go ahead and configure it.
  967|       |     */
  968|     10|    if (cache_ptr->flash_size_increase_possible) {
  ------------------
  |  Branch (968:9): [True: 10, False: 0]
  ------------------
  969|     10|        switch (config_ptr->flash_incr_mode) {
  970|      0|            case H5C_flash_incr__off:
  ------------------
  |  Branch (970:13): [True: 0, False: 10]
  ------------------
  971|      0|                cache_ptr->flash_size_increase_possible = false;
  972|      0|                break;
  973|       |
  974|     10|            case H5C_flash_incr__add_space:
  ------------------
  |  Branch (974:13): [True: 10, False: 0]
  ------------------
  975|     10|                cache_ptr->flash_size_increase_possible = true;
  976|     10|                cache_ptr->flash_size_increase_threshold =
  977|     10|                    (size_t)(((double)(cache_ptr->max_cache_size)) * (cache_ptr->resize_ctl.flash_threshold));
  978|     10|                break;
  979|       |
  980|      0|            default: /* should be unreachable */
  ------------------
  |  Branch (980:13): [True: 0, False: 10]
  ------------------
  981|      0|                HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "Unknown flash_incr_mode?!?!?");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  982|      0|                break;
  983|     10|        } /* end switch */
  984|     10|    }     /* end if */
  985|       |
  986|     10|done:
  987|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  988|     10|} /* H5C_set_cache_auto_resize_config() */
H5C_set_evictions_enabled:
 1002|     10|{
 1003|     10|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
 1004|       |
 1005|     10|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     10|    {                                                                                                        \
  |  | 1392|     10|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     10|        {
  ------------------
 1006|       |
 1007|     10|    if (cache_ptr == NULL)
  ------------------
  |  Branch (1007:9): [True: 0, False: 10]
  ------------------
 1008|      0|        HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "Bad cache_ptr on entry");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1009|       |
 1010|       |    /* There is no fundamental reason why we should not permit
 1011|       |     * evictions to be disabled while automatic resize is enabled.
 1012|       |     * However, allowing it would greatly complicate testing
 1013|       |     * the feature.  Hence the following:
 1014|       |     */
 1015|     10|    if ((evictions_enabled != true) && ((cache_ptr->resize_ctl.incr_mode != H5C_incr__off) ||
  ------------------
  |  Branch (1015:9): [True: 0, False: 10]
  |  Branch (1015:41): [True: 0, False: 0]
  ------------------
 1016|      0|                                        (cache_ptr->resize_ctl.decr_mode != H5C_decr__off)))
  ------------------
  |  Branch (1016:41): [True: 0, False: 0]
  ------------------
 1017|      0|        HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "Can't disable evictions when auto resize enabled");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1018|       |
 1019|     10|    cache_ptr->evictions_enabled = evictions_enabled;
 1020|       |
 1021|     10|done:
 1022|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1023|     10|} /* H5C_set_evictions_enabled() */
H5C_set_slist_enabled:
 1072|     10|{
 1073|     10|    H5C_cache_entry_t *entry_ptr;
 1074|     10|    herr_t             ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
 1075|       |
 1076|     10|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     10|    {                                                                                                        \
  |  | 1392|     10|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     10|        {
  ------------------
 1077|       |
 1078|     10|    if (cache_ptr == NULL)
  ------------------
  |  Branch (1078:9): [True: 0, False: 10]
  ------------------
 1079|      0|        HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "Bad cache_ptr on entry");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1080|       |
 1081|     10|    if (slist_enabled) {
  ------------------
  |  Branch (1081:9): [True: 10, False: 0]
  ------------------
 1082|     10|        if (cache_ptr->slist_enabled)
  ------------------
  |  Branch (1082:13): [True: 0, False: 10]
  ------------------
 1083|      0|            HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "slist already enabled?");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1084|     10|        if ((cache_ptr->slist_len != 0) || (cache_ptr->slist_size != 0))
  ------------------
  |  Branch (1084:13): [True: 0, False: 10]
  |  Branch (1084:44): [True: 0, False: 10]
  ------------------
 1085|      0|            HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "slist not empty?");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1086|       |
 1087|       |        /* set cache_ptr->slist_enabled to true so that the slist
 1088|       |         * maintenance macros will be enabled.
 1089|       |         */
 1090|     10|        cache_ptr->slist_enabled = true;
 1091|       |
 1092|     10|        if (populate_slist) {
  ------------------
  |  Branch (1092:13): [True: 10, False: 0]
  ------------------
 1093|       |            /* scan the index list and insert all dirty entries in the slist */
 1094|     10|            entry_ptr = cache_ptr->il_head;
 1095|    123|            while (entry_ptr != NULL) {
  ------------------
  |  Branch (1095:20): [True: 113, False: 10]
  ------------------
 1096|    113|                if (entry_ptr->is_dirty)
  ------------------
  |  Branch (1096:21): [True: 0, False: 113]
  ------------------
 1097|      0|                    H5C__INSERT_ENTRY_IN_SLIST(cache_ptr, entry_ptr, FAIL);
  ------------------
  |  | 1018|      0|    do {                                                                                                     \
  |  | 1019|      0|        assert(cache_ptr);                                                                                   \
  |  | 1020|      0|                                                                                                             \
  |  | 1021|      0|        if ((cache_ptr)->slist_enabled) {                                                                    \
  |  |  ------------------
  |  |  |  Branch (1021:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 1022|      0|            assert(entry_ptr);                                                                               \
  |  | 1023|      0|            assert((entry_ptr)->size > 0);                                                                   \
  |  | 1024|      0|            assert(H5_addr_defined((entry_ptr)->addr));                                                      \
  |  | 1025|      0|            assert(!(entry_ptr)->in_slist);                                                                  \
  |  | 1026|      0|            assert(!H5C__ENTRY_IN_SLIST((cache_ptr), (entry_ptr)));                                          \
  |  | 1027|      0|            assert((entry_ptr)->ring > H5C_RING_UNDEFINED);                                                  \
  |  | 1028|      0|            assert((entry_ptr)->ring < H5C_RING_NTYPES);                                                     \
  |  | 1029|      0|            assert((cache_ptr)->slist_ring_len[(entry_ptr)->ring] <= (cache_ptr)->slist_len);                \
  |  | 1030|      0|            assert((cache_ptr)->slist_ring_size[(entry_ptr)->ring] <= (cache_ptr)->slist_size);              \
  |  | 1031|      0|            assert((cache_ptr)->slist_ptr);                                                                  \
  |  | 1032|      0|                                                                                                             \
  |  | 1033|      0|            if (H5SL_insert((cache_ptr)->slist_ptr, entry_ptr, &((entry_ptr)->addr)) < 0)                    \
  |  |  ------------------
  |  |  |  Branch (1033:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 1034|      0|                HGOTO_ERROR(H5E_CACHE, H5E_BADVALUE, (fail_val), "can't insert entry in skip list");         \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1035|      0|                                                                                                             \
  |  | 1036|      0|            (entry_ptr)->in_slist      = true;                                                               \
  |  | 1037|      0|            (cache_ptr)->slist_changed = true;                                                               \
  |  | 1038|      0|            (cache_ptr)->slist_len++;                                                                        \
  |  | 1039|      0|            (cache_ptr)->slist_size += (entry_ptr)->size;                                                    \
  |  | 1040|      0|            ((cache_ptr)->slist_ring_len[(entry_ptr)->ring])++;                                              \
  |  | 1041|      0|            ((cache_ptr)->slist_ring_size[(entry_ptr)->ring]) += (entry_ptr)->size;                          \
  |  | 1042|      0|            H5C__SLIST_INSERT_ENTRY_SC(cache_ptr, entry_ptr);                                                \
  |  | 1043|      0|                                                                                                             \
  |  | 1044|      0|            assert((cache_ptr)->slist_len > 0);                                                              \
  |  | 1045|      0|            assert((cache_ptr)->slist_size > 0);                                                             \
  |  | 1046|      0|        }                                                                                                    \
  |  | 1047|      0|        else { /* slist disabled */                                                                          \
  |  | 1048|      0|            assert((cache_ptr)->slist_len == 0);                                                             \
  |  | 1049|      0|            assert((cache_ptr)->slist_size == 0);                                                            \
  |  | 1050|      0|        }                                                                                                    \
  |  | 1051|      0|    } while (0) /* H5C__INSERT_ENTRY_IN_SLIST */
  |  |  ------------------
  |  |  |  Branch (1051:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1098|    113|                entry_ptr = entry_ptr->il_next;
 1099|    113|            }
 1100|       |
 1101|       |            /* we don't maintain a dirty index len, so we can't do a cross
 1102|       |             * check against it.  Note that there is no point in cross checking
 1103|       |             * against the dirty LRU size, as the dirty LRU may not be maintained,
 1104|       |             * and in any case, there is no requirement that all dirty entries
 1105|       |             * will reside on the dirty LRU.
 1106|       |             */
 1107|     10|            assert(cache_ptr->dirty_index_size == cache_ptr->slist_size);
 1108|     10|        }
 1109|     10|    }
 1110|      0|    else { /* take down the skip list */
 1111|      0|        if (!cache_ptr->slist_enabled)
  ------------------
  |  Branch (1111:13): [True: 0, False: 0]
  ------------------
 1112|      0|            HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "slist already disabled?");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1113|       |
 1114|      0|        if ((cache_ptr->slist_len != 0) || (cache_ptr->slist_size != 0))
  ------------------
  |  Branch (1114:13): [True: 0, False: 0]
  |  Branch (1114:44): [True: 0, False: 0]
  ------------------
 1115|      0|            HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "slist not empty?");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1116|       |
 1117|      0|        cache_ptr->slist_enabled = false;
 1118|       |
 1119|      0|        assert(0 == cache_ptr->slist_len);
 1120|      0|        assert(0 == cache_ptr->slist_size);
 1121|      0|    }
 1122|       |
 1123|     10|done:
 1124|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1125|     10|} /* H5C_set_slist_enabled() */
H5C_validate_resize_config:
 1204|     60|{
 1205|     60|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     60|#define SUCCEED 0
  ------------------
 1206|       |
 1207|     60|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     60|    {                                                                                                        \
  |  | 1392|     60|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     60|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     60|                                                                                                             \
  |  |  |  | 1267|     60|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     60|        {
  ------------------
 1208|       |
 1209|     60|    if (config_ptr == NULL)
  ------------------
  |  Branch (1209:9): [True: 0, False: 60]
  ------------------
 1210|      0|        HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "NULL config_ptr on entry");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1211|       |
 1212|     60|    if (config_ptr->version != H5C__CURR_AUTO_SIZE_CTL_VER)
  ------------------
  |  |  104|     60|#define H5C__CURR_AUTO_SIZE_CTL_VER       1
  ------------------
  |  Branch (1212:9): [True: 0, False: 60]
  ------------------
 1213|      0|        HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "Unknown config version");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1214|       |
 1215|     60|    if ((tests & H5C_RESIZE_CFG__VALIDATE_GENERAL) != 0) {
  ------------------
  |  |   89|     60|#define H5C_RESIZE_CFG__VALIDATE_GENERAL      0x1
  ------------------
  |  Branch (1215:9): [True: 30, False: 30]
  ------------------
 1216|     30|        if (config_ptr->max_size > H5C__MAX_MAX_CACHE_SIZE)
  ------------------
  |  |   79|     30|#define H5C__MAX_MAX_CACHE_SIZE ((size_t)(128 * 1024 * 1024))
  ------------------
  |  Branch (1216:13): [True: 0, False: 30]
  ------------------
 1217|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "max_size too big");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1218|     30|        if (config_ptr->min_size < H5C__MIN_MAX_CACHE_SIZE)
  ------------------
  |  |   80|     30|#define H5C__MIN_MAX_CACHE_SIZE ((size_t)(1024))
  ------------------
  |  Branch (1218:13): [True: 0, False: 30]
  ------------------
 1219|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "min_size too small");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1220|     30|        if (config_ptr->min_size > config_ptr->max_size)
  ------------------
  |  Branch (1220:13): [True: 0, False: 30]
  ------------------
 1221|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "min_size > max_size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1222|     30|        if (config_ptr->set_initial_size && ((config_ptr->initial_size < config_ptr->min_size) ||
  ------------------
  |  Branch (1222:13): [True: 30, False: 0]
  |  Branch (1222:46): [True: 0, False: 30]
  ------------------
 1223|     30|                                             (config_ptr->initial_size > config_ptr->max_size)))
  ------------------
  |  Branch (1223:46): [True: 0, False: 30]
  ------------------
 1224|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1225|     30|                        "initial_size must be in the interval [min_size, max_size]");
 1226|     30|        if ((config_ptr->min_clean_fraction < 0.0) || (config_ptr->min_clean_fraction > 1.0))
  ------------------
  |  Branch (1226:13): [True: 0, False: 30]
  |  Branch (1226:55): [True: 0, False: 30]
  ------------------
 1227|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1228|     30|                        "min_clean_fraction must be in the interval [0.0, 1.0]");
 1229|     30|        if (config_ptr->epoch_length < H5C__MIN_AR_EPOCH_LENGTH)
  ------------------
  |  |  123|     30|#define H5C__MIN_AR_EPOCH_LENGTH     100
  ------------------
  |  Branch (1229:13): [True: 0, False: 30]
  ------------------
 1230|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "epoch_length too small");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1231|     30|        if (config_ptr->epoch_length > H5C__MAX_AR_EPOCH_LENGTH)
  ------------------
  |  |  125|     30|#define H5C__MAX_AR_EPOCH_LENGTH     1000000
  ------------------
  |  Branch (1231:13): [True: 0, False: 30]
  ------------------
 1232|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "epoch_length too big");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1233|     30|    } /* H5C_RESIZE_CFG__VALIDATE_GENERAL */
 1234|       |
 1235|     60|    if ((tests & H5C_RESIZE_CFG__VALIDATE_INCREMENT) != 0) {
  ------------------
  |  |   90|     60|#define H5C_RESIZE_CFG__VALIDATE_INCREMENT    0x2
  ------------------
  |  Branch (1235:9): [True: 30, False: 30]
  ------------------
 1236|     30|        if ((config_ptr->incr_mode != H5C_incr__off) && (config_ptr->incr_mode != H5C_incr__threshold))
  ------------------
  |  Branch (1236:13): [True: 30, False: 0]
  |  Branch (1236:57): [True: 0, False: 30]
  ------------------
 1237|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "Invalid incr_mode");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1238|       |
 1239|     30|        if (config_ptr->incr_mode == H5C_incr__threshold) {
  ------------------
  |  Branch (1239:13): [True: 30, False: 0]
  ------------------
 1240|     30|            if ((config_ptr->lower_hr_threshold < 0.0) || (config_ptr->lower_hr_threshold > 1.0))
  ------------------
  |  Branch (1240:17): [True: 0, False: 30]
  |  Branch (1240:59): [True: 0, False: 30]
  ------------------
 1241|      0|                HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1242|     30|                            "lower_hr_threshold must be in the range [0.0, 1.0]");
 1243|     30|            if (config_ptr->increment < 1.0)
  ------------------
  |  Branch (1243:17): [True: 0, False: 30]
  ------------------
 1244|      0|                HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "increment must be greater than or equal to 1.0");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1245|       |
 1246|       |            /* no need to check max_increment, as it is a size_t,
 1247|       |             * and thus must be non-negative.
 1248|       |             */
 1249|     30|        } /* H5C_incr__threshold */
 1250|       |
 1251|     30|        switch (config_ptr->flash_incr_mode) {
 1252|      0|            case H5C_flash_incr__off:
  ------------------
  |  Branch (1252:13): [True: 0, False: 30]
  ------------------
 1253|       |                /* nothing to do here */
 1254|      0|                break;
 1255|       |
 1256|     30|            case H5C_flash_incr__add_space:
  ------------------
  |  Branch (1256:13): [True: 30, False: 0]
  ------------------
 1257|     30|                if ((config_ptr->flash_multiple < 0.1) || (config_ptr->flash_multiple > 10.0))
  ------------------
  |  Branch (1257:21): [True: 0, False: 30]
  |  Branch (1257:59): [True: 0, False: 30]
  ------------------
 1258|      0|                    HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1259|     30|                                "flash_multiple must be in the range [0.1, 10.0]");
 1260|     30|                if ((config_ptr->flash_threshold < 0.1) || (config_ptr->flash_threshold > 1.0))
  ------------------
  |  Branch (1260:21): [True: 0, False: 30]
  |  Branch (1260:60): [True: 0, False: 30]
  ------------------
 1261|      0|                    HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1262|     30|                                "flash_threshold must be in the range [0.1, 1.0]");
 1263|     30|                break;
 1264|       |
 1265|     30|            default:
  ------------------
  |  Branch (1265:13): [True: 0, False: 30]
  ------------------
 1266|      0|                HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "Invalid flash_incr_mode");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1267|      0|                break;
 1268|     30|        } /* end switch */
 1269|     30|    }     /* H5C_RESIZE_CFG__VALIDATE_INCREMENT */
 1270|       |
 1271|     60|    if ((tests & H5C_RESIZE_CFG__VALIDATE_DECREMENT) != 0) {
  ------------------
  |  |   91|     60|#define H5C_RESIZE_CFG__VALIDATE_DECREMENT    0x4
  ------------------
  |  Branch (1271:9): [True: 30, False: 30]
  ------------------
 1272|     30|        if ((config_ptr->decr_mode != H5C_decr__off) && (config_ptr->decr_mode != H5C_decr__threshold) &&
  ------------------
  |  Branch (1272:13): [True: 30, False: 0]
  |  Branch (1272:57): [True: 30, False: 0]
  ------------------
 1273|     30|            (config_ptr->decr_mode != H5C_decr__age_out) &&
  ------------------
  |  Branch (1273:13): [True: 30, False: 0]
  ------------------
 1274|     30|            (config_ptr->decr_mode != H5C_decr__age_out_with_threshold))
  ------------------
  |  Branch (1274:13): [True: 0, False: 30]
  ------------------
 1275|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "Invalid decr_mode");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1276|       |
 1277|     30|        if (config_ptr->decr_mode == H5C_decr__threshold) {
  ------------------
  |  Branch (1277:13): [True: 0, False: 30]
  ------------------
 1278|      0|            if (config_ptr->upper_hr_threshold > 1.0)
  ------------------
  |  Branch (1278:17): [True: 0, False: 0]
  ------------------
 1279|      0|                HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "upper_hr_threshold must be <= 1.0");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1280|      0|            if ((config_ptr->decrement > 1.0) || (config_ptr->decrement < 0.0))
  ------------------
  |  Branch (1280:17): [True: 0, False: 0]
  |  Branch (1280:50): [True: 0, False: 0]
  ------------------
 1281|      0|                HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "decrement must be in the interval [0.0, 1.0]");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1282|       |
 1283|       |            /* no need to check max_decrement as it is a size_t
 1284|       |             * and thus must be non-negative.
 1285|       |             */
 1286|      0|        } /* H5C_decr__threshold */
 1287|       |
 1288|     30|        if ((config_ptr->decr_mode == H5C_decr__age_out) ||
  ------------------
  |  Branch (1288:13): [True: 0, False: 30]
  ------------------
 1289|     30|            (config_ptr->decr_mode == H5C_decr__age_out_with_threshold)) {
  ------------------
  |  Branch (1289:13): [True: 30, False: 0]
  ------------------
 1290|     30|            if (config_ptr->epochs_before_eviction < 1)
  ------------------
  |  Branch (1290:17): [True: 0, False: 30]
  ------------------
 1291|      0|                HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "epochs_before_eviction must be positive");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1292|     30|            if (config_ptr->epochs_before_eviction > H5C__MAX_EPOCH_MARKERS)
  ------------------
  |  |   38|     30|#define H5C__MAX_EPOCH_MARKERS 10
  ------------------
  |  Branch (1292:17): [True: 0, False: 30]
  ------------------
 1293|      0|                HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "epochs_before_eviction too big");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1294|     30|            if (config_ptr->apply_empty_reserve &&
  ------------------
  |  Branch (1294:17): [True: 30, False: 0]
  ------------------
 1295|     30|                (config_ptr->empty_reserve > 1.0 || config_ptr->empty_reserve < 0.0))
  ------------------
  |  Branch (1295:18): [True: 0, False: 30]
  |  Branch (1295:53): [True: 0, False: 30]
  ------------------
 1296|      0|                HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "empty_reserve must be in the interval [0.0, 1.0]");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1297|       |
 1298|       |            /* no need to check max_decrement as it is a size_t
 1299|       |             * and thus must be non-negative.
 1300|       |             */
 1301|     30|        } /* H5C_decr__age_out || H5C_decr__age_out_with_threshold */
 1302|       |
 1303|     30|        if (config_ptr->decr_mode == H5C_decr__age_out_with_threshold)
  ------------------
  |  Branch (1303:13): [True: 30, False: 0]
  ------------------
 1304|     30|            if ((config_ptr->upper_hr_threshold > 1.0) || (config_ptr->upper_hr_threshold < 0.0))
  ------------------
  |  Branch (1304:17): [True: 0, False: 30]
  |  Branch (1304:59): [True: 0, False: 30]
  ------------------
 1305|      0|                HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1306|     30|                            "upper_hr_threshold must be in the interval [0.0, 1.0]");
 1307|     30|    } /* H5C_RESIZE_CFG__VALIDATE_DECREMENT */
 1308|       |
 1309|     60|    if ((tests & H5C_RESIZE_CFG__VALIDATE_INTERACTIONS) != 0) {
  ------------------
  |  |   92|     60|#define H5C_RESIZE_CFG__VALIDATE_INTERACTIONS 0x8
  ------------------
  |  Branch (1309:9): [True: 30, False: 30]
  ------------------
 1310|     30|        if ((config_ptr->incr_mode == H5C_incr__threshold) &&
  ------------------
  |  Branch (1310:13): [True: 30, False: 0]
  ------------------
 1311|     30|            ((config_ptr->decr_mode == H5C_decr__threshold) ||
  ------------------
  |  Branch (1311:14): [True: 0, False: 30]
  ------------------
 1312|     30|             (config_ptr->decr_mode == H5C_decr__age_out_with_threshold)) &&
  ------------------
  |  Branch (1312:14): [True: 30, False: 0]
  ------------------
 1313|     30|            (config_ptr->lower_hr_threshold >= config_ptr->upper_hr_threshold))
  ------------------
  |  Branch (1313:13): [True: 0, False: 30]
  ------------------
 1314|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "conflicting threshold fields in config");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1315|     30|    } /* H5C_RESIZE_CFG__VALIDATE_INTERACTIONS */
 1316|       |
 1317|     60|done:
 1318|     60|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     60|    ;                                                                                                        \
  |  | 1573|     60|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     60|    return (ret_value);                                                                                      \
  |  | 1575|     60|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1319|     60|} /* H5C_validate_resize_config() */

H5CX_init:
  483|      1|{
  484|      1|    H5P_genplist_t *dx_plist;            /* Data transfer property list */
  485|      1|    H5P_genplist_t *lc_plist;            /* Link creation property list */
  486|      1|    H5P_genplist_t *la_plist;            /* Link access property list */
  487|      1|    H5P_genplist_t *dc_plist;            /* Dataset creation property list */
  488|      1|    H5P_genplist_t *da_plist;            /* Dataset access property list */
  489|      1|    H5P_genplist_t *fa_plist;            /* File access property list */
  490|      1|    herr_t          ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  491|       |
  492|      1|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      1|    {                                                                                                        \
  |  | 1392|      1|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      1|        {
  ------------------
  493|       |
  494|       |    /* Reset the "default DXPL cache" information */
  495|      1|    memset(&H5CX_def_dxpl_cache, 0, sizeof(H5CX_dxpl_cache_t));
  496|       |
  497|       |    /* Get the default DXPL cache information */
  498|       |
  499|       |    /* Get the default dataset transfer property list */
  500|      1|    if (NULL == (dx_plist = (H5P_genplist_t *)H5I_object(H5P_DATASET_XFER_DEFAULT)))
  ------------------
  |  |  160|      1|#define H5P_DATASET_XFER_DEFAULT (H5OPEN H5P_LST_DATASET_XFER_ID_g)
  ------------------
  |  Branch (500:9): [True: 0, False: 1]
  ------------------
  501|      0|        HGOTO_ERROR(H5E_CONTEXT, H5E_BADTYPE, FAIL, "not a dataset transfer property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  502|       |
  503|       |    /* Get B-tree split ratios */
  504|      1|    if (H5P_get(dx_plist, H5D_XFER_BTREE_SPLIT_RATIO_NAME, &H5CX_def_dxpl_cache.btree_split_ratio) < 0)
  ------------------
  |  |   63|      1|#define H5D_XFER_BTREE_SPLIT_RATIO_NAME     "btree_split_ratio"   /* B-tree node splitting ratio */
  ------------------
  |  Branch (504:9): [True: 0, False: 1]
  ------------------
  505|      0|        HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "Can't retrieve B-tree split ratios");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  506|       |
  507|       |    /* Get maximum temporary buffer size value */
  508|      1|    if (H5P_get(dx_plist, H5D_XFER_MAX_TEMP_BUF_NAME, &H5CX_def_dxpl_cache.max_temp_buf) < 0)
  ------------------
  |  |   59|      1|#define H5D_XFER_MAX_TEMP_BUF_NAME          "max_temp_buf"        /* Maximum temp buffer size */
  ------------------
  |  Branch (508:9): [True: 0, False: 1]
  ------------------
  509|      0|        HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "Can't retrieve maximum temporary buffer size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  510|       |
  511|       |    /* Get temporary buffer pointer */
  512|      1|    if (H5P_get(dx_plist, H5D_XFER_TCONV_BUF_NAME, &H5CX_def_dxpl_cache.tconv_buf) < 0)
  ------------------
  |  |   60|      1|#define H5D_XFER_TCONV_BUF_NAME             "tconv_buf"           /* Type conversion buffer */
  ------------------
  |  Branch (512:9): [True: 0, False: 1]
  ------------------
  513|      0|        HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "Can't retrieve temporary buffer pointer");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  514|       |
  515|       |    /* Get background buffer pointer */
  516|      1|    if (H5P_get(dx_plist, H5D_XFER_BKGR_BUF_NAME, &H5CX_def_dxpl_cache.bkgr_buf) < 0)
  ------------------
  |  |   61|      1|#define H5D_XFER_BKGR_BUF_NAME              "bkgr_buf"            /* Background buffer */
  ------------------
  |  Branch (516:9): [True: 0, False: 1]
  ------------------
  517|      0|        HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "Can't retrieve background buffer pointer");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  518|       |
  519|       |    /* Get background buffer type */
  520|      1|    if (H5P_get(dx_plist, H5D_XFER_BKGR_BUF_TYPE_NAME, &H5CX_def_dxpl_cache.bkgr_buf_type) < 0)
  ------------------
  |  |   62|      1|#define H5D_XFER_BKGR_BUF_TYPE_NAME         "bkgr_buf_type"       /* Background buffer type */
  ------------------
  |  Branch (520:9): [True: 0, False: 1]
  ------------------
  521|      0|        HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "Can't retrieve background buffer type");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  522|       |
  523|       |    /* Get I/O vector size */
  524|      1|    if (H5P_get(dx_plist, H5D_XFER_HYPER_VECTOR_SIZE_NAME, &H5CX_def_dxpl_cache.vec_size) < 0)
  ------------------
  |  |   70|      1|#define H5D_XFER_HYPER_VECTOR_SIZE_NAME     "vec_size"            /* Hyperslab vector size */
  ------------------
  |  Branch (524:9): [True: 0, False: 1]
  ------------------
  525|      0|        HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "Can't retrieve I/O vector size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  526|       |
  527|       |#ifdef H5_HAVE_PARALLEL
  528|       |    /* Collect Parallel I/O information for possible later use */
  529|       |    if (H5P_get(dx_plist, H5D_XFER_IO_XFER_MODE_NAME, &H5CX_def_dxpl_cache.io_xfer_mode) < 0)
  530|       |        HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "Can't retrieve parallel transfer method");
  531|       |    if (H5P_get(dx_plist, H5D_XFER_MPIO_COLLECTIVE_OPT_NAME, &H5CX_def_dxpl_cache.mpio_coll_opt) < 0)
  532|       |        HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "Can't retrieve collective transfer option");
  533|       |    if (H5P_get(dx_plist, H5D_XFER_MPIO_CHUNK_OPT_HARD_NAME, &H5CX_def_dxpl_cache.mpio_chunk_opt_mode) < 0)
  534|       |        HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "Can't retrieve chunk optimization option");
  535|       |    if (H5P_get(dx_plist, H5D_XFER_MPIO_CHUNK_OPT_NUM_NAME, &H5CX_def_dxpl_cache.mpio_chunk_opt_num) < 0)
  536|       |        HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "Can't retrieve chunk optimization threshold");
  537|       |    if (H5P_get(dx_plist, H5D_XFER_MPIO_CHUNK_OPT_RATIO_NAME, &H5CX_def_dxpl_cache.mpio_chunk_opt_ratio) < 0)
  538|       |        HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "Can't retrieve chunk optimization ratio");
  539|       |
  540|       |    /* Get the local & global reasons for breaking collective I/O values */
  541|       |    if (H5P_get(dx_plist, H5D_MPIO_LOCAL_NO_COLLECTIVE_CAUSE_NAME,
  542|       |                &H5CX_def_dxpl_cache.mpio_local_no_coll_cause) < 0)
  543|       |        HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "Can't retrieve local cause for breaking collective I/O");
  544|       |    if (H5P_get(dx_plist, H5D_MPIO_GLOBAL_NO_COLLECTIVE_CAUSE_NAME,
  545|       |                &H5CX_def_dxpl_cache.mpio_global_no_coll_cause) < 0)
  546|       |        HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL,
  547|       |                    "Can't retrieve global cause for breaking collective I/O");
  548|       |#endif /* H5_HAVE_PARALLEL */
  549|       |
  550|       |    /* Get error detection properties */
  551|      1|    if (H5P_get(dx_plist, H5D_XFER_EDC_NAME, &H5CX_def_dxpl_cache.err_detect) < 0)
  ------------------
  |  |   82|      1|#define H5D_XFER_EDC_NAME                      "err_detect"            /* EDC */
  ------------------
  |  Branch (551:9): [True: 0, False: 1]
  ------------------
  552|      0|        HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "Can't retrieve error detection info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  553|       |
  554|       |    /* Get filter callback function */
  555|      1|    if (H5P_get(dx_plist, H5D_XFER_FILTER_CB_NAME, &H5CX_def_dxpl_cache.filter_cb) < 0)
  ------------------
  |  |   83|      1|#define H5D_XFER_FILTER_CB_NAME                "filter_cb"             /* Filter callback function */
  ------------------
  |  Branch (555:9): [True: 0, False: 1]
  ------------------
  556|      0|        HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "Can't retrieve filter callback function");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  557|       |
  558|       |    /* Look at the data transform property */
  559|       |    /* (Note: 'peek', not 'get' - if this turns out to be a problem, we may need
  560|       |     *          to copy it and free this in the H5CX terminate routine. -QAK)
  561|       |     */
  562|      1|    if (H5P_peek(dx_plist, H5D_XFER_XFORM_NAME, &H5CX_def_dxpl_cache.data_transform) < 0)
  ------------------
  |  |   85|      1|#define H5D_XFER_XFORM_NAME                    "data_transform"        /* Data transform */
  ------------------
  |  Branch (562:9): [True: 0, False: 1]
  ------------------
  563|      0|        HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "Can't retrieve data transform info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  564|       |
  565|       |    /* Get VL datatype alloc info */
  566|      1|    if (H5P_get(dx_plist, H5D_XFER_VLEN_ALLOC_NAME, &H5CX_def_dxpl_cache.vl_alloc_info.alloc_func) < 0)
  ------------------
  |  |   64|      1|#define H5D_XFER_VLEN_ALLOC_NAME            "vlen_alloc"          /* Vlen allocation function */
  ------------------
  |  Branch (566:9): [True: 0, False: 1]
  ------------------
  567|      0|        HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "Can't retrieve VL datatype alloc info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  568|      1|    if (H5P_get(dx_plist, H5D_XFER_VLEN_ALLOC_INFO_NAME, &H5CX_def_dxpl_cache.vl_alloc_info.alloc_info) < 0)
  ------------------
  |  |   65|      1|#define H5D_XFER_VLEN_ALLOC_INFO_NAME       "vlen_alloc_info"     /* Vlen allocation info */
  ------------------
  |  Branch (568:9): [True: 0, False: 1]
  ------------------
  569|      0|        HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "Can't retrieve VL datatype alloc info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  570|      1|    if (H5P_get(dx_plist, H5D_XFER_VLEN_FREE_NAME, &H5CX_def_dxpl_cache.vl_alloc_info.free_func) < 0)
  ------------------
  |  |   66|      1|#define H5D_XFER_VLEN_FREE_NAME             "vlen_free"           /* Vlen free function */
  ------------------
  |  Branch (570:9): [True: 0, False: 1]
  ------------------
  571|      0|        HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "Can't retrieve VL datatype alloc info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  572|      1|    if (H5P_get(dx_plist, H5D_XFER_VLEN_FREE_INFO_NAME, &H5CX_def_dxpl_cache.vl_alloc_info.free_info) < 0)
  ------------------
  |  |   67|      1|#define H5D_XFER_VLEN_FREE_INFO_NAME        "vlen_free_info"      /* Vlen free info */
  ------------------
  |  Branch (572:9): [True: 0, False: 1]
  ------------------
  573|      0|        HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "Can't retrieve VL datatype alloc info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  574|       |
  575|       |    /* Get datatype conversion struct */
  576|      1|    if (H5P_get(dx_plist, H5D_XFER_CONV_CB_NAME, &H5CX_def_dxpl_cache.dt_conv_cb) < 0)
  ------------------
  |  |   84|      1|#define H5D_XFER_CONV_CB_NAME                  "type_conv_cb"          /* Type conversion callback function */
  ------------------
  |  Branch (576:9): [True: 0, False: 1]
  ------------------
  577|      0|        HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "Can't retrieve datatype conversion exception callback");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  578|       |
  579|       |    /* Get the selection I/O mode */
  580|      1|    if (H5P_get(dx_plist, H5D_XFER_SELECTION_IO_MODE_NAME, &H5CX_def_dxpl_cache.selection_io_mode) < 0)
  ------------------
  |  |   87|      1|#define H5D_XFER_SELECTION_IO_MODE_NAME        "selection_io_mode"     /* Selection I/O mode */
  ------------------
  |  Branch (580:9): [True: 0, False: 1]
  ------------------
  581|      0|        HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "Can't retrieve selection I/O mode");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  582|       |
  583|       |    /* Get the local & global reasons for breaking selection I/O values */
  584|      1|    if (H5P_get(dx_plist, H5D_XFER_NO_SELECTION_IO_CAUSE_NAME, &H5CX_def_dxpl_cache.no_selection_io_cause) <
  ------------------
  |  |   88|      1|#define H5D_XFER_NO_SELECTION_IO_CAUSE_NAME    "no_selection_io_cause" /* Cause for no selection I/O */
  ------------------
  |  Branch (584:9): [True: 0, False: 1]
  ------------------
  585|      1|        0)
  586|      0|        HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "Can't retrieve cause for no selection I/O");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  587|       |
  588|       |    /* Get the actual selection I/O mode */
  589|      1|    if (H5P_get(dx_plist, H5D_XFER_ACTUAL_SELECTION_IO_MODE_NAME,
  ------------------
  |  |   89|      1|#define H5D_XFER_ACTUAL_SELECTION_IO_MODE_NAME "actual_selection_io_mode" /* Actual selection I/O mode */
  ------------------
  |  Branch (589:9): [True: 0, False: 1]
  ------------------
  590|      1|                &H5CX_def_dxpl_cache.actual_selection_io_mode) < 0)
  591|      0|        HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "Can't retrieve actual selection I/O mode");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  592|       |
  593|       |    /* Get the modify write buffer property */
  594|      1|    if (H5P_get(dx_plist, H5D_XFER_MODIFY_WRITE_BUF_NAME, &H5CX_def_dxpl_cache.modify_write_buf) < 0)
  ------------------
  |  |   90|      1|#define H5D_XFER_MODIFY_WRITE_BUF_NAME         "modify_write_buf"         /* Modify write buffers */
  ------------------
  |  Branch (594:9): [True: 0, False: 1]
  ------------------
  595|      0|        HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "Can't retrieve modify write buffer property");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  596|       |
  597|       |    /* Reset the "default LCPL cache" information */
  598|      1|    memset(&H5CX_def_lcpl_cache, 0, sizeof(H5CX_lcpl_cache_t));
  599|       |
  600|       |    /* Get the default LCPL cache information */
  601|       |
  602|       |    /* Get the default link creation property list */
  603|      1|    if (NULL == (lc_plist = (H5P_genplist_t *)H5I_object(H5P_LINK_CREATE_DEFAULT)))
  ------------------
  |  |  204|      1|#define H5P_LINK_CREATE_DEFAULT (H5OPEN H5P_LST_LINK_CREATE_ID_g)
  ------------------
  |  Branch (603:9): [True: 0, False: 1]
  ------------------
  604|      0|        HGOTO_ERROR(H5E_CONTEXT, H5E_BADTYPE, FAIL, "not a link creation property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  605|       |
  606|       |    /* Get link name character encoding */
  607|      1|    if (H5P_get(lc_plist, H5P_STRCRT_CHAR_ENCODING_NAME, &H5CX_def_lcpl_cache.encoding) < 0)
  ------------------
  |  |   33|      1|#define H5P_STRCRT_CHAR_ENCODING_NAME "character_encoding" /* Character set encoding for string */
  ------------------
  |  Branch (607:9): [True: 0, False: 1]
  ------------------
  608|      0|        HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "Can't retrieve link name encoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  609|       |
  610|       |    /* Get flag whether to create intermediate groups */
  611|      1|    if (H5P_get(lc_plist, H5L_CRT_INTERMEDIATE_GROUP_NAME, &H5CX_def_lcpl_cache.intermediate_group) < 0)
  ------------------
  |  |   36|      1|#define H5L_CRT_INTERMEDIATE_GROUP_NAME "intermediate_group" /* Create intermediate groups flag */
  ------------------
  |  Branch (611:9): [True: 0, False: 1]
  ------------------
  612|      0|        HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "Can't retrieve intermediate group creation flag");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  613|       |
  614|       |    /* Reset the "default LAPL cache" information */
  615|      1|    memset(&H5CX_def_lapl_cache, 0, sizeof(H5CX_lapl_cache_t));
  616|       |
  617|       |    /* Get the default LAPL cache information */
  618|       |
  619|       |    /* Get the default link access property list */
  620|      1|    if (NULL == (la_plist = (H5P_genplist_t *)H5I_object(H5P_LINK_ACCESS_DEFAULT)))
  ------------------
  |  |  208|      1|#define H5P_LINK_ACCESS_DEFAULT (H5OPEN H5P_LST_LINK_ACCESS_ID_g)
  ------------------
  |  Branch (620:9): [True: 0, False: 1]
  ------------------
  621|      0|        HGOTO_ERROR(H5E_CONTEXT, H5E_BADTYPE, FAIL, "not a link access property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  622|       |
  623|       |    /* Get number of soft / UD links to traverse */
  624|      1|    if (H5P_get(la_plist, H5L_ACS_NLINKS_NAME, &H5CX_def_lapl_cache.nlinks) < 0)
  ------------------
  |  |   40|      1|#define H5L_ACS_NLINKS_NAME "max soft links"
  ------------------
  |  Branch (624:9): [True: 0, False: 1]
  ------------------
  625|      0|        HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "Can't retrieve number of soft / UD links to traverse");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  626|       |
  627|       |    /* Reset the "default DCPL cache" information */
  628|      1|    memset(&H5CX_def_dcpl_cache, 0, sizeof(H5CX_dcpl_cache_t));
  629|       |
  630|       |    /* Get the default DCPL cache information */
  631|       |
  632|       |    /* Get the default dataset creation property list */
  633|      1|    if (NULL == (dc_plist = (H5P_genplist_t *)H5I_object(H5P_DATASET_CREATE_DEFAULT)))
  ------------------
  |  |  152|      1|#define H5P_DATASET_CREATE_DEFAULT (H5OPEN H5P_LST_DATASET_CREATE_ID_g)
  ------------------
  |  Branch (633:9): [True: 0, False: 1]
  ------------------
  634|      0|        HGOTO_ERROR(H5E_CONTEXT, H5E_BADTYPE, FAIL, "not a dataset create property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  635|       |
  636|       |    /* Get flag to indicate whether to minimize dataset object header */
  637|      1|    if (H5P_get(dc_plist, H5D_CRT_MIN_DSET_HDR_SIZE_NAME, &H5CX_def_dcpl_cache.do_min_dset_ohdr) < 0)
  ------------------
  |  |   46|      1|#define H5D_CRT_MIN_DSET_HDR_SIZE_NAME "dset_oh_minimize" /* Minimize object header */
  ------------------
  |  Branch (637:9): [True: 0, False: 1]
  ------------------
  638|      0|        HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "Can't retrieve dataset minimize flag");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  639|       |
  640|       |    /* Get object header flags */
  641|      1|    if (H5P_get(dc_plist, H5O_CRT_OHDR_FLAGS_NAME, &H5CX_def_dcpl_cache.ohdr_flags) < 0)
  ------------------
  |  |   98|      1|#define H5O_CRT_OHDR_FLAGS_NAME       "object header flags" /* Object header flags */
  ------------------
  |  Branch (641:9): [True: 0, False: 1]
  ------------------
  642|      0|        HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "Can't retrieve object header flags");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  643|       |
  644|       |    /* Reset the "default DAPL cache" information */
  645|      1|    memset(&H5CX_def_dapl_cache, 0, sizeof(H5CX_dapl_cache_t));
  646|       |
  647|       |    /* Get the default DAPL cache information */
  648|       |
  649|       |    /* Get the default dataset access property list */
  650|      1|    if (NULL == (da_plist = (H5P_genplist_t *)H5I_object(H5P_DATASET_ACCESS_DEFAULT)))
  ------------------
  |  |  156|      1|#define H5P_DATASET_ACCESS_DEFAULT (H5OPEN H5P_LST_DATASET_ACCESS_ID_g)
  ------------------
  |  Branch (650:9): [True: 0, False: 1]
  ------------------
  651|      0|        HGOTO_ERROR(H5E_CONTEXT, H5E_BADTYPE, FAIL, "not a dataset create property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  652|       |
  653|       |    /* Get the prefix for the external file */
  654|      1|    if (H5P_peek(da_plist, H5D_ACS_EFILE_PREFIX_NAME, &H5CX_def_dapl_cache.extfile_prefix) < 0)
  ------------------
  |  |   56|      1|#define H5D_ACS_EFILE_PREFIX_NAME         "external file prefix" /* External file prefix */
  ------------------
  |  Branch (654:9): [True: 0, False: 1]
  ------------------
  655|      0|        HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "Can't retrieve prefix for external file");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  656|       |
  657|       |    /* Get the prefix for the VDS file */
  658|      1|    if (H5P_peek(da_plist, H5D_ACS_VDS_PREFIX_NAME, &H5CX_def_dapl_cache.vds_prefix) < 0)
  ------------------
  |  |   54|      1|#define H5D_ACS_VDS_PREFIX_NAME           "vds_prefix"           /* VDS file prefix */
  ------------------
  |  Branch (658:9): [True: 0, False: 1]
  ------------------
  659|      0|        HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "Can't retrieve prefix for VDS");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  660|       |
  661|       |    /* Reset the "default FAPL cache" information */
  662|      1|    memset(&H5CX_def_fapl_cache, 0, sizeof(H5CX_fapl_cache_t));
  663|       |
  664|       |    /* Get the default FAPL cache information */
  665|       |
  666|       |    /* Get the default file access property list */
  667|      1|    if (NULL == (fa_plist = (H5P_genplist_t *)H5I_object(H5P_FILE_ACCESS_DEFAULT)))
  ------------------
  |  |  148|      1|#define H5P_FILE_ACCESS_DEFAULT (H5OPEN H5P_LST_FILE_ACCESS_ID_g)
  ------------------
  |  Branch (667:9): [True: 0, False: 1]
  ------------------
  668|      0|        HGOTO_ERROR(H5E_CONTEXT, H5E_BADTYPE, FAIL, "not a dataset create property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  669|       |
  670|       |    /* Get low_bound */
  671|      1|    if (H5P_get(fa_plist, H5F_ACS_LIBVER_LOW_BOUND_NAME, &H5CX_def_fapl_cache.low_bound) < 0)
  ------------------
  |  |  245|      1|#define H5F_ACS_LIBVER_LOW_BOUND_NAME  "libver_low_bound"  /* 'low' bound of library format versions */
  ------------------
  |  Branch (671:9): [True: 0, False: 1]
  ------------------
  672|      0|        HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "Can't retrieve dataset minimize flag");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  673|       |
  674|      1|    if (H5P_get(fa_plist, H5F_ACS_LIBVER_HIGH_BOUND_NAME, &H5CX_def_fapl_cache.high_bound) < 0)
  ------------------
  |  |  246|      1|#define H5F_ACS_LIBVER_HIGH_BOUND_NAME "libver_high_bound" /* 'high' bound of library format versions */
  ------------------
  |  Branch (674:9): [True: 0, False: 1]
  ------------------
  675|      0|        HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "Can't retrieve dataset minimize flag");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  676|      1|done:
  677|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  678|      1|}
H5CX_term_package:
  693|      1|{
  694|      1|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      1|    {                                                                                                        \
  |  | 1425|      1|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      1|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      1|        {
  ------------------
  695|       |
  696|      1|    H5CX_node_t *cnode; /* Context node */
  697|       |
  698|       |    /* Pop the top context node from the stack */
  699|       |    /* (Can't check for errors, as rest of library is shut down) */
  700|      1|    cnode = H5CX__pop_common(false);
  701|       |
  702|       |    /* Free the context node */
  703|       |    /* (Allocated with malloc() in H5CX_push_special() ) */
  704|      1|    free(cnode);
  705|       |
  706|      1|#ifndef H5_HAVE_THREADSAFE
  707|      1|    H5CX_head_g = NULL;
  708|      1|#endif /* H5_HAVE_THREADSAFE */
  709|       |
  710|      1|    FUNC_LEAVE_NOAPI(0)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  711|      1|} /* end H5CX_term_package() */
H5CX_pushed:
  773|    281|{
  774|    281|    H5CX_node_t **head = NULL; /* Pointer to head of API context list */
  775|       |
  776|    281|    FUNC_ENTER_NOAPI_NOERR
  ------------------
  |  | 1397|    281|    {                                                                                                        \
  |  | 1398|    281|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    281|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1399|    281|        {
  ------------------
  777|       |
  778|    281|    head = H5CX_get_my_context(); /* Get the pointer to the head of the API context, for this thread */
  ------------------
  |  |   58|    281|#define H5CX_get_my_context() (&H5CX_head_g)
  ------------------
  779|    281|    assert(head);
  780|       |
  781|    281|    FUNC_LEAVE_NOAPI(*head != NULL);
  ------------------
  |  | 1572|    281|    ;                                                                                                        \
  |  | 1573|    281|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    281|    return (ret_value);                                                                                      \
  |  | 1575|    281|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  782|      0|}
H5CX_push:
  838|  7.40k|{
  839|  7.40k|    H5CX_node_t *cnode     = NULL;    /* Context node */
  840|  7.40k|    herr_t       ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|  7.40k|#define SUCCEED 0
  ------------------
  841|       |
  842|  7.40k|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|  7.40k|    {                                                                                                        \
  |  | 1392|  7.40k|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|  7.40k|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|  7.40k|                                                                                                             \
  |  |  |  | 1267|  7.40k|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|  7.40k|        {
  ------------------
  843|       |
  844|       |    /* Allocate & clear API context node */
  845|  7.40k|    if (NULL == (cnode = H5FL_CALLOC(H5CX_node_t)))
  ------------------
  |  |   78|  7.40k|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|  7.40k|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (845:9): [True: 0, False: 7.40k]
  ------------------
  846|      0|        HGOTO_ERROR(H5E_CONTEXT, H5E_CANTALLOC, FAIL, "unable to allocate new struct");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  847|       |
  848|       |    /* Set context info */
  849|  7.40k|    H5CX__push_common(cnode);
  850|       |
  851|  7.40k|done:
  852|  7.40k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  7.40k|    ;                                                                                                        \
  |  | 1573|  7.40k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  7.40k|    return (ret_value);                                                                                      \
  |  | 1575|  7.40k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  853|  7.40k|} /* end H5CX_push() */
H5CX_push_special:
  868|      1|{
  869|      1|    H5CX_node_t *cnode = NULL; /* Context node */
  870|       |
  871|      1|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      1|    {                                                                                                        \
  |  | 1425|      1|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      1|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      1|        {
  ------------------
  872|       |
  873|       |    /* Allocate & clear API context node, without using library API routines */
  874|      1|    cnode = (H5CX_node_t *)calloc(1, sizeof(H5CX_node_t));
  875|      1|    assert(cnode);
  876|       |
  877|       |    /* Set context info */
  878|      1|    H5CX__push_common(cnode);
  879|       |
  880|      1|    FUNC_LEAVE_NOAPI_VOID
  ------------------
  |  | 1578|      1|    ;                                                                                                        \
  |  | 1579|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1580|      1|    return;                                                                                                  \
  |  | 1581|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  881|      1|} /* end H5CX_push_special() */
H5CX_set_dxpl:
 1184|     95|{
 1185|     95|    H5CX_node_t **head = NULL; /* Pointer to head of API context list */
 1186|       |
 1187|     95|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|     95|    {                                                                                                        \
  |  | 1425|     95|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|     95|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|     95|        {
  ------------------
 1188|       |
 1189|       |    /* Sanity check */
 1190|     95|    head = H5CX_get_my_context(); /* Get the pointer to the head of the API context, for this thread */
  ------------------
  |  |   58|     95|#define H5CX_get_my_context() (&H5CX_head_g)
  ------------------
 1191|     95|    assert(head && *head);
 1192|       |
 1193|       |    /* Set the API context's DXPL to a new value */
 1194|     95|    (*head)->ctx.dxpl_id = dxpl_id;
 1195|       |
 1196|     95|    FUNC_LEAVE_NOAPI_VOID
  ------------------
  |  | 1578|     95|    ;                                                                                                        \
  |  | 1579|     95|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1580|     95|    return;                                                                                                  \
  |  | 1581|     95|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1197|     95|} /* end H5CX_set_dxpl() */
H5CX_set_apl:
 1332|    571|{
 1333|    571|    H5CX_node_t **head      = NULL;    /* Pointer to head of API context list */
 1334|    571|    herr_t        ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    571|#define SUCCEED 0
  ------------------
 1335|       |
 1336|    571|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    571|    {                                                                                                        \
  |  | 1392|    571|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    571|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    571|                                                                                                             \
  |  |  |  | 1267|    571|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    571|        {
  ------------------
 1337|       |
 1338|       |    /* Sanity checks */
 1339|    571|    assert(acspl_id);
 1340|    571|    assert(libclass);
 1341|    571|    head = H5CX_get_my_context(); /* Get the pointer to the head of the API context, for this thread */
  ------------------
  |  |   58|    571|#define H5CX_get_my_context() (&H5CX_head_g)
  ------------------
 1342|    571|    assert(head && *head);
 1343|       |
 1344|       |    /* Set access plist to the default property list of the appropriate class if it's the generic default */
 1345|    571|    if (H5P_DEFAULT == *acspl_id)
  ------------------
  |  |  228|    571|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
  |  Branch (1345:9): [True: 556, False: 15]
  ------------------
 1346|    556|        *acspl_id = *libclass->def_plist_id;
 1347|     15|    else {
 1348|     15|        htri_t is_lapl; /* Whether the access property list is (or is derived from) a link access property
 1349|       |                           list */
 1350|     15|        htri_t is_dapl; /* Whether the access property list is (or is derived from) a dataset access property
 1351|       |                           list */
 1352|     15|        htri_t is_fapl; /* Whether the access property list is (or is derived from) a file access property
 1353|       |                           list */
 1354|       |
 1355|       |#ifdef H5CX_DEBUG
 1356|       |        /* Sanity check the access property list class */
 1357|       |        if (true != H5P_isa_class(*acspl_id, *libclass->class_id))
 1358|       |            HGOTO_ERROR(H5E_CONTEXT, H5E_BADTYPE, FAIL, "not the required access property list");
 1359|       |#endif /* H5CX_DEBUG*/
 1360|       |
 1361|       |        /* Check for link access property and set API context if so */
 1362|     15|        if ((is_lapl = H5P_class_isa(*libclass->pclass, *H5P_CLS_LACC->pclass)) < 0)
  ------------------
  |  Branch (1362:13): [True: 0, False: 15]
  ------------------
 1363|      0|            HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "can't check for link access class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1364|     15|        else if (is_lapl)
  ------------------
  |  Branch (1364:18): [True: 15, False: 0]
  ------------------
 1365|     15|            (*head)->ctx.lapl_id = *acspl_id;
 1366|       |
 1367|       |        /* Check for dataset access property and set API context if so */
 1368|     15|        if ((is_dapl = H5P_class_isa(*libclass->pclass, *H5P_CLS_DACC->pclass)) < 0)
  ------------------
  |  Branch (1368:13): [True: 0, False: 15]
  ------------------
 1369|      0|            HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "can't check for dataset access class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1370|     15|        else if (is_dapl)
  ------------------
  |  Branch (1370:18): [True: 15, False: 0]
  ------------------
 1371|     15|            (*head)->ctx.dapl_id = *acspl_id;
 1372|       |
 1373|       |        /* Check for file access property and set API context if so */
 1374|     15|        if ((is_fapl = H5P_class_isa(*libclass->pclass, *H5P_CLS_FACC->pclass)) < 0)
  ------------------
  |  Branch (1374:13): [True: 0, False: 15]
  ------------------
 1375|      0|            HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "can't check for file access class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1376|     15|        else if (is_fapl)
  ------------------
  |  Branch (1376:18): [True: 0, False: 15]
  ------------------
 1377|      0|            (*head)->ctx.fapl_id = *acspl_id;
 1378|       |
 1379|       |#ifdef H5_HAVE_PARALLEL
 1380|       |        /* If this routine is not guaranteed to be collective (i.e. it doesn't
 1381|       |         * modify the structural metadata in a file), check if the application
 1382|       |         * specified a collective metadata read for just this operation.
 1383|       |         */
 1384|       |        if (!is_collective) {
 1385|       |            H5P_genplist_t         *plist;        /* Property list pointer */
 1386|       |            H5P_coll_md_read_flag_t md_coll_read; /* Collective metadata read flag */
 1387|       |
 1388|       |            /* Get the plist structure for the access property list */
 1389|       |            if (NULL == (plist = (H5P_genplist_t *)H5I_object(*acspl_id)))
 1390|       |                HGOTO_ERROR(H5E_CONTEXT, H5E_BADID, FAIL, "can't find object for ID");
 1391|       |
 1392|       |            /* Get the collective metadata read flag */
 1393|       |            if (H5P_peek(plist, H5_COLL_MD_READ_FLAG_NAME, &md_coll_read) < 0)
 1394|       |                HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "can't get core collective metadata read flag");
 1395|       |
 1396|       |            /* If collective metadata read requested, set collective metadata read flag */
 1397|       |            if (H5P_USER_TRUE == md_coll_read)
 1398|       |                is_collective = true;
 1399|       |        } /* end if */
 1400|       |#endif    /* H5_HAVE_PARALLEL */
 1401|     15|    }     /* end else */
 1402|       |
 1403|       |#ifdef H5_HAVE_PARALLEL
 1404|       |    /* Check for collective operation */
 1405|       |    if (is_collective) {
 1406|       |        /* Set collective metadata read flag */
 1407|       |        (*head)->ctx.coll_metadata_read = true;
 1408|       |
 1409|       |        /* If parallel is enabled and the file driver used is the MPI-IO
 1410|       |         * VFD, issue an MPI barrier for easier debugging if the API function
 1411|       |         * calling this is supposed to be called collectively.
 1412|       |         */
 1413|       |        if (H5_coll_api_sanity_check_g) {
 1414|       |            MPI_Comm mpi_comm; /* File communicator */
 1415|       |
 1416|       |            /* Retrieve the MPI communicator from the loc_id or the fapl_id */
 1417|       |            if (H5F_mpi_retrieve_comm(loc_id, *acspl_id, &mpi_comm) < 0)
 1418|       |                HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "can't get MPI communicator");
 1419|       |
 1420|       |            /* issue the barrier */
 1421|       |            if (mpi_comm != MPI_COMM_NULL)
 1422|       |                MPI_Barrier(mpi_comm);
 1423|       |        } /* end if */
 1424|       |    }     /* end if */
 1425|       |#endif    /* H5_HAVE_PARALLEL */
 1426|       |
 1427|    571|done:
 1428|    571|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    571|    ;                                                                                                        \
  |  | 1573|    571|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    571|    return (ret_value);                                                                                      \
  |  | 1575|    571|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1429|    571|} /* end H5CX_set_apl() */
H5CX_set_vol_wrap_ctx:
 1499|  2.07k|{
 1500|  2.07k|    H5CX_node_t **head      = NULL;    /* Pointer to head of API context list */
 1501|  2.07k|    herr_t        ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|  2.07k|#define SUCCEED 0
  ------------------
 1502|       |
 1503|  2.07k|    FUNC_ENTER_NOAPI_NOERR
  ------------------
  |  | 1397|  2.07k|    {                                                                                                        \
  |  | 1398|  2.07k|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|  2.07k|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1399|  2.07k|        {
  ------------------
 1504|       |
 1505|       |    /* Sanity check */
 1506|  2.07k|    head = H5CX_get_my_context(); /* Get the pointer to the head of the API context, for this thread */
  ------------------
  |  |   58|  2.07k|#define H5CX_get_my_context() (&H5CX_head_g)
  ------------------
 1507|  2.07k|    assert(head && *head);
 1508|       |
 1509|       |    /* Set the API context value */
 1510|  2.07k|    (*head)->ctx.vol_wrap_ctx = vol_wrap_ctx;
 1511|       |
 1512|       |    /* Mark the value as valid */
 1513|  2.07k|    (*head)->ctx.vol_wrap_ctx_valid = true;
 1514|       |
 1515|  2.07k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  2.07k|    ;                                                                                                        \
  |  | 1573|  2.07k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  2.07k|    return (ret_value);                                                                                      \
  |  | 1575|  2.07k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1516|  2.07k|} /* end H5CX_set_vol_wrap_ctx() */
H5CX_set_vol_connector_prop:
 1529|     10|{
 1530|     10|    H5CX_node_t **head      = NULL;    /* Pointer to head of API context list */
 1531|     10|    herr_t        ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
 1532|       |
 1533|     10|    FUNC_ENTER_NOAPI_NOERR
  ------------------
  |  | 1397|     10|    {                                                                                                        \
  |  | 1398|     10|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|     10|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1399|     10|        {
  ------------------
 1534|       |
 1535|       |    /* Sanity check */
 1536|     10|    head = H5CX_get_my_context(); /* Get the pointer to the head of the API context, for this thread */
  ------------------
  |  |   58|     10|#define H5CX_get_my_context() (&H5CX_head_g)
  ------------------
 1537|     10|    assert(head && *head);
 1538|       |
 1539|       |    /* Set the API context value */
 1540|     10|    H5MM_memcpy(&(*head)->ctx.vol_connector_prop, vol_connector_prop, sizeof(H5VL_connector_prop_t));
  ------------------
  |  |   41|     10|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
 1541|       |
 1542|       |    /* Mark the value as valid */
 1543|     10|    (*head)->ctx.vol_connector_prop_valid = true;
 1544|       |
 1545|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1546|     10|} /* end H5CX_set_vol_connector_prop() */
H5CX_get_dxpl:
 1559|    218|{
 1560|    218|    H5CX_node_t **head    = NULL;            /* Pointer to head of API context list */
 1561|    218|    hid_t         dxpl_id = H5I_INVALID_HID; /* DXPL ID for API operation */
  ------------------
  |  |   75|    218|#define H5I_INVALID_HID (-1)
  ------------------
 1562|       |
 1563|    218|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|    218|    {                                                                                                        \
  |  | 1425|    218|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    218|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|    218|        {
  ------------------
 1564|       |
 1565|       |    /* Sanity check */
 1566|    218|    head = H5CX_get_my_context(); /* Get the pointer to the head of the API context, for this thread */
  ------------------
  |  |   58|    218|#define H5CX_get_my_context() (&H5CX_head_g)
  ------------------
 1567|    218|    assert(head && *head);
 1568|       |
 1569|       |    /* Set return value */
 1570|    218|    dxpl_id = (*head)->ctx.dxpl_id;
 1571|       |
 1572|    218|    FUNC_LEAVE_NOAPI(dxpl_id)
  ------------------
  |  | 1572|    218|    ;                                                                                                        \
  |  | 1573|    218|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    218|    return (ret_value);                                                                                      \
  |  | 1575|    218|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1573|    218|} /* end H5CX_get_dxpl() */
H5CX_get_lapl:
 1586|      9|{
 1587|      9|    H5CX_node_t **head    = NULL;            /* Pointer to head of API context list */
 1588|      9|    hid_t         lapl_id = H5I_INVALID_HID; /* LAPL ID for API operation */
  ------------------
  |  |   75|      9|#define H5I_INVALID_HID (-1)
  ------------------
 1589|       |
 1590|      9|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      9|    {                                                                                                        \
  |  | 1425|      9|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      9|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      9|        {
  ------------------
 1591|       |
 1592|       |    /* Sanity check */
 1593|      9|    head = H5CX_get_my_context(); /* Get the pointer to the head of the API context, for this thread */
  ------------------
  |  |   58|      9|#define H5CX_get_my_context() (&H5CX_head_g)
  ------------------
 1594|      9|    assert(head && *head);
 1595|       |
 1596|       |    /* Set return value */
 1597|      9|    lapl_id = (*head)->ctx.lapl_id;
 1598|       |
 1599|      9|    FUNC_LEAVE_NOAPI(lapl_id)
  ------------------
  |  | 1572|      9|    ;                                                                                                        \
  |  | 1573|      9|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      9|    return (ret_value);                                                                                      \
  |  | 1575|      9|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1600|      9|} /* end H5CX_get_lapl() */
H5CX_get_vol_wrap_ctx:
 1613|  2.24k|{
 1614|  2.24k|    H5CX_node_t **head      = NULL;    /* Pointer to head of API context list */
 1615|  2.24k|    herr_t        ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|  2.24k|#define SUCCEED 0
  ------------------
 1616|       |
 1617|  2.24k|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|  2.24k|    {                                                                                                        \
  |  | 1392|  2.24k|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|  2.24k|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|  2.24k|                                                                                                             \
  |  |  |  | 1267|  2.24k|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|  2.24k|        {
  ------------------
 1618|       |
 1619|       |    /* Sanity check */
 1620|  2.24k|    assert(vol_wrap_ctx);
 1621|  2.24k|    head = H5CX_get_my_context(); /* Get the pointer to the head of the API context, for this thread */
  ------------------
  |  |   58|  2.24k|#define H5CX_get_my_context() (&H5CX_head_g)
  ------------------
 1622|       |
 1623|       |    /* No error is expected at this point.  But in case an application calls H5VLwrap_register
 1624|       |     * which doesn't reset the API context and there is no context, returns a relevant error here
 1625|       |     */
 1626|  2.24k|    if (!head)
  ------------------
  |  Branch (1626:9): [True: 0, False: 2.24k]
  ------------------
 1627|      0|        HGOTO_ERROR(H5E_CONTEXT, H5E_UNINITIALIZED, FAIL, "the API context isn't available");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1628|       |
 1629|  2.24k|    if (!(*head))
  ------------------
  |  Branch (1629:9): [True: 0, False: 2.24k]
  ------------------
 1630|      0|        HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "unable to get the current API context");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1631|       |
 1632|       |    /* Check for value that was set */
 1633|  2.24k|    if ((*head)->ctx.vol_wrap_ctx_valid)
  ------------------
  |  Branch (1633:9): [True: 1.33k, False: 907]
  ------------------
 1634|       |        /* Get the value */
 1635|  1.33k|        *vol_wrap_ctx = (*head)->ctx.vol_wrap_ctx;
 1636|    907|    else
 1637|    907|        *vol_wrap_ctx = NULL;
 1638|       |
 1639|  2.24k|done:
 1640|  2.24k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  2.24k|    ;                                                                                                        \
  |  | 1573|  2.24k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  2.24k|    return (ret_value);                                                                                      \
  |  | 1575|  2.24k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1641|  2.24k|} /* end H5CX_get_vol_wrap_ctx() */
H5CX_get_vol_connector_prop:
 1654|     10|{
 1655|     10|    H5CX_node_t **head      = NULL;    /* Pointer to head of API context list */
 1656|     10|    herr_t        ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
 1657|       |
 1658|     10|    FUNC_ENTER_NOAPI_NOERR
  ------------------
  |  | 1397|     10|    {                                                                                                        \
  |  | 1398|     10|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|     10|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1399|     10|        {
  ------------------
 1659|       |
 1660|       |    /* Sanity check */
 1661|     10|    assert(vol_connector_prop);
 1662|     10|    head = H5CX_get_my_context(); /* Get the pointer to the head of the API context, for this thread */
  ------------------
  |  |   58|     10|#define H5CX_get_my_context() (&H5CX_head_g)
  ------------------
 1663|     10|    assert(head && *head);
 1664|       |
 1665|       |    /* Check for value that was set */
 1666|     10|    if ((*head)->ctx.vol_connector_prop_valid)
  ------------------
  |  Branch (1666:9): [True: 10, False: 0]
  ------------------
 1667|       |        /* Get the value */
 1668|     10|        H5MM_memcpy(vol_connector_prop, &(*head)->ctx.vol_connector_prop, sizeof(H5VL_connector_prop_t));
  ------------------
  |  |   41|     10|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
 1669|      0|    else
 1670|      0|        memset(vol_connector_prop, 0, sizeof(H5VL_connector_prop_t));
 1671|       |
 1672|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1673|     10|} /* end H5CX_get_vol_connector_prop() */
H5CX_get_tag:
 1686|  4.87k|{
 1687|  4.87k|    H5CX_node_t **head = NULL;        /* Pointer to head of API context list */
 1688|  4.87k|    haddr_t       tag  = HADDR_UNDEF; /* Current object's tag (ohdr chunk #0 address) */
  ------------------
  |  |  336|  4.87k|#define HADDR_UNDEF         UINT64_MAX
  ------------------
 1689|       |
 1690|  4.87k|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|  4.87k|    {                                                                                                        \
  |  | 1425|  4.87k|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|  4.87k|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|  4.87k|        {
  ------------------
 1691|       |
 1692|       |    /* Sanity check */
 1693|  4.87k|    head = H5CX_get_my_context(); /* Get the pointer to the head of the API context, for this thread */
  ------------------
  |  |   58|  4.87k|#define H5CX_get_my_context() (&H5CX_head_g)
  ------------------
 1694|  4.87k|    assert(head && *head);
 1695|       |
 1696|       |    /* Set return value */
 1697|  4.87k|    tag = (*head)->ctx.tag;
 1698|       |
 1699|  4.87k|    FUNC_LEAVE_NOAPI(tag)
  ------------------
  |  | 1572|  4.87k|    ;                                                                                                        \
  |  | 1573|  4.87k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  4.87k|    return (ret_value);                                                                                      \
  |  | 1575|  4.87k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1700|  4.87k|} /* end H5CX_get_tag() */
H5CX_get_ring:
 1713|  3.29k|{
 1714|  3.29k|    H5CX_node_t **head = NULL;          /* Pointer to head of API context list */
 1715|  3.29k|    H5AC_ring_t   ring = H5AC_RING_INV; /* Current metadata cache ring for entries */
  ------------------
  |  |  147|  3.29k|#define H5AC_RING_INV    H5C_RING_UNDEFINED
  |  |  ------------------
  |  |  |  |  940|  3.29k|#define H5C_RING_UNDEFINED 0 /* shouldn't appear in the cache */
  |  |  ------------------
  ------------------
 1716|       |
 1717|  3.29k|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|  3.29k|    {                                                                                                        \
  |  | 1425|  3.29k|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|  3.29k|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|  3.29k|        {
  ------------------
 1718|       |
 1719|       |    /* Sanity check */
 1720|  3.29k|    head = H5CX_get_my_context(); /* Get the pointer to the head of the API context, for this thread */
  ------------------
  |  |   58|  3.29k|#define H5CX_get_my_context() (&H5CX_head_g)
  ------------------
 1721|  3.29k|    assert(head && *head);
 1722|       |
 1723|       |    /* Set return value */
 1724|  3.29k|    ring = (*head)->ctx.ring;
 1725|       |
 1726|  3.29k|    FUNC_LEAVE_NOAPI(ring)
  ------------------
  |  | 1572|  3.29k|    ;                                                                                                        \
  |  | 1573|  3.29k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  3.29k|    return (ret_value);                                                                                      \
  |  | 1575|  3.29k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1727|  3.29k|} /* end H5CX_get_ring() */
H5CX_get_max_temp_buf:
 1890|      9|{
 1891|      9|    H5CX_node_t **head      = NULL;    /* Pointer to head of API context list */
 1892|      9|    herr_t        ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      9|#define SUCCEED 0
  ------------------
 1893|       |
 1894|      9|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      9|    {                                                                                                        \
  |  | 1392|      9|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      9|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      9|                                                                                                             \
  |  |  |  | 1267|      9|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      9|        {
  ------------------
 1895|       |
 1896|       |    /* Sanity check */
 1897|      9|    assert(max_temp_buf);
 1898|      9|    head = H5CX_get_my_context(); /* Get the pointer to the head of the API context, for this thread */
  ------------------
  |  |   58|      9|#define H5CX_get_my_context() (&H5CX_head_g)
  ------------------
 1899|      9|    assert(head && *head);
 1900|      9|    assert(H5P_DEFAULT != (*head)->ctx.dxpl_id);
 1901|       |
 1902|      9|    H5CX_RETRIEVE_PROP_VALID(dxpl, H5P_DATASET_XFER_DEFAULT, H5D_XFER_MAX_TEMP_BUF_NAME, max_temp_buf)
  ------------------
  |  |   90|      9|    if (!(*head)->ctx.H5_GLUE(PROP_FIELD, _valid)) {                                                         \
  |  |  ------------------
  |  |  |  |  893|      9|#define H5_GLUE(x, y)        x##y
  |  |  ------------------
  |  |  |  Branch (90:9): [True: 9, False: 0]
  |  |  ------------------
  |  |   91|      9|        H5CX_RETRIEVE_PROP_COMMON(PL, DEF_PL, PROP_NAME, PROP_FIELD)                                         \
  |  |  ------------------
  |  |  |  |   72|      9|    if ((*head)->ctx.H5_GLUE(PL, _id) == (DEF_PL))                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  893|      9|#define H5_GLUE(x, y)        x##y
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:9): [True: 9, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   73|      9|        H5MM_memcpy(&(*head)->ctx.PROP_FIELD, &H5_GLUE3(H5CX_def_, PL, _cache).PROP_FIELD,                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      9|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  ------------------
  |  |  |  |   74|      9|                    sizeof(H5_GLUE3(H5CX_def_, PL, _cache).PROP_FIELD));                                     \
  |  |  |  |   75|      9|    else {                                                                                                   \
  |  |  |  |   76|      0|        /* Retrieve the property list */                                                                     \
  |  |  |  |   77|      0|        H5CX_RETRIEVE_PLIST(PL, FAIL)                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   64|      0|    if (NULL == (*head)->ctx.PL)                                                                             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (64:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   65|      0|        /* Get the property list pointer */                                                                  \
  |  |  |  |  |  |   66|      0|        if (NULL == ((*head)->ctx.PL = (H5P_genplist_t *)H5I_object((*head)->ctx.H5_GLUE(PL, _id))))         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (66:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   67|      0|            HGOTO_ERROR(H5E_CONTEXT, H5E_BADTYPE, (FAILVAL), "can't get property list");
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   78|      0|                                                                                                             \
  |  |  |  |   79|      0|        /* Get the property */                                                                               \
  |  |  |  |   80|      0|        if (H5P_get((*head)->ctx.PL, (PROP_NAME), &(*head)->ctx.PROP_FIELD) < 0)                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   81|      0|            HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "can't retrieve value from API context");            \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   82|      0|    } /* end else */                                                                                         \
  |  |  |  |   83|      9|                                                                                                             \
  |  |  |  |   84|      9|    /* Mark the field as valid */                                                                            \
  |  |  |  |   85|      9|    (*head)->ctx.H5_GLUE(PROP_FIELD, _valid) = true;
  |  |  |  |  ------------------
  |  |  |  |  |  |  893|      9|#define H5_GLUE(x, y)        x##y
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   92|      9|    } /* end if */
  ------------------
 1903|       |
 1904|       |    /* Get the value */
 1905|      9|    *max_temp_buf = (*head)->ctx.max_temp_buf;
 1906|       |
 1907|      9|done:
 1908|      9|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      9|    ;                                                                                                        \
  |  | 1573|      9|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      9|    return (ret_value);                                                                                      \
  |  | 1575|      9|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1909|      9|} /* end H5CX_get_max_temp_buf() */
H5CX_get_tconv_buf:
 1922|      9|{
 1923|      9|    H5CX_node_t **head      = NULL;    /* Pointer to head of API context list */
 1924|      9|    herr_t        ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      9|#define SUCCEED 0
  ------------------
 1925|       |
 1926|      9|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      9|    {                                                                                                        \
  |  | 1392|      9|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      9|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      9|                                                                                                             \
  |  |  |  | 1267|      9|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      9|        {
  ------------------
 1927|       |
 1928|       |    /* Sanity check */
 1929|      9|    assert(tconv_buf);
 1930|      9|    head = H5CX_get_my_context(); /* Get the pointer to the head of the API context, for this thread */
  ------------------
  |  |   58|      9|#define H5CX_get_my_context() (&H5CX_head_g)
  ------------------
 1931|      9|    assert(head && *head);
 1932|      9|    assert(H5P_DEFAULT != (*head)->ctx.dxpl_id);
 1933|       |
 1934|      9|    H5CX_RETRIEVE_PROP_VALID(dxpl, H5P_DATASET_XFER_DEFAULT, H5D_XFER_TCONV_BUF_NAME, tconv_buf)
  ------------------
  |  |   90|      9|    if (!(*head)->ctx.H5_GLUE(PROP_FIELD, _valid)) {                                                         \
  |  |  ------------------
  |  |  |  |  893|      9|#define H5_GLUE(x, y)        x##y
  |  |  ------------------
  |  |  |  Branch (90:9): [True: 9, False: 0]
  |  |  ------------------
  |  |   91|      9|        H5CX_RETRIEVE_PROP_COMMON(PL, DEF_PL, PROP_NAME, PROP_FIELD)                                         \
  |  |  ------------------
  |  |  |  |   72|      9|    if ((*head)->ctx.H5_GLUE(PL, _id) == (DEF_PL))                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  893|      9|#define H5_GLUE(x, y)        x##y
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:9): [True: 9, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   73|      9|        H5MM_memcpy(&(*head)->ctx.PROP_FIELD, &H5_GLUE3(H5CX_def_, PL, _cache).PROP_FIELD,                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      9|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  ------------------
  |  |  |  |   74|      9|                    sizeof(H5_GLUE3(H5CX_def_, PL, _cache).PROP_FIELD));                                     \
  |  |  |  |   75|      9|    else {                                                                                                   \
  |  |  |  |   76|      0|        /* Retrieve the property list */                                                                     \
  |  |  |  |   77|      0|        H5CX_RETRIEVE_PLIST(PL, FAIL)                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   64|      0|    if (NULL == (*head)->ctx.PL)                                                                             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (64:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   65|      0|        /* Get the property list pointer */                                                                  \
  |  |  |  |  |  |   66|      0|        if (NULL == ((*head)->ctx.PL = (H5P_genplist_t *)H5I_object((*head)->ctx.H5_GLUE(PL, _id))))         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (66:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   67|      0|            HGOTO_ERROR(H5E_CONTEXT, H5E_BADTYPE, (FAILVAL), "can't get property list");
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   78|      0|                                                                                                             \
  |  |  |  |   79|      0|        /* Get the property */                                                                               \
  |  |  |  |   80|      0|        if (H5P_get((*head)->ctx.PL, (PROP_NAME), &(*head)->ctx.PROP_FIELD) < 0)                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   81|      0|            HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "can't retrieve value from API context");            \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   82|      0|    } /* end else */                                                                                         \
  |  |  |  |   83|      9|                                                                                                             \
  |  |  |  |   84|      9|    /* Mark the field as valid */                                                                            \
  |  |  |  |   85|      9|    (*head)->ctx.H5_GLUE(PROP_FIELD, _valid) = true;
  |  |  |  |  ------------------
  |  |  |  |  |  |  893|      9|#define H5_GLUE(x, y)        x##y
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   92|      9|    } /* end if */
  ------------------
 1935|       |
 1936|       |    /* Get the value */
 1937|      9|    *tconv_buf = (*head)->ctx.tconv_buf;
 1938|       |
 1939|      9|done:
 1940|      9|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      9|    ;                                                                                                        \
  |  | 1573|      9|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      9|    return (ret_value);                                                                                      \
  |  | 1575|      9|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1941|      9|} /* end H5CX_get_tconv_buf() */
H5CX_get_bkgr_buf:
 1954|      9|{
 1955|      9|    H5CX_node_t **head      = NULL;    /* Pointer to head of API context list */
 1956|      9|    herr_t        ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      9|#define SUCCEED 0
  ------------------
 1957|       |
 1958|      9|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      9|    {                                                                                                        \
  |  | 1392|      9|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      9|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      9|                                                                                                             \
  |  |  |  | 1267|      9|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      9|        {
  ------------------
 1959|       |
 1960|       |    /* Sanity check */
 1961|      9|    assert(bkgr_buf);
 1962|      9|    head = H5CX_get_my_context(); /* Get the pointer to the head of the API context, for this thread */
  ------------------
  |  |   58|      9|#define H5CX_get_my_context() (&H5CX_head_g)
  ------------------
 1963|      9|    assert(head && *head);
 1964|      9|    assert(H5P_DEFAULT != (*head)->ctx.dxpl_id);
 1965|       |
 1966|      9|    H5CX_RETRIEVE_PROP_VALID(dxpl, H5P_DATASET_XFER_DEFAULT, H5D_XFER_BKGR_BUF_NAME, bkgr_buf)
  ------------------
  |  |   90|      9|    if (!(*head)->ctx.H5_GLUE(PROP_FIELD, _valid)) {                                                         \
  |  |  ------------------
  |  |  |  |  893|      9|#define H5_GLUE(x, y)        x##y
  |  |  ------------------
  |  |  |  Branch (90:9): [True: 9, False: 0]
  |  |  ------------------
  |  |   91|      9|        H5CX_RETRIEVE_PROP_COMMON(PL, DEF_PL, PROP_NAME, PROP_FIELD)                                         \
  |  |  ------------------
  |  |  |  |   72|      9|    if ((*head)->ctx.H5_GLUE(PL, _id) == (DEF_PL))                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  893|      9|#define H5_GLUE(x, y)        x##y
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:9): [True: 9, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   73|      9|        H5MM_memcpy(&(*head)->ctx.PROP_FIELD, &H5_GLUE3(H5CX_def_, PL, _cache).PROP_FIELD,                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      9|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  ------------------
  |  |  |  |   74|      9|                    sizeof(H5_GLUE3(H5CX_def_, PL, _cache).PROP_FIELD));                                     \
  |  |  |  |   75|      9|    else {                                                                                                   \
  |  |  |  |   76|      0|        /* Retrieve the property list */                                                                     \
  |  |  |  |   77|      0|        H5CX_RETRIEVE_PLIST(PL, FAIL)                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   64|      0|    if (NULL == (*head)->ctx.PL)                                                                             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (64:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   65|      0|        /* Get the property list pointer */                                                                  \
  |  |  |  |  |  |   66|      0|        if (NULL == ((*head)->ctx.PL = (H5P_genplist_t *)H5I_object((*head)->ctx.H5_GLUE(PL, _id))))         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (66:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   67|      0|            HGOTO_ERROR(H5E_CONTEXT, H5E_BADTYPE, (FAILVAL), "can't get property list");
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   78|      0|                                                                                                             \
  |  |  |  |   79|      0|        /* Get the property */                                                                               \
  |  |  |  |   80|      0|        if (H5P_get((*head)->ctx.PL, (PROP_NAME), &(*head)->ctx.PROP_FIELD) < 0)                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   81|      0|            HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "can't retrieve value from API context");            \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   82|      0|    } /* end else */                                                                                         \
  |  |  |  |   83|      9|                                                                                                             \
  |  |  |  |   84|      9|    /* Mark the field as valid */                                                                            \
  |  |  |  |   85|      9|    (*head)->ctx.H5_GLUE(PROP_FIELD, _valid) = true;
  |  |  |  |  ------------------
  |  |  |  |  |  |  893|      9|#define H5_GLUE(x, y)        x##y
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   92|      9|    } /* end if */
  ------------------
 1967|       |
 1968|       |    /* Get the value */
 1969|      9|    *bkgr_buf = (*head)->ctx.bkgr_buf;
 1970|       |
 1971|      9|done:
 1972|      9|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      9|    ;                                                                                                        \
  |  | 1573|      9|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      9|    return (ret_value);                                                                                      \
  |  | 1575|      9|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1973|      9|} /* end H5CX_get_bkgr_buf() */
H5CX_get_bkgr_buf_type:
 1986|      9|{
 1987|      9|    H5CX_node_t **head      = NULL;    /* Pointer to head of API context list */
 1988|      9|    herr_t        ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      9|#define SUCCEED 0
  ------------------
 1989|       |
 1990|      9|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      9|    {                                                                                                        \
  |  | 1392|      9|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      9|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      9|                                                                                                             \
  |  |  |  | 1267|      9|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      9|        {
  ------------------
 1991|       |
 1992|       |    /* Sanity check */
 1993|      9|    assert(bkgr_buf_type);
 1994|      9|    head = H5CX_get_my_context(); /* Get the pointer to the head of the API context, for this thread */
  ------------------
  |  |   58|      9|#define H5CX_get_my_context() (&H5CX_head_g)
  ------------------
 1995|      9|    assert(head && *head);
 1996|      9|    assert(H5P_DEFAULT != (*head)->ctx.dxpl_id);
 1997|       |
 1998|      9|    H5CX_RETRIEVE_PROP_VALID(dxpl, H5P_DATASET_XFER_DEFAULT, H5D_XFER_BKGR_BUF_TYPE_NAME, bkgr_buf_type)
  ------------------
  |  |   90|      9|    if (!(*head)->ctx.H5_GLUE(PROP_FIELD, _valid)) {                                                         \
  |  |  ------------------
  |  |  |  |  893|      9|#define H5_GLUE(x, y)        x##y
  |  |  ------------------
  |  |  |  Branch (90:9): [True: 9, False: 0]
  |  |  ------------------
  |  |   91|      9|        H5CX_RETRIEVE_PROP_COMMON(PL, DEF_PL, PROP_NAME, PROP_FIELD)                                         \
  |  |  ------------------
  |  |  |  |   72|      9|    if ((*head)->ctx.H5_GLUE(PL, _id) == (DEF_PL))                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  893|      9|#define H5_GLUE(x, y)        x##y
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:9): [True: 9, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   73|      9|        H5MM_memcpy(&(*head)->ctx.PROP_FIELD, &H5_GLUE3(H5CX_def_, PL, _cache).PROP_FIELD,                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      9|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  ------------------
  |  |  |  |   74|      9|                    sizeof(H5_GLUE3(H5CX_def_, PL, _cache).PROP_FIELD));                                     \
  |  |  |  |   75|      9|    else {                                                                                                   \
  |  |  |  |   76|      0|        /* Retrieve the property list */                                                                     \
  |  |  |  |   77|      0|        H5CX_RETRIEVE_PLIST(PL, FAIL)                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   64|      0|    if (NULL == (*head)->ctx.PL)                                                                             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (64:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   65|      0|        /* Get the property list pointer */                                                                  \
  |  |  |  |  |  |   66|      0|        if (NULL == ((*head)->ctx.PL = (H5P_genplist_t *)H5I_object((*head)->ctx.H5_GLUE(PL, _id))))         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (66:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   67|      0|            HGOTO_ERROR(H5E_CONTEXT, H5E_BADTYPE, (FAILVAL), "can't get property list");
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   78|      0|                                                                                                             \
  |  |  |  |   79|      0|        /* Get the property */                                                                               \
  |  |  |  |   80|      0|        if (H5P_get((*head)->ctx.PL, (PROP_NAME), &(*head)->ctx.PROP_FIELD) < 0)                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   81|      0|            HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "can't retrieve value from API context");            \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   82|      0|    } /* end else */                                                                                         \
  |  |  |  |   83|      9|                                                                                                             \
  |  |  |  |   84|      9|    /* Mark the field as valid */                                                                            \
  |  |  |  |   85|      9|    (*head)->ctx.H5_GLUE(PROP_FIELD, _valid) = true;
  |  |  |  |  ------------------
  |  |  |  |  |  |  893|      9|#define H5_GLUE(x, y)        x##y
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   92|      9|    } /* end if */
  ------------------
 1999|       |
 2000|       |    /* Get the value */
 2001|      9|    *bkgr_buf_type = (*head)->ctx.bkgr_buf_type;
 2002|       |
 2003|      9|done:
 2004|      9|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      9|    ;                                                                                                        \
  |  | 1573|      9|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      9|    return (ret_value);                                                                                      \
  |  | 1575|      9|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2005|      9|} /* end H5CX_get_bkgr_buf_type() */
H5CX_get_vec_size:
 2018|     40|{
 2019|     40|    H5CX_node_t **head      = NULL;    /* Pointer to head of API context list */
 2020|     40|    herr_t        ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     40|#define SUCCEED 0
  ------------------
 2021|       |
 2022|     40|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     40|    {                                                                                                        \
  |  | 1392|     40|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     40|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     40|                                                                                                             \
  |  |  |  | 1267|     40|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     40|        {
  ------------------
 2023|       |
 2024|       |    /* Sanity check */
 2025|     40|    assert(vec_size);
 2026|     40|    head = H5CX_get_my_context(); /* Get the pointer to the head of the API context, for this thread */
  ------------------
  |  |   58|     40|#define H5CX_get_my_context() (&H5CX_head_g)
  ------------------
 2027|     40|    assert(head && *head);
 2028|     40|    assert(H5P_DEFAULT != (*head)->ctx.dxpl_id);
 2029|       |
 2030|     40|    H5CX_RETRIEVE_PROP_VALID(dxpl, H5P_DATASET_XFER_DEFAULT, H5D_XFER_HYPER_VECTOR_SIZE_NAME, vec_size)
  ------------------
  |  |   90|     40|    if (!(*head)->ctx.H5_GLUE(PROP_FIELD, _valid)) {                                                         \
  |  |  ------------------
  |  |  |  |  893|     40|#define H5_GLUE(x, y)        x##y
  |  |  ------------------
  |  |  |  Branch (90:9): [True: 31, False: 9]
  |  |  ------------------
  |  |   91|     31|        H5CX_RETRIEVE_PROP_COMMON(PL, DEF_PL, PROP_NAME, PROP_FIELD)                                         \
  |  |  ------------------
  |  |  |  |   72|     31|    if ((*head)->ctx.H5_GLUE(PL, _id) == (DEF_PL))                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  893|     31|#define H5_GLUE(x, y)        x##y
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:9): [True: 31, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   73|     31|        H5MM_memcpy(&(*head)->ctx.PROP_FIELD, &H5_GLUE3(H5CX_def_, PL, _cache).PROP_FIELD,                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|     31|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  ------------------
  |  |  |  |   74|     31|                    sizeof(H5_GLUE3(H5CX_def_, PL, _cache).PROP_FIELD));                                     \
  |  |  |  |   75|     31|    else {                                                                                                   \
  |  |  |  |   76|      0|        /* Retrieve the property list */                                                                     \
  |  |  |  |   77|      0|        H5CX_RETRIEVE_PLIST(PL, FAIL)                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   64|      0|    if (NULL == (*head)->ctx.PL)                                                                             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (64:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   65|      0|        /* Get the property list pointer */                                                                  \
  |  |  |  |  |  |   66|      0|        if (NULL == ((*head)->ctx.PL = (H5P_genplist_t *)H5I_object((*head)->ctx.H5_GLUE(PL, _id))))         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (66:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   67|      0|            HGOTO_ERROR(H5E_CONTEXT, H5E_BADTYPE, (FAILVAL), "can't get property list");
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   78|      0|                                                                                                             \
  |  |  |  |   79|      0|        /* Get the property */                                                                               \
  |  |  |  |   80|      0|        if (H5P_get((*head)->ctx.PL, (PROP_NAME), &(*head)->ctx.PROP_FIELD) < 0)                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   81|      0|            HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "can't retrieve value from API context");            \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   82|      0|    } /* end else */                                                                                         \
  |  |  |  |   83|     31|                                                                                                             \
  |  |  |  |   84|     31|    /* Mark the field as valid */                                                                            \
  |  |  |  |   85|     31|    (*head)->ctx.H5_GLUE(PROP_FIELD, _valid) = true;
  |  |  |  |  ------------------
  |  |  |  |  |  |  893|     31|#define H5_GLUE(x, y)        x##y
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   92|     31|    } /* end if */
  ------------------
 2031|       |
 2032|       |    /* Get the value */
 2033|     40|    *vec_size = (*head)->ctx.vec_size;
 2034|       |
 2035|     40|done:
 2036|     40|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     40|    ;                                                                                                        \
  |  | 1573|     40|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     40|    return (ret_value);                                                                                      \
  |  | 1575|     40|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2037|     40|} /* end H5CX_get_vec_size() */
H5CX_get_data_transform:
 2346|     31|{
 2347|     31|    H5CX_node_t **head      = NULL;    /* Pointer to head of API context list */
 2348|     31|    herr_t        ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     31|#define SUCCEED 0
  ------------------
 2349|       |
 2350|     31|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     31|    {                                                                                                        \
  |  | 1392|     31|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     31|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     31|                                                                                                             \
  |  |  |  | 1267|     31|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     31|        {
  ------------------
 2351|       |
 2352|       |    /* Sanity check */
 2353|     31|    assert(data_transform);
 2354|     31|    head = H5CX_get_my_context(); /* Get the pointer to the head of the API context, for this thread */
  ------------------
  |  |   58|     31|#define H5CX_get_my_context() (&H5CX_head_g)
  ------------------
 2355|     31|    assert(head && *head);
 2356|     31|    assert(H5P_DEFAULT != (*head)->ctx.dxpl_id);
 2357|       |
 2358|       |    /* Check if the value has been retrieved already */
 2359|     31|    if (!(*head)->ctx.data_transform_valid) {
  ------------------
  |  Branch (2359:9): [True: 31, False: 0]
  ------------------
 2360|       |        /* Check for default DXPL */
 2361|     31|        if ((*head)->ctx.dxpl_id == H5P_DATASET_XFER_DEFAULT)
  ------------------
  |  |  160|     31|#define H5P_DATASET_XFER_DEFAULT (H5OPEN H5P_LST_DATASET_XFER_ID_g)
  ------------------
  |  Branch (2361:13): [True: 31, False: 0]
  ------------------
 2362|     31|            (*head)->ctx.data_transform = H5CX_def_dxpl_cache.data_transform;
 2363|      0|        else {
 2364|       |            /* Check if the property list is already available */
 2365|      0|            if (NULL == (*head)->ctx.dxpl)
  ------------------
  |  Branch (2365:17): [True: 0, False: 0]
  ------------------
 2366|       |                /* Get the dataset transfer property list pointer */
 2367|      0|                if (NULL == ((*head)->ctx.dxpl = (H5P_genplist_t *)H5I_object((*head)->ctx.dxpl_id)))
  ------------------
  |  Branch (2367:21): [True: 0, False: 0]
  ------------------
 2368|      0|                    HGOTO_ERROR(H5E_CONTEXT, H5E_BADTYPE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2369|      0|                                "can't get default dataset transfer property list");
 2370|       |
 2371|       |            /* Get data transform info value */
 2372|       |            /* (Note: 'peek', not 'get' - if this turns out to be a problem, we may need
 2373|       |             *          to copy it and free this in the H5CX pop routine. -QAK)
 2374|       |             */
 2375|      0|            if (H5P_peek((*head)->ctx.dxpl, H5D_XFER_XFORM_NAME, &(*head)->ctx.data_transform) < 0)
  ------------------
  |  |   85|      0|#define H5D_XFER_XFORM_NAME                    "data_transform"        /* Data transform */
  ------------------
  |  Branch (2375:17): [True: 0, False: 0]
  ------------------
 2376|      0|                HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "Can't retrieve data transform info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2377|      0|        } /* end else */
 2378|       |
 2379|       |        /* Mark the value as valid */
 2380|     31|        (*head)->ctx.data_transform_valid = true;
 2381|     31|    } /* end if */
 2382|       |
 2383|       |    /* Get the value */
 2384|     31|    *data_transform = (*head)->ctx.data_transform;
 2385|       |
 2386|     31|done:
 2387|     31|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     31|    ;                                                                                                        \
  |  | 1573|     31|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     31|    return (ret_value);                                                                                      \
  |  | 1575|     31|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2388|     31|} /* end H5CX_get_data_transform() */
H5CX_get_vlen_alloc_info:
 2401|      3|{
 2402|      3|    H5CX_node_t **head      = NULL;    /* Pointer to head of API context list */
 2403|      3|    herr_t        ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      3|#define SUCCEED 0
  ------------------
 2404|       |
 2405|      3|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      3|    {                                                                                                        \
  |  | 1392|      3|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      3|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      3|                                                                                                             \
  |  |  |  | 1267|      3|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      3|        {
  ------------------
 2406|       |
 2407|       |    /* Sanity check */
 2408|      3|    assert(vl_alloc_info);
 2409|      3|    head = H5CX_get_my_context(); /* Get the pointer to the head of the API context, for this thread */
  ------------------
  |  |   58|      3|#define H5CX_get_my_context() (&H5CX_head_g)
  ------------------
 2410|      3|    assert(head && *head);
 2411|      3|    assert(H5P_DEFAULT != (*head)->ctx.dxpl_id);
 2412|       |
 2413|       |    /* Check if the value has been retrieved already */
 2414|      3|    if (!(*head)->ctx.vl_alloc_info_valid) {
  ------------------
  |  Branch (2414:9): [True: 3, False: 0]
  ------------------
 2415|       |        /* Check for default DXPL */
 2416|      3|        if ((*head)->ctx.dxpl_id == H5P_DATASET_XFER_DEFAULT)
  ------------------
  |  |  160|      3|#define H5P_DATASET_XFER_DEFAULT (H5OPEN H5P_LST_DATASET_XFER_ID_g)
  ------------------
  |  Branch (2416:13): [True: 3, False: 0]
  ------------------
 2417|      3|            (*head)->ctx.vl_alloc_info = H5CX_def_dxpl_cache.vl_alloc_info;
 2418|      0|        else {
 2419|       |            /* Check if the property list is already available */
 2420|      0|            if (NULL == (*head)->ctx.dxpl)
  ------------------
  |  Branch (2420:17): [True: 0, False: 0]
  ------------------
 2421|       |                /* Get the dataset transfer property list pointer */
 2422|      0|                if (NULL == ((*head)->ctx.dxpl = (H5P_genplist_t *)H5I_object((*head)->ctx.dxpl_id)))
  ------------------
  |  Branch (2422:21): [True: 0, False: 0]
  ------------------
 2423|      0|                    HGOTO_ERROR(H5E_CONTEXT, H5E_BADTYPE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2424|      0|                                "can't get default dataset transfer property list");
 2425|       |
 2426|       |            /* Get VL datatype alloc info values */
 2427|      0|            if (H5P_get((*head)->ctx.dxpl, H5D_XFER_VLEN_ALLOC_NAME, &(*head)->ctx.vl_alloc_info.alloc_func) <
  ------------------
  |  |   64|      0|#define H5D_XFER_VLEN_ALLOC_NAME            "vlen_alloc"          /* Vlen allocation function */
  ------------------
  |  Branch (2427:17): [True: 0, False: 0]
  ------------------
 2428|      0|                0)
 2429|      0|                HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "Can't retrieve VL datatype alloc info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2430|      0|            if (H5P_get((*head)->ctx.dxpl, H5D_XFER_VLEN_ALLOC_INFO_NAME,
  ------------------
  |  |   65|      0|#define H5D_XFER_VLEN_ALLOC_INFO_NAME       "vlen_alloc_info"     /* Vlen allocation info */
  ------------------
  |  Branch (2430:17): [True: 0, False: 0]
  ------------------
 2431|      0|                        &(*head)->ctx.vl_alloc_info.alloc_info) < 0)
 2432|      0|                HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "Can't retrieve VL datatype alloc info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2433|      0|            if (H5P_get((*head)->ctx.dxpl, H5D_XFER_VLEN_FREE_NAME, &(*head)->ctx.vl_alloc_info.free_func) <
  ------------------
  |  |   66|      0|#define H5D_XFER_VLEN_FREE_NAME             "vlen_free"           /* Vlen free function */
  ------------------
  |  Branch (2433:17): [True: 0, False: 0]
  ------------------
 2434|      0|                0)
 2435|      0|                HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "Can't retrieve VL datatype alloc info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2436|      0|            if (H5P_get((*head)->ctx.dxpl, H5D_XFER_VLEN_FREE_INFO_NAME,
  ------------------
  |  |   67|      0|#define H5D_XFER_VLEN_FREE_INFO_NAME        "vlen_free_info"      /* Vlen free info */
  ------------------
  |  Branch (2436:17): [True: 0, False: 0]
  ------------------
 2437|      0|                        &(*head)->ctx.vl_alloc_info.free_info) < 0)
 2438|      0|                HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "Can't retrieve VL datatype alloc info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2439|      0|        } /* end else */
 2440|       |
 2441|       |        /* Mark the value as valid */
 2442|      3|        (*head)->ctx.vl_alloc_info_valid = true;
 2443|      3|    } /* end if */
 2444|       |
 2445|       |    /* Get the value */
 2446|      3|    *vl_alloc_info = (*head)->ctx.vl_alloc_info;
 2447|       |
 2448|      3|done:
 2449|      3|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      3|    ;                                                                                                        \
  |  | 1573|      3|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      3|    return (ret_value);                                                                                      \
  |  | 1575|      3|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2450|      3|} /* end H5CX_get_vlen_alloc_info() */
H5CX_get_dt_conv_cb:
 2463|    131|{
 2464|    131|    H5CX_node_t **head      = NULL;    /* Pointer to head of API context list */
 2465|    131|    herr_t        ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    131|#define SUCCEED 0
  ------------------
 2466|       |
 2467|    131|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    131|    {                                                                                                        \
  |  | 1392|    131|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    131|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    131|                                                                                                             \
  |  |  |  | 1267|    131|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    131|        {
  ------------------
 2468|       |
 2469|       |    /* Sanity check */
 2470|    131|    assert(dt_conv_cb);
 2471|    131|    head = H5CX_get_my_context(); /* Get the pointer to the head of the API context, for this thread */
  ------------------
  |  |   58|    131|#define H5CX_get_my_context() (&H5CX_head_g)
  ------------------
 2472|    131|    assert(head && *head);
 2473|    131|    assert(H5P_DEFAULT != (*head)->ctx.dxpl_id);
 2474|       |
 2475|    131|    H5CX_RETRIEVE_PROP_VALID(dxpl, H5P_DATASET_XFER_DEFAULT, H5D_XFER_CONV_CB_NAME, dt_conv_cb)
  ------------------
  |  |   90|    131|    if (!(*head)->ctx.H5_GLUE(PROP_FIELD, _valid)) {                                                         \
  |  |  ------------------
  |  |  |  |  893|    131|#define H5_GLUE(x, y)        x##y
  |  |  ------------------
  |  |  |  Branch (90:9): [True: 104, False: 27]
  |  |  ------------------
  |  |   91|    104|        H5CX_RETRIEVE_PROP_COMMON(PL, DEF_PL, PROP_NAME, PROP_FIELD)                                         \
  |  |  ------------------
  |  |  |  |   72|    104|    if ((*head)->ctx.H5_GLUE(PL, _id) == (DEF_PL))                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  893|    104|#define H5_GLUE(x, y)        x##y
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:9): [True: 104, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   73|    104|        H5MM_memcpy(&(*head)->ctx.PROP_FIELD, &H5_GLUE3(H5CX_def_, PL, _cache).PROP_FIELD,                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|    104|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  ------------------
  |  |  |  |   74|    104|                    sizeof(H5_GLUE3(H5CX_def_, PL, _cache).PROP_FIELD));                                     \
  |  |  |  |   75|    104|    else {                                                                                                   \
  |  |  |  |   76|      0|        /* Retrieve the property list */                                                                     \
  |  |  |  |   77|      0|        H5CX_RETRIEVE_PLIST(PL, FAIL)                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   64|      0|    if (NULL == (*head)->ctx.PL)                                                                             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (64:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   65|      0|        /* Get the property list pointer */                                                                  \
  |  |  |  |  |  |   66|      0|        if (NULL == ((*head)->ctx.PL = (H5P_genplist_t *)H5I_object((*head)->ctx.H5_GLUE(PL, _id))))         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (66:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   67|      0|            HGOTO_ERROR(H5E_CONTEXT, H5E_BADTYPE, (FAILVAL), "can't get property list");
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   78|      0|                                                                                                             \
  |  |  |  |   79|      0|        /* Get the property */                                                                               \
  |  |  |  |   80|      0|        if (H5P_get((*head)->ctx.PL, (PROP_NAME), &(*head)->ctx.PROP_FIELD) < 0)                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   81|      0|            HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "can't retrieve value from API context");            \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   82|      0|    } /* end else */                                                                                         \
  |  |  |  |   83|    104|                                                                                                             \
  |  |  |  |   84|    104|    /* Mark the field as valid */                                                                            \
  |  |  |  |   85|    104|    (*head)->ctx.H5_GLUE(PROP_FIELD, _valid) = true;
  |  |  |  |  ------------------
  |  |  |  |  |  |  893|    104|#define H5_GLUE(x, y)        x##y
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   92|    104|    } /* end if */
  ------------------
 2476|       |
 2477|       |    /* Get the value */
 2478|    131|    *dt_conv_cb = (*head)->ctx.dt_conv_cb;
 2479|       |
 2480|    131|done:
 2481|    131|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    131|    ;                                                                                                        \
  |  | 1573|    131|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    131|    return (ret_value);                                                                                      \
  |  | 1575|    131|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2482|    131|} /* end H5CX_get_dt_conv_cb() */
H5CX_get_selection_io_mode:
 2495|     31|{
 2496|     31|    H5CX_node_t **head      = NULL;    /* Pointer to head of API context list */
 2497|     31|    herr_t        ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     31|#define SUCCEED 0
  ------------------
 2498|       |
 2499|     31|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     31|    {                                                                                                        \
  |  | 1392|     31|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     31|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     31|                                                                                                             \
  |  |  |  | 1267|     31|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     31|        {
  ------------------
 2500|       |
 2501|       |    /* Sanity check */
 2502|     31|    assert(selection_io_mode);
 2503|     31|    head = H5CX_get_my_context(); /* Get the pointer to the head of the API context, for this thread */
  ------------------
  |  |   58|     31|#define H5CX_get_my_context() (&H5CX_head_g)
  ------------------
 2504|     31|    assert(head && *head);
 2505|     31|    assert(H5P_DEFAULT != (*head)->ctx.dxpl_id);
 2506|       |
 2507|     31|    H5CX_RETRIEVE_PROP_VALID(dxpl, H5P_DATASET_XFER_DEFAULT, H5D_XFER_SELECTION_IO_MODE_NAME,
  ------------------
  |  |   90|     31|    if (!(*head)->ctx.H5_GLUE(PROP_FIELD, _valid)) {                                                         \
  |  |  ------------------
  |  |  |  |  893|     31|#define H5_GLUE(x, y)        x##y
  |  |  ------------------
  |  |  |  Branch (90:9): [True: 31, False: 0]
  |  |  ------------------
  |  |   91|     31|        H5CX_RETRIEVE_PROP_COMMON(PL, DEF_PL, PROP_NAME, PROP_FIELD)                                         \
  |  |  ------------------
  |  |  |  |   72|     31|    if ((*head)->ctx.H5_GLUE(PL, _id) == (DEF_PL))                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  893|     31|#define H5_GLUE(x, y)        x##y
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:9): [True: 31, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   73|     31|        H5MM_memcpy(&(*head)->ctx.PROP_FIELD, &H5_GLUE3(H5CX_def_, PL, _cache).PROP_FIELD,                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|     31|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  ------------------
  |  |  |  |   74|     31|                    sizeof(H5_GLUE3(H5CX_def_, PL, _cache).PROP_FIELD));                                     \
  |  |  |  |   75|     31|    else {                                                                                                   \
  |  |  |  |   76|      0|        /* Retrieve the property list */                                                                     \
  |  |  |  |   77|      0|        H5CX_RETRIEVE_PLIST(PL, FAIL)                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   64|      0|    if (NULL == (*head)->ctx.PL)                                                                             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (64:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   65|      0|        /* Get the property list pointer */                                                                  \
  |  |  |  |  |  |   66|      0|        if (NULL == ((*head)->ctx.PL = (H5P_genplist_t *)H5I_object((*head)->ctx.H5_GLUE(PL, _id))))         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (66:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   67|      0|            HGOTO_ERROR(H5E_CONTEXT, H5E_BADTYPE, (FAILVAL), "can't get property list");
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   78|      0|                                                                                                             \
  |  |  |  |   79|      0|        /* Get the property */                                                                               \
  |  |  |  |   80|      0|        if (H5P_get((*head)->ctx.PL, (PROP_NAME), &(*head)->ctx.PROP_FIELD) < 0)                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   81|      0|            HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "can't retrieve value from API context");            \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   82|      0|    } /* end else */                                                                                         \
  |  |  |  |   83|     31|                                                                                                             \
  |  |  |  |   84|     31|    /* Mark the field as valid */                                                                            \
  |  |  |  |   85|     31|    (*head)->ctx.H5_GLUE(PROP_FIELD, _valid) = true;
  |  |  |  |  ------------------
  |  |  |  |  |  |  893|     31|#define H5_GLUE(x, y)        x##y
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   92|     31|    } /* end if */
  ------------------
 2508|     31|                             selection_io_mode)
 2509|       |
 2510|       |    /* Get the value */
 2511|     31|    *selection_io_mode = (*head)->ctx.selection_io_mode;
 2512|       |
 2513|     31|done:
 2514|     31|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     31|    ;                                                                                                        \
  |  | 1573|     31|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     31|    return (ret_value);                                                                                      \
  |  | 1575|     31|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2515|     31|} /* end H5CX_get_selection_io_mode() */
H5CX_get_actual_selection_io_mode:
 2563|      3|{
 2564|      3|    H5CX_node_t **head      = NULL;    /* Pointer to head of API context list */
 2565|      3|    herr_t        ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      3|#define SUCCEED 0
  ------------------
 2566|       |
 2567|      3|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      3|    {                                                                                                        \
  |  | 1392|      3|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      3|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      3|                                                                                                             \
  |  |  |  | 1267|      3|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      3|        {
  ------------------
 2568|       |
 2569|       |    /* Sanity check */
 2570|      3|    assert(actual_selection_io_mode);
 2571|      3|    head = H5CX_get_my_context(); /* Get the pointer to the head of the API context, for this thread */
  ------------------
  |  |   58|      3|#define H5CX_get_my_context() (&H5CX_head_g)
  ------------------
 2572|      3|    assert(head && *head);
 2573|      3|    assert(H5P_DEFAULT != (*head)->ctx.dxpl_id);
 2574|       |
 2575|       |    /* This property is a special case - we want to wipe out any previous setting.  Copy the default setting
 2576|       |     * if it has not been set yet. */
 2577|      3|    if ((*head)->ctx.dxpl_id != H5P_DATASET_XFER_DEFAULT && !(*head)->ctx.actual_selection_io_mode_set &&
  ------------------
  |  |  160|      6|#define H5P_DATASET_XFER_DEFAULT (H5OPEN H5P_LST_DATASET_XFER_ID_g)
  ------------------
  |  Branch (2577:9): [True: 0, False: 3]
  |  Branch (2577:61): [True: 0, False: 0]
  ------------------
 2578|      3|        !(*head)->ctx.actual_selection_io_mode_valid) {
  ------------------
  |  Branch (2578:9): [True: 0, False: 0]
  ------------------
 2579|      0|        (*head)->ctx.actual_selection_io_mode     = H5CX_def_dxpl_cache.actual_selection_io_mode;
 2580|      0|        (*head)->ctx.actual_selection_io_mode_set = true;
 2581|      0|    }
 2582|      3|    H5CX_RETRIEVE_PROP_VALID_SET(dxpl, H5P_DATASET_XFER_DEFAULT, H5D_XFER_ACTUAL_SELECTION_IO_MODE_NAME,
  ------------------
  |  |   97|      3|    if (!((*head)->ctx.H5_GLUE(PROP_FIELD, _valid) || (*head)->ctx.H5_GLUE(PROP_FIELD, _set))) {             \
  |  |  ------------------
  |  |  |  |  893|      3|#define H5_GLUE(x, y)        x##y
  |  |  ------------------
  |  |                   if (!((*head)->ctx.H5_GLUE(PROP_FIELD, _valid) || (*head)->ctx.H5_GLUE(PROP_FIELD, _set))) {             \
  |  |  ------------------
  |  |  |  |  893|      3|#define H5_GLUE(x, y)        x##y
  |  |  ------------------
  |  |  |  Branch (97:11): [True: 0, False: 3]
  |  |  |  Branch (97:55): [True: 0, False: 3]
  |  |  ------------------
  |  |   98|      3|        H5CX_RETRIEVE_PROP_COMMON(PL, DEF_PL, PROP_NAME, PROP_FIELD)                                         \
  |  |  ------------------
  |  |  |  |   72|      3|    if ((*head)->ctx.H5_GLUE(PL, _id) == (DEF_PL))                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  893|      3|#define H5_GLUE(x, y)        x##y
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:9): [True: 3, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   73|      3|        H5MM_memcpy(&(*head)->ctx.PROP_FIELD, &H5_GLUE3(H5CX_def_, PL, _cache).PROP_FIELD,                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      3|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  ------------------
  |  |  |  |   74|      3|                    sizeof(H5_GLUE3(H5CX_def_, PL, _cache).PROP_FIELD));                                     \
  |  |  |  |   75|      3|    else {                                                                                                   \
  |  |  |  |   76|      0|        /* Retrieve the property list */                                                                     \
  |  |  |  |   77|      0|        H5CX_RETRIEVE_PLIST(PL, FAIL)                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   64|      0|    if (NULL == (*head)->ctx.PL)                                                                             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (64:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   65|      0|        /* Get the property list pointer */                                                                  \
  |  |  |  |  |  |   66|      0|        if (NULL == ((*head)->ctx.PL = (H5P_genplist_t *)H5I_object((*head)->ctx.H5_GLUE(PL, _id))))         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (66:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   67|      0|            HGOTO_ERROR(H5E_CONTEXT, H5E_BADTYPE, (FAILVAL), "can't get property list");
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   78|      0|                                                                                                             \
  |  |  |  |   79|      0|        /* Get the property */                                                                               \
  |  |  |  |   80|      0|        if (H5P_get((*head)->ctx.PL, (PROP_NAME), &(*head)->ctx.PROP_FIELD) < 0)                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   81|      0|            HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "can't retrieve value from API context");            \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   82|      0|    } /* end else */                                                                                         \
  |  |  |  |   83|      3|                                                                                                             \
  |  |  |  |   84|      3|    /* Mark the field as valid */                                                                            \
  |  |  |  |   85|      3|    (*head)->ctx.H5_GLUE(PROP_FIELD, _valid) = true;
  |  |  |  |  ------------------
  |  |  |  |  |  |  893|      3|#define H5_GLUE(x, y)        x##y
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   99|      3|    } /* end if */
  ------------------
 2583|      3|                                 actual_selection_io_mode)
 2584|       |
 2585|       |    /* Get the value */
 2586|      3|    *actual_selection_io_mode = (*head)->ctx.actual_selection_io_mode;
 2587|       |
 2588|      3|done:
 2589|      3|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      3|    ;                                                                                                        \
  |  | 1573|      3|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      3|    return (ret_value);                                                                                      \
  |  | 1575|      3|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2590|      3|} /* end H5CX_get_actual_selection_io_mode() */
H5CX_get_nlinks:
 2700|    541|{
 2701|    541|    H5CX_node_t **head      = NULL;    /* Pointer to head of API context list */
 2702|    541|    herr_t        ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    541|#define SUCCEED 0
  ------------------
 2703|       |
 2704|    541|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    541|    {                                                                                                        \
  |  | 1392|    541|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    541|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    541|                                                                                                             \
  |  |  |  | 1267|    541|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    541|        {
  ------------------
 2705|       |
 2706|       |    /* Sanity check */
 2707|    541|    assert(nlinks);
 2708|    541|    head = H5CX_get_my_context(); /* Get the pointer to the head of the API context, for this thread */
  ------------------
  |  |   58|    541|#define H5CX_get_my_context() (&H5CX_head_g)
  ------------------
 2709|    541|    assert(head && *head);
 2710|    541|    assert(H5P_DEFAULT != (*head)->ctx.dxpl_id);
 2711|       |
 2712|    541|    H5CX_RETRIEVE_PROP_VALID(lapl, H5P_LINK_ACCESS_DEFAULT, H5L_ACS_NLINKS_NAME, nlinks)
  ------------------
  |  |   90|    541|    if (!(*head)->ctx.H5_GLUE(PROP_FIELD, _valid)) {                                                         \
  |  |  ------------------
  |  |  |  |  893|    541|#define H5_GLUE(x, y)        x##y
  |  |  ------------------
  |  |  |  Branch (90:9): [True: 541, False: 0]
  |  |  ------------------
  |  |   91|    541|        H5CX_RETRIEVE_PROP_COMMON(PL, DEF_PL, PROP_NAME, PROP_FIELD)                                         \
  |  |  ------------------
  |  |  |  |   72|    541|    if ((*head)->ctx.H5_GLUE(PL, _id) == (DEF_PL))                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |  893|    541|#define H5_GLUE(x, y)        x##y
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:9): [True: 541, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   73|    541|        H5MM_memcpy(&(*head)->ctx.PROP_FIELD, &H5_GLUE3(H5CX_def_, PL, _cache).PROP_FIELD,                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|    541|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  ------------------
  |  |  |  |   74|    541|                    sizeof(H5_GLUE3(H5CX_def_, PL, _cache).PROP_FIELD));                                     \
  |  |  |  |   75|    541|    else {                                                                                                   \
  |  |  |  |   76|      0|        /* Retrieve the property list */                                                                     \
  |  |  |  |   77|      0|        H5CX_RETRIEVE_PLIST(PL, FAIL)                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   64|      0|    if (NULL == (*head)->ctx.PL)                                                                             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (64:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   65|      0|        /* Get the property list pointer */                                                                  \
  |  |  |  |  |  |   66|      0|        if (NULL == ((*head)->ctx.PL = (H5P_genplist_t *)H5I_object((*head)->ctx.H5_GLUE(PL, _id))))         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (66:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   67|      0|            HGOTO_ERROR(H5E_CONTEXT, H5E_BADTYPE, (FAILVAL), "can't get property list");
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   78|      0|                                                                                                             \
  |  |  |  |   79|      0|        /* Get the property */                                                                               \
  |  |  |  |   80|      0|        if (H5P_get((*head)->ctx.PL, (PROP_NAME), &(*head)->ctx.PROP_FIELD) < 0)                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   81|      0|            HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "can't retrieve value from API context");            \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   82|      0|    } /* end else */                                                                                         \
  |  |  |  |   83|    541|                                                                                                             \
  |  |  |  |   84|    541|    /* Mark the field as valid */                                                                            \
  |  |  |  |   85|    541|    (*head)->ctx.H5_GLUE(PROP_FIELD, _valid) = true;
  |  |  |  |  ------------------
  |  |  |  |  |  |  893|    541|#define H5_GLUE(x, y)        x##y
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   92|    541|    } /* end if */
  ------------------
 2713|       |
 2714|       |    /* Get the value */
 2715|    541|    *nlinks = (*head)->ctx.nlinks;
 2716|       |
 2717|    541|done:
 2718|    541|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    541|    ;                                                                                                        \
  |  | 1573|    541|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    541|    return (ret_value);                                                                                      \
  |  | 1575|    541|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2719|    541|} /* end H5CX_get_nlinks() */
H5CX_get_ext_file_prefix:
 2801|     55|{
 2802|     55|    H5CX_node_t **head      = NULL;    /* Pointer to head of API context list */
 2803|     55|    herr_t        ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     55|#define SUCCEED 0
  ------------------
 2804|       |
 2805|     55|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     55|    {                                                                                                        \
  |  | 1392|     55|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     55|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     55|                                                                                                             \
  |  |  |  | 1267|     55|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     55|        {
  ------------------
 2806|       |
 2807|       |    /* Sanity check */
 2808|     55|    assert(extfile_prefix);
 2809|     55|    head = H5CX_get_my_context(); /* Get the pointer to the head of the API context, for this thread */
  ------------------
  |  |   58|     55|#define H5CX_get_my_context() (&H5CX_head_g)
  ------------------
 2810|     55|    assert(head && *head);
 2811|     55|    assert(H5P_DEFAULT != (*head)->ctx.dapl_id);
 2812|       |
 2813|       |    /* Check if the value has been retrieved already */
 2814|     55|    if (!(*head)->ctx.extfile_prefix_valid) {
  ------------------
  |  Branch (2814:9): [True: 55, False: 0]
  ------------------
 2815|       |        /* Check for default DAPL */
 2816|     55|        if ((*head)->ctx.dapl_id == H5P_DATASET_ACCESS_DEFAULT)
  ------------------
  |  |  156|     55|#define H5P_DATASET_ACCESS_DEFAULT (H5OPEN H5P_LST_DATASET_ACCESS_ID_g)
  ------------------
  |  Branch (2816:13): [True: 55, False: 0]
  ------------------
 2817|     55|            (*head)->ctx.extfile_prefix = H5CX_def_dapl_cache.extfile_prefix;
 2818|      0|        else {
 2819|       |            /* Check if the property list is already available */
 2820|      0|            if (NULL == (*head)->ctx.dapl)
  ------------------
  |  Branch (2820:17): [True: 0, False: 0]
  ------------------
 2821|       |                /* Get the dataset access property list pointer */
 2822|      0|                if (NULL == ((*head)->ctx.dapl = (H5P_genplist_t *)H5I_object((*head)->ctx.dapl_id)))
  ------------------
  |  Branch (2822:21): [True: 0, False: 0]
  ------------------
 2823|      0|                    HGOTO_ERROR(H5E_CONTEXT, H5E_BADTYPE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2824|      0|                                "can't get default dataset access property list");
 2825|       |
 2826|       |            /* Get the prefix for the external file */
 2827|       |            /* (Note: 'peek', not 'get' - if this turns out to be a problem, we may need
 2828|       |             *          to copy it and free this in the H5CX pop routine. -QAK)
 2829|       |             */
 2830|      0|            if (H5P_peek((*head)->ctx.dapl, H5D_ACS_EFILE_PREFIX_NAME, &(*head)->ctx.extfile_prefix) < 0)
  ------------------
  |  |   56|      0|#define H5D_ACS_EFILE_PREFIX_NAME         "external file prefix" /* External file prefix */
  ------------------
  |  Branch (2830:17): [True: 0, False: 0]
  ------------------
 2831|      0|                HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "Can't retrieve external file prefix");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2832|      0|        } /* end else */
 2833|       |
 2834|       |        /* Mark the value as valid */
 2835|     55|        (*head)->ctx.extfile_prefix_valid = true;
 2836|     55|    } /* end if */
 2837|       |
 2838|       |    /* Get the value */
 2839|     55|    *extfile_prefix = (*head)->ctx.extfile_prefix;
 2840|       |
 2841|     55|done:
 2842|     55|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     55|    ;                                                                                                        \
  |  | 1573|     55|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     55|    return (ret_value);                                                                                      \
  |  | 1575|     55|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2843|     55|} /* end H5CX_get_ext_file_prefix() */
H5CX_get_vds_prefix:
 2856|     55|{
 2857|     55|    H5CX_node_t **head      = NULL;    /* Pointer to head of API context list */
 2858|     55|    herr_t        ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     55|#define SUCCEED 0
  ------------------
 2859|       |
 2860|     55|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     55|    {                                                                                                        \
  |  | 1392|     55|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     55|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     55|                                                                                                             \
  |  |  |  | 1267|     55|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     55|        {
  ------------------
 2861|       |
 2862|       |    /* Sanity check */
 2863|     55|    assert(vds_prefix);
 2864|     55|    head = H5CX_get_my_context(); /* Get the pointer to the head of the API context, for this thread */
  ------------------
  |  |   58|     55|#define H5CX_get_my_context() (&H5CX_head_g)
  ------------------
 2865|     55|    assert(head && *head);
 2866|     55|    assert(H5P_DEFAULT != (*head)->ctx.dapl_id);
 2867|       |
 2868|       |    /* Check if the value has been retrieved already */
 2869|     55|    if (!(*head)->ctx.vds_prefix_valid) {
  ------------------
  |  Branch (2869:9): [True: 55, False: 0]
  ------------------
 2870|       |        /* Check for default DAPL */
 2871|     55|        if ((*head)->ctx.dapl_id == H5P_DATASET_ACCESS_DEFAULT)
  ------------------
  |  |  156|     55|#define H5P_DATASET_ACCESS_DEFAULT (H5OPEN H5P_LST_DATASET_ACCESS_ID_g)
  ------------------
  |  Branch (2871:13): [True: 55, False: 0]
  ------------------
 2872|     55|            (*head)->ctx.vds_prefix = H5CX_def_dapl_cache.vds_prefix;
 2873|      0|        else {
 2874|       |            /* Check if the property list is already available */
 2875|      0|            if (NULL == (*head)->ctx.dapl)
  ------------------
  |  Branch (2875:17): [True: 0, False: 0]
  ------------------
 2876|       |                /* Get the dataset access property list pointer */
 2877|      0|                if (NULL == ((*head)->ctx.dapl = (H5P_genplist_t *)H5I_object((*head)->ctx.dapl_id)))
  ------------------
  |  Branch (2877:21): [True: 0, False: 0]
  ------------------
 2878|      0|                    HGOTO_ERROR(H5E_CONTEXT, H5E_BADTYPE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2879|      0|                                "can't get default dataset access property list");
 2880|       |
 2881|       |            /* Get the prefix for the VDS */
 2882|       |            /* (Note: 'peek', not 'get' - if this turns out to be a problem, we may need
 2883|       |             *          to copy it and free this in the H5CX pop routine. -QAK)
 2884|       |             */
 2885|      0|            if (H5P_peek((*head)->ctx.dapl, H5D_ACS_VDS_PREFIX_NAME, &(*head)->ctx.vds_prefix) < 0)
  ------------------
  |  |   54|      0|#define H5D_ACS_VDS_PREFIX_NAME           "vds_prefix"           /* VDS file prefix */
  ------------------
  |  Branch (2885:17): [True: 0, False: 0]
  ------------------
 2886|      0|                HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "Can't retrieve VDS prefix");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2887|      0|        } /* end else */
 2888|       |
 2889|       |        /* Mark the value as valid */
 2890|     55|        (*head)->ctx.vds_prefix_valid = true;
 2891|     55|    } /* end if */
 2892|       |
 2893|       |    /* Get the value */
 2894|     55|    *vds_prefix = (*head)->ctx.vds_prefix;
 2895|       |
 2896|     55|done:
 2897|     55|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     55|    ;                                                                                                        \
  |  | 1573|     55|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     55|    return (ret_value);                                                                                      \
  |  | 1575|     55|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2898|     55|} /* end H5CX_get_vds_prefix() */
H5CX_set_tag:
 2911|  9.50k|{
 2912|  9.50k|    H5CX_node_t **head = NULL; /* Pointer to head of API context list */
 2913|       |
 2914|  9.50k|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|  9.50k|    {                                                                                                        \
  |  | 1425|  9.50k|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|  9.50k|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|  9.50k|        {
  ------------------
 2915|       |
 2916|       |    /* Sanity check */
 2917|  9.50k|    head = H5CX_get_my_context(); /* Get the pointer to the head of the API context, for this thread */
  ------------------
  |  |   58|  9.50k|#define H5CX_get_my_context() (&H5CX_head_g)
  ------------------
 2918|  9.50k|    assert(head && *head);
 2919|       |
 2920|  9.50k|    (*head)->ctx.tag = tag;
 2921|       |
 2922|  9.50k|    FUNC_LEAVE_NOAPI_VOID
  ------------------
  |  | 1578|  9.50k|    ;                                                                                                        \
  |  | 1579|  9.50k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1580|  9.50k|    return;                                                                                                  \
  |  | 1581|  9.50k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2923|  9.50k|} /* end H5CX_set_tag() */
H5CX_set_ring:
 2936|     21|{
 2937|     21|    H5CX_node_t **head = NULL; /* Pointer to head of API context list */
 2938|       |
 2939|     21|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|     21|    {                                                                                                        \
  |  | 1425|     21|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|     21|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|     21|        {
  ------------------
 2940|       |
 2941|       |    /* Sanity check */
 2942|     21|    head = H5CX_get_my_context(); /* Get the pointer to the head of the API context, for this thread */
  ------------------
  |  |   58|     21|#define H5CX_get_my_context() (&H5CX_head_g)
  ------------------
 2943|     21|    assert(head && *head);
 2944|       |
 2945|     21|    (*head)->ctx.ring = ring;
 2946|       |
 2947|     21|    FUNC_LEAVE_NOAPI_VOID
  ------------------
  |  | 1578|     21|    ;                                                                                                        \
  |  | 1579|     21|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1580|     21|    return;                                                                                                  \
  |  | 1581|     21|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2948|     21|} /* end H5CX_set_ring() */
H5CX_set_nlinks:
 3164|    515|{
 3165|    515|    H5CX_node_t **head      = NULL;    /* Pointer to head of API context list */
 3166|    515|    herr_t        ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    515|#define SUCCEED 0
  ------------------
 3167|       |
 3168|    515|    FUNC_ENTER_NOAPI_NOERR
  ------------------
  |  | 1397|    515|    {                                                                                                        \
  |  | 1398|    515|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    515|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1399|    515|        {
  ------------------
 3169|       |
 3170|       |    /* Sanity check */
 3171|    515|    head = H5CX_get_my_context(); /* Get the pointer to the head of the API context, for this thread */
  ------------------
  |  |   58|    515|#define H5CX_get_my_context() (&H5CX_head_g)
  ------------------
 3172|    515|    assert(head && *head);
 3173|       |
 3174|       |    /* Set the API context value */
 3175|    515|    (*head)->ctx.nlinks = nlinks;
 3176|       |
 3177|       |    /* Mark the value as valid */
 3178|    515|    (*head)->ctx.nlinks_valid = true;
 3179|       |
 3180|    515|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    515|    ;                                                                                                        \
  |  | 1573|    515|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    515|    return (ret_value);                                                                                      \
  |  | 1575|    515|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 3181|    515|} /* end H5CX_set_nlinks() */
H5CX_set_no_selection_io_cause:
 3532|     31|{
 3533|     31|    H5CX_node_t **head = NULL; /* Pointer to head of API context list */
 3534|       |
 3535|     31|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|     31|    {                                                                                                        \
  |  | 1425|     31|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|     31|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|     31|        {
  ------------------
 3536|       |
 3537|       |    /* Sanity checks */
 3538|     31|    head = H5CX_get_my_context(); /* Get the pointer to the head of the API context, for this thread */
  ------------------
  |  |   58|     31|#define H5CX_get_my_context() (&H5CX_head_g)
  ------------------
 3539|     31|    assert(head && *head);
 3540|     31|    assert((*head)->ctx.dxpl_id != H5P_DEFAULT);
 3541|       |
 3542|       |    /* If we're using the default DXPL, don't modify it */
 3543|     31|    if ((*head)->ctx.dxpl_id != H5P_DATASET_XFER_DEFAULT) {
  ------------------
  |  |  160|     31|#define H5P_DATASET_XFER_DEFAULT (H5OPEN H5P_LST_DATASET_XFER_ID_g)
  ------------------
  |  Branch (3543:9): [True: 0, False: 31]
  ------------------
 3544|       |        /* Cache the value for later, marking it to set in DXPL when context popped */
 3545|      0|        (*head)->ctx.no_selection_io_cause     = no_selection_io_cause;
 3546|      0|        (*head)->ctx.no_selection_io_cause_set = true;
 3547|      0|    } /* end if */
 3548|       |
 3549|     31|    FUNC_LEAVE_NOAPI_VOID
  ------------------
  |  | 1578|     31|    ;                                                                                                        \
  |  | 1579|     31|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1580|     31|    return;                                                                                                  \
  |  | 1581|     31|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 3550|     31|} /* end H5CX_set_no_selection_io_cause() */
H5CX_set_actual_selection_io_mode:
 3564|      3|{
 3565|      3|    H5CX_node_t **head = NULL; /* Pointer to head of API context list */
 3566|       |
 3567|      3|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      3|    {                                                                                                        \
  |  | 1425|      3|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      3|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      3|        {
  ------------------
 3568|       |
 3569|       |    /* Sanity checks */
 3570|      3|    head = H5CX_get_my_context(); /* Get the pointer to the head of the API context, for this thread */
  ------------------
  |  |   58|      3|#define H5CX_get_my_context() (&H5CX_head_g)
  ------------------
 3571|      3|    assert(head && *head);
 3572|      3|    assert((*head)->ctx.dxpl_id != H5P_DEFAULT);
 3573|       |
 3574|       |    /* If we're using the default DXPL, don't modify it */
 3575|      3|    if ((*head)->ctx.dxpl_id != H5P_DATASET_XFER_DEFAULT) {
  ------------------
  |  |  160|      3|#define H5P_DATASET_XFER_DEFAULT (H5OPEN H5P_LST_DATASET_XFER_ID_g)
  ------------------
  |  Branch (3575:9): [True: 0, False: 3]
  ------------------
 3576|       |        /* Cache the value for later, marking it to set in DXPL when context popped */
 3577|      0|        (*head)->ctx.actual_selection_io_mode     = actual_selection_io_mode;
 3578|      0|        (*head)->ctx.actual_selection_io_mode_set = true;
 3579|      0|    }
 3580|       |
 3581|      3|    FUNC_LEAVE_NOAPI_VOID
  ------------------
  |  | 1578|      3|    ;                                                                                                        \
  |  | 1579|      3|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1580|      3|    return;                                                                                                  \
  |  | 1581|      3|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 3582|      3|} /* end H5CX_set_actual_selection_io_mode() */
H5CX_pop:
 3686|  7.40k|{
 3687|  7.40k|    H5CX_node_t *cnode;               /* Context node */
 3688|  7.40k|    herr_t       ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|  7.40k|#define SUCCEED 0
  ------------------
 3689|       |
 3690|  7.40k|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|  7.40k|    {                                                                                                        \
  |  | 1392|  7.40k|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|  7.40k|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|  7.40k|                                                                                                             \
  |  |  |  | 1267|  7.40k|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|  7.40k|        {
  ------------------
 3691|       |
 3692|       |    /* Perform common operations and get top context from stack */
 3693|  7.40k|    if (NULL == (cnode = H5CX__pop_common(update_dxpl_props)))
  ------------------
  |  Branch (3693:9): [True: 0, False: 7.40k]
  ------------------
 3694|      0|        HGOTO_ERROR(H5E_CONTEXT, H5E_CANTGET, FAIL, "error getting API context node");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3695|       |
 3696|       |    /* Free the context node */
 3697|  7.40k|    cnode = H5FL_FREE(H5CX_node_t, cnode);
  ------------------
  |  |   81|  7.40k|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|  7.40k|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 3698|       |
 3699|  7.40k|done:
 3700|  7.40k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  7.40k|    ;                                                                                                        \
  |  | 1573|  7.40k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  7.40k|    return (ret_value);                                                                                      \
  |  | 1575|  7.40k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 3701|  7.40k|} /* end H5CX_pop() */
H5CX.c:H5CX__push_common:
  795|  7.40k|{
  796|  7.40k|    H5CX_node_t **head = NULL; /* Pointer to head of API context list */
  797|       |
  798|  7.40k|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|  7.40k|    {                                                                                                        \
  |  | 1467|  7.40k|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|  7.40k|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|  7.40k|        {
  ------------------
  799|       |
  800|       |    /* Sanity check */
  801|  7.40k|    assert(cnode);
  802|  7.40k|    head = H5CX_get_my_context(); /* Get the pointer to the head of the API context, for this thread */
  ------------------
  |  |   58|  7.40k|#define H5CX_get_my_context() (&H5CX_head_g)
  ------------------
  803|  7.40k|    assert(head);
  804|       |
  805|       |    /* Set non-zero context info */
  806|  7.40k|    cnode->ctx.dxpl_id = H5P_DATASET_XFER_DEFAULT;
  ------------------
  |  |  160|  7.40k|#define H5P_DATASET_XFER_DEFAULT (H5OPEN H5P_LST_DATASET_XFER_ID_g)
  ------------------
  807|  7.40k|    cnode->ctx.dcpl_id = H5P_DATASET_CREATE_DEFAULT;
  ------------------
  |  |  152|  7.40k|#define H5P_DATASET_CREATE_DEFAULT (H5OPEN H5P_LST_DATASET_CREATE_ID_g)
  ------------------
  808|  7.40k|    cnode->ctx.dapl_id = H5P_DATASET_ACCESS_DEFAULT;
  ------------------
  |  |  156|  7.40k|#define H5P_DATASET_ACCESS_DEFAULT (H5OPEN H5P_LST_DATASET_ACCESS_ID_g)
  ------------------
  809|  7.40k|    cnode->ctx.lcpl_id = H5P_LINK_CREATE_DEFAULT;
  ------------------
  |  |  204|  7.40k|#define H5P_LINK_CREATE_DEFAULT (H5OPEN H5P_LST_LINK_CREATE_ID_g)
  ------------------
  810|  7.40k|    cnode->ctx.lapl_id = H5P_LINK_ACCESS_DEFAULT;
  ------------------
  |  |  208|  7.40k|#define H5P_LINK_ACCESS_DEFAULT (H5OPEN H5P_LST_LINK_ACCESS_ID_g)
  ------------------
  811|  7.40k|    cnode->ctx.fapl_id = H5P_FILE_ACCESS_DEFAULT;
  ------------------
  |  |  148|  7.40k|#define H5P_FILE_ACCESS_DEFAULT (H5OPEN H5P_LST_FILE_ACCESS_ID_g)
  ------------------
  812|  7.40k|    cnode->ctx.tag     = H5AC__INVALID_TAG;
  ------------------
  |  |   36|  7.40k|#define H5AC__INVALID_TAG    (haddr_t)0
  ------------------
  813|  7.40k|    cnode->ctx.ring    = H5AC_RING_USER;
  ------------------
  |  |  148|  7.40k|#define H5AC_RING_USER   H5C_RING_USER
  |  |  ------------------
  |  |  |  |  941|  7.40k|#define H5C_RING_USER      1 /* outermost ring */
  |  |  ------------------
  ------------------
  814|       |
  815|       |#ifdef H5_HAVE_PARALLEL
  816|       |    cnode->ctx.btype = MPI_BYTE;
  817|       |    cnode->ctx.ftype = MPI_BYTE;
  818|       |#endif
  819|       |
  820|       |    /* Push context node onto stack */
  821|  7.40k|    cnode->next = *head;
  822|  7.40k|    *head       = cnode;
  823|       |
  824|  7.40k|    FUNC_LEAVE_NOAPI_VOID
  ------------------
  |  | 1578|  7.40k|    ;                                                                                                        \
  |  | 1579|  7.40k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1580|  7.40k|    return;                                                                                                  \
  |  | 1581|  7.40k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  825|  7.40k|} /* end H5CX__push_common() */
H5CX.c:H5CX__pop_common:
 3627|  7.40k|{
 3628|  7.40k|    H5CX_node_t **head      = NULL; /* Pointer to head of API context list */
 3629|  7.40k|    H5CX_node_t  *ret_value = NULL; /* Return value */
 3630|       |
 3631|  7.40k|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|  7.40k|    {                                                                                                        \
  |  | 1461|  7.40k|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|  7.40k|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|  7.40k|                                                                                                             \
  |  |  |  | 1267|  7.40k|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|  7.40k|        {
  ------------------
 3632|       |
 3633|       |    /* Sanity check */
 3634|  7.40k|    head = H5CX_get_my_context(); /* Get the pointer to the head of the API context, for this thread */
  ------------------
  |  |   58|  7.40k|#define H5CX_get_my_context() (&H5CX_head_g)
  ------------------
 3635|  7.40k|    assert(head && *head);
 3636|       |
 3637|       |    /* Check for cached DXPL properties to return to application */
 3638|  7.40k|    if (update_dxpl_props) {
  ------------------
  |  Branch (3638:9): [True: 7.40k, False: 1]
  ------------------
 3639|       |        /* actual_selection_io_mode is a special case - we always want to set it in the property list even if
 3640|       |         * it was never set by the library, in that case it indicates no I/O was performed and we don't want
 3641|       |         * to leave the (possibly incorrect) old value in the property list, so set from the default property
 3642|       |         * list */
 3643|  7.40k|        if ((*head)->ctx.dxpl_id != H5P_DATASET_XFER_DEFAULT && !(*head)->ctx.actual_selection_io_mode_set) {
  ------------------
  |  |  160|  14.8k|#define H5P_DATASET_XFER_DEFAULT (H5OPEN H5P_LST_DATASET_XFER_ID_g)
  ------------------
  |  Branch (3643:13): [True: 0, False: 7.40k]
  |  Branch (3643:65): [True: 0, False: 0]
  ------------------
 3644|      0|            (*head)->ctx.actual_selection_io_mode     = H5CX_def_dxpl_cache.actual_selection_io_mode;
 3645|      0|            (*head)->ctx.actual_selection_io_mode_set = true;
 3646|      0|        }
 3647|       |
 3648|  7.40k|        H5CX_SET_PROP(H5D_XFER_NO_SELECTION_IO_CAUSE_NAME, no_selection_io_cause)
  ------------------
  |  |  127|  7.40k|    if ((*head)->ctx.H5_GLUE(PROP_FIELD, _set)) {                                                            \
  |  |  ------------------
  |  |  |  |  893|  7.40k|#define H5_GLUE(x, y)        x##y
  |  |  ------------------
  |  |  |  Branch (127:9): [True: 0, False: 7.40k]
  |  |  ------------------
  |  |  128|      0|        /* Retrieve the dataset transfer property list */                                                    \
  |  |  129|      0|        H5CX_RETRIEVE_PLIST(dxpl, NULL)                                                                      \
  |  |  ------------------
  |  |  |  |   64|      0|    if (NULL == (*head)->ctx.PL)                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (64:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   65|      0|        /* Get the property list pointer */                                                                  \
  |  |  |  |   66|      0|        if (NULL == ((*head)->ctx.PL = (H5P_genplist_t *)H5I_object((*head)->ctx.H5_GLUE(PL, _id))))         \
  |  |  |  |  ------------------
  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (66:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   67|      0|            HGOTO_ERROR(H5E_CONTEXT, H5E_BADTYPE, (FAILVAL), "can't get property list");
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  130|      0|                                                                                                             \
  |  |  131|      0|        /* Set the property */                                                                               \
  |  |  132|      0|        if (H5P_set((*head)->ctx.dxpl, PROP_NAME, &(*head)->ctx.PROP_FIELD) < 0)                             \
  |  |  ------------------
  |  |  |  Branch (132:13): [True: 0, False: 0]
  |  |  ------------------
  |  |  133|      0|            HGOTO_ERROR(H5E_CONTEXT, H5E_CANTSET, NULL, "error setting data xfer property");                 \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  134|      0|    } /* end if */
  ------------------
 3649|  7.40k|        H5CX_SET_PROP(H5D_XFER_ACTUAL_SELECTION_IO_MODE_NAME, actual_selection_io_mode)
  ------------------
  |  |  127|  7.40k|    if ((*head)->ctx.H5_GLUE(PROP_FIELD, _set)) {                                                            \
  |  |  ------------------
  |  |  |  |  893|  7.40k|#define H5_GLUE(x, y)        x##y
  |  |  ------------------
  |  |  |  Branch (127:9): [True: 0, False: 7.40k]
  |  |  ------------------
  |  |  128|      0|        /* Retrieve the dataset transfer property list */                                                    \
  |  |  129|      0|        H5CX_RETRIEVE_PLIST(dxpl, NULL)                                                                      \
  |  |  ------------------
  |  |  |  |   64|      0|    if (NULL == (*head)->ctx.PL)                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (64:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   65|      0|        /* Get the property list pointer */                                                                  \
  |  |  |  |   66|      0|        if (NULL == ((*head)->ctx.PL = (H5P_genplist_t *)H5I_object((*head)->ctx.H5_GLUE(PL, _id))))         \
  |  |  |  |  ------------------
  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (66:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   67|      0|            HGOTO_ERROR(H5E_CONTEXT, H5E_BADTYPE, (FAILVAL), "can't get property list");
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  130|      0|                                                                                                             \
  |  |  131|      0|        /* Set the property */                                                                               \
  |  |  132|      0|        if (H5P_set((*head)->ctx.dxpl, PROP_NAME, &(*head)->ctx.PROP_FIELD) < 0)                             \
  |  |  ------------------
  |  |  |  Branch (132:13): [True: 0, False: 0]
  |  |  ------------------
  |  |  133|      0|            HGOTO_ERROR(H5E_CONTEXT, H5E_CANTSET, NULL, "error setting data xfer property");                 \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  134|      0|    } /* end if */
  ------------------
 3650|       |#ifdef H5_HAVE_PARALLEL
 3651|       |        H5CX_SET_PROP(H5D_MPIO_ACTUAL_CHUNK_OPT_MODE_NAME, mpio_actual_chunk_opt)
 3652|       |        H5CX_SET_PROP(H5D_MPIO_ACTUAL_IO_MODE_NAME, mpio_actual_io_mode)
 3653|       |        H5CX_SET_PROP(H5D_MPIO_LOCAL_NO_COLLECTIVE_CAUSE_NAME, mpio_local_no_coll_cause)
 3654|       |        H5CX_SET_PROP(H5D_MPIO_GLOBAL_NO_COLLECTIVE_CAUSE_NAME, mpio_global_no_coll_cause)
 3655|       |#ifdef H5_HAVE_INSTRUMENTED_LIBRARY
 3656|       |        H5CX_SET_PROP(H5D_XFER_COLL_CHUNK_LINK_HARD_NAME, mpio_coll_chunk_link_hard)
 3657|       |        H5CX_SET_PROP(H5D_XFER_COLL_CHUNK_MULTI_HARD_NAME, mpio_coll_chunk_multi_hard)
 3658|       |        H5CX_SET_PROP(H5D_XFER_COLL_CHUNK_LINK_NUM_TRUE_NAME, mpio_coll_chunk_link_num_true)
 3659|       |        H5CX_SET_PROP(H5D_XFER_COLL_CHUNK_LINK_NUM_FALSE_NAME, mpio_coll_chunk_link_num_false)
 3660|       |        H5CX_SET_PROP(H5D_XFER_COLL_CHUNK_MULTI_RATIO_COLL_NAME, mpio_coll_chunk_multi_ratio_coll)
 3661|       |        H5CX_SET_PROP(H5D_XFER_COLL_CHUNK_MULTI_RATIO_IND_NAME, mpio_coll_chunk_multi_ratio_ind)
 3662|       |        H5CX_SET_PROP(H5D_XFER_COLL_RANK0_BCAST_NAME, mpio_coll_rank0_bcast)
 3663|       |#endif /* H5_HAVE_INSTRUMENTED_LIBRARY */
 3664|       |#endif /* H5_HAVE_PARALLEL */
 3665|  7.40k|    }  /* end if */
 3666|       |
 3667|       |    /* Pop the top context node from the stack */
 3668|  7.40k|    ret_value = (*head);
 3669|  7.40k|    (*head)   = (*head)->next;
 3670|       |
 3671|  7.40k|done:
 3672|  7.40k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  7.40k|    ;                                                                                                        \
  |  | 1573|  7.40k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  7.40k|    return (ret_value);                                                                                      \
  |  | 1575|  7.40k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 3673|  7.40k|} /* end H5CX__pop_common() */

H5C_stats__reset:
  683|     10|{
  684|       |#if H5C_COLLECT_CACHE_STATS
  685|       |    int i;
  686|       |#endif /* H5C_COLLECT_CACHE_STATS */
  687|       |
  688|     10|    assert(cache_ptr);
  689|       |
  690|       |#if H5C_COLLECT_CACHE_STATS
  691|       |    for (i = 0; i <= cache_ptr->max_type_id; i++) {
  692|       |        cache_ptr->hits[i]                     = 0;
  693|       |        cache_ptr->misses[i]                   = 0;
  694|       |        cache_ptr->write_protects[i]           = 0;
  695|       |        cache_ptr->read_protects[i]            = 0;
  696|       |        cache_ptr->max_read_protects[i]        = 0;
  697|       |        cache_ptr->insertions[i]               = 0;
  698|       |        cache_ptr->pinned_insertions[i]        = 0;
  699|       |        cache_ptr->clears[i]                   = 0;
  700|       |        cache_ptr->flushes[i]                  = 0;
  701|       |        cache_ptr->evictions[i]                = 0;
  702|       |        cache_ptr->take_ownerships[i]          = 0;
  703|       |        cache_ptr->moves[i]                    = 0;
  704|       |        cache_ptr->entry_flush_moves[i]        = 0;
  705|       |        cache_ptr->cache_flush_moves[i]        = 0;
  706|       |        cache_ptr->pins[i]                     = 0;
  707|       |        cache_ptr->unpins[i]                   = 0;
  708|       |        cache_ptr->dirty_pins[i]               = 0;
  709|       |        cache_ptr->pinned_flushes[i]           = 0;
  710|       |        cache_ptr->pinned_clears[i]            = 0;
  711|       |        cache_ptr->size_increases[i]           = 0;
  712|       |        cache_ptr->size_decreases[i]           = 0;
  713|       |        cache_ptr->entry_flush_size_changes[i] = 0;
  714|       |        cache_ptr->cache_flush_size_changes[i] = 0;
  715|       |    } /* end for */
  716|       |
  717|       |    cache_ptr->total_ht_insertions              = 0;
  718|       |    cache_ptr->total_ht_deletions               = 0;
  719|       |    cache_ptr->successful_ht_searches           = 0;
  720|       |    cache_ptr->total_successful_ht_search_depth = 0;
  721|       |    cache_ptr->failed_ht_searches               = 0;
  722|       |    cache_ptr->total_failed_ht_search_depth     = 0;
  723|       |
  724|       |    cache_ptr->max_index_len        = 0;
  725|       |    cache_ptr->max_index_size       = (size_t)0;
  726|       |    cache_ptr->max_clean_index_size = (size_t)0;
  727|       |    cache_ptr->max_dirty_index_size = (size_t)0;
  728|       |
  729|       |    cache_ptr->max_slist_len  = 0;
  730|       |    cache_ptr->max_slist_size = (size_t)0;
  731|       |
  732|       |    cache_ptr->max_pl_len  = 0;
  733|       |    cache_ptr->max_pl_size = (size_t)0;
  734|       |
  735|       |    cache_ptr->max_pel_len  = 0;
  736|       |    cache_ptr->max_pel_size = (size_t)0;
  737|       |
  738|       |    cache_ptr->calls_to_msic                          = 0;
  739|       |    cache_ptr->total_entries_skipped_in_msic          = 0;
  740|       |    cache_ptr->total_dirty_pf_entries_skipped_in_msic = 0;
  741|       |    cache_ptr->total_entries_scanned_in_msic          = 0;
  742|       |    cache_ptr->max_entries_skipped_in_msic            = 0;
  743|       |    cache_ptr->max_dirty_pf_entries_skipped_in_msic   = 0;
  744|       |    cache_ptr->max_entries_scanned_in_msic            = 0;
  745|       |    cache_ptr->entries_scanned_to_make_space          = 0;
  746|       |
  747|       |    cache_ptr->slist_scan_restarts = 0;
  748|       |    cache_ptr->LRU_scan_restarts   = 0;
  749|       |    cache_ptr->index_scan_restarts = 0;
  750|       |
  751|       |    cache_ptr->images_created  = 0;
  752|       |    cache_ptr->images_read     = 0;
  753|       |    cache_ptr->images_loaded   = 0;
  754|       |    cache_ptr->last_image_size = (hsize_t)0;
  755|       |
  756|       |    cache_ptr->prefetches       = 0;
  757|       |    cache_ptr->dirty_prefetches = 0;
  758|       |    cache_ptr->prefetch_hits    = 0;
  759|       |
  760|       |#if H5C_COLLECT_CACHE_ENTRY_STATS
  761|       |    for (i = 0; i <= cache_ptr->max_type_id; i++) {
  762|       |        cache_ptr->max_accesses[i] = 0;
  763|       |        cache_ptr->min_accesses[i] = 1000000;
  764|       |        cache_ptr->max_clears[i]   = 0;
  765|       |        cache_ptr->max_flushes[i]  = 0;
  766|       |        cache_ptr->max_size[i]     = (size_t)0;
  767|       |        cache_ptr->max_pins[i]     = 0;
  768|       |    } /* end for */
  769|       |
  770|       |#endif /* H5C_COLLECT_CACHE_ENTRY_STATS */
  771|       |#endif /* H5C_COLLECT_CACHE_STATS */
  772|     10|} /* H5C_stats__reset() */

H5C__flush_single_entry:
  427|    118|{
  428|    118|    H5C_t  *cache_ptr;                 /* Cache for file */
  429|    118|    bool    destroy;                   /* external flag */
  430|    118|    bool    clear_only;                /* external flag */
  431|    118|    bool    free_file_space;           /* external flag */
  432|    118|    bool    take_ownership;            /* external flag */
  433|    118|    bool    del_from_slist_on_destroy; /* external flag */
  434|    118|    bool    during_flush;              /* external flag */
  435|    118|    bool    write_entry;               /* internal flag */
  436|    118|    bool    destroy_entry;             /* internal flag */
  437|    118|    bool    generate_image;            /* internal flag */
  438|    118|    bool    update_page_buffer;        /* internal flag */
  439|    118|    bool    was_dirty;
  440|    118|    bool    suppress_image_entry_writes = false;
  441|    118|    bool    suppress_image_entry_frees  = false;
  442|    118|    haddr_t entry_addr                  = HADDR_UNDEF;
  ------------------
  |  |  336|    118|#define HADDR_UNDEF         UINT64_MAX
  ------------------
  443|    118|    herr_t  ret_value                   = SUCCEED; /* Return value */
  ------------------
  |  |  283|    118|#define SUCCEED 0
  ------------------
  444|       |
  445|    118|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    118|    {                                                                                                        \
  |  | 1461|    118|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    118|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    118|                                                                                                             \
  |  |  |  | 1267|    118|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    118|        {
  ------------------
  446|       |
  447|    118|    assert(f);
  448|    118|    cache_ptr = f->shared->cache;
  449|    118|    assert(cache_ptr);
  450|    118|    assert(entry_ptr);
  451|    118|    assert(entry_ptr->ring != H5C_RING_UNDEFINED);
  452|    118|    assert(entry_ptr->type);
  453|       |
  454|       |    /* setup external flags from the flags parameter */
  455|    118|    destroy                   = ((flags & H5C__FLUSH_INVALIDATE_FLAG) != 0);
  ------------------
  |  |  180|    118|#define H5C__FLUSH_INVALIDATE_FLAG          0x00010
  ------------------
  456|    118|    clear_only                = ((flags & H5C__FLUSH_CLEAR_ONLY_FLAG) != 0);
  ------------------
  |  |  181|    118|#define H5C__FLUSH_CLEAR_ONLY_FLAG          0x00020
  ------------------
  457|    118|    free_file_space           = ((flags & H5C__FREE_FILE_SPACE_FLAG) != 0);
  ------------------
  |  |  184|    118|#define H5C__FREE_FILE_SPACE_FLAG           0x00100
  ------------------
  458|    118|    take_ownership            = ((flags & H5C__TAKE_OWNERSHIP_FLAG) != 0);
  ------------------
  |  |  185|    118|#define H5C__TAKE_OWNERSHIP_FLAG            0x00200
  ------------------
  459|    118|    del_from_slist_on_destroy = ((flags & H5C__DEL_FROM_SLIST_ON_DESTROY_FLAG) != 0);
  ------------------
  |  |  189|    118|#define H5C__DEL_FROM_SLIST_ON_DESTROY_FLAG 0x02000
  ------------------
  460|    118|    during_flush              = ((flags & H5C__DURING_FLUSH_FLAG) != 0);
  ------------------
  |  |  190|    118|#define H5C__DURING_FLUSH_FLAG              0x04000 /* Set when the entire cache is being flushed */
  ------------------
  461|    118|    generate_image            = ((flags & H5C__GENERATE_IMAGE_FLAG) != 0);
  ------------------
  |  |  191|    118|#define H5C__GENERATE_IMAGE_FLAG            0x08000 /* Set during parallel I/O */
  ------------------
  462|    118|    update_page_buffer        = ((flags & H5C__UPDATE_PAGE_BUFFER_FLAG) != 0);
  ------------------
  |  |  192|    118|#define H5C__UPDATE_PAGE_BUFFER_FLAG        0x10000 /* Set during parallel I/O */
  ------------------
  463|       |
  464|       |    /* Set the flag for destroying the entry, based on the 'take ownership'
  465|       |     * and 'destroy' flags
  466|       |     */
  467|    118|    if (take_ownership)
  ------------------
  |  Branch (467:9): [True: 0, False: 118]
  ------------------
  468|      0|        destroy_entry = false;
  469|    118|    else
  470|    118|        destroy_entry = destroy;
  471|       |
  472|       |    /* we will write the entry to disk if it exists, is dirty, and if the
  473|       |     * clear only flag is not set.
  474|       |     */
  475|    118|    if (entry_ptr->is_dirty && !clear_only)
  ------------------
  |  Branch (475:9): [True: 0, False: 118]
  |  Branch (475:32): [True: 0, False: 0]
  ------------------
  476|      0|        write_entry = true;
  477|    118|    else
  478|    118|        write_entry = false;
  479|       |
  480|       |    /* if we have received close warning, and we have been instructed to
  481|       |     * generate a metadata cache image, and we have actually constructed
  482|       |     * the entry images, set suppress_image_entry_frees to true.
  483|       |     *
  484|       |     * Set suppress_image_entry_writes to true if indicated by the
  485|       |     * image_ctl flags.
  486|       |     */
  487|    118|    if (cache_ptr->close_warning_received && cache_ptr->image_ctl.generate_image &&
  ------------------
  |  Branch (487:9): [True: 113, False: 5]
  |  Branch (487:46): [True: 0, False: 113]
  ------------------
  488|    118|        cache_ptr->num_entries_in_image > 0 && cache_ptr->image_entries != NULL) {
  ------------------
  |  Branch (488:9): [True: 0, False: 0]
  |  Branch (488:48): [True: 0, False: 0]
  ------------------
  489|       |
  490|       |        /* Sanity checks */
  491|      0|        assert(entry_ptr->image_up_to_date || !(entry_ptr->include_in_image));
  492|      0|        assert(entry_ptr->image_ptr || !(entry_ptr->include_in_image));
  493|      0|        assert((!clear_only) || !(entry_ptr->include_in_image));
  494|      0|        assert((!take_ownership) || !(entry_ptr->include_in_image));
  495|      0|        assert((!free_file_space) || !(entry_ptr->include_in_image));
  496|       |
  497|      0|        suppress_image_entry_frees = true;
  498|       |
  499|      0|        if (cache_ptr->image_ctl.flags & H5C_CI__SUPRESS_ENTRY_WRITES)
  ------------------
  |  | 2117|      0|#define H5C_CI__SUPRESS_ENTRY_WRITES ((unsigned)0x0004)
  ------------------
  |  Branch (499:13): [True: 0, False: 0]
  ------------------
  500|      0|            suppress_image_entry_writes = true;
  501|      0|    } /* end if */
  502|       |
  503|       |    /* run initial sanity checks */
  504|       |#ifdef H5C_DO_SANITY_CHECKS
  505|       |    if (cache_ptr->slist_enabled) {
  506|       |        if (entry_ptr->in_slist) {
  507|       |            assert(entry_ptr->is_dirty);
  508|       |            if (!entry_ptr->is_dirty)
  509|       |                HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "entry in slist failed sanity checks");
  510|       |        } /* end if */
  511|       |    }
  512|       |    else /* slist is disabled */
  513|       |        assert(!entry_ptr->in_slist);
  514|       |#endif /* H5C_DO_SANITY_CHECKS */
  515|       |
  516|    118|    if (entry_ptr->is_protected)
  ------------------
  |  Branch (516:9): [True: 0, False: 118]
  ------------------
  517|       |        /* Attempt to flush a protected entry -- scream and die. */
  518|      0|        HGOTO_ERROR(H5E_CACHE, H5E_PROTECT, FAIL, "Attempt to flush a protected entry");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  519|       |
  520|       |    /* Set entry_ptr->flush_in_progress = true
  521|       |     *
  522|       |     * We will set flush_in_progress back to false at the end if the
  523|       |     * entry still exists at that point.
  524|       |     */
  525|    118|    entry_ptr->flush_in_progress = true;
  526|       |
  527|       |    /* Preserve current dirty state for later */
  528|    118|    was_dirty = entry_ptr->is_dirty;
  529|       |
  530|       |    /* The entry is dirty, and we are doing a flush, a flush destroy or have
  531|       |     * been requested to generate an image.  In those cases, serialize the
  532|       |     * entry.
  533|       |     */
  534|    118|    if (write_entry || generate_image) {
  ------------------
  |  Branch (534:9): [True: 0, False: 118]
  |  Branch (534:24): [True: 0, False: 118]
  ------------------
  535|      0|        assert(entry_ptr->is_dirty);
  536|      0|        if (NULL == entry_ptr->image_ptr) {
  ------------------
  |  Branch (536:13): [True: 0, False: 0]
  ------------------
  537|      0|            if (NULL == (entry_ptr->image_ptr = H5MM_malloc(entry_ptr->size + H5C_IMAGE_EXTRA_SPACE)))
  ------------------
  |  |   38|      0|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  |  Branch (537:17): [True: 0, False: 0]
  ------------------
  538|      0|                HGOTO_ERROR(H5E_CACHE, H5E_CANTALLOC, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  539|      0|                            "memory allocation failed for on disk image buffer");
  540|       |
  541|       |#if H5C_DO_MEMORY_SANITY_CHECKS
  542|       |            H5MM_memcpy(((uint8_t *)entry_ptr->image_ptr) + entry_ptr->size, H5C_IMAGE_SANITY_VALUE,
  543|       |                        H5C_IMAGE_EXTRA_SPACE);
  544|       |#endif /* H5C_DO_MEMORY_SANITY_CHECKS */
  545|       |
  546|      0|        } /* end if */
  547|       |
  548|      0|        if (!entry_ptr->image_up_to_date) {
  ------------------
  |  Branch (548:13): [True: 0, False: 0]
  ------------------
  549|       |            /* Sanity check */
  550|      0|            assert(!entry_ptr->prefetched);
  551|       |
  552|       |            /* Generate the entry's image */
  553|      0|            if (H5C__generate_image(f, cache_ptr, entry_ptr) < 0)
  ------------------
  |  Branch (553:17): [True: 0, False: 0]
  ------------------
  554|      0|                HGOTO_ERROR(H5E_CACHE, H5E_CANTGET, FAIL, "can't generate entry's image");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  555|      0|        } /* end if ( ! (entry_ptr->image_up_to_date) ) */
  556|      0|    }     /* end if */
  557|       |
  558|       |    /* Finally, write the image to disk.
  559|       |     *
  560|       |     * Note that if the H5AC__CLASS_SKIP_WRITES flag is set in the
  561|       |     * in the entry's type, we silently skip the write.  This
  562|       |     * flag should only be used in test code.
  563|       |     */
  564|    118|    if (write_entry) {
  ------------------
  |  Branch (564:9): [True: 0, False: 118]
  ------------------
  565|      0|        assert(entry_ptr->is_dirty);
  566|       |
  567|       |#ifdef H5C_DO_SANITY_CHECKS
  568|       |        if (cache_ptr->check_write_permitted && !cache_ptr->write_permitted)
  569|       |            HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "Write when writes are always forbidden!?!?!");
  570|       |#endif /* H5C_DO_SANITY_CHECKS */
  571|       |
  572|       |        /* Write the image to disk unless the write is suppressed.
  573|       |         *
  574|       |         * This happens if both suppress_image_entry_writes and
  575|       |         * entry_ptr->include_in_image are true, or if the
  576|       |         * H5AC__CLASS_SKIP_WRITES is set in the entry's type.  This
  577|       |         * flag should only be used in test code
  578|       |         */
  579|      0|        if ((!suppress_image_entry_writes || !entry_ptr->include_in_image) &&
  ------------------
  |  Branch (579:14): [True: 0, False: 0]
  |  Branch (579:46): [True: 0, False: 0]
  ------------------
  580|      0|            ((entry_ptr->type->flags & H5C__CLASS_SKIP_WRITES) == 0)) {
  ------------------
  |  |   64|      0|#define H5C__CLASS_SKIP_WRITES ((unsigned)0x4)
  ------------------
  |  Branch (580:13): [True: 0, False: 0]
  ------------------
  581|      0|            H5FD_mem_t mem_type = H5FD_MEM_DEFAULT;
  582|       |
  583|       |#ifdef H5_HAVE_PARALLEL
  584|       |            if (cache_ptr->coll_write_list) {
  585|       |                if (H5SL_insert(cache_ptr->coll_write_list, entry_ptr, &entry_ptr->addr) < 0)
  586|       |                    HGOTO_ERROR(H5E_CACHE, H5E_CANTINSERT, FAIL, "unable to insert skip list item");
  587|       |            } /* end if */
  588|       |            else {
  589|       |#endif /* H5_HAVE_PARALLEL */
  590|      0|                if (entry_ptr->prefetched) {
  ------------------
  |  Branch (590:21): [True: 0, False: 0]
  ------------------
  591|      0|                    assert(entry_ptr->type->id == H5AC_PREFETCHED_ENTRY_ID);
  592|      0|                    mem_type = cache_ptr->class_table_ptr[entry_ptr->prefetch_type_id]->mem_type;
  593|      0|                } /* end if */
  594|      0|                else
  595|      0|                    mem_type = entry_ptr->type->mem_type;
  596|       |
  597|      0|                if (H5F_block_write(f, mem_type, entry_ptr->addr, entry_ptr->size, entry_ptr->image_ptr) < 0)
  ------------------
  |  Branch (597:21): [True: 0, False: 0]
  ------------------
  598|      0|                    HGOTO_ERROR(H5E_CACHE, H5E_CANTFLUSH, FAIL, "Can't write image to file");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  599|       |#ifdef H5_HAVE_PARALLEL
  600|       |            }
  601|       |#endif    /* H5_HAVE_PARALLEL */
  602|      0|        } /* end if */
  603|       |
  604|       |        /* if the entry has a notify callback, notify it that we have
  605|       |         * just flushed the entry.
  606|       |         */
  607|      0|        if (entry_ptr->type->notify &&
  ------------------
  |  Branch (607:13): [True: 0, False: 0]
  ------------------
  608|      0|            (entry_ptr->type->notify)(H5C_NOTIFY_ACTION_AFTER_FLUSH, entry_ptr) < 0)
  ------------------
  |  Branch (608:13): [True: 0, False: 0]
  ------------------
  609|      0|            HGOTO_ERROR(H5E_CACHE, H5E_CANTNOTIFY, FAIL, "can't notify client of entry flush");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  610|      0|    } /* if ( write_entry ) */
  611|       |
  612|       |    /* At this point, all pre-serialize and serialize calls have been
  613|       |     * made if it was appropriate to make them.  Similarly, the entry
  614|       |     * has been written to disk if desired.
  615|       |     *
  616|       |     * Thus it is now safe to update the cache data structures for the
  617|       |     * flush.
  618|       |     */
  619|       |
  620|       |    /* start by updating the statistics */
  621|    118|    if (clear_only) {
  ------------------
  |  Branch (621:9): [True: 5, False: 113]
  ------------------
  622|       |        /* only log a clear if the entry was dirty */
  623|      5|        if (was_dirty)
  ------------------
  |  Branch (623:13): [True: 0, False: 5]
  ------------------
  624|      0|            H5C__UPDATE_STATS_FOR_CLEAR(cache_ptr, entry_ptr);
  ------------------
  |  |  551|      0|    do {                                                                                                     \
  |  |  552|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (552:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  625|      5|    }
  626|    113|    else if (write_entry) {
  ------------------
  |  Branch (626:14): [True: 0, False: 113]
  ------------------
  627|      0|        assert(was_dirty);
  628|       |
  629|       |        /* only log a flush if we actually wrote to disk */
  630|      0|        H5C__UPDATE_STATS_FOR_FLUSH(cache_ptr, entry_ptr);
  ------------------
  |  |  554|      0|    do {                                                                                                     \
  |  |  555|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (555:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  631|      0|    } /* end else if */
  632|       |
  633|       |    /* Note that the algorithm below is (very) similar to the set of operations
  634|       |     * in H5C_remove_entry() and should be kept in sync with changes
  635|       |     * to that code. - QAK, 2016/11/30
  636|       |     */
  637|       |
  638|       |    /* Update the cache internal data structures. */
  639|    118|    if (destroy) {
  ------------------
  |  Branch (639:9): [True: 118, False: 0]
  ------------------
  640|       |        /* Sanity checks */
  641|    118|        if (take_ownership)
  ------------------
  |  Branch (641:13): [True: 0, False: 118]
  ------------------
  642|      0|            assert(!destroy_entry);
  643|    118|        else
  644|    118|            assert(destroy_entry);
  645|       |
  646|    118|        assert(!entry_ptr->is_pinned);
  647|       |
  648|       |        /* Update stats, while entry is still in the cache */
  649|    118|        H5C__UPDATE_STATS_FOR_EVICTION(cache_ptr, entry_ptr, take_ownership);
  ------------------
  |  |  557|    118|    do {                                                                                                     \
  |  |  558|    118|    } while (0)
  |  |  ------------------
  |  |  |  Branch (558:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  650|       |
  651|       |        /* If the entry's type has a 'notify' callback and the entry is about
  652|       |         * to be removed from the cache, send a 'before eviction' notice while
  653|       |         * the entry is still fully integrated in the cache.
  654|       |         */
  655|    118|        if (entry_ptr->type->notify &&
  ------------------
  |  Branch (655:13): [True: 73, False: 45]
  ------------------
  656|    118|            (entry_ptr->type->notify)(H5C_NOTIFY_ACTION_BEFORE_EVICT, entry_ptr) < 0)
  ------------------
  |  Branch (656:13): [True: 0, False: 73]
  ------------------
  657|      0|            HGOTO_ERROR(H5E_CACHE, H5E_CANTNOTIFY, FAIL, "can't notify client about entry to evict");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  658|       |
  659|       |        /* Update the cache internal data structures as appropriate
  660|       |         * for a destroy.  Specifically:
  661|       |         *
  662|       |         * 1) Delete it from the index
  663|       |         *
  664|       |         * 2) Delete it from the skip list if requested.
  665|       |         *
  666|       |         * 3) Delete it from the collective read access list.
  667|       |         *
  668|       |         * 4) Update the replacement policy for eviction
  669|       |         *
  670|       |         * 5) Remove it from the tag list for this object
  671|       |         *
  672|       |         * Finally, if the destroy_entry flag is set, discard the
  673|       |         * entry.
  674|       |         */
  675|    118|        H5C__DELETE_FROM_INDEX(cache_ptr, entry_ptr, FAIL);
  ------------------
  |  |  851|    118|    do {                                                                                                     \
  |  |  852|    118|        int k;                                                                                               \
  |  |  853|    118|        H5C__PRE_HT_REMOVE_SC(cache_ptr, entry_ptr, fail_val)                                                \
  |  |  854|    118|        k = H5C__HASH_FCN((entry_ptr)->addr);                                                                \
  |  |  ------------------
  |  |  |  |  596|    118|#define H5C__HASH_FCN(x) (int)((unsigned)((x)&H5C__HASH_MASK) >> 3)
  |  |  |  |  ------------------
  |  |  |  |  |  |  595|    118|#define H5C__HASH_MASK   ((size_t)(H5C__HASH_TABLE_LEN - 1) << 3)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|    118|#define H5C__HASH_TABLE_LEN (64 * 1024) /* must be a power of 2 */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  855|    118|        if ((entry_ptr)->ht_next)                                                                            \
  |  |  ------------------
  |  |  |  Branch (855:13): [True: 0, False: 118]
  |  |  ------------------
  |  |  856|    118|            (entry_ptr)->ht_next->ht_prev = (entry_ptr)->ht_prev;                                            \
  |  |  857|    118|        if ((entry_ptr)->ht_prev)                                                                            \
  |  |  ------------------
  |  |  |  Branch (857:13): [True: 0, False: 118]
  |  |  ------------------
  |  |  858|    118|            (entry_ptr)->ht_prev->ht_next = (entry_ptr)->ht_next;                                            \
  |  |  859|    118|        if ((cache_ptr)->index[k] == (entry_ptr))                                                            \
  |  |  ------------------
  |  |  |  Branch (859:13): [True: 118, False: 0]
  |  |  ------------------
  |  |  860|    118|            (cache_ptr)->index[k] = (entry_ptr)->ht_next;                                                    \
  |  |  861|    118|        (entry_ptr)->ht_next = NULL;                                                                         \
  |  |  862|    118|        (entry_ptr)->ht_prev = NULL;                                                                         \
  |  |  863|    118|        (cache_ptr)->index_len--;                                                                            \
  |  |  864|    118|        (cache_ptr)->index_size -= (entry_ptr)->size;                                                        \
  |  |  865|    118|        (cache_ptr)->index_ring_len[(entry_ptr)->ring]--;                                                    \
  |  |  866|    118|        (cache_ptr)->index_ring_size[(entry_ptr)->ring] -= (entry_ptr)->size;                                \
  |  |  867|    118|        if ((entry_ptr)->is_dirty) {                                                                         \
  |  |  ------------------
  |  |  |  Branch (867:13): [True: 0, False: 118]
  |  |  ------------------
  |  |  868|      0|            (cache_ptr)->dirty_index_size -= (entry_ptr)->size;                                              \
  |  |  869|      0|            (cache_ptr)->dirty_index_ring_size[(entry_ptr)->ring] -= (entry_ptr)->size;                      \
  |  |  870|      0|        }                                                                                                    \
  |  |  871|    118|        else {                                                                                               \
  |  |  872|    118|            (cache_ptr)->clean_index_size -= (entry_ptr)->size;                                              \
  |  |  873|    118|            (cache_ptr)->clean_index_ring_size[(entry_ptr)->ring] -= (entry_ptr)->size;                      \
  |  |  874|    118|        }                                                                                                    \
  |  |  875|    118|        if ((entry_ptr)->flush_me_last) {                                                                    \
  |  |  ------------------
  |  |  |  Branch (875:13): [True: 7, False: 111]
  |  |  ------------------
  |  |  876|      7|            (cache_ptr)->num_last_entries--;                                                                 \
  |  |  877|      7|            assert((cache_ptr)->num_last_entries <= 1);                                                      \
  |  |  878|      7|        }                                                                                                    \
  |  |  879|    118|        H5C__IL_DLL_REMOVE((entry_ptr), (cache_ptr)->il_head, (cache_ptr)->il_tail, (cache_ptr)->il_len,     \
  |  |  ------------------
  |  |  |  |  202|    118|    H5C__GEN_DLL_REMOVE(entry_ptr, il_next, il_prev, head_ptr, tail_ptr, len, list_size, fail_val)
  |  |  |  |  ------------------
  |  |  |  |  |  |  149|    118|    {                                                                                                        \
  |  |  |  |  |  |  150|    118|        H5C__GEN_DLL_PRE_REMOVE_SC(entry_ptr, list_next, list_prev, head_ptr, tail_ptr, len, list_size,      \
  |  |  |  |  |  |  151|    118|                                   fail_val);                                                                \
  |  |  |  |  |  |  152|    118|        if ((head_ptr) == (entry_ptr)) {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (152:13): [True: 7, False: 111]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  153|      7|            (head_ptr) = (entry_ptr)->list_next;                                                             \
  |  |  |  |  |  |  154|      7|            if ((head_ptr) != NULL)                                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (154:17): [True: 0, False: 7]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  155|      7|                (head_ptr)->list_prev = NULL;                                                                \
  |  |  |  |  |  |  156|      7|        }                                                                                                    \
  |  |  |  |  |  |  157|    118|        else                                                                                                 \
  |  |  |  |  |  |  158|    118|            (entry_ptr)->list_prev->list_next = (entry_ptr)->list_next;                                      \
  |  |  |  |  |  |  159|    118|        if ((tail_ptr) == (entry_ptr)) {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 25, False: 93]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|     25|            (tail_ptr) = (entry_ptr)->list_prev;                                                             \
  |  |  |  |  |  |  161|     25|            if ((tail_ptr) != NULL)                                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (161:17): [True: 18, False: 7]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  162|     25|                (tail_ptr)->list_next = NULL;                                                                \
  |  |  |  |  |  |  163|     25|        }                                                                                                    \
  |  |  |  |  |  |  164|    118|        else                                                                                                 \
  |  |  |  |  |  |  165|    118|            (entry_ptr)->list_next->list_prev = (entry_ptr)->list_prev;                                      \
  |  |  |  |  |  |  166|    118|        (entry_ptr)->list_next = NULL;                                                                       \
  |  |  |  |  |  |  167|    118|        (entry_ptr)->list_prev = NULL;                                                                       \
  |  |  |  |  |  |  168|    118|        (len)--;                                                                                             \
  |  |  |  |  |  |  169|    118|        (list_size) -= (entry_ptr)->size;                                                                    \
  |  |  |  |  |  |  170|    118|    } /* H5C__GEN_DLL_REMOVE() */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  880|    118|                           (cache_ptr)->il_size, fail_val);                                                  \
  |  |  881|    118|        H5C__UPDATE_STATS_FOR_HT_DELETION(cache_ptr);                                                        \
  |  |  ------------------
  |  |  |  |  542|    118|    do {                                                                                                     \
  |  |  |  |  543|    118|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (543:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  882|    118|        H5C__POST_HT_REMOVE_SC(cache_ptr, entry_ptr, fail_val);                                              \
  |  |  883|    118|    } while (0)
  |  |  ------------------
  |  |  |  Branch (883:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  676|       |
  677|    118|        if (entry_ptr->in_slist && del_from_slist_on_destroy)
  ------------------
  |  Branch (677:13): [True: 0, False: 118]
  |  Branch (677:36): [True: 0, False: 0]
  ------------------
  678|      0|            H5C__REMOVE_ENTRY_FROM_SLIST(cache_ptr, entry_ptr, during_flush, FAIL);
  ------------------
  |  | 1064|      0|    do {                                                                                                     \
  |  | 1065|      0|        assert(cache_ptr);                                                                                   \
  |  | 1066|      0|                                                                                                             \
  |  | 1067|      0|        if ((cache_ptr)->slist_enabled) {                                                                    \
  |  |  ------------------
  |  |  |  Branch (1067:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 1068|      0|            assert(entry_ptr);                                                                               \
  |  | 1069|      0|            assert(!(entry_ptr)->is_read_only);                                                              \
  |  | 1070|      0|            assert((entry_ptr)->ro_ref_count == 0);                                                          \
  |  | 1071|      0|            assert((entry_ptr)->size > 0);                                                                   \
  |  | 1072|      0|            assert((entry_ptr)->in_slist);                                                                   \
  |  | 1073|      0|            assert((cache_ptr)->slist_ptr);                                                                  \
  |  | 1074|      0|            assert((entry_ptr)->ring > H5C_RING_UNDEFINED);                                                  \
  |  | 1075|      0|            assert((entry_ptr)->ring < H5C_RING_NTYPES);                                                     \
  |  | 1076|      0|            assert((cache_ptr)->slist_ring_len[(entry_ptr)->ring] <= (cache_ptr)->slist_len);                \
  |  | 1077|      0|            assert((cache_ptr)->slist_ring_size[(entry_ptr)->ring] <= (cache_ptr)->slist_size);              \
  |  | 1078|      0|            assert((cache_ptr)->slist_size >= (entry_ptr)->size);                                            \
  |  | 1079|      0|                                                                                                             \
  |  | 1080|      0|            if (H5SL_remove((cache_ptr)->slist_ptr, &(entry_ptr)->addr) != (entry_ptr))                      \
  |  |  ------------------
  |  |  |  Branch (1080:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 1081|      0|                HGOTO_ERROR(H5E_CACHE, H5E_BADVALUE, (fail_val), "can't delete entry from skip list");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1082|      0|                                                                                                             \
  |  | 1083|      0|            assert((cache_ptr)->slist_len > 0);                                                              \
  |  | 1084|      0|            if (!(during_flush))                                                                             \
  |  |  ------------------
  |  |  |  Branch (1084:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 1085|      0|                (cache_ptr)->slist_changed = true;                                                           \
  |  | 1086|      0|            (cache_ptr)->slist_len--;                                                                        \
  |  | 1087|      0|            assert((cache_ptr)->slist_size >= (entry_ptr)->size);                                            \
  |  | 1088|      0|            (cache_ptr)->slist_size -= (entry_ptr)->size;                                                    \
  |  | 1089|      0|            (cache_ptr)->slist_ring_len[(entry_ptr)->ring]--;                                                \
  |  | 1090|      0|            assert((cache_ptr)->slist_ring_size[(entry_ptr)->ring] >= (entry_ptr)->size);                    \
  |  | 1091|      0|            ((cache_ptr)->slist_ring_size[(entry_ptr)->ring]) -= (entry_ptr)->size;                          \
  |  | 1092|      0|            H5C__SLIST_REMOVE_ENTRY_SC(cache_ptr, entry_ptr);                                                \
  |  | 1093|      0|            (entry_ptr)->in_slist = false;                                                                   \
  |  | 1094|      0|        }                                                                                                    \
  |  | 1095|      0|        else { /* slist disabled */                                                                          \
  |  | 1096|      0|            assert((cache_ptr)->slist_len == 0);                                                             \
  |  | 1097|      0|            assert((cache_ptr)->slist_size == 0);                                                            \
  |  | 1098|      0|        }                                                                                                    \
  |  | 1099|      0|    } while (0) /* H5C__REMOVE_ENTRY_FROM_SLIST */
  |  |  ------------------
  |  |  |  Branch (1099:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  679|       |
  680|       |#ifdef H5_HAVE_PARALLEL
  681|       |        /* Check for collective read access flag */
  682|       |        if (entry_ptr->coll_access) {
  683|       |            entry_ptr->coll_access = false;
  684|       |            H5C__REMOVE_FROM_COLL_LIST(cache_ptr, entry_ptr, FAIL);
  685|       |        } /* end if */
  686|       |#endif    /* H5_HAVE_PARALLEL */
  687|       |
  688|    118|        H5C__UPDATE_RP_FOR_EVICTION(cache_ptr, entry_ptr, FAIL);
  ------------------
  |  | 1335|    118|    do {                                                                                                     \
  |  | 1336|    118|        assert(cache_ptr);                                                                                   \
  |  | 1337|    118|        assert(entry_ptr);                                                                                   \
  |  | 1338|    118|        assert(!(entry_ptr)->is_protected);                                                                  \
  |  | 1339|    118|        assert(!(entry_ptr)->is_read_only);                                                                  \
  |  | 1340|    118|        assert((entry_ptr)->ro_ref_count == 0);                                                              \
  |  | 1341|    118|        assert(!(entry_ptr)->is_pinned);                                                                     \
  |  | 1342|    118|        assert((entry_ptr)->size > 0);                                                                       \
  |  | 1343|    118|                                                                                                             \
  |  | 1344|    118|        /* Remove the entry from the LRU list */                                                             \
  |  | 1345|    118|        H5C__DLL_REMOVE((entry_ptr), (cache_ptr)->LRU_head_ptr, (cache_ptr)->LRU_tail_ptr,                   \
  |  |  ------------------
  |  |  |  |  186|    118|    H5C__GEN_DLL_REMOVE(entry_ptr, next, prev, head_ptr, tail_ptr, len, list_size, fail_val)
  |  |  |  |  ------------------
  |  |  |  |  |  |  149|    118|    {                                                                                                        \
  |  |  |  |  |  |  150|    118|        H5C__GEN_DLL_PRE_REMOVE_SC(entry_ptr, list_next, list_prev, head_ptr, tail_ptr, len, list_size,      \
  |  |  |  |  |  |  151|    118|                                   fail_val);                                                                \
  |  |  |  |  |  |  152|    118|        if ((head_ptr) == (entry_ptr)) {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (152:13): [True: 18, False: 100]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  153|     18|            (head_ptr) = (entry_ptr)->list_next;                                                             \
  |  |  |  |  |  |  154|     18|            if ((head_ptr) != NULL)                                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (154:17): [True: 11, False: 7]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  155|     18|                (head_ptr)->list_prev = NULL;                                                                \
  |  |  |  |  |  |  156|     18|        }                                                                                                    \
  |  |  |  |  |  |  157|    118|        else                                                                                                 \
  |  |  |  |  |  |  158|    118|            (entry_ptr)->list_prev->list_next = (entry_ptr)->list_next;                                      \
  |  |  |  |  |  |  159|    118|        if ((tail_ptr) == (entry_ptr)) {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 62, False: 56]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|     62|            (tail_ptr) = (entry_ptr)->list_prev;                                                             \
  |  |  |  |  |  |  161|     62|            if ((tail_ptr) != NULL)                                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (161:17): [True: 55, False: 7]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  162|     62|                (tail_ptr)->list_next = NULL;                                                                \
  |  |  |  |  |  |  163|     62|        }                                                                                                    \
  |  |  |  |  |  |  164|    118|        else                                                                                                 \
  |  |  |  |  |  |  165|    118|            (entry_ptr)->list_next->list_prev = (entry_ptr)->list_prev;                                      \
  |  |  |  |  |  |  166|    118|        (entry_ptr)->list_next = NULL;                                                                       \
  |  |  |  |  |  |  167|    118|        (entry_ptr)->list_prev = NULL;                                                                       \
  |  |  |  |  |  |  168|    118|        (len)--;                                                                                             \
  |  |  |  |  |  |  169|    118|        (list_size) -= (entry_ptr)->size;                                                                    \
  |  |  |  |  |  |  170|    118|    } /* H5C__GEN_DLL_REMOVE() */
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1346|    118|                        (cache_ptr)->LRU_list_len, (cache_ptr)->LRU_list_size, (fail_val))                   \
  |  | 1347|    118|                                                                                                             \
  |  | 1348|    118|        /* Remove the entry from the clean & dirty LRU lists, if enabled */                                  \
  |  | 1349|    118|        H5C__UPDATE_RP_FOR_EVICTION_CD_LRU(cache_ptr, entry_ptr, fail_val);                                  \
  |  | 1350|    118|    } while (0) /* H5C__UPDATE_RP_FOR_EVICTION */
  |  |  ------------------
  |  |  |  Branch (1350:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  689|       |
  690|       |        /* Remove entry from tag list */
  691|    118|        if (H5C__untag_entry(cache_ptr, entry_ptr) < 0)
  ------------------
  |  Branch (691:13): [True: 0, False: 118]
  ------------------
  692|      0|            HGOTO_ERROR(H5E_CACHE, H5E_CANTREMOVE, FAIL, "can't remove entry from tag list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  693|       |
  694|       |        /* verify that the entry is no longer part of any flush dependencies */
  695|    118|        assert(entry_ptr->flush_dep_nparents == 0);
  696|    118|        assert(entry_ptr->flush_dep_nchildren == 0);
  697|    118|    } /* end if */
  698|      0|    else {
  699|      0|        assert(clear_only || write_entry);
  700|      0|        assert(entry_ptr->is_dirty);
  701|      0|        assert((!cache_ptr->slist_enabled) || (entry_ptr->in_slist));
  702|       |
  703|       |        /* We are either doing a flush or a clear.
  704|       |         *
  705|       |         * A clear and a flush are the same from the point of
  706|       |         * view of the replacement policy and the slist.
  707|       |         * Hence no differentiation between them.
  708|       |         */
  709|      0|        H5C__UPDATE_RP_FOR_FLUSH(cache_ptr, entry_ptr, FAIL);
  ------------------
  |  | 1363|      0|    do {                                                                                                     \
  |  | 1364|      0|        assert(cache_ptr);                                                                                   \
  |  | 1365|      0|        assert(entry_ptr);                                                                                   \
  |  | 1366|      0|        assert(!(entry_ptr)->is_protected);                                                                  \
  |  | 1367|      0|        assert(!(entry_ptr)->is_read_only);                                                                  \
  |  | 1368|      0|        assert((entry_ptr)->ro_ref_count == 0);                                                              \
  |  | 1369|      0|        assert((entry_ptr)->size > 0);                                                                       \
  |  | 1370|      0|                                                                                                             \
  |  | 1371|      0|        if (!(entry_ptr)->is_pinned) {                                                                       \
  |  |  ------------------
  |  |  |  Branch (1371:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 1372|      0|            /* Remove the entry from its location in the LRU list                                            \
  |  | 1373|      0|             * and re-insert it at the head of the list.                                                     \
  |  | 1374|      0|             */                                                                                              \
  |  | 1375|      0|            H5C__DLL_REMOVE((entry_ptr), (cache_ptr)->LRU_head_ptr, (cache_ptr)->LRU_tail_ptr,               \
  |  |  ------------------
  |  |  |  |  186|      0|    H5C__GEN_DLL_REMOVE(entry_ptr, next, prev, head_ptr, tail_ptr, len, list_size, fail_val)
  |  |  |  |  ------------------
  |  |  |  |  |  |  149|      0|    {                                                                                                        \
  |  |  |  |  |  |  150|      0|        H5C__GEN_DLL_PRE_REMOVE_SC(entry_ptr, list_next, list_prev, head_ptr, tail_ptr, len, list_size,      \
  |  |  |  |  |  |  151|      0|                                   fail_val);                                                                \
  |  |  |  |  |  |  152|      0|        if ((head_ptr) == (entry_ptr)) {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (152:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  153|      0|            (head_ptr) = (entry_ptr)->list_next;                                                             \
  |  |  |  |  |  |  154|      0|            if ((head_ptr) != NULL)                                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (154:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  155|      0|                (head_ptr)->list_prev = NULL;                                                                \
  |  |  |  |  |  |  156|      0|        }                                                                                                    \
  |  |  |  |  |  |  157|      0|        else                                                                                                 \
  |  |  |  |  |  |  158|      0|            (entry_ptr)->list_prev->list_next = (entry_ptr)->list_next;                                      \
  |  |  |  |  |  |  159|      0|        if ((tail_ptr) == (entry_ptr)) {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            (tail_ptr) = (entry_ptr)->list_prev;                                                             \
  |  |  |  |  |  |  161|      0|            if ((tail_ptr) != NULL)                                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (161:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  162|      0|                (tail_ptr)->list_next = NULL;                                                                \
  |  |  |  |  |  |  163|      0|        }                                                                                                    \
  |  |  |  |  |  |  164|      0|        else                                                                                                 \
  |  |  |  |  |  |  165|      0|            (entry_ptr)->list_next->list_prev = (entry_ptr)->list_prev;                                      \
  |  |  |  |  |  |  166|      0|        (entry_ptr)->list_next = NULL;                                                                       \
  |  |  |  |  |  |  167|      0|        (entry_ptr)->list_prev = NULL;                                                                       \
  |  |  |  |  |  |  168|      0|        (len)--;                                                                                             \
  |  |  |  |  |  |  169|      0|        (list_size) -= (entry_ptr)->size;                                                                    \
  |  |  |  |  |  |  170|      0|    } /* H5C__GEN_DLL_REMOVE() */
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1376|      0|                            (cache_ptr)->LRU_list_len, (cache_ptr)->LRU_list_size, (fail_val))               \
  |  | 1377|      0|                                                                                                             \
  |  | 1378|      0|            H5C__DLL_PREPEND((entry_ptr), (cache_ptr)->LRU_head_ptr, (cache_ptr)->LRU_tail_ptr,              \
  |  |  ------------------
  |  |  |  |  184|      0|    H5C__GEN_DLL_PREPEND(entry_ptr, next, prev, head_ptr, tail_ptr, len, list_size, fail_val)
  |  |  |  |  ------------------
  |  |  |  |  |  |  132|      0|    {                                                                                                        \
  |  |  |  |  |  |  133|      0|        H5C__GEN_DLL_PRE_INSERT_SC(entry_ptr, list_next, list_prev, head_ptr, tail_ptr, len, list_size,      \
  |  |  |  |  |  |  134|      0|                                   fail_val)                                                                 \
  |  |  |  |  |  |  135|      0|        if ((head_ptr) == NULL) {                                                                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (135:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  136|      0|            (head_ptr) = (entry_ptr);                                                                        \
  |  |  |  |  |  |  137|      0|            (tail_ptr) = (entry_ptr);                                                                        \
  |  |  |  |  |  |  138|      0|        }                                                                                                    \
  |  |  |  |  |  |  139|      0|        else {                                                                                               \
  |  |  |  |  |  |  140|      0|            (head_ptr)->list_prev  = (entry_ptr);                                                            \
  |  |  |  |  |  |  141|      0|            (entry_ptr)->list_next = (head_ptr);                                                             \
  |  |  |  |  |  |  142|      0|            (head_ptr)             = (entry_ptr);                                                            \
  |  |  |  |  |  |  143|      0|        }                                                                                                    \
  |  |  |  |  |  |  144|      0|        (len)++;                                                                                             \
  |  |  |  |  |  |  145|      0|        (list_size) += (entry_ptr)->size;                                                                    \
  |  |  |  |  |  |  146|      0|    } /* H5C__GEN_DLL_PREPEND() */
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1379|      0|                             (cache_ptr)->LRU_list_len, (cache_ptr)->LRU_list_size, (fail_val))              \
  |  | 1380|      0|                                                                                                             \
  |  | 1381|      0|            /* Maintain the clean & dirty LRU lists, if enabled */                                           \
  |  | 1382|      0|            H5C__UPDATE_RP_FOR_FLUSH_CD_LRU(cache_ptr, entry_ptr, fail_val);                                 \
  |  | 1383|      0|        }                                                                                                    \
  |  | 1384|      0|    } while (0) /* H5C__UPDATE_RP_FOR_FLUSH */
  |  |  ------------------
  |  |  |  Branch (1384:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  710|      0|        H5C__REMOVE_ENTRY_FROM_SLIST(cache_ptr, entry_ptr, during_flush, FAIL);
  ------------------
  |  | 1064|      0|    do {                                                                                                     \
  |  | 1065|      0|        assert(cache_ptr);                                                                                   \
  |  | 1066|      0|                                                                                                             \
  |  | 1067|      0|        if ((cache_ptr)->slist_enabled) {                                                                    \
  |  |  ------------------
  |  |  |  Branch (1067:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 1068|      0|            assert(entry_ptr);                                                                               \
  |  | 1069|      0|            assert(!(entry_ptr)->is_read_only);                                                              \
  |  | 1070|      0|            assert((entry_ptr)->ro_ref_count == 0);                                                          \
  |  | 1071|      0|            assert((entry_ptr)->size > 0);                                                                   \
  |  | 1072|      0|            assert((entry_ptr)->in_slist);                                                                   \
  |  | 1073|      0|            assert((cache_ptr)->slist_ptr);                                                                  \
  |  | 1074|      0|            assert((entry_ptr)->ring > H5C_RING_UNDEFINED);                                                  \
  |  | 1075|      0|            assert((entry_ptr)->ring < H5C_RING_NTYPES);                                                     \
  |  | 1076|      0|            assert((cache_ptr)->slist_ring_len[(entry_ptr)->ring] <= (cache_ptr)->slist_len);                \
  |  | 1077|      0|            assert((cache_ptr)->slist_ring_size[(entry_ptr)->ring] <= (cache_ptr)->slist_size);              \
  |  | 1078|      0|            assert((cache_ptr)->slist_size >= (entry_ptr)->size);                                            \
  |  | 1079|      0|                                                                                                             \
  |  | 1080|      0|            if (H5SL_remove((cache_ptr)->slist_ptr, &(entry_ptr)->addr) != (entry_ptr))                      \
  |  |  ------------------
  |  |  |  Branch (1080:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 1081|      0|                HGOTO_ERROR(H5E_CACHE, H5E_BADVALUE, (fail_val), "can't delete entry from skip list");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1082|      0|                                                                                                             \
  |  | 1083|      0|            assert((cache_ptr)->slist_len > 0);                                                              \
  |  | 1084|      0|            if (!(during_flush))                                                                             \
  |  |  ------------------
  |  |  |  Branch (1084:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 1085|      0|                (cache_ptr)->slist_changed = true;                                                           \
  |  | 1086|      0|            (cache_ptr)->slist_len--;                                                                        \
  |  | 1087|      0|            assert((cache_ptr)->slist_size >= (entry_ptr)->size);                                            \
  |  | 1088|      0|            (cache_ptr)->slist_size -= (entry_ptr)->size;                                                    \
  |  | 1089|      0|            (cache_ptr)->slist_ring_len[(entry_ptr)->ring]--;                                                \
  |  | 1090|      0|            assert((cache_ptr)->slist_ring_size[(entry_ptr)->ring] >= (entry_ptr)->size);                    \
  |  | 1091|      0|            ((cache_ptr)->slist_ring_size[(entry_ptr)->ring]) -= (entry_ptr)->size;                          \
  |  | 1092|      0|            H5C__SLIST_REMOVE_ENTRY_SC(cache_ptr, entry_ptr);                                                \
  |  | 1093|      0|            (entry_ptr)->in_slist = false;                                                                   \
  |  | 1094|      0|        }                                                                                                    \
  |  | 1095|      0|        else { /* slist disabled */                                                                          \
  |  | 1096|      0|            assert((cache_ptr)->slist_len == 0);                                                             \
  |  | 1097|      0|            assert((cache_ptr)->slist_size == 0);                                                            \
  |  | 1098|      0|        }                                                                                                    \
  |  | 1099|      0|    } while (0) /* H5C__REMOVE_ENTRY_FROM_SLIST */
  |  |  ------------------
  |  |  |  Branch (1099:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  711|       |
  712|       |        /* mark the entry as clean and update the index for
  713|       |         * entry clean.  Also, call the clear callback
  714|       |         * if defined.
  715|       |         */
  716|      0|        entry_ptr->is_dirty = false;
  717|       |
  718|      0|        H5C__UPDATE_INDEX_FOR_ENTRY_CLEAN(cache_ptr, entry_ptr, FAIL);
  ------------------
  |  |  915|      0|    do {                                                                                                     \
  |  |  916|      0|        H5C__PRE_HT_UPDATE_FOR_ENTRY_CLEAN_SC(cache_ptr, entry_ptr, fail_val);                               \
  |  |  917|      0|        (cache_ptr)->dirty_index_size -= (entry_ptr)->size;                                                  \
  |  |  918|      0|        (cache_ptr)->dirty_index_ring_size[(entry_ptr)->ring] -= (entry_ptr)->size;                          \
  |  |  919|      0|        (cache_ptr)->clean_index_size += (entry_ptr)->size;                                                  \
  |  |  920|      0|        (cache_ptr)->clean_index_ring_size[(entry_ptr)->ring] += (entry_ptr)->size;                          \
  |  |  921|      0|        H5C__POST_HT_UPDATE_FOR_ENTRY_CLEAN_SC(cache_ptr, entry_ptr, fail_val);                              \
  |  |  922|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (922:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  719|       |
  720|       |        /* Check for entry changing status and do notifications, etc. */
  721|      0|        if (was_dirty) {
  ------------------
  |  Branch (721:13): [True: 0, False: 0]
  ------------------
  722|       |            /* If the entry's type has a 'notify' callback send a
  723|       |             * 'entry cleaned' notice now that the entry is fully
  724|       |             * integrated into the cache.
  725|       |             */
  726|      0|            if (entry_ptr->type->notify &&
  ------------------
  |  Branch (726:17): [True: 0, False: 0]
  ------------------
  727|      0|                (entry_ptr->type->notify)(H5C_NOTIFY_ACTION_ENTRY_CLEANED, entry_ptr) < 0)
  ------------------
  |  Branch (727:17): [True: 0, False: 0]
  ------------------
  728|      0|                HGOTO_ERROR(H5E_CACHE, H5E_CANTNOTIFY, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  729|      0|                            "can't notify client about entry dirty flag cleared");
  730|       |
  731|       |            /* Propagate the clean flag up the flush dependency chain
  732|       |             * if appropriate
  733|       |             */
  734|      0|            if (entry_ptr->flush_dep_ndirty_children != 0)
  ------------------
  |  Branch (734:17): [True: 0, False: 0]
  ------------------
  735|      0|                assert(entry_ptr->flush_dep_ndirty_children == 0);
  736|      0|            if (entry_ptr->flush_dep_nparents > 0)
  ------------------
  |  Branch (736:17): [True: 0, False: 0]
  ------------------
  737|      0|                if (H5C__mark_flush_dep_clean(entry_ptr) < 0)
  ------------------
  |  Branch (737:21): [True: 0, False: 0]
  ------------------
  738|      0|                    HGOTO_ERROR(H5E_CACHE, H5E_CANTMARKCLEAN, FAIL, "Can't propagate flush dep clean flag");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  739|      0|        } /* end if */
  740|      0|    }     /* end else */
  741|       |
  742|       |    /* reset the flush_in progress flag */
  743|    118|    entry_ptr->flush_in_progress = false;
  744|       |
  745|       |    /* capture the cache entry address for the log_flush call at the
  746|       |     * end before the entry_ptr gets freed
  747|       |     */
  748|    118|    entry_addr = entry_ptr->addr;
  749|       |
  750|       |    /* Internal cache data structures should now be up to date, and
  751|       |     * consistent with the status of the entry.
  752|       |     *
  753|       |     * Now discard the entry if appropriate.
  754|       |     */
  755|    118|    if (destroy) {
  ------------------
  |  Branch (755:9): [True: 118, False: 0]
  ------------------
  756|       |        /* Sanity check */
  757|    118|        assert(0 == entry_ptr->flush_dep_nparents);
  758|       |
  759|       |        /* if both suppress_image_entry_frees and entry_ptr->include_in_image
  760|       |         * are true, simply set entry_ptr->image_ptr to NULL, as we have
  761|       |         * another pointer to the buffer in an instance of H5C_image_entry_t
  762|       |         * in cache_ptr->image_entries.
  763|       |         *
  764|       |         * Otherwise, free the buffer if it exists.
  765|       |         */
  766|    118|        if (suppress_image_entry_frees && entry_ptr->include_in_image)
  ------------------
  |  Branch (766:13): [True: 0, False: 118]
  |  Branch (766:43): [True: 0, False: 0]
  ------------------
  767|      0|            entry_ptr->image_ptr = NULL;
  768|    118|        else if (entry_ptr->image_ptr != NULL)
  ------------------
  |  Branch (768:18): [True: 118, False: 0]
  ------------------
  769|    118|            entry_ptr->image_ptr = H5MM_xfree(entry_ptr->image_ptr);
  770|       |
  771|       |        /* If the entry is not a prefetched entry, verify that the flush
  772|       |         * dependency parents addresses array has been transferred.
  773|       |         *
  774|       |         * If the entry is prefetched, the free_isr routine will dispose of
  775|       |         * the flush dependency parents addresses array if necessary.
  776|       |         */
  777|    118|        if (!entry_ptr->prefetched) {
  ------------------
  |  Branch (777:13): [True: 118, False: 0]
  ------------------
  778|    118|            assert(0 == entry_ptr->fd_parent_count);
  779|    118|            assert(NULL == entry_ptr->fd_parent_addrs);
  780|    118|        } /* end if */
  781|       |
  782|       |        /* Check whether we should free the space in the file that
  783|       |         * the entry occupies
  784|       |         */
  785|    118|        if (free_file_space) {
  ------------------
  |  Branch (785:13): [True: 0, False: 118]
  ------------------
  786|      0|            hsize_t fsf_size;
  787|       |
  788|       |            /* Sanity checks */
  789|      0|            assert(H5_addr_defined(entry_ptr->addr));
  790|      0|            assert(!H5F_IS_TMP_ADDR(f, entry_ptr->addr));
  791|       |#ifndef NDEBUG
  792|       |            {
  793|       |                size_t curr_len;
  794|       |
  795|       |                /* Get the actual image size for the thing again */
  796|       |                entry_ptr->type->image_len((void *)entry_ptr, &curr_len);
  797|       |                assert(curr_len == entry_ptr->size);
  798|       |            }
  799|       |#endif
  800|       |
  801|       |            /* If the file space free size callback is defined, use
  802|       |             * it to get the size of the block of file space to free.
  803|       |             * Otherwise use entry_ptr->size.
  804|       |             */
  805|      0|            if (entry_ptr->type->fsf_size) {
  ------------------
  |  Branch (805:17): [True: 0, False: 0]
  ------------------
  806|      0|                if ((entry_ptr->type->fsf_size)((void *)entry_ptr, &fsf_size) < 0)
  ------------------
  |  Branch (806:21): [True: 0, False: 0]
  ------------------
  807|      0|                    HGOTO_ERROR(H5E_CACHE, H5E_CANTFREE, FAIL, "unable to get file space free size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  808|      0|            }    /* end if */
  809|      0|            else /* no file space free size callback -- use entry size */
  810|      0|                fsf_size = entry_ptr->size;
  811|       |
  812|       |            /* Release the space on disk */
  813|      0|            if (H5MF_xfree(f, entry_ptr->type->mem_type, entry_ptr->addr, fsf_size) < 0)
  ------------------
  |  Branch (813:17): [True: 0, False: 0]
  ------------------
  814|      0|                HGOTO_ERROR(H5E_CACHE, H5E_CANTFREE, FAIL, "unable to free file space for cache entry");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  815|      0|        } /* end if ( free_file_space ) */
  816|       |
  817|       |        /* Reset the pointer to the cache the entry is within. -QAK */
  818|    118|        entry_ptr->cache_ptr = NULL;
  819|       |
  820|       |        /* increment entries_removed_counter and set
  821|       |         * last_entry_removed_ptr.  As we are likely abuut to
  822|       |         * free the entry, recall that last_entry_removed_ptr
  823|       |         * must NEVER be dereferenced.
  824|       |         *
  825|       |         * Recall that these fields are maintained to allow functions
  826|       |         * that perform scans of lists of entries to detect the
  827|       |         * unexpected removal of entries (via expunge, eviction,
  828|       |         * or take ownership at present), so that they can re-start
  829|       |         * their scans if necessary.
  830|       |         *
  831|       |         * Also check if the entry we are watching for removal is being
  832|       |         * removed (usually the 'next' entry for an iteration) and reset
  833|       |         * it to indicate that it was removed.
  834|       |         */
  835|    118|        cache_ptr->entries_removed_counter++;
  836|    118|        cache_ptr->last_entry_removed_ptr = entry_ptr;
  837|       |
  838|    118|        if (entry_ptr == cache_ptr->entry_watched_for_removal)
  ------------------
  |  Branch (838:13): [True: 0, False: 118]
  ------------------
  839|      0|            cache_ptr->entry_watched_for_removal = NULL;
  840|       |
  841|       |        /* Check for actually destroying the entry in memory */
  842|       |        /* (As opposed to taking ownership of it) */
  843|    118|        if (destroy_entry) {
  ------------------
  |  Branch (843:13): [True: 118, False: 0]
  ------------------
  844|    118|            if (entry_ptr->is_dirty) {
  ------------------
  |  Branch (844:17): [True: 0, False: 118]
  ------------------
  845|       |                /* Reset dirty flag */
  846|      0|                entry_ptr->is_dirty = false;
  847|       |
  848|       |                /* If the entry's type has a 'notify' callback send a
  849|       |                 * 'entry cleaned' notice now that the entry is fully
  850|       |                 * integrated into the cache.
  851|       |                 */
  852|      0|                if (entry_ptr->type->notify &&
  ------------------
  |  Branch (852:21): [True: 0, False: 0]
  ------------------
  853|      0|                    (entry_ptr->type->notify)(H5C_NOTIFY_ACTION_ENTRY_CLEANED, entry_ptr) < 0)
  ------------------
  |  Branch (853:21): [True: 0, False: 0]
  ------------------
  854|      0|                    HGOTO_ERROR(H5E_CACHE, H5E_CANTNOTIFY, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  855|      0|                                "can't notify client about entry dirty flag cleared");
  856|      0|            } /* end if */
  857|       |
  858|       |            /* verify that the image has been freed */
  859|    118|            assert(entry_ptr->image_ptr == NULL);
  860|       |
  861|    118|            if (entry_ptr->type->free_icr((void *)entry_ptr) < 0)
  ------------------
  |  Branch (861:17): [True: 0, False: 118]
  ------------------
  862|      0|                HGOTO_ERROR(H5E_CACHE, H5E_CANTFLUSH, FAIL, "free_icr callback failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  863|    118|        } /* end if */
  864|      0|        else {
  865|      0|            assert(take_ownership);
  866|      0|        } /* end else */
  867|    118|    }     /* if (destroy) */
  868|       |
  869|       |    /* Check if we have to update the page buffer with cleared entries
  870|       |     * so it doesn't go out of date
  871|       |     */
  872|    118|    if (update_page_buffer) {
  ------------------
  |  Branch (872:9): [True: 0, False: 118]
  ------------------
  873|       |        /* Sanity check */
  874|      0|        assert(!destroy);
  875|      0|        assert(entry_ptr->image_ptr);
  876|       |
  877|      0|        if (f->shared->page_buf && (f->shared->page_buf->page_size >= entry_ptr->size))
  ------------------
  |  Branch (877:13): [True: 0, False: 0]
  |  Branch (877:36): [True: 0, False: 0]
  ------------------
  878|      0|            if (H5PB_update_entry(f->shared->page_buf, entry_ptr->addr, entry_ptr->size,
  ------------------
  |  Branch (878:17): [True: 0, False: 0]
  ------------------
  879|      0|                                  entry_ptr->image_ptr) > 0)
  880|      0|                HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "Failed to update PB with metadata cache");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  881|      0|    } /* end if */
  882|       |
  883|    118|    if (cache_ptr->log_flush)
  ------------------
  |  Branch (883:9): [True: 0, False: 118]
  ------------------
  884|      0|        if ((cache_ptr->log_flush)(cache_ptr, entry_addr, was_dirty, flags) < 0)
  ------------------
  |  Branch (884:13): [True: 0, False: 0]
  ------------------
  885|      0|            HGOTO_ERROR(H5E_CACHE, H5E_CANTFLUSH, FAIL, "log_flush callback failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  886|       |
  887|    118|done:
  888|    118|    assert((ret_value != SUCCEED) || (destroy_entry) || (!entry_ptr->flush_in_progress));
  889|    118|    assert((ret_value != SUCCEED) || (destroy_entry) || (take_ownership) || (!entry_ptr->is_dirty));
  890|       |
  891|    118|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    118|    ;                                                                                                        \
  |  | 1573|    118|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    118|    return (ret_value);                                                                                      \
  |  | 1575|    118|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  892|    118|} /* H5C__flush_single_entry() */
H5C_pin_protected_entry:
 2889|    247|{
 2890|    247|    H5C_t             *cache_ptr;
 2891|    247|    H5C_cache_entry_t *entry_ptr = (H5C_cache_entry_t *)thing; /* Pointer to entry to pin */
 2892|    247|    herr_t             ret_value = SUCCEED;                    /* Return value */
  ------------------
  |  |  283|    247|#define SUCCEED 0
  ------------------
 2893|       |
 2894|    247|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    247|    {                                                                                                        \
  |  | 1392|    247|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    247|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    247|                                                                                                             \
  |  |  |  | 1267|    247|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    247|        {
  ------------------
 2895|       |
 2896|       |    /* Sanity checks */
 2897|    247|    assert(entry_ptr);
 2898|    247|    assert(H5_addr_defined(entry_ptr->addr));
 2899|    247|    cache_ptr = entry_ptr->cache_ptr;
 2900|    247|    assert(cache_ptr);
 2901|       |
 2902|       |#ifdef H5C_DO_EXTREME_SANITY_CHECKS
 2903|       |    if (H5C__validate_protected_entry_list(cache_ptr) < 0 || H5C__validate_pinned_entry_list(cache_ptr) < 0 ||
 2904|       |        H5C__validate_lru_list(cache_ptr) < 0)
 2905|       |        HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "an extreme sanity check failed on entry");
 2906|       |#endif /* H5C_DO_EXTREME_SANITY_CHECKS */
 2907|       |
 2908|       |    /* Only protected entries can be pinned */
 2909|    247|    if (!entry_ptr->is_protected)
  ------------------
  |  Branch (2909:9): [True: 0, False: 247]
  ------------------
 2910|      0|        HGOTO_ERROR(H5E_CACHE, H5E_CANTPIN, FAIL, "Entry isn't protected");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2911|       |
 2912|       |    /* Pin the entry from a client */
 2913|    247|    if (H5C__pin_entry_from_client(cache_ptr, entry_ptr) < 0)
  ------------------
  |  Branch (2913:9): [True: 0, False: 247]
  ------------------
 2914|      0|        HGOTO_ERROR(H5E_CACHE, H5E_CANTPIN, FAIL, "Can't pin entry by client");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2915|       |
 2916|    247|done:
 2917|       |#ifdef H5C_DO_EXTREME_SANITY_CHECKS
 2918|       |    if (H5C__validate_protected_entry_list(cache_ptr) < 0 || H5C__validate_pinned_entry_list(cache_ptr) < 0 ||
 2919|       |        H5C__validate_lru_list(cache_ptr) < 0)
 2920|       |        HDONE_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "an extreme sanity check failed on exit");
 2921|       |#endif /* H5C_DO_EXTREME_SANITY_CHECKS */
 2922|       |
 2923|    247|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    247|    ;                                                                                                        \
  |  | 1573|    247|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    247|    return (ret_value);                                                                                      \
  |  | 1575|    247|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2924|    247|} /* H5C_pin_protected_entry() */
H5C_protect:
 2948|  3.28k|{
 2949|  3.28k|    H5C_t      *cache_ptr;
 2950|  3.28k|    H5AC_ring_t ring = H5C_RING_UNDEFINED;
  ------------------
  |  |  940|  3.28k|#define H5C_RING_UNDEFINED 0 /* shouldn't appear in the cache */
  ------------------
 2951|  3.28k|    bool        hit;
 2952|  3.28k|    bool        have_write_permitted = false;
 2953|  3.28k|    bool        read_only            = false;
 2954|  3.28k|    bool        flush_last;
 2955|       |#ifdef H5_HAVE_PARALLEL
 2956|       |    bool coll_access = false; /* whether access to the cache entry is done collectively */
 2957|       |#endif                        /* H5_HAVE_PARALLEL */
 2958|  3.28k|    bool               write_permitted = false;
 2959|  3.28k|    bool               was_loaded      = false; /* Whether the entry was loaded as a result of the protect */
 2960|  3.28k|    size_t             empty_space;
 2961|  3.28k|    void              *thing;
 2962|  3.28k|    H5C_cache_entry_t *entry_ptr;
 2963|  3.28k|    void              *ret_value = NULL; /* Return value */
 2964|       |
 2965|  3.28k|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|  3.28k|    {                                                                                                        \
  |  | 1392|  3.28k|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|  3.28k|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|  3.28k|                                                                                                             \
  |  |  |  | 1267|  3.28k|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|  3.28k|        {
  ------------------
 2966|       |
 2967|       |    /* check args */
 2968|  3.28k|    assert(f);
 2969|  3.28k|    assert(f->shared);
 2970|  3.28k|    cache_ptr = f->shared->cache;
 2971|  3.28k|    assert(cache_ptr);
 2972|  3.28k|    assert(type);
 2973|  3.28k|    assert(type->mem_type == cache_ptr->class_table_ptr[type->id]->mem_type);
 2974|  3.28k|    assert(H5_addr_defined(addr));
 2975|       |
 2976|       |#ifdef H5C_DO_EXTREME_SANITY_CHECKS
 2977|       |    if (H5C__validate_protected_entry_list(cache_ptr) < 0 || H5C__validate_pinned_entry_list(cache_ptr) < 0 ||
 2978|       |        H5C__validate_lru_list(cache_ptr) < 0)
 2979|       |        HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, NULL, "an extreme sanity check failed on entry");
 2980|       |#endif /* H5C_DO_EXTREME_SANITY_CHECKS */
 2981|       |
 2982|       |    /* Load the cache image, if requested */
 2983|  3.28k|    if (cache_ptr->load_image) {
  ------------------
  |  Branch (2983:9): [True: 0, False: 3.28k]
  ------------------
 2984|      0|        cache_ptr->load_image = false;
 2985|      0|        if (H5C__load_cache_image(f) < 0)
  ------------------
  |  Branch (2985:13): [True: 0, False: 0]
  ------------------
 2986|      0|            HGOTO_ERROR(H5E_CACHE, H5E_CANTLOAD, NULL, "Can't load cache image");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2987|      0|    } /* end if */
 2988|       |
 2989|  3.28k|    read_only  = ((flags & H5C__READ_ONLY_FLAG) != 0);
  ------------------
  |  |  183|  3.28k|#define H5C__READ_ONLY_FLAG                 0x00080
  ------------------
 2990|  3.28k|    flush_last = ((flags & H5C__FLUSH_LAST_FLAG) != 0);
  ------------------
  |  |  186|  3.28k|#define H5C__FLUSH_LAST_FLAG                0x00400
  ------------------
 2991|       |
 2992|       |    /* Get the ring type from the API context */
 2993|  3.28k|    ring = H5CX_get_ring();
 2994|       |
 2995|       |#ifdef H5_HAVE_PARALLEL
 2996|       |    if (H5F_HAS_FEATURE(f, H5FD_FEAT_HAS_MPI))
 2997|       |        coll_access = H5F_get_coll_metadata_reads(f);
 2998|       |#endif /* H5_HAVE_PARALLEL */
 2999|       |
 3000|       |    /* first check to see if the target is in cache */
 3001|  3.28k|    H5C__SEARCH_INDEX(cache_ptr, addr, entry_ptr, NULL);
  ------------------
  |  |  886|  3.28k|    do {                                                                                                     \
  |  |  887|  3.28k|        int k;                                                                                               \
  |  |  888|  3.28k|        int depth = 0;                                                                                       \
  |  |  889|  3.28k|        H5C__PRE_HT_SEARCH_SC(cache_ptr, entry_addr, fail_val);                                              \
  |  |  890|  3.28k|        k           = H5C__HASH_FCN(entry_addr);                                                             \
  |  |  ------------------
  |  |  |  |  596|  3.28k|#define H5C__HASH_FCN(x) (int)((unsigned)((x)&H5C__HASH_MASK) >> 3)
  |  |  |  |  ------------------
  |  |  |  |  |  |  595|  3.28k|#define H5C__HASH_MASK   ((size_t)(H5C__HASH_TABLE_LEN - 1) << 3)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|  3.28k|#define H5C__HASH_TABLE_LEN (64 * 1024) /* must be a power of 2 */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  891|  3.28k|        (entry_ptr) = (cache_ptr)->index[k];                                                                 \
  |  |  892|  3.28k|        while (entry_ptr) {                                                                                  \
  |  |  ------------------
  |  |  |  Branch (892:16): [True: 3.12k, False: 157]
  |  |  ------------------
  |  |  893|  3.12k|            if (H5_addr_eq(entry_addr, (entry_ptr)->addr)) {                                                 \
  |  |  ------------------
  |  |  |  |  453|  3.12k|#define H5_addr_eq(X,Y)          ((X) != HADDR_UNDEF && (X) == (Y))
  |  |  |  |  ------------------
  |  |  |  |  |  |  336|  6.25k|#define HADDR_UNDEF         UINT64_MAX
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (453:35): [True: 3.12k, False: 0]
  |  |  |  |  |  Branch (453:57): [True: 3.12k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  894|  3.12k|                H5C__POST_SUC_HT_SEARCH_SC(cache_ptr, entry_ptr, k, fail_val);                               \
  |  |  895|  3.12k|                if ((entry_ptr) != (cache_ptr)->index[k]) {                                                  \
  |  |  ------------------
  |  |  |  Branch (895:21): [True: 0, False: 3.12k]
  |  |  ------------------
  |  |  896|      0|                    if ((entry_ptr)->ht_next)                                                                \
  |  |  ------------------
  |  |  |  Branch (896:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  897|      0|                        (entry_ptr)->ht_next->ht_prev = (entry_ptr)->ht_prev;                                \
  |  |  898|      0|                    assert((entry_ptr)->ht_prev != NULL);                                                    \
  |  |  899|      0|                    (entry_ptr)->ht_prev->ht_next  = (entry_ptr)->ht_next;                                   \
  |  |  900|      0|                    (cache_ptr)->index[k]->ht_prev = (entry_ptr);                                            \
  |  |  901|      0|                    (entry_ptr)->ht_next           = (cache_ptr)->index[k];                                  \
  |  |  902|      0|                    (entry_ptr)->ht_prev           = NULL;                                                   \
  |  |  903|      0|                    (cache_ptr)->index[k]          = (entry_ptr);                                            \
  |  |  904|      0|                    H5C__POST_HT_SHIFT_TO_FRONT_SC(cache_ptr, entry_ptr, k, fail_val);                       \
  |  |  905|      0|                }                                                                                            \
  |  |  906|  3.12k|                break;                                                                                       \
  |  |  907|  3.12k|            }                                                                                                \
  |  |  908|  3.12k|            (entry_ptr) = (entry_ptr)->ht_next;                                                              \
  |  |  909|      0|            (depth)++;                                                                                       \
  |  |  910|      0|        }                                                                                                    \
  |  |  911|  3.28k|        H5C__UPDATE_STATS_FOR_HT_SEARCH(cache_ptr, ((entry_ptr) != NULL), depth);                            \
  |  |  ------------------
  |  |  |  |  545|  3.28k|    do {                                                                                                     \
  |  |  |  |  546|  3.28k|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (546:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  912|  3.28k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (912:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3002|       |
 3003|  3.28k|    if (entry_ptr != NULL) {
  ------------------
  |  Branch (3003:9): [True: 3.12k, False: 157]
  ------------------
 3004|  3.12k|        if (entry_ptr->ring != ring)
  ------------------
  |  Branch (3004:13): [True: 0, False: 3.12k]
  ------------------
 3005|      0|            HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, NULL, "ring type mismatch occurred for cache entry");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3006|       |
 3007|  3.12k|        if (entry_ptr->prefetched) {
  ------------------
  |  Branch (3007:13): [True: 0, False: 3.12k]
  ------------------
 3008|       |            /* This call removes the prefetched entry from the cache,
 3009|       |             * and replaces it with an entry deserialized from the
 3010|       |             * image of the prefetched entry.
 3011|       |             */
 3012|      0|            if (H5C__deserialize_prefetched_entry(f, cache_ptr, &entry_ptr, type, addr, udata) < 0)
  ------------------
  |  Branch (3012:17): [True: 0, False: 0]
  ------------------
 3013|      0|                HGOTO_ERROR(H5E_CACHE, H5E_CANTLOAD, NULL, "can't deserialize prefetched entry");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3014|       |
 3015|      0|            assert(!entry_ptr->prefetched);
 3016|      0|            assert(entry_ptr->addr == addr);
 3017|      0|        } /* end if */
 3018|       |
 3019|       |        /* Check for trying to load the wrong type of entry from an address */
 3020|  3.12k|        if (entry_ptr->type != type)
  ------------------
  |  Branch (3020:13): [True: 0, False: 3.12k]
  ------------------
 3021|      0|            HGOTO_ERROR(H5E_CACHE, H5E_BADTYPE, NULL, "incorrect cache entry type");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3022|       |
 3023|       |#ifdef H5_HAVE_PARALLEL
 3024|       |        /* If this is a collective metadata read, the entry is not marked as
 3025|       |         * collective, and is clean, it is possible that other processes will
 3026|       |         * not have it in its cache and will expect a bcast of the entry from
 3027|       |         * process 0. So process 0 will bcast the entry to all other ranks.
 3028|       |         * Ranks that _do_ have the entry in their cache still have to
 3029|       |         * participate in the bcast.
 3030|       |         */
 3031|       |        if (coll_access) {
 3032|       |            if (!entry_ptr->is_dirty && !entry_ptr->coll_access) {
 3033|       |                MPI_Comm comm;     /* File MPI Communicator */
 3034|       |                int      mpi_code; /* MPI error code */
 3035|       |                int      buf_size;
 3036|       |
 3037|       |                if (MPI_COMM_NULL == (comm = H5F_mpi_get_comm(f)))
 3038|       |                    HGOTO_ERROR(H5E_FILE, H5E_CANTGET, NULL, "get_comm request failed");
 3039|       |
 3040|       |                if (entry_ptr->image_ptr == NULL) {
 3041|       |                    int mpi_rank;
 3042|       |
 3043|       |                    if ((mpi_rank = H5F_mpi_get_rank(f)) < 0)
 3044|       |                        HGOTO_ERROR(H5E_FILE, H5E_CANTGET, NULL, "Can't get MPI rank");
 3045|       |
 3046|       |                    if (NULL == (entry_ptr->image_ptr = H5MM_malloc(entry_ptr->size + H5C_IMAGE_EXTRA_SPACE)))
 3047|       |                        HGOTO_ERROR(H5E_CACHE, H5E_CANTALLOC, NULL,
 3048|       |                                    "memory allocation failed for on disk image buffer");
 3049|       |#if H5C_DO_MEMORY_SANITY_CHECKS
 3050|       |                    H5MM_memcpy(((uint8_t *)entry_ptr->image_ptr) + entry_ptr->size, H5C_IMAGE_SANITY_VALUE,
 3051|       |                                H5C_IMAGE_EXTRA_SPACE);
 3052|       |#endif /* H5C_DO_MEMORY_SANITY_CHECKS */
 3053|       |                    if (0 == mpi_rank && H5C__generate_image(f, cache_ptr, entry_ptr) < 0)
 3054|       |                        /* If image generation fails, push an error but
 3055|       |                         * still participate in the following MPI_Bcast
 3056|       |                         */
 3057|       |                        HDONE_ERROR(H5E_CACHE, H5E_CANTGET, NULL, "can't generate entry's image");
 3058|       |                } /* end if */
 3059|       |                assert(entry_ptr->image_ptr);
 3060|       |
 3061|       |                H5_CHECKED_ASSIGN(buf_size, int, entry_ptr->size, size_t);
 3062|       |                if (MPI_SUCCESS != (mpi_code = MPI_Bcast(entry_ptr->image_ptr, buf_size, MPI_BYTE, 0, comm)))
 3063|       |                    HMPI_GOTO_ERROR(NULL, "MPI_Bcast failed", mpi_code)
 3064|       |
 3065|       |                /* Mark the entry as collective and insert into the collective list */
 3066|       |                entry_ptr->coll_access = true;
 3067|       |                H5C__INSERT_IN_COLL_LIST(cache_ptr, entry_ptr, NULL);
 3068|       |            } /* end if */
 3069|       |            else if (entry_ptr->coll_access)
 3070|       |                H5C__MOVE_TO_TOP_IN_COLL_LIST(cache_ptr, entry_ptr, NULL);
 3071|       |        } /* end if */
 3072|       |#endif    /* H5_HAVE_PARALLEL */
 3073|       |
 3074|       |#ifdef H5C_DO_TAGGING_SANITY_CHECKS
 3075|       |        {
 3076|       |            /* Verify tag value */
 3077|       |            if (cache_ptr->ignore_tags != true) {
 3078|       |                haddr_t tag; /* Tag value */
 3079|       |
 3080|       |                /* The entry is already in the cache, but make sure that the tag value
 3081|       |                 * is still legal. This will ensure that had the entry NOT been in the
 3082|       |                 * cache, tagging was still set up correctly and it would have received
 3083|       |                 * a legal tag value after getting loaded from disk.
 3084|       |                 */
 3085|       |
 3086|       |                /* Get the tag */
 3087|       |                tag = H5CX_get_tag();
 3088|       |
 3089|       |                if (H5C_verify_tag(entry_ptr->type->id, tag) < 0)
 3090|       |                    HGOTO_ERROR(H5E_CACHE, H5E_CANTGET, NULL, "tag verification failed");
 3091|       |            } /* end if */
 3092|       |        }
 3093|       |#endif
 3094|       |
 3095|  3.12k|        hit   = true;
 3096|  3.12k|        thing = (void *)entry_ptr;
 3097|  3.12k|    }
 3098|    157|    else {
 3099|       |        /* must try to load the entry from disk. */
 3100|    157|        hit = false;
 3101|    157|        if (NULL == (thing = H5C__load_entry(f,
  ------------------
  |  Branch (3101:13): [True: 39, False: 118]
  ------------------
 3102|       |#ifdef H5_HAVE_PARALLEL
 3103|       |                                             coll_access,
 3104|       |#endif /* H5_HAVE_PARALLEL */
 3105|    157|                                             type, addr, udata)))
 3106|     39|            HGOTO_ERROR(H5E_CACHE, H5E_CANTLOAD, NULL, "can't load entry");
  ------------------
  |  |   68|     39|    do {                                                                                                     \
  |  |   69|     39|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     39|    do {                                                                                                     \
  |  |  |  |   40|     39|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     39|    do {                                                                                                     \
  |  |  |  |  |  |   31|     39|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     39|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     39|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     39|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     39|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     39|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     39|    do {                                                                                                     \
  |  |  |  |   92|     39|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     39|        goto done;                                                                                           \
  |  |  |  |   94|     39|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     39|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3107|       |
 3108|    118|        entry_ptr = (H5C_cache_entry_t *)thing;
 3109|    118|        cache_ptr->entries_loaded_counter++;
 3110|       |
 3111|    118|        entry_ptr->ring = ring;
 3112|       |#ifdef H5_HAVE_PARALLEL
 3113|       |        if (H5F_HAS_FEATURE(f, H5FD_FEAT_HAS_MPI) && entry_ptr->coll_access)
 3114|       |            H5C__INSERT_IN_COLL_LIST(cache_ptr, entry_ptr, NULL);
 3115|       |#endif /* H5_HAVE_PARALLEL */
 3116|       |
 3117|       |        /* Apply tag to newly protected entry */
 3118|    118|        if (H5C__tag_entry(cache_ptr, entry_ptr) < 0)
  ------------------
  |  Branch (3118:13): [True: 0, False: 118]
  ------------------
 3119|      0|            HGOTO_ERROR(H5E_CACHE, H5E_CANTTAG, NULL, "Cannot tag metadata entry");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3120|       |
 3121|       |        /* If the entry is very large, and we are configured to allow it,
 3122|       |         * we may wish to perform a flash cache size increase.
 3123|       |         */
 3124|    118|        if (cache_ptr->flash_size_increase_possible &&
  ------------------
  |  Branch (3124:13): [True: 118, False: 0]
  ------------------
 3125|    118|            (entry_ptr->size > cache_ptr->flash_size_increase_threshold))
  ------------------
  |  Branch (3125:13): [True: 0, False: 118]
  ------------------
 3126|      0|            if (H5C__flash_increase_cache_size(cache_ptr, 0, entry_ptr->size) < 0)
  ------------------
  |  Branch (3126:17): [True: 0, False: 0]
  ------------------
 3127|      0|                HGOTO_ERROR(H5E_CACHE, H5E_CANTPROTECT, NULL, "H5C__flash_increase_cache_size failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3128|       |
 3129|    118|        if (cache_ptr->index_size >= cache_ptr->max_cache_size)
  ------------------
  |  Branch (3129:13): [True: 0, False: 118]
  ------------------
 3130|      0|            empty_space = 0;
 3131|    118|        else
 3132|    118|            empty_space = cache_ptr->max_cache_size - cache_ptr->index_size;
 3133|       |
 3134|       |        /* try to free up if necceary and if evictions are permitted.  Note
 3135|       |         * that if evictions are enabled, we will call H5C__make_space_in_cache()
 3136|       |         * regardless if the min_free_space requirement is not met.
 3137|       |         */
 3138|    118|        if (cache_ptr->evictions_enabled &&
  ------------------
  |  Branch (3138:13): [True: 118, False: 0]
  ------------------
 3139|    118|            (((cache_ptr->index_size + entry_ptr->size) > cache_ptr->max_cache_size) ||
  ------------------
  |  Branch (3139:14): [True: 0, False: 118]
  ------------------
 3140|    118|             ((empty_space + cache_ptr->clean_index_size) < cache_ptr->min_clean_size))) {
  ------------------
  |  Branch (3140:14): [True: 0, False: 118]
  ------------------
 3141|       |
 3142|      0|            size_t space_needed;
 3143|       |
 3144|      0|            if (empty_space <= entry_ptr->size)
  ------------------
  |  Branch (3144:17): [True: 0, False: 0]
  ------------------
 3145|      0|                cache_ptr->cache_full = true;
 3146|       |
 3147|      0|            if (cache_ptr->check_write_permitted != NULL) {
  ------------------
  |  Branch (3147:17): [True: 0, False: 0]
  ------------------
 3148|      0|                if ((cache_ptr->check_write_permitted)(f, &write_permitted) < 0)
  ------------------
  |  Branch (3148:21): [True: 0, False: 0]
  ------------------
 3149|      0|                    HGOTO_ERROR(H5E_CACHE, H5E_CANTPROTECT, NULL, "Can't get write_permitted 1");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3150|      0|                else
 3151|      0|                    have_write_permitted = true;
 3152|      0|            } /* end if */
 3153|      0|            else {
 3154|      0|                write_permitted      = cache_ptr->write_permitted;
 3155|      0|                have_write_permitted = true;
 3156|      0|            } /* end else */
 3157|       |
 3158|      0|            assert(entry_ptr->size <= H5C_MAX_ENTRY_SIZE);
 3159|      0|            space_needed = entry_ptr->size;
 3160|      0|            if (space_needed > cache_ptr->max_cache_size)
  ------------------
  |  Branch (3160:17): [True: 0, False: 0]
  ------------------
 3161|      0|                space_needed = cache_ptr->max_cache_size;
 3162|       |
 3163|       |            /* Note that space_needed is just the amount of space that
 3164|       |             * needed to insert the new entry without exceeding the cache
 3165|       |             * size limit.  The subsequent call to H5C__make_space_in_cache()
 3166|       |             * may evict the entries required to free more or less space
 3167|       |             * depending on conditions.  It MAY be less if the cache is
 3168|       |             * currently undersized, or more if the cache is oversized.
 3169|       |             *
 3170|       |             * The cache can exceed its maximum size limit via the following
 3171|       |             * mechanisms:
 3172|       |             *
 3173|       |             * First, it is possible for the cache to grow without
 3174|       |             * bound as long as entries are protected and not unprotected.
 3175|       |             *
 3176|       |             * Second, when writes are not permitted it is also possible
 3177|       |             * for the cache to grow without bound.
 3178|       |             *
 3179|       |             * Third, the user may choose to disable evictions -- causing
 3180|       |             * the cache to grow without bound until evictions are
 3181|       |             * re-enabled.
 3182|       |             *
 3183|       |             * Finally, we usually don't check to see if the cache is
 3184|       |             * oversized at the end of an unprotect.  As a result, it is
 3185|       |             * possible to have a vastly oversized cache with no protected
 3186|       |             * entries as long as all the protects precede the unprotects.
 3187|       |             */
 3188|      0|            if (H5C__make_space_in_cache(f, space_needed, write_permitted) < 0)
  ------------------
  |  Branch (3188:17): [True: 0, False: 0]
  ------------------
 3189|      0|                HGOTO_ERROR(H5E_CACHE, H5E_CANTPROTECT, NULL, "H5C__make_space_in_cache failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3190|      0|        } /* end if */
 3191|       |
 3192|       |        /* Insert the entry in the hash table.
 3193|       |         *
 3194|       |         *   *******************************************
 3195|       |         *
 3196|       |         * Set the flush_me_last field
 3197|       |         * of the newly loaded entry before inserting it into the
 3198|       |         * index.  Must do this, as the index tracked the number of
 3199|       |         * entries with the flush_last field set, but assumes that
 3200|       |         * the field will not change after insertion into the index.
 3201|       |         *
 3202|       |         * Note that this means that the H5C__FLUSH_LAST_FLAG flag
 3203|       |         * is ignored if the entry is already in cache.
 3204|       |         */
 3205|    118|        entry_ptr->flush_me_last = flush_last;
 3206|       |
 3207|    118|        H5C__INSERT_IN_INDEX(cache_ptr, entry_ptr, NULL);
  ------------------
  |  |  819|    118|    do {                                                                                                     \
  |  |  820|    118|        int k;                                                                                               \
  |  |  821|    118|        H5C__PRE_HT_INSERT_SC(cache_ptr, entry_ptr, fail_val)                                                \
  |  |  822|    118|        k = H5C__HASH_FCN((entry_ptr)->addr);                                                                \
  |  |  ------------------
  |  |  |  |  596|    118|#define H5C__HASH_FCN(x) (int)((unsigned)((x)&H5C__HASH_MASK) >> 3)
  |  |  |  |  ------------------
  |  |  |  |  |  |  595|    118|#define H5C__HASH_MASK   ((size_t)(H5C__HASH_TABLE_LEN - 1) << 3)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|    118|#define H5C__HASH_TABLE_LEN (64 * 1024) /* must be a power of 2 */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  823|    118|        if ((cache_ptr)->index[k] != NULL) {                                                                 \
  |  |  ------------------
  |  |  |  Branch (823:13): [True: 0, False: 118]
  |  |  ------------------
  |  |  824|      0|            (entry_ptr)->ht_next          = (cache_ptr)->index[k];                                           \
  |  |  825|      0|            (entry_ptr)->ht_next->ht_prev = (entry_ptr);                                                     \
  |  |  826|      0|        }                                                                                                    \
  |  |  827|    118|        (cache_ptr)->index[k] = (entry_ptr);                                                                 \
  |  |  828|    118|        (cache_ptr)->index_len++;                                                                            \
  |  |  829|    118|        (cache_ptr)->index_size += (entry_ptr)->size;                                                        \
  |  |  830|    118|        (cache_ptr)->index_ring_len[(entry_ptr)->ring]++;                                                    \
  |  |  831|    118|        (cache_ptr)->index_ring_size[(entry_ptr)->ring] += (entry_ptr)->size;                                \
  |  |  832|    118|        if ((entry_ptr)->is_dirty) {                                                                         \
  |  |  ------------------
  |  |  |  Branch (832:13): [True: 0, False: 118]
  |  |  ------------------
  |  |  833|      0|            (cache_ptr)->dirty_index_size += (entry_ptr)->size;                                              \
  |  |  834|      0|            (cache_ptr)->dirty_index_ring_size[(entry_ptr)->ring] += (entry_ptr)->size;                      \
  |  |  835|      0|        }                                                                                                    \
  |  |  836|    118|        else {                                                                                               \
  |  |  837|    118|            (cache_ptr)->clean_index_size += (entry_ptr)->size;                                              \
  |  |  838|    118|            (cache_ptr)->clean_index_ring_size[(entry_ptr)->ring] += (entry_ptr)->size;                      \
  |  |  839|    118|        }                                                                                                    \
  |  |  840|    118|        if ((entry_ptr)->flush_me_last) {                                                                    \
  |  |  ------------------
  |  |  |  Branch (840:13): [True: 7, False: 111]
  |  |  ------------------
  |  |  841|      7|            (cache_ptr)->num_last_entries++;                                                                 \
  |  |  842|      7|            assert((cache_ptr)->num_last_entries <= 2);                                                      \
  |  |  843|      7|        }                                                                                                    \
  |  |  844|    118|        H5C__IL_DLL_APPEND((entry_ptr), (cache_ptr)->il_head, (cache_ptr)->il_tail, (cache_ptr)->il_len,     \
  |  |  ------------------
  |  |  |  |  200|    118|    H5C__GEN_DLL_APPEND(entry_ptr, il_next, il_prev, head_ptr, tail_ptr, len, list_size, fail_val)
  |  |  |  |  ------------------
  |  |  |  |  |  |  115|    118|    {                                                                                                        \
  |  |  |  |  |  |  116|    118|        H5C__GEN_DLL_PRE_INSERT_SC(entry_ptr, list_next, list_prev, head_ptr, tail_ptr, len, list_size,      \
  |  |  |  |  |  |  117|    118|                                   fail_val)                                                                 \
  |  |  |  |  |  |  118|    118|        if ((head_ptr) == NULL) {                                                                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (118:13): [True: 7, False: 111]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|      7|            (head_ptr) = (entry_ptr);                                                                        \
  |  |  |  |  |  |  120|      7|            (tail_ptr) = (entry_ptr);                                                                        \
  |  |  |  |  |  |  121|      7|        }                                                                                                    \
  |  |  |  |  |  |  122|    118|        else {                                                                                               \
  |  |  |  |  |  |  123|    111|            (tail_ptr)->list_next  = (entry_ptr);                                                            \
  |  |  |  |  |  |  124|    111|            (entry_ptr)->list_prev = (tail_ptr);                                                             \
  |  |  |  |  |  |  125|    111|            (tail_ptr)             = (entry_ptr);                                                            \
  |  |  |  |  |  |  126|    111|        }                                                                                                    \
  |  |  |  |  |  |  127|    118|        (len)++;                                                                                             \
  |  |  |  |  |  |  128|    118|        (list_size) += (entry_ptr)->size;                                                                    \
  |  |  |  |  |  |  129|    118|    } /* H5C__GEN_DLL_APPEND() */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  845|    118|                           (cache_ptr)->il_size, fail_val);                                                  \
  |  |  846|    118|        H5C__UPDATE_STATS_FOR_HT_INSERTION(cache_ptr);                                                       \
  |  |  ------------------
  |  |  |  |  539|    118|    do {                                                                                                     \
  |  |  |  |  540|    118|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (540:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  847|    118|        H5C__POST_HT_INSERT_SC(cache_ptr, entry_ptr, fail_val);                                              \
  |  |  848|    118|    } while (0)
  |  |  ------------------
  |  |  |  Branch (848:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3208|    118|        if (entry_ptr->is_dirty && !entry_ptr->in_slist)
  ------------------
  |  Branch (3208:13): [True: 0, False: 118]
  |  Branch (3208:36): [True: 0, False: 0]
  ------------------
 3209|      0|            H5C__INSERT_ENTRY_IN_SLIST(cache_ptr, entry_ptr, NULL);
  ------------------
  |  | 1018|      0|    do {                                                                                                     \
  |  | 1019|      0|        assert(cache_ptr);                                                                                   \
  |  | 1020|      0|                                                                                                             \
  |  | 1021|      0|        if ((cache_ptr)->slist_enabled) {                                                                    \
  |  |  ------------------
  |  |  |  Branch (1021:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 1022|      0|            assert(entry_ptr);                                                                               \
  |  | 1023|      0|            assert((entry_ptr)->size > 0);                                                                   \
  |  | 1024|      0|            assert(H5_addr_defined((entry_ptr)->addr));                                                      \
  |  | 1025|      0|            assert(!(entry_ptr)->in_slist);                                                                  \
  |  | 1026|      0|            assert(!H5C__ENTRY_IN_SLIST((cache_ptr), (entry_ptr)));                                          \
  |  | 1027|      0|            assert((entry_ptr)->ring > H5C_RING_UNDEFINED);                                                  \
  |  | 1028|      0|            assert((entry_ptr)->ring < H5C_RING_NTYPES);                                                     \
  |  | 1029|      0|            assert((cache_ptr)->slist_ring_len[(entry_ptr)->ring] <= (cache_ptr)->slist_len);                \
  |  | 1030|      0|            assert((cache_ptr)->slist_ring_size[(entry_ptr)->ring] <= (cache_ptr)->slist_size);              \
  |  | 1031|      0|            assert((cache_ptr)->slist_ptr);                                                                  \
  |  | 1032|      0|                                                                                                             \
  |  | 1033|      0|            if (H5SL_insert((cache_ptr)->slist_ptr, entry_ptr, &((entry_ptr)->addr)) < 0)                    \
  |  |  ------------------
  |  |  |  Branch (1033:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 1034|      0|                HGOTO_ERROR(H5E_CACHE, H5E_BADVALUE, (fail_val), "can't insert entry in skip list");         \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1035|      0|                                                                                                             \
  |  | 1036|      0|            (entry_ptr)->in_slist      = true;                                                               \
  |  | 1037|      0|            (cache_ptr)->slist_changed = true;                                                               \
  |  | 1038|      0|            (cache_ptr)->slist_len++;                                                                        \
  |  | 1039|      0|            (cache_ptr)->slist_size += (entry_ptr)->size;                                                    \
  |  | 1040|      0|            ((cache_ptr)->slist_ring_len[(entry_ptr)->ring])++;                                              \
  |  | 1041|      0|            ((cache_ptr)->slist_ring_size[(entry_ptr)->ring]) += (entry_ptr)->size;                          \
  |  | 1042|      0|            H5C__SLIST_INSERT_ENTRY_SC(cache_ptr, entry_ptr);                                                \
  |  | 1043|      0|                                                                                                             \
  |  | 1044|      0|            assert((cache_ptr)->slist_len > 0);                                                              \
  |  | 1045|      0|            assert((cache_ptr)->slist_size > 0);                                                             \
  |  | 1046|      0|        }                                                                                                    \
  |  | 1047|      0|        else { /* slist disabled */                                                                          \
  |  | 1048|      0|            assert((cache_ptr)->slist_len == 0);                                                             \
  |  | 1049|      0|            assert((cache_ptr)->slist_size == 0);                                                            \
  |  | 1050|      0|        }                                                                                                    \
  |  | 1051|      0|    } while (0) /* H5C__INSERT_ENTRY_IN_SLIST */
  |  |  ------------------
  |  |  |  Branch (1051:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3210|       |
 3211|       |        /* insert the entry in the data structures used by the replacement
 3212|       |         * policy.  We are just going to take it out again when we update
 3213|       |         * the replacement policy for a protect, but this simplifies the
 3214|       |         * code.  If we do this often enough, we may want to optimize this.
 3215|       |         */
 3216|    118|        H5C__UPDATE_RP_FOR_INSERTION(cache_ptr, entry_ptr, NULL);
  ------------------
  |  | 1434|    118|    do {                                                                                                     \
  |  | 1435|    118|        assert(cache_ptr);                                                                                   \
  |  | 1436|    118|        assert(entry_ptr);                                                                                   \
  |  | 1437|    118|        assert(!(entry_ptr)->is_protected);                                                                  \
  |  | 1438|    118|        assert(!(entry_ptr)->is_read_only);                                                                  \
  |  | 1439|    118|        assert((entry_ptr)->ro_ref_count == 0);                                                              \
  |  | 1440|    118|        assert((entry_ptr)->size > 0);                                                                       \
  |  | 1441|    118|                                                                                                             \
  |  | 1442|    118|        if ((entry_ptr)->is_pinned) {                                                                        \
  |  |  ------------------
  |  |  |  Branch (1442:13): [True: 0, False: 118]
  |  |  ------------------
  |  | 1443|      0|            H5C__DLL_PREPEND((entry_ptr), (cache_ptr)->pel_head_ptr, (cache_ptr)->pel_tail_ptr,              \
  |  |  ------------------
  |  |  |  |  184|      0|    H5C__GEN_DLL_PREPEND(entry_ptr, next, prev, head_ptr, tail_ptr, len, list_size, fail_val)
  |  |  |  |  ------------------
  |  |  |  |  |  |  132|      0|    {                                                                                                        \
  |  |  |  |  |  |  133|      0|        H5C__GEN_DLL_PRE_INSERT_SC(entry_ptr, list_next, list_prev, head_ptr, tail_ptr, len, list_size,      \
  |  |  |  |  |  |  134|      0|                                   fail_val)                                                                 \
  |  |  |  |  |  |  135|      0|        if ((head_ptr) == NULL) {                                                                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (135:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  136|      0|            (head_ptr) = (entry_ptr);                                                                        \
  |  |  |  |  |  |  137|      0|            (tail_ptr) = (entry_ptr);                                                                        \
  |  |  |  |  |  |  138|      0|        }                                                                                                    \
  |  |  |  |  |  |  139|      0|        else {                                                                                               \
  |  |  |  |  |  |  140|      0|            (head_ptr)->list_prev  = (entry_ptr);                                                            \
  |  |  |  |  |  |  141|      0|            (entry_ptr)->list_next = (head_ptr);                                                             \
  |  |  |  |  |  |  142|      0|            (head_ptr)             = (entry_ptr);                                                            \
  |  |  |  |  |  |  143|      0|        }                                                                                                    \
  |  |  |  |  |  |  144|      0|        (len)++;                                                                                             \
  |  |  |  |  |  |  145|      0|        (list_size) += (entry_ptr)->size;                                                                    \
  |  |  |  |  |  |  146|      0|    } /* H5C__GEN_DLL_PREPEND() */
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1444|      0|                             (cache_ptr)->pel_len, (cache_ptr)->pel_size, (fail_val))                        \
  |  | 1445|      0|        }                                                                                                    \
  |  | 1446|    118|        else {                                                                                               \
  |  | 1447|    118|            /* Insert the entry at the head of the LRU list. */                                              \
  |  | 1448|    118|            H5C__DLL_PREPEND((entry_ptr), (cache_ptr)->LRU_head_ptr, (cache_ptr)->LRU_tail_ptr,              \
  |  |  ------------------
  |  |  |  |  184|    118|    H5C__GEN_DLL_PREPEND(entry_ptr, next, prev, head_ptr, tail_ptr, len, list_size, fail_val)
  |  |  |  |  ------------------
  |  |  |  |  |  |  132|    118|    {                                                                                                        \
  |  |  |  |  |  |  133|    118|        H5C__GEN_DLL_PRE_INSERT_SC(entry_ptr, list_next, list_prev, head_ptr, tail_ptr, len, list_size,      \
  |  |  |  |  |  |  134|    118|                                   fail_val)                                                                 \
  |  |  |  |  |  |  135|    118|        if ((head_ptr) == NULL) {                                                                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (135:13): [True: 14, False: 104]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  136|     14|            (head_ptr) = (entry_ptr);                                                                        \
  |  |  |  |  |  |  137|     14|            (tail_ptr) = (entry_ptr);                                                                        \
  |  |  |  |  |  |  138|     14|        }                                                                                                    \
  |  |  |  |  |  |  139|    118|        else {                                                                                               \
  |  |  |  |  |  |  140|    104|            (head_ptr)->list_prev  = (entry_ptr);                                                            \
  |  |  |  |  |  |  141|    104|            (entry_ptr)->list_next = (head_ptr);                                                             \
  |  |  |  |  |  |  142|    104|            (head_ptr)             = (entry_ptr);                                                            \
  |  |  |  |  |  |  143|    104|        }                                                                                                    \
  |  |  |  |  |  |  144|    118|        (len)++;                                                                                             \
  |  |  |  |  |  |  145|    118|        (list_size) += (entry_ptr)->size;                                                                    \
  |  |  |  |  |  |  146|    118|    } /* H5C__GEN_DLL_PREPEND() */
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1449|    118|                             (cache_ptr)->LRU_list_len, (cache_ptr)->LRU_list_size, (fail_val))              \
  |  | 1450|    118|                                                                                                             \
  |  | 1451|    118|            /* Maintain the clean & dirty LRU lists, if enabled */                                           \
  |  | 1452|    118|            H5C__UPDATE_RP_FOR_INSERTION_CD_LRU(cache_ptr, entry_ptr, fail_val);                             \
  |  | 1453|    118|        }                                                                                                    \
  |  | 1454|    118|    } while (0)
  |  |  ------------------
  |  |  |  Branch (1454:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3217|       |
 3218|       |        /* Record that the entry was loaded, to trigger a notify callback later */
 3219|       |        /* (After the entry is fully added to the cache) */
 3220|    118|        was_loaded = true;
 3221|    118|    } /* end else */
 3222|       |
 3223|  3.24k|    assert(entry_ptr->addr == addr);
 3224|  3.24k|    assert(entry_ptr->type == type);
 3225|       |
 3226|  3.24k|    if (entry_ptr->is_protected) {
  ------------------
  |  Branch (3226:9): [True: 254, False: 2.99k]
  ------------------
 3227|    254|        if (read_only && entry_ptr->is_read_only) {
  ------------------
  |  Branch (3227:13): [True: 254, False: 0]
  |  Branch (3227:26): [True: 254, False: 0]
  ------------------
 3228|    254|            assert(entry_ptr->ro_ref_count > 0);
 3229|    254|            (entry_ptr->ro_ref_count)++;
 3230|    254|        } /* end if */
 3231|      0|        else
 3232|      0|            HGOTO_ERROR(H5E_CACHE, H5E_CANTPROTECT, NULL, "Target already protected & not read only?!?");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3233|    254|    } /* end if */
 3234|  2.99k|    else {
 3235|  2.99k|        H5C__UPDATE_RP_FOR_PROTECT(cache_ptr, entry_ptr, NULL);
  ------------------
  |  | 1472|  2.99k|    do {                                                                                                     \
  |  | 1473|  2.99k|        assert(cache_ptr);                                                                                   \
  |  | 1474|  2.99k|        assert(entry_ptr);                                                                                   \
  |  | 1475|  2.99k|        assert(!(entry_ptr)->is_protected);                                                                  \
  |  | 1476|  2.99k|        assert(!(entry_ptr)->is_read_only);                                                                  \
  |  | 1477|  2.99k|        assert((entry_ptr)->ro_ref_count == 0);                                                              \
  |  | 1478|  2.99k|        assert((entry_ptr)->size > 0);                                                                       \
  |  | 1479|  2.99k|                                                                                                             \
  |  | 1480|  2.99k|        if ((entry_ptr)->is_pinned) {                                                                        \
  |  |  ------------------
  |  |  |  Branch (1480:13): [True: 405, False: 2.58k]
  |  |  ------------------
  |  | 1481|    405|            H5C__DLL_REMOVE((entry_ptr), (cache_ptr)->pel_head_ptr, (cache_ptr)->pel_tail_ptr,               \
  |  |  ------------------
  |  |  |  |  186|    405|    H5C__GEN_DLL_REMOVE(entry_ptr, next, prev, head_ptr, tail_ptr, len, list_size, fail_val)
  |  |  |  |  ------------------
  |  |  |  |  |  |  149|    405|    {                                                                                                        \
  |  |  |  |  |  |  150|    405|        H5C__GEN_DLL_PRE_REMOVE_SC(entry_ptr, list_next, list_prev, head_ptr, tail_ptr, len, list_size,      \
  |  |  |  |  |  |  151|    405|                                   fail_val);                                                                \
  |  |  |  |  |  |  152|    405|        if ((head_ptr) == (entry_ptr)) {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (152:13): [True: 311, False: 94]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  153|    311|            (head_ptr) = (entry_ptr)->list_next;                                                             \
  |  |  |  |  |  |  154|    311|            if ((head_ptr) != NULL)                                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (154:17): [True: 311, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  155|    311|                (head_ptr)->list_prev = NULL;                                                                \
  |  |  |  |  |  |  156|    311|        }                                                                                                    \
  |  |  |  |  |  |  157|    405|        else                                                                                                 \
  |  |  |  |  |  |  158|    405|            (entry_ptr)->list_prev->list_next = (entry_ptr)->list_next;                                      \
  |  |  |  |  |  |  159|    405|        if ((tail_ptr) == (entry_ptr)) {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 405]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            (tail_ptr) = (entry_ptr)->list_prev;                                                             \
  |  |  |  |  |  |  161|      0|            if ((tail_ptr) != NULL)                                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (161:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  162|      0|                (tail_ptr)->list_next = NULL;                                                                \
  |  |  |  |  |  |  163|      0|        }                                                                                                    \
  |  |  |  |  |  |  164|    405|        else                                                                                                 \
  |  |  |  |  |  |  165|    405|            (entry_ptr)->list_next->list_prev = (entry_ptr)->list_prev;                                      \
  |  |  |  |  |  |  166|    405|        (entry_ptr)->list_next = NULL;                                                                       \
  |  |  |  |  |  |  167|    405|        (entry_ptr)->list_prev = NULL;                                                                       \
  |  |  |  |  |  |  168|    405|        (len)--;                                                                                             \
  |  |  |  |  |  |  169|    405|        (list_size) -= (entry_ptr)->size;                                                                    \
  |  |  |  |  |  |  170|    405|    } /* H5C__GEN_DLL_REMOVE() */
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1482|    405|                            (cache_ptr)->pel_len, (cache_ptr)->pel_size, (fail_val))                         \
  |  | 1483|    405|        }                                                                                                    \
  |  | 1484|  2.99k|        else {                                                                                               \
  |  | 1485|  2.58k|            /* Remove the entry from the LRU list. */                                                        \
  |  | 1486|  2.58k|            H5C__DLL_REMOVE((entry_ptr), (cache_ptr)->LRU_head_ptr, (cache_ptr)->LRU_tail_ptr,               \
  |  |  ------------------
  |  |  |  |  186|  2.58k|    H5C__GEN_DLL_REMOVE(entry_ptr, next, prev, head_ptr, tail_ptr, len, list_size, fail_val)
  |  |  |  |  ------------------
  |  |  |  |  |  |  149|  2.58k|    {                                                                                                        \
  |  |  |  |  |  |  150|  2.58k|        H5C__GEN_DLL_PRE_REMOVE_SC(entry_ptr, list_next, list_prev, head_ptr, tail_ptr, len, list_size,      \
  |  |  |  |  |  |  151|  2.58k|                                   fail_val);                                                                \
  |  |  |  |  |  |  152|  2.58k|        if ((head_ptr) == (entry_ptr)) {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (152:13): [True: 1.23k, False: 1.34k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  153|  1.23k|            (head_ptr) = (entry_ptr)->list_next;                                                             \
  |  |  |  |  |  |  154|  1.23k|            if ((head_ptr) != NULL)                                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (154:17): [True: 1.19k, False: 43]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  155|  1.23k|                (head_ptr)->list_prev = NULL;                                                                \
  |  |  |  |  |  |  156|  1.23k|        }                                                                                                    \
  |  |  |  |  |  |  157|  2.58k|        else                                                                                                 \
  |  |  |  |  |  |  158|  2.58k|            (entry_ptr)->list_prev->list_next = (entry_ptr)->list_next;                                      \
  |  |  |  |  |  |  159|  2.58k|        if ((tail_ptr) == (entry_ptr)) {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 357, False: 2.22k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|    357|            (tail_ptr) = (entry_ptr)->list_prev;                                                             \
  |  |  |  |  |  |  161|    357|            if ((tail_ptr) != NULL)                                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (161:17): [True: 314, False: 43]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  162|    357|                (tail_ptr)->list_next = NULL;                                                                \
  |  |  |  |  |  |  163|    357|        }                                                                                                    \
  |  |  |  |  |  |  164|  2.58k|        else                                                                                                 \
  |  |  |  |  |  |  165|  2.58k|            (entry_ptr)->list_next->list_prev = (entry_ptr)->list_prev;                                      \
  |  |  |  |  |  |  166|  2.58k|        (entry_ptr)->list_next = NULL;                                                                       \
  |  |  |  |  |  |  167|  2.58k|        (entry_ptr)->list_prev = NULL;                                                                       \
  |  |  |  |  |  |  168|  2.58k|        (len)--;                                                                                             \
  |  |  |  |  |  |  169|  2.58k|        (list_size) -= (entry_ptr)->size;                                                                    \
  |  |  |  |  |  |  170|  2.58k|    } /* H5C__GEN_DLL_REMOVE() */
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1487|  2.58k|                            (cache_ptr)->LRU_list_len, (cache_ptr)->LRU_list_size, (fail_val))               \
  |  | 1488|  2.58k|                                                                                                             \
  |  | 1489|  2.58k|            /* Maintain the clean & dirty LRU lists, if enabled */                                           \
  |  | 1490|  2.58k|            H5C__UPDATE_RP_FOR_PROTECT_CD_LRU(cache_ptr, entry_ptr, fail_val);                               \
  |  | 1491|  2.58k|        }                                                                                                    \
  |  | 1492|  2.99k|                                                                                                             \
  |  | 1493|  2.99k|        /* Regardless of whether the entry is pinned, add it to the protected                                \
  |  | 1494|  2.99k|         * list.                                                                                             \
  |  | 1495|  2.99k|         */                                                                                                  \
  |  | 1496|  2.99k|        H5C__DLL_APPEND((entry_ptr), (cache_ptr)->pl_head_ptr, (cache_ptr)->pl_tail_ptr,                     \
  |  |  ------------------
  |  |  |  |  182|  2.99k|    H5C__GEN_DLL_APPEND(entry_ptr, next, prev, head_ptr, tail_ptr, len, list_size, fail_val)
  |  |  |  |  ------------------
  |  |  |  |  |  |  115|  2.99k|    {                                                                                                        \
  |  |  |  |  |  |  116|  2.99k|        H5C__GEN_DLL_PRE_INSERT_SC(entry_ptr, list_next, list_prev, head_ptr, tail_ptr, len, list_size,      \
  |  |  |  |  |  |  117|  2.99k|                                   fail_val)                                                                 \
  |  |  |  |  |  |  118|  2.99k|        if ((head_ptr) == NULL) {                                                                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (118:13): [True: 1.07k, False: 1.91k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  119|  1.07k|            (head_ptr) = (entry_ptr);                                                                        \
  |  |  |  |  |  |  120|  1.07k|            (tail_ptr) = (entry_ptr);                                                                        \
  |  |  |  |  |  |  121|  1.07k|        }                                                                                                    \
  |  |  |  |  |  |  122|  2.99k|        else {                                                                                               \
  |  |  |  |  |  |  123|  1.91k|            (tail_ptr)->list_next  = (entry_ptr);                                                            \
  |  |  |  |  |  |  124|  1.91k|            (entry_ptr)->list_prev = (tail_ptr);                                                             \
  |  |  |  |  |  |  125|  1.91k|            (tail_ptr)             = (entry_ptr);                                                            \
  |  |  |  |  |  |  126|  1.91k|        }                                                                                                    \
  |  |  |  |  |  |  127|  2.99k|        (len)++;                                                                                             \
  |  |  |  |  |  |  128|  2.99k|        (list_size) += (entry_ptr)->size;                                                                    \
  |  |  |  |  |  |  129|  2.99k|    } /* H5C__GEN_DLL_APPEND() */
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1497|  2.99k|                        (cache_ptr)->pl_len, (cache_ptr)->pl_size, (fail_val))                               \
  |  | 1498|  2.99k|    } while (0) /* H5C__UPDATE_RP_FOR_PROTECT */
  |  |  ------------------
  |  |  |  Branch (1498:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3236|       |
 3237|  2.99k|        entry_ptr->is_protected = true;
 3238|  2.99k|        if (read_only) {
  ------------------
  |  Branch (3238:13): [True: 2.99k, False: 0]
  ------------------
 3239|  2.99k|            entry_ptr->is_read_only = true;
 3240|  2.99k|            entry_ptr->ro_ref_count = 1;
 3241|  2.99k|        } /* end if */
 3242|  2.99k|        entry_ptr->dirtied = false;
 3243|  2.99k|    } /* end else */
 3244|       |
 3245|  3.24k|    H5C__UPDATE_CACHE_HIT_RATE_STATS(cache_ptr, hit);
  ------------------
  |  |  218|  3.24k|    do {                                                                                                     \
  |  |  219|  3.24k|        (cache_ptr)->cache_accesses++;                                                                       \
  |  |  220|  3.24k|        if (hit)                                                                                             \
  |  |  ------------------
  |  |  |  Branch (220:13): [True: 3.12k, False: 118]
  |  |  ------------------
  |  |  221|  3.24k|            (cache_ptr)->cache_hits++;                                                                       \
  |  |  222|  3.24k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (222:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3246|  3.24k|    H5C__UPDATE_STATS_FOR_PROTECT(cache_ptr, entry_ptr, hit);
  ------------------
  |  |  560|  3.24k|    do {                                                                                                     \
  |  |  561|  3.24k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (561:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3247|       |
 3248|  3.24k|    ret_value = thing;
 3249|       |
 3250|  3.24k|    if (cache_ptr->evictions_enabled &&
  ------------------
  |  Branch (3250:9): [True: 3.24k, False: 0]
  ------------------
 3251|  3.24k|        (cache_ptr->size_decreased ||
  ------------------
  |  Branch (3251:10): [True: 7, False: 3.23k]
  ------------------
 3252|  3.24k|         (cache_ptr->resize_enabled && (cache_ptr->cache_accesses >= cache_ptr->resize_ctl.epoch_length)))) {
  ------------------
  |  Branch (3252:11): [True: 3.23k, False: 0]
  |  Branch (3252:40): [True: 0, False: 3.23k]
  ------------------
 3253|       |
 3254|      7|        if (!have_write_permitted) {
  ------------------
  |  Branch (3254:13): [True: 7, False: 0]
  ------------------
 3255|      7|            if (cache_ptr->check_write_permitted != NULL) {
  ------------------
  |  Branch (3255:17): [True: 7, False: 0]
  ------------------
 3256|      7|                if ((cache_ptr->check_write_permitted)(f, &write_permitted) < 0)
  ------------------
  |  Branch (3256:21): [True: 0, False: 7]
  ------------------
 3257|      0|                    HGOTO_ERROR(H5E_CACHE, H5E_CANTPROTECT, NULL, "Can't get write_permitted");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3258|      7|                else
 3259|      7|                    have_write_permitted = true;
 3260|      7|            }
 3261|      0|            else {
 3262|      0|                write_permitted      = cache_ptr->write_permitted;
 3263|      0|                have_write_permitted = true;
 3264|      0|            }
 3265|      7|        }
 3266|       |
 3267|      7|        if (cache_ptr->resize_enabled && (cache_ptr->cache_accesses >= cache_ptr->resize_ctl.epoch_length))
  ------------------
  |  Branch (3267:13): [True: 7, False: 0]
  |  Branch (3267:42): [True: 0, False: 7]
  ------------------
 3268|      0|            if (H5C__auto_adjust_cache_size(f, write_permitted) < 0)
  ------------------
  |  Branch (3268:17): [True: 0, False: 0]
  ------------------
 3269|      0|                HGOTO_ERROR(H5E_CACHE, H5E_CANTPROTECT, NULL, "Cache auto-resize failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3270|       |
 3271|      7|        if (cache_ptr->size_decreased) {
  ------------------
  |  Branch (3271:13): [True: 7, False: 0]
  ------------------
 3272|      7|            cache_ptr->size_decreased = false;
 3273|       |
 3274|       |            /* check to see if the cache is now oversized due to the cache
 3275|       |             * size reduction.  If it is, try to evict enough entries to
 3276|       |             * bring the cache size down to the current maximum cache size.
 3277|       |             *
 3278|       |             * Also, if the min_clean_size requirement is not met, we
 3279|       |             * should also call H5C__make_space_in_cache() to bring us
 3280|       |             * into compliance.
 3281|       |             */
 3282|      7|            if (cache_ptr->index_size >= cache_ptr->max_cache_size)
  ------------------
  |  Branch (3282:17): [True: 0, False: 7]
  ------------------
 3283|      0|                empty_space = 0;
 3284|      7|            else
 3285|      7|                empty_space = cache_ptr->max_cache_size - cache_ptr->index_size;
 3286|       |
 3287|      7|            if ((cache_ptr->index_size > cache_ptr->max_cache_size) ||
  ------------------
  |  Branch (3287:17): [True: 0, False: 7]
  ------------------
 3288|      7|                ((empty_space + cache_ptr->clean_index_size) < cache_ptr->min_clean_size)) {
  ------------------
  |  Branch (3288:17): [True: 0, False: 7]
  ------------------
 3289|       |
 3290|      0|                if (cache_ptr->index_size > cache_ptr->max_cache_size)
  ------------------
  |  Branch (3290:21): [True: 0, False: 0]
  ------------------
 3291|      0|                    cache_ptr->cache_full = true;
 3292|       |
 3293|      0|                if (H5C__make_space_in_cache(f, (size_t)0, write_permitted) < 0)
  ------------------
  |  Branch (3293:21): [True: 0, False: 0]
  ------------------
 3294|      0|                    HGOTO_ERROR(H5E_CACHE, H5E_CANTPROTECT, NULL, "H5C__make_space_in_cache failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3295|      0|            }
 3296|      7|        } /* end if */
 3297|      7|    }
 3298|       |
 3299|       |    /* If we loaded the entry and the entry's type has a 'notify' callback, send
 3300|       |     * an 'after load' notice now that the entry is fully integrated into
 3301|       |     * the cache and protected.  We must wait until it is protected so it is not
 3302|       |     * evicted during the notify callback.
 3303|       |     */
 3304|  3.24k|    if (was_loaded)
  ------------------
  |  Branch (3304:9): [True: 118, False: 3.12k]
  ------------------
 3305|       |        /* If the entry's type has a 'notify' callback send a 'after load'
 3306|       |         * notice now that the entry is fully integrated into the cache.
 3307|       |         */
 3308|    118|        if (entry_ptr->type->notify && (entry_ptr->type->notify)(H5C_NOTIFY_ACTION_AFTER_LOAD, entry_ptr) < 0)
  ------------------
  |  Branch (3308:13): [True: 73, False: 45]
  |  Branch (3308:40): [True: 0, False: 73]
  ------------------
 3309|      0|            HGOTO_ERROR(H5E_CACHE, H5E_CANTNOTIFY, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3310|  3.24k|                        "can't notify client about entry inserted into cache");
 3311|       |
 3312|       |#ifdef H5_HAVE_PARALLEL
 3313|       |    /* Make sure the size of the collective entries in the cache remain in check */
 3314|       |    if (coll_access) {
 3315|       |        if (H5P_USER_TRUE == H5F_COLL_MD_READ(f)) {
 3316|       |            if (cache_ptr->max_cache_size * 80 < cache_ptr->coll_list_size * 100)
 3317|       |                if (H5C_clear_coll_entries(cache_ptr, true) < 0)
 3318|       |                    HGOTO_ERROR(H5E_CACHE, H5E_CANTFLUSH, NULL, "can't clear collective metadata entries");
 3319|       |        } /* end if */
 3320|       |        else {
 3321|       |            if (cache_ptr->max_cache_size * 40 < cache_ptr->coll_list_size * 100)
 3322|       |                if (H5C_clear_coll_entries(cache_ptr, true) < 0)
 3323|       |                    HGOTO_ERROR(H5E_CACHE, H5E_CANTFLUSH, NULL, "can't clear collective metadata entries");
 3324|       |        } /* end else */
 3325|       |    }     /* end if */
 3326|       |#endif    /* H5_HAVE_PARALLEL */
 3327|       |
 3328|  3.28k|done:
 3329|       |#ifdef H5C_DO_EXTREME_SANITY_CHECKS
 3330|       |    if (H5C__validate_protected_entry_list(cache_ptr) < 0 || H5C__validate_pinned_entry_list(cache_ptr) < 0 ||
 3331|       |        H5C__validate_lru_list(cache_ptr) < 0)
 3332|       |        HDONE_ERROR(H5E_CACHE, H5E_SYSTEM, NULL, "an extreme sanity check failed on exit");
 3333|       |#endif /* H5C_DO_EXTREME_SANITY_CHECKS */
 3334|       |
 3335|  3.28k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  3.28k|    ;                                                                                                        \
  |  | 1573|  3.28k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  3.28k|    return (ret_value);                                                                                      \
  |  | 1575|  3.28k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 3336|  3.24k|} /* H5C_protect() */
H5C_unpin_entry:
 3350|    247|{
 3351|    247|    H5C_t             *cache_ptr;
 3352|    247|    H5C_cache_entry_t *entry_ptr = (H5C_cache_entry_t *)_entry_ptr; /* Pointer to entry to unpin */
 3353|    247|    herr_t             ret_value = SUCCEED;                         /* Return value */
  ------------------
  |  |  283|    247|#define SUCCEED 0
  ------------------
 3354|       |
 3355|    247|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    247|    {                                                                                                        \
  |  | 1392|    247|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    247|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    247|                                                                                                             \
  |  |  |  | 1267|    247|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    247|        {
  ------------------
 3356|       |
 3357|       |    /* Sanity check */
 3358|    247|    assert(entry_ptr);
 3359|    247|    cache_ptr = entry_ptr->cache_ptr;
 3360|    247|    assert(cache_ptr);
 3361|       |
 3362|       |#ifdef H5C_DO_EXTREME_SANITY_CHECKS
 3363|       |    if (H5C__validate_protected_entry_list(cache_ptr) < 0 || H5C__validate_pinned_entry_list(cache_ptr) < 0 ||
 3364|       |        H5C__validate_lru_list(cache_ptr) < 0)
 3365|       |        HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "an extreme sanity check failed on entry");
 3366|       |#endif /* H5C_DO_EXTREME_SANITY_CHECKS */
 3367|       |
 3368|       |    /* Unpin the entry */
 3369|    247|    if (H5C__unpin_entry_from_client(cache_ptr, entry_ptr, true) < 0)
  ------------------
  |  Branch (3369:9): [True: 0, False: 247]
  ------------------
 3370|      0|        HGOTO_ERROR(H5E_CACHE, H5E_CANTUNPIN, FAIL, "Can't unpin entry from client");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3371|       |
 3372|    247|done:
 3373|       |#ifdef H5C_DO_EXTREME_SANITY_CHECKS
 3374|       |    if (H5C__validate_protected_entry_list(cache_ptr) < 0 || H5C__validate_pinned_entry_list(cache_ptr) < 0 ||
 3375|       |        H5C__validate_lru_list(cache_ptr) < 0)
 3376|       |        HDONE_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "an extreme sanity check failed on exit");
 3377|       |#endif /* H5C_DO_EXTREME_SANITY_CHECKS */
 3378|       |
 3379|    247|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    247|    ;                                                                                                        \
  |  | 1573|    247|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    247|    return (ret_value);                                                                                      \
  |  | 1575|    247|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 3380|    247|} /* H5C_unpin_entry() */
H5C_unprotect:
 3406|  3.24k|{
 3407|  3.24k|    H5C_t *cache_ptr;
 3408|  3.24k|    bool   deleted;
 3409|  3.24k|    bool   dirtied;
 3410|  3.24k|    bool   pin_entry;
 3411|  3.24k|    bool   unpin_entry;
 3412|  3.24k|    bool   free_file_space;
 3413|  3.24k|    bool   take_ownership;
 3414|  3.24k|    bool   was_clean;
 3415|       |#ifdef H5_HAVE_PARALLEL
 3416|       |    bool clear_entry = false;
 3417|       |#endif /* H5_HAVE_PARALLEL */
 3418|  3.24k|    H5C_cache_entry_t *entry_ptr;
 3419|  3.24k|    H5C_cache_entry_t *test_entry_ptr;
 3420|  3.24k|    herr_t             ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|  3.24k|#define SUCCEED 0
  ------------------
 3421|       |
 3422|  3.24k|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|  3.24k|    {                                                                                                        \
  |  | 1392|  3.24k|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|  3.24k|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|  3.24k|                                                                                                             \
  |  |  |  | 1267|  3.24k|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|  3.24k|        {
  ------------------
 3423|       |
 3424|  3.24k|    deleted         = ((flags & H5C__DELETED_FLAG) != 0);
  ------------------
  |  |  176|  3.24k|#define H5C__DELETED_FLAG                   0x00001
  ------------------
 3425|  3.24k|    dirtied         = ((flags & H5C__DIRTIED_FLAG) != 0);
  ------------------
  |  |  177|  3.24k|#define H5C__DIRTIED_FLAG                   0x00002
  ------------------
 3426|  3.24k|    pin_entry       = ((flags & H5C__PIN_ENTRY_FLAG) != 0);
  ------------------
  |  |  178|  3.24k|#define H5C__PIN_ENTRY_FLAG                 0x00004
  ------------------
 3427|  3.24k|    unpin_entry     = ((flags & H5C__UNPIN_ENTRY_FLAG) != 0);
  ------------------
  |  |  179|  3.24k|#define H5C__UNPIN_ENTRY_FLAG               0x00008
  ------------------
 3428|  3.24k|    free_file_space = ((flags & H5C__FREE_FILE_SPACE_FLAG) != 0);
  ------------------
  |  |  184|  3.24k|#define H5C__FREE_FILE_SPACE_FLAG           0x00100
  ------------------
 3429|  3.24k|    take_ownership  = ((flags & H5C__TAKE_OWNERSHIP_FLAG) != 0);
  ------------------
  |  |  185|  3.24k|#define H5C__TAKE_OWNERSHIP_FLAG            0x00200
  ------------------
 3430|       |
 3431|  3.24k|    assert(f);
 3432|  3.24k|    assert(f->shared);
 3433|       |
 3434|  3.24k|    cache_ptr = f->shared->cache;
 3435|       |
 3436|  3.24k|    assert(cache_ptr);
 3437|  3.24k|    assert(H5_addr_defined(addr));
 3438|  3.24k|    assert(thing);
 3439|  3.24k|    assert(!(pin_entry && unpin_entry));
 3440|       |
 3441|       |    /* deleted flag must accompany free_file_space */
 3442|  3.24k|    assert((!free_file_space) || (deleted));
 3443|       |
 3444|       |    /* deleted flag must accompany take_ownership */
 3445|  3.24k|    assert((!take_ownership) || (deleted));
 3446|       |
 3447|       |    /* can't have both free_file_space & take_ownership */
 3448|  3.24k|    assert(!(free_file_space && take_ownership));
 3449|       |
 3450|  3.24k|    entry_ptr = (H5C_cache_entry_t *)thing;
 3451|  3.24k|    assert(entry_ptr->addr == addr);
 3452|       |
 3453|       |    /* also set the dirtied variable if the dirtied field is set in
 3454|       |     * the entry.
 3455|       |     */
 3456|  3.24k|    dirtied |= entry_ptr->dirtied;
 3457|  3.24k|    was_clean = !(entry_ptr->is_dirty);
 3458|       |
 3459|       |#ifdef H5C_DO_EXTREME_SANITY_CHECKS
 3460|       |    if (H5C__validate_protected_entry_list(cache_ptr) < 0 || H5C__validate_pinned_entry_list(cache_ptr) < 0 ||
 3461|       |        H5C__validate_lru_list(cache_ptr) < 0)
 3462|       |        HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "an extreme sanity check failed on entry");
 3463|       |#endif /* H5C_DO_EXTREME_SANITY_CHECKS */
 3464|       |
 3465|       |    /* if the entry has multiple read only protects, just decrement
 3466|       |     * the ro_ref_counter.  Don't actually unprotect until the ref count
 3467|       |     * drops to zero.
 3468|       |     */
 3469|  3.24k|    if (entry_ptr->ro_ref_count > 1) {
  ------------------
  |  Branch (3469:9): [True: 254, False: 2.99k]
  ------------------
 3470|       |        /* Sanity check */
 3471|    254|        assert(entry_ptr->is_protected);
 3472|    254|        assert(entry_ptr->is_read_only);
 3473|       |
 3474|    254|        if (dirtied)
  ------------------
  |  Branch (3474:13): [True: 0, False: 254]
  ------------------
 3475|      0|            HGOTO_ERROR(H5E_CACHE, H5E_CANTUNPROTECT, FAIL, "Read only entry modified??");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3476|       |
 3477|       |        /* Reduce the RO ref count */
 3478|    254|        (entry_ptr->ro_ref_count)--;
 3479|       |
 3480|       |        /* Pin or unpin the entry as requested. */
 3481|    254|        if (pin_entry) {
  ------------------
  |  Branch (3481:13): [True: 0, False: 254]
  ------------------
 3482|       |            /* Pin the entry from a client */
 3483|      0|            if (H5C__pin_entry_from_client(cache_ptr, entry_ptr) < 0)
  ------------------
  |  Branch (3483:17): [True: 0, False: 0]
  ------------------
 3484|      0|                HGOTO_ERROR(H5E_CACHE, H5E_CANTPIN, FAIL, "Can't pin entry by client");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3485|      0|        }
 3486|    254|        else if (unpin_entry) {
  ------------------
  |  Branch (3486:18): [True: 0, False: 254]
  ------------------
 3487|       |            /* Unpin the entry from a client */
 3488|      0|            if (H5C__unpin_entry_from_client(cache_ptr, entry_ptr, false) < 0)
  ------------------
  |  Branch (3488:17): [True: 0, False: 0]
  ------------------
 3489|      0|                HGOTO_ERROR(H5E_CACHE, H5E_CANTUNPIN, FAIL, "Can't unpin entry by client");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3490|      0|        } /* end if */
 3491|    254|    }
 3492|  2.99k|    else {
 3493|  2.99k|        if (entry_ptr->is_read_only) {
  ------------------
  |  Branch (3493:13): [True: 2.99k, False: 0]
  ------------------
 3494|       |            /* Sanity check */
 3495|  2.99k|            assert(entry_ptr->ro_ref_count == 1);
 3496|       |
 3497|  2.99k|            if (dirtied)
  ------------------
  |  Branch (3497:17): [True: 0, False: 2.99k]
  ------------------
 3498|      0|                HGOTO_ERROR(H5E_CACHE, H5E_CANTUNPROTECT, FAIL, "Read only entry modified??");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3499|       |
 3500|  2.99k|            entry_ptr->is_read_only = false;
 3501|  2.99k|            entry_ptr->ro_ref_count = 0;
 3502|  2.99k|        } /* end if */
 3503|       |
 3504|       |#ifdef H5_HAVE_PARALLEL
 3505|       |        /* When the H5C code is used to implement the metadata cache in the
 3506|       |         * PHDF5 case, only the cache on process 0 is allowed to write to file.
 3507|       |         * All the other metadata caches must hold dirty entries until they
 3508|       |         * are told that the entries are clean.
 3509|       |         *
 3510|       |         * The clear_on_unprotect flag in the H5C_cache_entry_t structure
 3511|       |         * exists to deal with the case in which an entry is protected when
 3512|       |         * its cache receives word that the entry is now clean.  In this case,
 3513|       |         * the clear_on_unprotect flag is set, and the entry is flushed with
 3514|       |         * the H5C__FLUSH_CLEAR_ONLY_FLAG.
 3515|       |         *
 3516|       |         * All this is a bit awkward, but until the metadata cache entries
 3517|       |         * are contiguous, with only one dirty flag, we have to let the supplied
 3518|       |         * functions deal with the resetting the is_dirty flag.
 3519|       |         */
 3520|       |        if (entry_ptr->clear_on_unprotect) {
 3521|       |            /* Sanity check */
 3522|       |            assert(entry_ptr->is_dirty);
 3523|       |
 3524|       |            entry_ptr->clear_on_unprotect = false;
 3525|       |            if (!dirtied)
 3526|       |                clear_entry = true;
 3527|       |        } /* end if */
 3528|       |#endif    /* H5_HAVE_PARALLEL */
 3529|       |
 3530|  2.99k|        if (!entry_ptr->is_protected)
  ------------------
  |  Branch (3530:13): [True: 0, False: 2.99k]
  ------------------
 3531|      0|            HGOTO_ERROR(H5E_CACHE, H5E_CANTUNPROTECT, FAIL, "Entry already unprotected??");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3532|       |
 3533|       |        /* Mark the entry as dirty if appropriate */
 3534|  2.99k|        entry_ptr->is_dirty = (entry_ptr->is_dirty || dirtied);
  ------------------
  |  Branch (3534:32): [True: 0, False: 2.99k]
  |  Branch (3534:55): [True: 0, False: 2.99k]
  ------------------
 3535|  2.99k|        if (dirtied && entry_ptr->image_up_to_date) {
  ------------------
  |  Branch (3535:13): [True: 0, False: 2.99k]
  |  Branch (3535:24): [True: 0, False: 0]
  ------------------
 3536|      0|            entry_ptr->image_up_to_date = false;
 3537|      0|            if (entry_ptr->flush_dep_nparents > 0)
  ------------------
  |  Branch (3537:17): [True: 0, False: 0]
  ------------------
 3538|      0|                if (H5C__mark_flush_dep_unserialized(entry_ptr) < 0)
  ------------------
  |  Branch (3538:21): [True: 0, False: 0]
  ------------------
 3539|      0|                    HGOTO_ERROR(H5E_CACHE, H5E_CANTNOTIFY, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3540|      0|                                "Can't propagate serialization status to fd parents");
 3541|      0|        } /* end if */
 3542|       |
 3543|       |        /* Check for newly dirtied entry */
 3544|  2.99k|        if (was_clean && entry_ptr->is_dirty) {
  ------------------
  |  Branch (3544:13): [True: 2.99k, False: 0]
  |  Branch (3544:26): [True: 0, False: 2.99k]
  ------------------
 3545|       |            /* Update index for newly dirtied entry */
 3546|      0|            H5C__UPDATE_INDEX_FOR_ENTRY_DIRTY(cache_ptr, entry_ptr, FAIL);
  ------------------
  |  |  925|      0|    do {                                                                                                     \
  |  |  926|      0|        H5C__PRE_HT_UPDATE_FOR_ENTRY_DIRTY_SC(cache_ptr, entry_ptr, fail_val);                               \
  |  |  927|      0|        (cache_ptr)->clean_index_size -= (entry_ptr)->size;                                                  \
  |  |  928|      0|        (cache_ptr)->clean_index_ring_size[(entry_ptr)->ring] -= (entry_ptr)->size;                          \
  |  |  929|      0|        (cache_ptr)->dirty_index_size += (entry_ptr)->size;                                                  \
  |  |  930|      0|        (cache_ptr)->dirty_index_ring_size[(entry_ptr)->ring] += (entry_ptr)->size;                          \
  |  |  931|      0|        H5C__POST_HT_UPDATE_FOR_ENTRY_DIRTY_SC(cache_ptr, entry_ptr, fail_val);                              \
  |  |  932|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (932:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3547|       |
 3548|       |            /* If the entry's type has a 'notify' callback send a
 3549|       |             * 'entry dirtied' notice now that the entry is fully
 3550|       |             * integrated into the cache.
 3551|       |             */
 3552|      0|            if (entry_ptr->type->notify &&
  ------------------
  |  Branch (3552:17): [True: 0, False: 0]
  ------------------
 3553|      0|                (entry_ptr->type->notify)(H5C_NOTIFY_ACTION_ENTRY_DIRTIED, entry_ptr) < 0)
  ------------------
  |  Branch (3553:17): [True: 0, False: 0]
  ------------------
 3554|      0|                HGOTO_ERROR(H5E_CACHE, H5E_CANTNOTIFY, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3555|      0|                            "can't notify client about entry dirty flag set");
 3556|       |
 3557|       |            /* Propagate the flush dep dirty flag up the flush dependency chain
 3558|       |             * if appropriate
 3559|       |             */
 3560|      0|            if (entry_ptr->flush_dep_nparents > 0)
  ------------------
  |  Branch (3560:17): [True: 0, False: 0]
  ------------------
 3561|      0|                if (H5C__mark_flush_dep_dirty(entry_ptr) < 0)
  ------------------
  |  Branch (3561:21): [True: 0, False: 0]
  ------------------
 3562|      0|                    HGOTO_ERROR(H5E_CACHE, H5E_CANTMARKDIRTY, FAIL, "Can't propagate flush dep dirty flag");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3563|      0|        } /* end if */
 3564|       |        /* Check for newly clean entry */
 3565|  2.99k|        else if (!was_clean && !entry_ptr->is_dirty) {
  ------------------
  |  Branch (3565:18): [True: 0, False: 2.99k]
  |  Branch (3565:32): [True: 0, False: 0]
  ------------------
 3566|       |
 3567|       |            /* If the entry's type has a 'notify' callback send a
 3568|       |             * 'entry cleaned' notice now that the entry is fully
 3569|       |             * integrated into the cache.
 3570|       |             */
 3571|      0|            if (entry_ptr->type->notify &&
  ------------------
  |  Branch (3571:17): [True: 0, False: 0]
  ------------------
 3572|      0|                (entry_ptr->type->notify)(H5C_NOTIFY_ACTION_ENTRY_CLEANED, entry_ptr) < 0)
  ------------------
  |  Branch (3572:17): [True: 0, False: 0]
  ------------------
 3573|      0|                HGOTO_ERROR(H5E_CACHE, H5E_CANTNOTIFY, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3574|      0|                            "can't notify client about entry dirty flag cleared");
 3575|       |
 3576|       |            /* Propagate the flush dep clean flag up the flush dependency chain
 3577|       |             * if appropriate
 3578|       |             */
 3579|      0|            if (entry_ptr->flush_dep_nparents > 0)
  ------------------
  |  Branch (3579:17): [True: 0, False: 0]
  ------------------
 3580|      0|                if (H5C__mark_flush_dep_clean(entry_ptr) < 0)
  ------------------
  |  Branch (3580:21): [True: 0, False: 0]
  ------------------
 3581|      0|                    HGOTO_ERROR(H5E_CACHE, H5E_CANTMARKDIRTY, FAIL, "Can't propagate flush dep dirty flag");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3582|      0|        } /* end else-if */
 3583|       |
 3584|       |        /* Pin or unpin the entry as requested. */
 3585|  2.99k|        if (pin_entry) {
  ------------------
  |  Branch (3585:13): [True: 0, False: 2.99k]
  ------------------
 3586|       |            /* Pin the entry from a client */
 3587|      0|            if (H5C__pin_entry_from_client(cache_ptr, entry_ptr) < 0)
  ------------------
  |  Branch (3587:17): [True: 0, False: 0]
  ------------------
 3588|      0|                HGOTO_ERROR(H5E_CACHE, H5E_CANTPIN, FAIL, "Can't pin entry by client");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3589|      0|        }
 3590|  2.99k|        else if (unpin_entry) {
  ------------------
  |  Branch (3590:18): [True: 0, False: 2.99k]
  ------------------
 3591|       |            /* Unpin the entry from a client */
 3592|      0|            if (H5C__unpin_entry_from_client(cache_ptr, entry_ptr, false) < 0)
  ------------------
  |  Branch (3592:17): [True: 0, False: 0]
  ------------------
 3593|      0|                HGOTO_ERROR(H5E_CACHE, H5E_CANTUNPIN, FAIL, "Can't unpin entry by client");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3594|      0|        } /* end if */
 3595|       |
 3596|       |        /* H5C__UPDATE_RP_FOR_UNPROTECT will place the unprotected entry on
 3597|       |         * the pinned entry list if entry_ptr->is_pinned is true.
 3598|       |         */
 3599|  2.99k|        H5C__UPDATE_RP_FOR_UNPROTECT(cache_ptr, entry_ptr, FAIL);
  ------------------
  |  | 1648|  2.99k|    do {                                                                                                     \
  |  | 1649|  2.99k|        assert(cache_ptr);                                                                                   \
  |  | 1650|  2.99k|        assert(entry_ptr);                                                                                   \
  |  | 1651|  2.99k|        assert((entry_ptr)->is_protected);                                                                   \
  |  | 1652|  2.99k|        assert((entry_ptr)->size > 0);                                                                       \
  |  | 1653|  2.99k|                                                                                                             \
  |  | 1654|  2.99k|        /* Regardless of the replacement policy, remove the entry from the                                   \
  |  | 1655|  2.99k|         * protected list.                                                                                   \
  |  | 1656|  2.99k|         */                                                                                                  \
  |  | 1657|  2.99k|        H5C__DLL_REMOVE((entry_ptr), (cache_ptr)->pl_head_ptr, (cache_ptr)->pl_tail_ptr,                     \
  |  |  ------------------
  |  |  |  |  186|  2.99k|    H5C__GEN_DLL_REMOVE(entry_ptr, next, prev, head_ptr, tail_ptr, len, list_size, fail_val)
  |  |  |  |  ------------------
  |  |  |  |  |  |  149|  2.99k|    {                                                                                                        \
  |  |  |  |  |  |  150|  2.99k|        H5C__GEN_DLL_PRE_REMOVE_SC(entry_ptr, list_next, list_prev, head_ptr, tail_ptr, len, list_size,      \
  |  |  |  |  |  |  151|  2.99k|                                   fail_val);                                                                \
  |  |  |  |  |  |  152|  2.99k|        if ((head_ptr) == (entry_ptr)) {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (152:13): [True: 1.28k, False: 1.70k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  153|  1.28k|            (head_ptr) = (entry_ptr)->list_next;                                                             \
  |  |  |  |  |  |  154|  1.28k|            if ((head_ptr) != NULL)                                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (154:17): [True: 212, False: 1.07k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  155|  1.28k|                (head_ptr)->list_prev = NULL;                                                                \
  |  |  |  |  |  |  156|  1.28k|        }                                                                                                    \
  |  |  |  |  |  |  157|  2.99k|        else                                                                                                 \
  |  |  |  |  |  |  158|  2.99k|            (entry_ptr)->list_prev->list_next = (entry_ptr)->list_next;                                      \
  |  |  |  |  |  |  159|  2.99k|        if ((tail_ptr) == (entry_ptr)) {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 2.77k, False: 212]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|  2.77k|            (tail_ptr) = (entry_ptr)->list_prev;                                                             \
  |  |  |  |  |  |  161|  2.77k|            if ((tail_ptr) != NULL)                                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (161:17): [True: 1.70k, False: 1.07k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  162|  2.77k|                (tail_ptr)->list_next = NULL;                                                                \
  |  |  |  |  |  |  163|  2.77k|        }                                                                                                    \
  |  |  |  |  |  |  164|  2.99k|        else                                                                                                 \
  |  |  |  |  |  |  165|  2.99k|            (entry_ptr)->list_next->list_prev = (entry_ptr)->list_prev;                                      \
  |  |  |  |  |  |  166|  2.99k|        (entry_ptr)->list_next = NULL;                                                                       \
  |  |  |  |  |  |  167|  2.99k|        (entry_ptr)->list_prev = NULL;                                                                       \
  |  |  |  |  |  |  168|  2.99k|        (len)--;                                                                                             \
  |  |  |  |  |  |  169|  2.99k|        (list_size) -= (entry_ptr)->size;                                                                    \
  |  |  |  |  |  |  170|  2.99k|    } /* H5C__GEN_DLL_REMOVE() */
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1658|  2.99k|                        (cache_ptr)->pl_len, (cache_ptr)->pl_size, (fail_val))                               \
  |  | 1659|  2.99k|                                                                                                             \
  |  | 1660|  2.99k|        if ((entry_ptr)->is_pinned) {                                                                        \
  |  |  ------------------
  |  |  |  Branch (1660:13): [True: 651, False: 2.34k]
  |  |  ------------------
  |  | 1661|    651|            H5C__DLL_PREPEND((entry_ptr), (cache_ptr)->pel_head_ptr, (cache_ptr)->pel_tail_ptr,              \
  |  |  ------------------
  |  |  |  |  184|    651|    H5C__GEN_DLL_PREPEND(entry_ptr, next, prev, head_ptr, tail_ptr, len, list_size, fail_val)
  |  |  |  |  ------------------
  |  |  |  |  |  |  132|    651|    {                                                                                                        \
  |  |  |  |  |  |  133|    651|        H5C__GEN_DLL_PRE_INSERT_SC(entry_ptr, list_next, list_prev, head_ptr, tail_ptr, len, list_size,      \
  |  |  |  |  |  |  134|    651|                                   fail_val)                                                                 \
  |  |  |  |  |  |  135|    651|        if ((head_ptr) == NULL) {                                                                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (135:13): [True: 7, False: 644]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  136|      7|            (head_ptr) = (entry_ptr);                                                                        \
  |  |  |  |  |  |  137|      7|            (tail_ptr) = (entry_ptr);                                                                        \
  |  |  |  |  |  |  138|      7|        }                                                                                                    \
  |  |  |  |  |  |  139|    651|        else {                                                                                               \
  |  |  |  |  |  |  140|    644|            (head_ptr)->list_prev  = (entry_ptr);                                                            \
  |  |  |  |  |  |  141|    644|            (entry_ptr)->list_next = (head_ptr);                                                             \
  |  |  |  |  |  |  142|    644|            (head_ptr)             = (entry_ptr);                                                            \
  |  |  |  |  |  |  143|    644|        }                                                                                                    \
  |  |  |  |  |  |  144|    651|        (len)++;                                                                                             \
  |  |  |  |  |  |  145|    651|        (list_size) += (entry_ptr)->size;                                                                    \
  |  |  |  |  |  |  146|    651|    } /* H5C__GEN_DLL_PREPEND() */
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1662|    651|                             (cache_ptr)->pel_len, (cache_ptr)->pel_size, (fail_val))                        \
  |  | 1663|    651|        }                                                                                                    \
  |  | 1664|  2.99k|        else {                                                                                               \
  |  | 1665|  2.34k|            /* Insert the entry at the head of the LRU list. */                                              \
  |  | 1666|  2.34k|            H5C__DLL_PREPEND((entry_ptr), (cache_ptr)->LRU_head_ptr, (cache_ptr)->LRU_tail_ptr,              \
  |  |  ------------------
  |  |  |  |  184|  2.34k|    H5C__GEN_DLL_PREPEND(entry_ptr, next, prev, head_ptr, tail_ptr, len, list_size, fail_val)
  |  |  |  |  ------------------
  |  |  |  |  |  |  132|  2.34k|    {                                                                                                        \
  |  |  |  |  |  |  133|  2.34k|        H5C__GEN_DLL_PRE_INSERT_SC(entry_ptr, list_next, list_prev, head_ptr, tail_ptr, len, list_size,      \
  |  |  |  |  |  |  134|  2.34k|                                   fail_val)                                                                 \
  |  |  |  |  |  |  135|  2.34k|        if ((head_ptr) == NULL) {                                                                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (135:13): [True: 36, False: 2.30k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  136|     36|            (head_ptr) = (entry_ptr);                                                                        \
  |  |  |  |  |  |  137|     36|            (tail_ptr) = (entry_ptr);                                                                        \
  |  |  |  |  |  |  138|     36|        }                                                                                                    \
  |  |  |  |  |  |  139|  2.34k|        else {                                                                                               \
  |  |  |  |  |  |  140|  2.30k|            (head_ptr)->list_prev  = (entry_ptr);                                                            \
  |  |  |  |  |  |  141|  2.30k|            (entry_ptr)->list_next = (head_ptr);                                                             \
  |  |  |  |  |  |  142|  2.30k|            (head_ptr)             = (entry_ptr);                                                            \
  |  |  |  |  |  |  143|  2.30k|        }                                                                                                    \
  |  |  |  |  |  |  144|  2.34k|        (len)++;                                                                                             \
  |  |  |  |  |  |  145|  2.34k|        (list_size) += (entry_ptr)->size;                                                                    \
  |  |  |  |  |  |  146|  2.34k|    } /* H5C__GEN_DLL_PREPEND() */
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1667|  2.34k|                             (cache_ptr)->LRU_list_len, (cache_ptr)->LRU_list_size, (fail_val))              \
  |  | 1668|  2.34k|                                                                                                             \
  |  | 1669|  2.34k|            /* Maintain the clean & dirty LRU lists, if enabled */                                           \
  |  | 1670|  2.34k|            H5C__UPDATE_RP_FOR_UNPROTECT_CD_LRU(cache_ptr, entry_ptr, fail_val);                             \
  |  | 1671|  2.34k|        }                                                                                                    \
  |  | 1672|  2.99k|    } while (0) /* H5C__UPDATE_RP_FOR_UNPROTECT */
  |  |  ------------------
  |  |  |  Branch (1672:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3600|       |
 3601|  2.99k|        entry_ptr->is_protected = false;
 3602|       |
 3603|       |        /* if the entry is dirty, add it to the skip list if it isn't there already. */
 3604|  2.99k|        if (entry_ptr->is_dirty && !entry_ptr->in_slist)
  ------------------
  |  Branch (3604:13): [True: 0, False: 2.99k]
  |  Branch (3604:36): [True: 0, False: 0]
  ------------------
 3605|       |            /* this is a no-op if cache_ptr->slist_enabled is false */
 3606|      0|            H5C__INSERT_ENTRY_IN_SLIST(cache_ptr, entry_ptr, FAIL);
  ------------------
  |  | 1018|      0|    do {                                                                                                     \
  |  | 1019|      0|        assert(cache_ptr);                                                                                   \
  |  | 1020|      0|                                                                                                             \
  |  | 1021|      0|        if ((cache_ptr)->slist_enabled) {                                                                    \
  |  |  ------------------
  |  |  |  Branch (1021:13): [True: 0, False: 0]
  |  |  ------------------
  |  | 1022|      0|            assert(entry_ptr);                                                                               \
  |  | 1023|      0|            assert((entry_ptr)->size > 0);                                                                   \
  |  | 1024|      0|            assert(H5_addr_defined((entry_ptr)->addr));                                                      \
  |  | 1025|      0|            assert(!(entry_ptr)->in_slist);                                                                  \
  |  | 1026|      0|            assert(!H5C__ENTRY_IN_SLIST((cache_ptr), (entry_ptr)));                                          \
  |  | 1027|      0|            assert((entry_ptr)->ring > H5C_RING_UNDEFINED);                                                  \
  |  | 1028|      0|            assert((entry_ptr)->ring < H5C_RING_NTYPES);                                                     \
  |  | 1029|      0|            assert((cache_ptr)->slist_ring_len[(entry_ptr)->ring] <= (cache_ptr)->slist_len);                \
  |  | 1030|      0|            assert((cache_ptr)->slist_ring_size[(entry_ptr)->ring] <= (cache_ptr)->slist_size);              \
  |  | 1031|      0|            assert((cache_ptr)->slist_ptr);                                                                  \
  |  | 1032|      0|                                                                                                             \
  |  | 1033|      0|            if (H5SL_insert((cache_ptr)->slist_ptr, entry_ptr, &((entry_ptr)->addr)) < 0)                    \
  |  |  ------------------
  |  |  |  Branch (1033:17): [True: 0, False: 0]
  |  |  ------------------
  |  | 1034|      0|                HGOTO_ERROR(H5E_CACHE, H5E_BADVALUE, (fail_val), "can't insert entry in skip list");         \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1035|      0|                                                                                                             \
  |  | 1036|      0|            (entry_ptr)->in_slist      = true;                                                               \
  |  | 1037|      0|            (cache_ptr)->slist_changed = true;                                                               \
  |  | 1038|      0|            (cache_ptr)->slist_len++;                                                                        \
  |  | 1039|      0|            (cache_ptr)->slist_size += (entry_ptr)->size;                                                    \
  |  | 1040|      0|            ((cache_ptr)->slist_ring_len[(entry_ptr)->ring])++;                                              \
  |  | 1041|      0|            ((cache_ptr)->slist_ring_size[(entry_ptr)->ring]) += (entry_ptr)->size;                          \
  |  | 1042|      0|            H5C__SLIST_INSERT_ENTRY_SC(cache_ptr, entry_ptr);                                                \
  |  | 1043|      0|                                                                                                             \
  |  | 1044|      0|            assert((cache_ptr)->slist_len > 0);                                                              \
  |  | 1045|      0|            assert((cache_ptr)->slist_size > 0);                                                             \
  |  | 1046|      0|        }                                                                                                    \
  |  | 1047|      0|        else { /* slist disabled */                                                                          \
  |  | 1048|      0|            assert((cache_ptr)->slist_len == 0);                                                             \
  |  | 1049|      0|            assert((cache_ptr)->slist_size == 0);                                                            \
  |  | 1050|      0|        }                                                                                                    \
  |  | 1051|      0|    } while (0) /* H5C__INSERT_ENTRY_IN_SLIST */
  |  |  ------------------
  |  |  |  Branch (1051:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3607|       |
 3608|       |        /* This implementation of the "deleted" option is a bit inefficient, as
 3609|       |         * we re-insert the entry to be deleted into the replacement policy
 3610|       |         * data structures, only to remove them again.  Depending on how often
 3611|       |         * we do this, we may want to optimize a bit.
 3612|       |         */
 3613|  2.99k|        if (deleted) {
  ------------------
  |  Branch (3613:13): [True: 4, False: 2.98k]
  ------------------
 3614|      4|            unsigned flush_flags = (H5C__FLUSH_CLEAR_ONLY_FLAG | H5C__FLUSH_INVALIDATE_FLAG);
  ------------------
  |  |  181|      4|#define H5C__FLUSH_CLEAR_ONLY_FLAG          0x00020
  ------------------
                          unsigned flush_flags = (H5C__FLUSH_CLEAR_ONLY_FLAG | H5C__FLUSH_INVALIDATE_FLAG);
  ------------------
  |  |  180|      4|#define H5C__FLUSH_INVALIDATE_FLAG          0x00010
  ------------------
 3615|       |
 3616|       |            /* verify that the target entry is in the cache. */
 3617|      4|            H5C__SEARCH_INDEX(cache_ptr, addr, test_entry_ptr, FAIL);
  ------------------
  |  |  886|      4|    do {                                                                                                     \
  |  |  887|      4|        int k;                                                                                               \
  |  |  888|      4|        int depth = 0;                                                                                       \
  |  |  889|      4|        H5C__PRE_HT_SEARCH_SC(cache_ptr, entry_addr, fail_val);                                              \
  |  |  890|      4|        k           = H5C__HASH_FCN(entry_addr);                                                             \
  |  |  ------------------
  |  |  |  |  596|      4|#define H5C__HASH_FCN(x) (int)((unsigned)((x)&H5C__HASH_MASK) >> 3)
  |  |  |  |  ------------------
  |  |  |  |  |  |  595|      4|#define H5C__HASH_MASK   ((size_t)(H5C__HASH_TABLE_LEN - 1) << 3)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      4|#define H5C__HASH_TABLE_LEN (64 * 1024) /* must be a power of 2 */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  891|      4|        (entry_ptr) = (cache_ptr)->index[k];                                                                 \
  |  |  892|      4|        while (entry_ptr) {                                                                                  \
  |  |  ------------------
  |  |  |  Branch (892:16): [True: 4, False: 0]
  |  |  ------------------
  |  |  893|      4|            if (H5_addr_eq(entry_addr, (entry_ptr)->addr)) {                                                 \
  |  |  ------------------
  |  |  |  |  453|      4|#define H5_addr_eq(X,Y)          ((X) != HADDR_UNDEF && (X) == (Y))
  |  |  |  |  ------------------
  |  |  |  |  |  |  336|      8|#define HADDR_UNDEF         UINT64_MAX
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (453:35): [True: 4, False: 0]
  |  |  |  |  |  Branch (453:57): [True: 4, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  894|      4|                H5C__POST_SUC_HT_SEARCH_SC(cache_ptr, entry_ptr, k, fail_val);                               \
  |  |  895|      4|                if ((entry_ptr) != (cache_ptr)->index[k]) {                                                  \
  |  |  ------------------
  |  |  |  Branch (895:21): [True: 0, False: 4]
  |  |  ------------------
  |  |  896|      0|                    if ((entry_ptr)->ht_next)                                                                \
  |  |  ------------------
  |  |  |  Branch (896:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  897|      0|                        (entry_ptr)->ht_next->ht_prev = (entry_ptr)->ht_prev;                                \
  |  |  898|      0|                    assert((entry_ptr)->ht_prev != NULL);                                                    \
  |  |  899|      0|                    (entry_ptr)->ht_prev->ht_next  = (entry_ptr)->ht_next;                                   \
  |  |  900|      0|                    (cache_ptr)->index[k]->ht_prev = (entry_ptr);                                            \
  |  |  901|      0|                    (entry_ptr)->ht_next           = (cache_ptr)->index[k];                                  \
  |  |  902|      0|                    (entry_ptr)->ht_prev           = NULL;                                                   \
  |  |  903|      0|                    (cache_ptr)->index[k]          = (entry_ptr);                                            \
  |  |  904|      0|                    H5C__POST_HT_SHIFT_TO_FRONT_SC(cache_ptr, entry_ptr, k, fail_val);                       \
  |  |  905|      0|                }                                                                                            \
  |  |  906|      4|                break;                                                                                       \
  |  |  907|      4|            }                                                                                                \
  |  |  908|      4|            (entry_ptr) = (entry_ptr)->ht_next;                                                              \
  |  |  909|      0|            (depth)++;                                                                                       \
  |  |  910|      0|        }                                                                                                    \
  |  |  911|      4|        H5C__UPDATE_STATS_FOR_HT_SEARCH(cache_ptr, ((entry_ptr) != NULL), depth);                            \
  |  |  ------------------
  |  |  |  |  545|      4|    do {                                                                                                     \
  |  |  |  |  546|      4|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (546:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  912|      4|    } while (0)
  |  |  ------------------
  |  |  |  Branch (912:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3618|       |
 3619|      4|            if (test_entry_ptr == NULL)
  ------------------
  |  Branch (3619:17): [True: 0, False: 4]
  ------------------
 3620|      0|                HGOTO_ERROR(H5E_CACHE, H5E_CANTUNPROTECT, FAIL, "entry not in hash table?!?");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3621|      4|            else if (test_entry_ptr != entry_ptr)
  ------------------
  |  Branch (3621:22): [True: 0, False: 4]
  ------------------
 3622|      0|                HGOTO_ERROR(H5E_CACHE, H5E_CANTUNPROTECT, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3623|      4|                            "hash table contains multiple entries for addr?!?");
 3624|       |
 3625|       |            /* Set the 'free file space' flag for the flush, if needed */
 3626|      4|            if (free_file_space)
  ------------------
  |  Branch (3626:17): [True: 0, False: 4]
  ------------------
 3627|      0|                flush_flags |= H5C__FREE_FILE_SPACE_FLAG;
  ------------------
  |  |  184|      0|#define H5C__FREE_FILE_SPACE_FLAG           0x00100
  ------------------
 3628|       |
 3629|       |            /* Set the "take ownership" flag for the flush, if needed */
 3630|      4|            if (take_ownership)
  ------------------
  |  Branch (3630:17): [True: 0, False: 4]
  ------------------
 3631|      0|                flush_flags |= H5C__TAKE_OWNERSHIP_FLAG;
  ------------------
  |  |  185|      0|#define H5C__TAKE_OWNERSHIP_FLAG            0x00200
  ------------------
 3632|       |
 3633|       |            /* Delete the entry from the skip list on destroy */
 3634|      4|            flush_flags |= H5C__DEL_FROM_SLIST_ON_DESTROY_FLAG;
  ------------------
  |  |  189|      4|#define H5C__DEL_FROM_SLIST_ON_DESTROY_FLAG 0x02000
  ------------------
 3635|       |
 3636|      4|            assert((!cache_ptr->slist_enabled) || (((!was_clean) || dirtied) == (entry_ptr->in_slist)));
 3637|       |
 3638|      4|            if (H5C__flush_single_entry(f, entry_ptr, flush_flags) < 0)
  ------------------
  |  Branch (3638:17): [True: 0, False: 4]
  ------------------
 3639|      0|                HGOTO_ERROR(H5E_CACHE, H5E_CANTUNPROTECT, FAIL, "Can't flush entry");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3640|      4|        } /* end if */
 3641|       |#ifdef H5_HAVE_PARALLEL
 3642|       |        else if (clear_entry) {
 3643|       |            /* Verify that the target entry is in the cache. */
 3644|       |            H5C__SEARCH_INDEX(cache_ptr, addr, test_entry_ptr, FAIL);
 3645|       |
 3646|       |            if (test_entry_ptr == NULL)
 3647|       |                HGOTO_ERROR(H5E_CACHE, H5E_CANTUNPROTECT, FAIL, "entry not in hash table?!?");
 3648|       |            else if (test_entry_ptr != entry_ptr)
 3649|       |                HGOTO_ERROR(H5E_CACHE, H5E_CANTUNPROTECT, FAIL,
 3650|       |                            "hash table contains multiple entries for addr?!?");
 3651|       |
 3652|       |            if (H5C__flush_single_entry(f, entry_ptr,
 3653|       |                                        H5C__FLUSH_CLEAR_ONLY_FLAG | H5C__DEL_FROM_SLIST_ON_DESTROY_FLAG) < 0)
 3654|       |                HGOTO_ERROR(H5E_CACHE, H5E_CANTUNPROTECT, FAIL, "Can't clear entry");
 3655|       |        } /* end else if */
 3656|       |#endif    /* H5_HAVE_PARALLEL */
 3657|  2.99k|    }
 3658|       |
 3659|  3.24k|    H5C__UPDATE_STATS_FOR_UNPROTECT(cache_ptr);
  ------------------
  |  |  530|  3.24k|    do {                                                                                                     \
  |  |  531|  3.24k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (531:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3660|       |
 3661|  3.24k|done:
 3662|       |#ifdef H5C_DO_EXTREME_SANITY_CHECKS
 3663|       |    if (H5C__validate_protected_entry_list(cache_ptr) < 0 || H5C__validate_pinned_entry_list(cache_ptr) < 0 ||
 3664|       |        H5C__validate_lru_list(cache_ptr) < 0)
 3665|       |        HDONE_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "an extreme sanity check failed on exit");
 3666|       |#endif /* H5C_DO_EXTREME_SANITY_CHECKS */
 3667|       |
 3668|  3.24k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  3.24k|    ;                                                                                                        \
  |  | 1573|  3.24k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  3.24k|    return (ret_value);                                                                                      \
  |  | 1575|  3.24k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 3669|  3.24k|} /* H5C_unprotect() */
H5C_expunge_entry:
 4013|      4|{
 4014|      4|    H5C_t             *cache_ptr;
 4015|      4|    H5C_cache_entry_t *entry_ptr   = NULL;
 4016|      4|    unsigned           flush_flags = (H5C__FLUSH_INVALIDATE_FLAG | H5C__FLUSH_CLEAR_ONLY_FLAG);
  ------------------
  |  |  180|      4|#define H5C__FLUSH_INVALIDATE_FLAG          0x00010
  ------------------
                  unsigned           flush_flags = (H5C__FLUSH_INVALIDATE_FLAG | H5C__FLUSH_CLEAR_ONLY_FLAG);
  ------------------
  |  |  181|      4|#define H5C__FLUSH_CLEAR_ONLY_FLAG          0x00020
  ------------------
 4017|      4|    herr_t             ret_value   = SUCCEED; /* Return value */
  ------------------
  |  |  283|      4|#define SUCCEED 0
  ------------------
 4018|       |
 4019|      4|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      4|    {                                                                                                        \
  |  | 1392|      4|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      4|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      4|                                                                                                             \
  |  |  |  | 1267|      4|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      4|        {
  ------------------
 4020|       |
 4021|      4|    assert(f);
 4022|      4|    assert(f->shared);
 4023|      4|    cache_ptr = f->shared->cache;
 4024|      4|    assert(cache_ptr);
 4025|      4|    assert(type);
 4026|      4|    assert(H5_addr_defined(addr));
 4027|       |
 4028|       |#ifdef H5C_DO_EXTREME_SANITY_CHECKS
 4029|       |    if (H5C__validate_lru_list(cache_ptr) < 0)
 4030|       |        HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "LRU extreme sanity check failed on entry");
 4031|       |#endif /* H5C_DO_EXTREME_SANITY_CHECKS */
 4032|       |
 4033|       |    /* Look for entry in cache */
 4034|      4|    H5C__SEARCH_INDEX(cache_ptr, addr, entry_ptr, FAIL);
  ------------------
  |  |  886|      4|    do {                                                                                                     \
  |  |  887|      4|        int k;                                                                                               \
  |  |  888|      4|        int depth = 0;                                                                                       \
  |  |  889|      4|        H5C__PRE_HT_SEARCH_SC(cache_ptr, entry_addr, fail_val);                                              \
  |  |  890|      4|        k           = H5C__HASH_FCN(entry_addr);                                                             \
  |  |  ------------------
  |  |  |  |  596|      4|#define H5C__HASH_FCN(x) (int)((unsigned)((x)&H5C__HASH_MASK) >> 3)
  |  |  |  |  ------------------
  |  |  |  |  |  |  595|      4|#define H5C__HASH_MASK   ((size_t)(H5C__HASH_TABLE_LEN - 1) << 3)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      4|#define H5C__HASH_TABLE_LEN (64 * 1024) /* must be a power of 2 */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  891|      4|        (entry_ptr) = (cache_ptr)->index[k];                                                                 \
  |  |  892|      4|        while (entry_ptr) {                                                                                  \
  |  |  ------------------
  |  |  |  Branch (892:16): [True: 1, False: 3]
  |  |  ------------------
  |  |  893|      1|            if (H5_addr_eq(entry_addr, (entry_ptr)->addr)) {                                                 \
  |  |  ------------------
  |  |  |  |  453|      1|#define H5_addr_eq(X,Y)          ((X) != HADDR_UNDEF && (X) == (Y))
  |  |  |  |  ------------------
  |  |  |  |  |  |  336|      2|#define HADDR_UNDEF         UINT64_MAX
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (453:35): [True: 1, False: 0]
  |  |  |  |  |  Branch (453:57): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  894|      1|                H5C__POST_SUC_HT_SEARCH_SC(cache_ptr, entry_ptr, k, fail_val);                               \
  |  |  895|      1|                if ((entry_ptr) != (cache_ptr)->index[k]) {                                                  \
  |  |  ------------------
  |  |  |  Branch (895:21): [True: 0, False: 1]
  |  |  ------------------
  |  |  896|      0|                    if ((entry_ptr)->ht_next)                                                                \
  |  |  ------------------
  |  |  |  Branch (896:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  897|      0|                        (entry_ptr)->ht_next->ht_prev = (entry_ptr)->ht_prev;                                \
  |  |  898|      0|                    assert((entry_ptr)->ht_prev != NULL);                                                    \
  |  |  899|      0|                    (entry_ptr)->ht_prev->ht_next  = (entry_ptr)->ht_next;                                   \
  |  |  900|      0|                    (cache_ptr)->index[k]->ht_prev = (entry_ptr);                                            \
  |  |  901|      0|                    (entry_ptr)->ht_next           = (cache_ptr)->index[k];                                  \
  |  |  902|      0|                    (entry_ptr)->ht_prev           = NULL;                                                   \
  |  |  903|      0|                    (cache_ptr)->index[k]          = (entry_ptr);                                            \
  |  |  904|      0|                    H5C__POST_HT_SHIFT_TO_FRONT_SC(cache_ptr, entry_ptr, k, fail_val);                       \
  |  |  905|      0|                }                                                                                            \
  |  |  906|      1|                break;                                                                                       \
  |  |  907|      1|            }                                                                                                \
  |  |  908|      1|            (entry_ptr) = (entry_ptr)->ht_next;                                                              \
  |  |  909|      0|            (depth)++;                                                                                       \
  |  |  910|      0|        }                                                                                                    \
  |  |  911|      4|        H5C__UPDATE_STATS_FOR_HT_SEARCH(cache_ptr, ((entry_ptr) != NULL), depth);                            \
  |  |  ------------------
  |  |  |  |  545|      4|    do {                                                                                                     \
  |  |  |  |  546|      4|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (546:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  912|      4|    } while (0)
  |  |  ------------------
  |  |  |  Branch (912:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4035|      4|    if ((entry_ptr == NULL) || (entry_ptr->type != type))
  ------------------
  |  Branch (4035:9): [True: 3, False: 1]
  |  Branch (4035:32): [True: 0, False: 1]
  ------------------
 4036|       |        /* the target doesn't exist in the cache, so we are done. */
 4037|      3|        HGOTO_DONE(SUCCEED);
  ------------------
  |  |   91|      3|    do {                                                                                                     \
  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |   93|      3|        goto done;                                                                                           \
  |  |   94|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4038|       |
 4039|      1|    assert(entry_ptr->addr == addr);
 4040|      1|    assert(entry_ptr->type == type);
 4041|       |
 4042|       |    /* Check for entry being pinned or protected */
 4043|      1|    if (entry_ptr->is_protected)
  ------------------
  |  Branch (4043:9): [True: 0, False: 1]
  ------------------
 4044|      0|        HGOTO_ERROR(H5E_CACHE, H5E_CANTEXPUNGE, FAIL, "Target entry is protected");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4045|      1|    if (entry_ptr->is_pinned)
  ------------------
  |  Branch (4045:9): [True: 0, False: 1]
  ------------------
 4046|      0|        HGOTO_ERROR(H5E_CACHE, H5E_CANTEXPUNGE, FAIL, "Target entry is pinned");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4047|       |
 4048|       |    /* If we get this far, call H5C__flush_single_entry() with the
 4049|       |     * H5C__FLUSH_INVALIDATE_FLAG and the H5C__FLUSH_CLEAR_ONLY_FLAG.
 4050|       |     * This will clear the entry, and then delete it from the cache.
 4051|       |     */
 4052|       |
 4053|       |    /* Pass along 'free file space' flag */
 4054|      1|    flush_flags |= (flags & H5C__FREE_FILE_SPACE_FLAG);
  ------------------
  |  |  184|      1|#define H5C__FREE_FILE_SPACE_FLAG           0x00100
  ------------------
 4055|       |
 4056|       |    /* Delete the entry from the skip list on destroy */
 4057|      1|    flush_flags |= H5C__DEL_FROM_SLIST_ON_DESTROY_FLAG;
  ------------------
  |  |  189|      1|#define H5C__DEL_FROM_SLIST_ON_DESTROY_FLAG 0x02000
  ------------------
 4058|       |
 4059|      1|    if (H5C__flush_single_entry(f, entry_ptr, flush_flags) < 0)
  ------------------
  |  Branch (4059:9): [True: 0, False: 1]
  ------------------
 4060|      0|        HGOTO_ERROR(H5E_CACHE, H5E_CANTEXPUNGE, FAIL, "can't flush entry");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4061|       |
 4062|      4|done:
 4063|       |#ifdef H5C_DO_EXTREME_SANITY_CHECKS
 4064|       |    if (H5C__validate_lru_list(cache_ptr) < 0)
 4065|       |        HDONE_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "LRU extreme sanity check failed on exit");
 4066|       |#endif /* H5C_DO_EXTREME_SANITY_CHECKS */
 4067|       |
 4068|      4|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      4|    ;                                                                                                        \
  |  | 1573|      4|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      4|    return (ret_value);                                                                                      \
  |  | 1575|      4|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 4069|      1|} /* H5C_expunge_entry() */
H5Centry.c:H5C__pin_entry_from_client:
  116|    247|{
  117|    247|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    247|#define SUCCEED 0
  ------------------
  118|       |
  119|    247|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    247|    {                                                                                                        \
  |  | 1461|    247|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    247|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    247|                                                                                                             \
  |  |  |  | 1267|    247|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    247|        {
  ------------------
  120|       |
  121|       |    /* Sanity checks */
  122|    247|    assert(cache_ptr);
  123|    247|    assert(entry_ptr);
  124|    247|    assert(entry_ptr->is_protected);
  125|       |
  126|       |    /* Check if the entry is already pinned */
  127|    247|    if (entry_ptr->is_pinned) {
  ------------------
  |  Branch (127:9): [True: 0, False: 247]
  ------------------
  128|       |        /* Check if the entry was pinned through an explicit pin from a client */
  129|      0|        if (entry_ptr->pinned_from_client)
  ------------------
  |  Branch (129:13): [True: 0, False: 0]
  ------------------
  130|      0|            HGOTO_ERROR(H5E_CACHE, H5E_CANTPIN, FAIL, "entry is already pinned");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  131|      0|    } /* end if */
  132|    247|    else {
  133|    247|        entry_ptr->is_pinned = true;
  134|       |
  135|    247|        H5C__UPDATE_STATS_FOR_PIN(cache_ptr, entry_ptr);
  ------------------
  |  |  563|    247|    do {                                                                                                     \
  |  |  564|    247|    } while (0)
  |  |  ------------------
  |  |  |  Branch (564:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  136|    247|    } /* end else */
  137|       |
  138|       |    /* Mark that the entry was pinned through an explicit pin from a client */
  139|    247|    entry_ptr->pinned_from_client = true;
  140|       |
  141|    247|done:
  142|    247|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    247|    ;                                                                                                        \
  |  | 1573|    247|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    247|    return (ret_value);                                                                                      \
  |  | 1575|    247|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  143|    247|} /* H5C__pin_entry_from_client() */
H5Centry.c:H5C__load_entry:
  973|    157|{
  974|    157|    bool               dirty = false; /* Flag indicating whether thing was dirtied during deserialize */
  975|    157|    uint8_t           *image = NULL;  /* Buffer for disk image                    */
  976|    157|    void              *thing = NULL;  /* Pointer to thing loaded                  */
  977|    157|    H5C_cache_entry_t *entry = NULL;  /* Alias for thing loaded, as cache entry   */
  978|    157|    size_t             len;           /* Size of image in file                    */
  979|       |#ifdef H5_HAVE_PARALLEL
  980|       |    int      mpi_rank = 0;             /* MPI process rank                         */
  981|       |    MPI_Comm comm     = MPI_COMM_NULL; /* File MPI Communicator                    */
  982|       |    int      mpi_code;                 /* MPI error code                           */
  983|       |#endif                                 /* H5_HAVE_PARALLEL */
  984|    157|    void *ret_value = NULL;            /* Return value                             */
  985|       |
  986|    157|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    157|    {                                                                                                        \
  |  | 1461|    157|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    157|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    157|                                                                                                             \
  |  |  |  | 1267|    157|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    157|        {
  ------------------
  987|       |
  988|       |    /* Sanity checks */
  989|    157|    assert(f);
  990|    157|    assert(f->shared);
  991|    157|    assert(f->shared->cache);
  992|    157|    assert(type);
  993|    157|    assert(H5_addr_defined(addr));
  994|    157|    assert(type->get_initial_load_size);
  995|    157|    if (type->flags & H5C__CLASS_SPECULATIVE_LOAD_FLAG)
  ------------------
  |  |   61|    157|#define H5C__CLASS_SPECULATIVE_LOAD_FLAG ((unsigned)0x1)
  ------------------
  |  Branch (995:9): [True: 109, False: 48]
  ------------------
  996|    109|        assert(type->get_final_load_size);
  997|     48|    else
  998|     48|        assert(NULL == type->get_final_load_size);
  999|    157|    assert(type->deserialize);
 1000|       |
 1001|       |    /* Can't see how skip reads could be usefully combined with
 1002|       |     * the speculative read flag.  Hence disallow.
 1003|       |     */
 1004|    157|    assert(!((type->flags & H5C__CLASS_SKIP_READS) && (type->flags & H5C__CLASS_SPECULATIVE_LOAD_FLAG)));
 1005|       |
 1006|       |    /* Call the get_initial_load_size callback, to retrieve the initial size of image */
 1007|    157|    if (type->get_initial_load_size(udata, &len) < 0)
  ------------------
  |  Branch (1007:9): [True: 0, False: 157]
  ------------------
 1008|      0|        HGOTO_ERROR(H5E_CACHE, H5E_CANTGET, NULL, "can't retrieve image size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1009|    157|    assert(len > 0);
 1010|       |
 1011|       |    /* Check for possible speculative read off the end of the file */
 1012|    157|    if (type->flags & H5C__CLASS_SPECULATIVE_LOAD_FLAG)
  ------------------
  |  |   61|    157|#define H5C__CLASS_SPECULATIVE_LOAD_FLAG ((unsigned)0x1)
  ------------------
  |  Branch (1012:9): [True: 109, False: 48]
  ------------------
 1013|    109|        if (H5C__verify_len_eoa(f, type, addr, &len, false) < 0)
  ------------------
  |  Branch (1013:13): [True: 0, False: 109]
  ------------------
 1014|      0|            HGOTO_ERROR(H5E_CACHE, H5E_BADVALUE, NULL, "invalid len with respect to EOA");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1015|       |
 1016|       |    /* Allocate the buffer for reading the on-disk entry image */
 1017|    157|    if (NULL == (image = (uint8_t *)H5MM_malloc(len + H5C_IMAGE_EXTRA_SPACE)))
  ------------------
  |  |   38|    157|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  |  Branch (1017:9): [True: 0, False: 157]
  ------------------
 1018|      0|        HGOTO_ERROR(H5E_CACHE, H5E_CANTALLOC, NULL, "memory allocation failed for on disk image buffer");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1019|       |#if H5C_DO_MEMORY_SANITY_CHECKS
 1020|       |    H5MM_memcpy(image + len, H5C_IMAGE_SANITY_VALUE, H5C_IMAGE_EXTRA_SPACE);
 1021|       |#endif /* H5C_DO_MEMORY_SANITY_CHECKS */
 1022|       |
 1023|       |#ifdef H5_HAVE_PARALLEL
 1024|       |    if (H5F_HAS_FEATURE(f, H5FD_FEAT_HAS_MPI)) {
 1025|       |        if ((mpi_rank = H5F_mpi_get_rank(f)) < 0)
 1026|       |            HGOTO_ERROR(H5E_FILE, H5E_CANTGET, NULL, "Can't get MPI rank");
 1027|       |        if ((comm = H5F_mpi_get_comm(f)) == MPI_COMM_NULL)
 1028|       |            HGOTO_ERROR(H5E_FILE, H5E_CANTGET, NULL, "get_comm request failed");
 1029|       |    }  /* end if */
 1030|       |#endif /* H5_HAVE_PARALLEL */
 1031|       |
 1032|       |    /* Get the on-disk entry image */
 1033|    157|    if (0 == (type->flags & H5C__CLASS_SKIP_READS)) {
  ------------------
  |  |   63|    157|#define H5C__CLASS_SKIP_READS  ((unsigned)0x2)
  ------------------
  |  Branch (1033:9): [True: 157, False: 0]
  ------------------
 1034|    157|        unsigned tries, max_tries;   /* The # of read attempts               */
 1035|    157|        unsigned retries;            /* The # of retries                     */
 1036|    157|        htri_t   chk_ret;            /* return from verify_chksum callback   */
 1037|    157|        size_t   actual_len = len;   /* The actual length, after speculative reads have been resolved */
 1038|    157|        uint64_t nanosec    = 1;     /* # of nanoseconds to sleep between retries */
 1039|    157|        void    *new_image;          /* Pointer to image                     */
 1040|    157|        bool     len_changed = true; /* Whether to re-check speculative entries */
 1041|       |
 1042|       |        /* Get the # of read attempts */
 1043|    157|        max_tries = tries = H5F_GET_READ_ATTEMPTS(f);
  ------------------
  |  |  121|    157|#define H5F_GET_READ_ATTEMPTS(F)         (H5F_get_read_attempts(F))
  ------------------
 1044|       |
 1045|       |        /*
 1046|       |         * This do/while loop performs the following till the metadata checksum
 1047|       |         * is correct or the file's number of allowed read attempts are reached.
 1048|       |         *   --read the metadata
 1049|       |         *   --determine the actual size of the metadata
 1050|       |         *   --perform checksum verification
 1051|       |         */
 1052|    157|        do {
 1053|    157|            if (actual_len != len) {
  ------------------
  |  Branch (1053:17): [True: 0, False: 157]
  ------------------
 1054|      0|                if (NULL == (new_image = H5MM_realloc(image, len + H5C_IMAGE_EXTRA_SPACE)))
  ------------------
  |  |   49|      0|#define H5C_IMAGE_EXTRA_SPACE 0
  ------------------
  |  Branch (1054:21): [True: 0, False: 0]
  ------------------
 1055|      0|                    HGOTO_ERROR(H5E_CACHE, H5E_CANTALLOC, NULL, "image null after H5MM_realloc()");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1056|      0|                image = (uint8_t *)new_image;
 1057|       |#if H5C_DO_MEMORY_SANITY_CHECKS
 1058|       |                H5MM_memcpy(image + len, H5C_IMAGE_SANITY_VALUE, H5C_IMAGE_EXTRA_SPACE);
 1059|       |#endif        /* H5C_DO_MEMORY_SANITY_CHECKS */
 1060|      0|            } /* end if */
 1061|       |
 1062|       |#ifdef H5_HAVE_PARALLEL
 1063|       |            if (!coll_access || 0 == mpi_rank) {
 1064|       |#endif /* H5_HAVE_PARALLEL */
 1065|    157|                if (H5F_block_read(f, type->mem_type, addr, len, image) < 0) {
  ------------------
  |  Branch (1065:21): [True: 0, False: 157]
  ------------------
 1066|       |#ifdef H5_HAVE_PARALLEL
 1067|       |                    if (coll_access) {
 1068|       |                        /* Push an error, but still participate in following MPI_Bcast */
 1069|       |                        memset(image, 0, len);
 1070|       |                        HDONE_ERROR(H5E_CACHE, H5E_READERROR, NULL, "Can't read image*");
 1071|       |                    }
 1072|       |                    else
 1073|       |#endif
 1074|      0|                        HGOTO_ERROR(H5E_CACHE, H5E_READERROR, NULL, "Can't read image*");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1075|      0|                }
 1076|       |
 1077|       |#ifdef H5_HAVE_PARALLEL
 1078|       |            } /* end if */
 1079|       |            /* if the collective metadata read optimization is turned on,
 1080|       |             * bcast the metadata read from process 0 to all ranks in the file
 1081|       |             * communicator
 1082|       |             */
 1083|       |            if (coll_access) {
 1084|       |                int buf_size;
 1085|       |
 1086|       |                H5_CHECKED_ASSIGN(buf_size, int, len, size_t);
 1087|       |                if (MPI_SUCCESS != (mpi_code = MPI_Bcast(image, buf_size, MPI_BYTE, 0, comm)))
 1088|       |                    HMPI_GOTO_ERROR(NULL, "MPI_Bcast failed", mpi_code)
 1089|       |            } /* end if */
 1090|       |#endif        /* H5_HAVE_PARALLEL */
 1091|       |
 1092|       |            /* If the entry could be read speculatively and the length is still
 1093|       |             *  changing, check for updating the actual size
 1094|       |             */
 1095|    157|            if ((type->flags & H5C__CLASS_SPECULATIVE_LOAD_FLAG) && len_changed) {
  ------------------
  |  |   61|    157|#define H5C__CLASS_SPECULATIVE_LOAD_FLAG ((unsigned)0x1)
  ------------------
  |  Branch (1095:17): [True: 109, False: 48]
  |  Branch (1095:69): [True: 109, False: 0]
  ------------------
 1096|       |                /* Retrieve the actual length */
 1097|    109|                actual_len = len;
 1098|    109|                if (type->get_final_load_size(image, len, udata, &actual_len) < 0)
  ------------------
  |  Branch (1098:21): [True: 24, False: 85]
  ------------------
 1099|     24|                    continue; /* Transfer control to while() and count towards retries */
 1100|       |
 1101|       |                /* Check for the length changing */
 1102|     85|                if (actual_len != len) {
  ------------------
  |  Branch (1102:21): [True: 85, False: 0]
  ------------------
 1103|       |                    /* Verify that the length isn't past the EOA for the file */
 1104|     85|                    if (H5C__verify_len_eoa(f, type, addr, &actual_len, true) < 0)
  ------------------
  |  Branch (1104:25): [True: 0, False: 85]
  ------------------
 1105|      0|                        HGOTO_ERROR(H5E_CACHE, H5E_BADVALUE, NULL, "actual_len exceeds EOA");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1106|       |
 1107|       |                    /* Expand buffer to new size */
 1108|     85|                    if (NULL == (new_image = H5MM_realloc(image, actual_len + H5C_IMAGE_EXTRA_SPACE)))
  ------------------
  |  |   49|     85|#define H5C_IMAGE_EXTRA_SPACE 0
  ------------------
  |  Branch (1108:25): [True: 0, False: 85]
  ------------------
 1109|      0|                        HGOTO_ERROR(H5E_CACHE, H5E_CANTALLOC, NULL, "image null after H5MM_realloc()");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1110|     85|                    image = (uint8_t *)new_image;
 1111|       |#if H5C_DO_MEMORY_SANITY_CHECKS
 1112|       |                    H5MM_memcpy(image + actual_len, H5C_IMAGE_SANITY_VALUE, H5C_IMAGE_EXTRA_SPACE);
 1113|       |#endif /* H5C_DO_MEMORY_SANITY_CHECKS */
 1114|       |
 1115|     85|                    if (actual_len > len) {
  ------------------
  |  Branch (1115:25): [True: 13, False: 72]
  ------------------
 1116|       |#ifdef H5_HAVE_PARALLEL
 1117|       |                        if (!coll_access || 0 == mpi_rank) {
 1118|       |#endif /* H5_HAVE_PARALLEL */
 1119|       |                            /* If the thing's image needs to be bigger for a speculatively
 1120|       |                             * loaded thing, go get the on-disk image again (the extra portion).
 1121|       |                             */
 1122|     13|                            if (H5F_block_read(f, type->mem_type, addr + len, actual_len - len, image + len) <
  ------------------
  |  Branch (1122:33): [True: 0, False: 13]
  ------------------
 1123|     13|                                0) {
 1124|       |#ifdef H5_HAVE_PARALLEL
 1125|       |                                if (coll_access) {
 1126|       |                                    /* Push an error, but still participate in following MPI_Bcast */
 1127|       |                                    memset(image + len, 0, actual_len - len);
 1128|       |                                    HDONE_ERROR(H5E_CACHE, H5E_CANTLOAD, NULL, "can't read image");
 1129|       |                                }
 1130|       |                                else
 1131|       |#endif
 1132|      0|                                    HGOTO_ERROR(H5E_CACHE, H5E_CANTLOAD, NULL, "can't read image");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1133|      0|                            }
 1134|       |
 1135|       |#ifdef H5_HAVE_PARALLEL
 1136|       |                        }
 1137|       |                        /* If the collective metadata read optimization is turned on,
 1138|       |                         * Bcast the metadata read from process 0 to all ranks in the file
 1139|       |                         * communicator */
 1140|       |                        if (coll_access) {
 1141|       |                            int buf_size;
 1142|       |
 1143|       |                            H5_CHECKED_ASSIGN(buf_size, int, actual_len - len, size_t);
 1144|       |                            if (MPI_SUCCESS !=
 1145|       |                                (mpi_code = MPI_Bcast(image + len, buf_size, MPI_BYTE, 0, comm)))
 1146|       |                                HMPI_GOTO_ERROR(NULL, "MPI_Bcast failed", mpi_code)
 1147|       |                        } /* end if */
 1148|       |#endif                    /* H5_HAVE_PARALLEL */
 1149|     13|                    }     /* end if */
 1150|     85|                }         /* end if (actual_len != len) */
 1151|      0|                else {
 1152|       |                    /* The length has stabilized */
 1153|      0|                    len_changed = false;
 1154|       |
 1155|       |                    /* Set the final length */
 1156|      0|                    len = actual_len;
 1157|      0|                } /* else */
 1158|     85|            }     /* end if */
 1159|       |
 1160|       |            /* If there's no way to verify the checksum for a piece of metadata
 1161|       |             * (usually because there's no checksum in the file), leave now
 1162|       |             */
 1163|    133|            if (type->verify_chksum == NULL)
  ------------------
  |  Branch (1163:17): [True: 47, False: 86]
  ------------------
 1164|     47|                break;
 1165|       |
 1166|       |            /* Verify the checksum for the metadata image */
 1167|     86|            if ((chk_ret = type->verify_chksum(image, actual_len, udata)) < 0)
  ------------------
  |  Branch (1167:17): [True: 0, False: 86]
  ------------------
 1168|      0|                HGOTO_ERROR(H5E_CACHE, H5E_CANTGET, NULL, "failure from verify_chksum callback");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1169|     86|            if (chk_ret == true)
  ------------------
  |  Branch (1169:17): [True: 86, False: 0]
  ------------------
 1170|     86|                break;
 1171|       |
 1172|       |            /* Sleep for some time */
 1173|      0|            H5_nanosleep(nanosec);
 1174|      0|            nanosec *= 2; /* Double the sleep time next time */
 1175|     24|        } while (--tries);
  ------------------
  |  Branch (1175:18): [True: 0, False: 24]
  ------------------
 1176|       |
 1177|       |        /* Check for too many tries */
 1178|    157|        if (tries == 0)
  ------------------
  |  Branch (1178:13): [True: 24, False: 133]
  ------------------
 1179|     24|            HGOTO_ERROR(H5E_CACHE, H5E_READERROR, NULL,
  ------------------
  |  |   68|     24|    do {                                                                                                     \
  |  |   69|     24|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     24|    do {                                                                                                     \
  |  |  |  |   40|     24|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     24|    do {                                                                                                     \
  |  |  |  |  |  |   31|     24|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     24|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     24|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     24|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     24|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     24|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     24|    do {                                                                                                     \
  |  |  |  |   92|     24|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     24|        goto done;                                                                                           \
  |  |  |  |   94|     24|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     24|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1180|    157|                        "incorrect metadata checksum after all read attempts");
 1181|       |
 1182|       |        /* Calculate and track the # of retries */
 1183|    133|        retries = max_tries - tries;
 1184|    133|        if (retries) /* Does not track 0 retry */
  ------------------
  |  Branch (1184:13): [True: 0, False: 133]
  ------------------
 1185|      0|            if (H5F_track_metadata_read_retries(f, (unsigned)type->mem_type, retries) < 0)
  ------------------
  |  Branch (1185:17): [True: 0, False: 0]
  ------------------
 1186|      0|                HGOTO_ERROR(H5E_CACHE, H5E_BADVALUE, NULL, "cannot track read tries = %u ", retries);
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1187|       |
 1188|       |        /* Set the final length (in case it wasn't set earlier) */
 1189|    133|        len = actual_len;
 1190|    133|    } /* end if !H5C__CLASS_SKIP_READS */
 1191|       |
 1192|       |    /* Deserialize the on-disk image into the native memory form */
 1193|    133|    if (NULL == (thing = type->deserialize(image, len, udata, &dirty)))
  ------------------
  |  Branch (1193:9): [True: 15, False: 118]
  ------------------
 1194|     15|        HGOTO_ERROR(H5E_CACHE, H5E_CANTLOAD, NULL, "Can't deserialize image");
  ------------------
  |  |   68|     15|    do {                                                                                                     \
  |  |   69|     15|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     15|    do {                                                                                                     \
  |  |  |  |   40|     15|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     15|    do {                                                                                                     \
  |  |  |  |  |  |   31|     15|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     15|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     15|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     15|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     15|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     15|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     15|    do {                                                                                                     \
  |  |  |  |   92|     15|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     15|        goto done;                                                                                           \
  |  |  |  |   94|     15|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     15|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1195|       |
 1196|    118|    entry = (H5C_cache_entry_t *)thing;
 1197|       |
 1198|       |    /* In general, an entry should be clean just after it is loaded.
 1199|       |     *
 1200|       |     * However, when this code is used in the metadata cache, it is
 1201|       |     * possible that object headers will be dirty at this point, as
 1202|       |     * the deserialize function will alter object headers if necessary to
 1203|       |     * fix an old bug.
 1204|       |     *
 1205|       |     * In the following assert:
 1206|       |     *
 1207|       |     *     assert( ( dirty == false ) || ( type->id == 5 || type->id == 6 ) );
 1208|       |     *
 1209|       |     * note that type ids 5 & 6 are associated with object headers in the
 1210|       |     * metadata cache.
 1211|       |     *
 1212|       |     * When we get to using H5C for other purposes, we may wish to
 1213|       |     * tighten up the assert so that the loophole only applies to the
 1214|       |     * metadata cache.
 1215|       |     */
 1216|       |
 1217|    118|    assert((dirty == false) || (type->id == 5 || type->id == 6));
 1218|       |
 1219|    118|    entry->cache_ptr        = f->shared->cache;
 1220|    118|    entry->addr             = addr;
 1221|    118|    entry->size             = len;
 1222|    118|    entry->image_ptr        = image;
 1223|    118|    entry->image_up_to_date = !dirty;
 1224|    118|    entry->type             = type;
 1225|    118|    entry->is_dirty         = dirty;
 1226|    118|    entry->dirtied          = false;
 1227|    118|    entry->is_protected     = false;
 1228|    118|    entry->is_read_only     = false;
 1229|    118|    entry->ro_ref_count     = 0;
 1230|    118|    entry->is_pinned        = false;
 1231|    118|    entry->in_slist         = false;
 1232|       |#ifdef H5_HAVE_PARALLEL
 1233|       |    entry->clear_on_unprotect = false;
 1234|       |    entry->flush_immediately  = false;
 1235|       |    entry->coll_access        = coll_access;
 1236|       |#endif /* H5_HAVE_PARALLEL */
 1237|    118|    entry->flush_in_progress   = false;
 1238|    118|    entry->destroy_in_progress = false;
 1239|       |
 1240|    118|    entry->ring = H5C_RING_UNDEFINED;
  ------------------
  |  |  940|    118|#define H5C_RING_UNDEFINED 0 /* shouldn't appear in the cache */
  ------------------
 1241|       |
 1242|       |    /* Initialize flush dependency fields */
 1243|    118|    entry->flush_dep_parent          = NULL;
 1244|    118|    entry->flush_dep_nparents        = 0;
 1245|    118|    entry->flush_dep_parent_nalloc   = 0;
 1246|    118|    entry->flush_dep_nchildren       = 0;
 1247|    118|    entry->flush_dep_ndirty_children = 0;
 1248|    118|    entry->flush_dep_nunser_children = 0;
 1249|    118|    entry->ht_next                   = NULL;
 1250|    118|    entry->ht_prev                   = NULL;
 1251|    118|    entry->il_next                   = NULL;
 1252|    118|    entry->il_prev                   = NULL;
 1253|       |
 1254|    118|    entry->next = NULL;
 1255|    118|    entry->prev = NULL;
 1256|       |
 1257|       |#if H5C_MAINTAIN_CLEAN_AND_DIRTY_LRU_LISTS
 1258|       |    entry->aux_next = NULL;
 1259|       |    entry->aux_prev = NULL;
 1260|       |#endif /* H5C_MAINTAIN_CLEAN_AND_DIRTY_LRU_LISTS */
 1261|       |
 1262|       |#ifdef H5_HAVE_PARALLEL
 1263|       |    entry->coll_next = NULL;
 1264|       |    entry->coll_prev = NULL;
 1265|       |#endif /* H5_HAVE_PARALLEL */
 1266|       |
 1267|       |    /* initialize cache image related fields */
 1268|    118|    entry->include_in_image     = false;
 1269|    118|    entry->lru_rank             = 0;
 1270|    118|    entry->image_dirty          = false;
 1271|    118|    entry->fd_parent_count      = 0;
 1272|    118|    entry->fd_parent_addrs      = NULL;
 1273|    118|    entry->fd_child_count       = 0;
 1274|    118|    entry->fd_dirty_child_count = 0;
 1275|    118|    entry->image_fd_height      = 0;
 1276|    118|    entry->prefetched           = false;
 1277|    118|    entry->prefetch_type_id     = 0;
 1278|    118|    entry->age                  = 0;
 1279|    118|    entry->prefetched_dirty     = false;
 1280|       |#ifndef NDEBUG /* debugging field */
 1281|       |    entry->serialization_count = 0;
 1282|       |#endif
 1283|       |
 1284|       |    /* initialize tag list fields */
 1285|    118|    entry->tl_next  = NULL;
 1286|    118|    entry->tl_prev  = NULL;
 1287|    118|    entry->tag_info = NULL;
 1288|       |
 1289|    118|    H5C__RESET_CACHE_ENTRY_STATS(entry);
  ------------------
  |  |  524|    118|    do {                                                                                                     \
  |  |  525|    118|    } while (0)
  |  |  ------------------
  |  |  |  Branch (525:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1290|       |
 1291|    118|    ret_value = thing;
 1292|       |
 1293|    157|done:
 1294|       |    /* Cleanup on error */
 1295|    157|    if (NULL == ret_value) {
  ------------------
  |  Branch (1295:9): [True: 39, False: 118]
  ------------------
 1296|       |        /* Release resources */
 1297|     39|        if (thing && type->free_icr(thing) < 0)
  ------------------
  |  Branch (1297:13): [True: 0, False: 39]
  |  Branch (1297:22): [True: 0, False: 0]
  ------------------
 1298|      0|            HDONE_ERROR(H5E_CACHE, H5E_CANTFLUSH, NULL, "free_icr callback failed");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1299|     39|        if (image)
  ------------------
  |  Branch (1299:13): [True: 39, False: 0]
  ------------------
 1300|     39|            image = (uint8_t *)H5MM_xfree(image);
 1301|     39|    } /* end if */
 1302|       |
 1303|    157|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    157|    ;                                                                                                        \
  |  | 1573|    157|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    157|    return (ret_value);                                                                                      \
  |  | 1575|    157|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1304|    118|} /* H5C__load_entry() */
H5Centry.c:H5C__verify_len_eoa:
  913|    194|{
  914|    194|    H5FD_mem_t cooked_type;         /* Modified type, accounting for switching global heaps */
  915|    194|    haddr_t    eoa;                 /* End-of-allocation in the file */
  916|    194|    herr_t     ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    194|#define SUCCEED 0
  ------------------
  917|       |
  918|    194|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    194|    {                                                                                                        \
  |  | 1461|    194|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    194|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    194|                                                                                                             \
  |  |  |  | 1267|    194|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    194|        {
  ------------------
  919|       |
  920|       |    /* if type == H5FD_MEM_GHEAP, H5F_block_read() forces
  921|       |     * type to H5FD_MEM_DRAW via its call to H5F__accum_read().
  922|       |     * Thus we do the same for purposes of computing the EOA
  923|       |     * for sanity checks.
  924|       |     */
  925|    194|    cooked_type = (type->mem_type == H5FD_MEM_GHEAP) ? H5FD_MEM_DRAW : type->mem_type;
  ------------------
  |  Branch (925:19): [True: 3, False: 191]
  ------------------
  926|       |
  927|       |    /* Get the file's end-of-allocation value */
  928|    194|    eoa = H5F_get_eoa(f, cooked_type);
  929|    194|    if (!H5_addr_defined(eoa))
  ------------------
  |  |  449|    194|#define H5_addr_defined(X)       ((X) != HADDR_UNDEF)
  |  |  ------------------
  |  |  |  |  336|    194|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  ------------------
  |  Branch (929:9): [True: 0, False: 194]
  ------------------
  930|      0|        HGOTO_ERROR(H5E_CACHE, H5E_BADVALUE, FAIL, "invalid EOA address for file");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  931|       |
  932|       |    /* Check for bad address in general */
  933|    194|    if (H5_addr_gt(addr, eoa))
  ------------------
  |  |  461|    194|#define H5_addr_gt(X,Y)          ((X) != HADDR_UNDEF &&                     \
  |  |  ------------------
  |  |  |  |  336|    388|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  |  |  Branch (461:35): [True: 194, False: 0]
  |  |  ------------------
  |  |  462|    194|                                  (Y) != HADDR_UNDEF &&                     \
  |  |  ------------------
  |  |  |  |  336|    388|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  |  |  Branch (462:35): [True: 194, False: 0]
  |  |  ------------------
  |  |  463|    194|                                  (X) > (Y))
  |  |  ------------------
  |  |  |  Branch (463:35): [True: 0, False: 194]
  |  |  ------------------
  ------------------
  934|      0|        HGOTO_ERROR(H5E_CACHE, H5E_BADVALUE, FAIL, "address of object past end of allocation");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  935|       |
  936|       |    /* Check if the amount of data to read will be past the EOA */
  937|    194|    if (H5_addr_gt((addr + *len), eoa)) {
  ------------------
  |  |  461|    194|#define H5_addr_gt(X,Y)          ((X) != HADDR_UNDEF &&                     \
  |  |  ------------------
  |  |  |  |  336|    388|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  |  |  Branch (461:35): [True: 194, False: 0]
  |  |  ------------------
  |  |  462|    194|                                  (Y) != HADDR_UNDEF &&                     \
  |  |  ------------------
  |  |  |  |  336|    388|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  |  |  Branch (462:35): [True: 194, False: 0]
  |  |  ------------------
  |  |  463|    194|                                  (X) > (Y))
  |  |  ------------------
  |  |  |  Branch (463:35): [True: 0, False: 194]
  |  |  ------------------
  ------------------
  938|      0|        if (actual)
  ------------------
  |  Branch (938:13): [True: 0, False: 0]
  ------------------
  939|      0|            HGOTO_ERROR(H5E_CACHE, H5E_BADVALUE, FAIL, "actual len exceeds EOA");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  940|      0|        else
  941|       |            /* Trim down the length of the metadata */
  942|      0|            *len = (size_t)(eoa - addr);
  943|      0|    } /* end if */
  944|       |
  945|    194|    if (*len <= 0)
  ------------------
  |  Branch (945:9): [True: 0, False: 194]
  ------------------
  946|      0|        HGOTO_ERROR(H5E_CACHE, H5E_BADVALUE, FAIL, "len not positive after adjustment for EOA");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  947|       |
  948|    194|done:
  949|    194|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    194|    ;                                                                                                        \
  |  | 1573|    194|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    194|    return (ret_value);                                                                                      \
  |  | 1575|    194|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  950|    194|} /* H5C__verify_len_eoa() */
H5Centry.c:H5C__unpin_entry_from_client:
  197|    247|{
  198|    247|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    247|#define SUCCEED 0
  ------------------
  199|       |
  200|    247|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    247|    {                                                                                                        \
  |  | 1461|    247|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    247|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    247|                                                                                                             \
  |  |  |  | 1267|    247|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    247|        {
  ------------------
  201|       |
  202|       |    /* Sanity checking */
  203|    247|    assert(cache_ptr);
  204|    247|    assert(entry_ptr);
  205|       |
  206|       |    /* Error checking (should be sanity checks?) */
  207|    247|    if (!entry_ptr->is_pinned)
  ------------------
  |  Branch (207:9): [True: 0, False: 247]
  ------------------
  208|      0|        HGOTO_ERROR(H5E_CACHE, H5E_CANTUNPIN, FAIL, "entry isn't pinned");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  209|    247|    if (!entry_ptr->pinned_from_client)
  ------------------
  |  Branch (209:9): [True: 0, False: 247]
  ------------------
  210|      0|        HGOTO_ERROR(H5E_CACHE, H5E_CANTUNPIN, FAIL, "entry wasn't pinned by cache client");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  211|       |
  212|       |    /* Check if the entry is not pinned from a flush dependency */
  213|    247|    if (!entry_ptr->pinned_from_cache)
  ------------------
  |  Branch (213:9): [True: 247, False: 0]
  ------------------
  214|    247|        if (H5C__unpin_entry_real(cache_ptr, entry_ptr, update_rp) < 0)
  ------------------
  |  Branch (214:13): [True: 0, False: 247]
  ------------------
  215|      0|            HGOTO_ERROR(H5E_CACHE, H5E_CANTUNPIN, FAIL, "can't unpin entry");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  216|       |
  217|       |    /* Mark the entry as explicitly unpinned by the client */
  218|    247|    entry_ptr->pinned_from_client = false;
  219|       |
  220|    247|done:
  221|    247|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    247|    ;                                                                                                        \
  |  | 1573|    247|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    247|    return (ret_value);                                                                                      \
  |  | 1575|    247|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  222|    247|} /* H5C__unpin_entry_from_client() */
H5Centry.c:H5C__unpin_entry_real:
  156|    247|{
  157|    247|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    247|#define SUCCEED 0
  ------------------
  158|       |
  159|       |#ifdef H5C_DO_SANITY_CHECKS
  160|       |    FUNC_ENTER_PACKAGE
  161|       |#else
  162|    247|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|    247|    {                                                                                                        \
  |  | 1467|    247|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|    247|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|    247|        {
  ------------------
  163|    247|#endif
  164|       |
  165|       |    /* Sanity checking */
  166|    247|    assert(cache_ptr);
  167|    247|    assert(entry_ptr);
  168|    247|    assert(entry_ptr->is_pinned);
  169|       |
  170|       |    /* If requested, update the replacement policy if the entry is not protected */
  171|    247|    if (update_rp && !entry_ptr->is_protected)
  ------------------
  |  Branch (171:9): [True: 247, False: 0]
  |  Branch (171:22): [True: 246, False: 1]
  ------------------
  172|    246|        H5C__UPDATE_RP_FOR_UNPIN(cache_ptr, entry_ptr, FAIL);
  ------------------
  |  | 1610|    246|    do {                                                                                                     \
  |  | 1611|    246|        assert(cache_ptr);                                                                                   \
  |  | 1612|    246|        assert(entry_ptr);                                                                                   \
  |  | 1613|    246|        assert(!(entry_ptr)->is_protected);                                                                  \
  |  | 1614|    246|        assert(!(entry_ptr)->is_read_only);                                                                  \
  |  | 1615|    246|        assert((entry_ptr)->ro_ref_count == 0);                                                              \
  |  | 1616|    246|        assert((entry_ptr)->is_pinned);                                                                      \
  |  | 1617|    246|        assert((entry_ptr)->size > 0);                                                                       \
  |  | 1618|    246|                                                                                                             \
  |  | 1619|    246|        /* Regardless of the replacement policy, remove the entry from the                                   \
  |  | 1620|    246|         * pinned entry list.                                                                                \
  |  | 1621|    246|         */                                                                                                  \
  |  | 1622|    246|        H5C__DLL_REMOVE((entry_ptr), (cache_ptr)->pel_head_ptr, (cache_ptr)->pel_tail_ptr,                   \
  |  |  ------------------
  |  |  |  |  186|    246|    H5C__GEN_DLL_REMOVE(entry_ptr, next, prev, head_ptr, tail_ptr, len, list_size, fail_val)
  |  |  |  |  ------------------
  |  |  |  |  |  |  149|    246|    {                                                                                                        \
  |  |  |  |  |  |  150|    246|        H5C__GEN_DLL_PRE_REMOVE_SC(entry_ptr, list_next, list_prev, head_ptr, tail_ptr, len, list_size,      \
  |  |  |  |  |  |  151|    246|                                   fail_val);                                                                \
  |  |  |  |  |  |  152|    246|        if ((head_ptr) == (entry_ptr)) {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (152:13): [True: 161, False: 85]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  153|    161|            (head_ptr) = (entry_ptr)->list_next;                                                             \
  |  |  |  |  |  |  154|    161|            if ((head_ptr) != NULL)                                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (154:17): [True: 154, False: 7]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  155|    161|                (head_ptr)->list_prev = NULL;                                                                \
  |  |  |  |  |  |  156|    161|        }                                                                                                    \
  |  |  |  |  |  |  157|    246|        else                                                                                                 \
  |  |  |  |  |  |  158|    246|            (entry_ptr)->list_prev->list_next = (entry_ptr)->list_next;                                      \
  |  |  |  |  |  |  159|    246|        if ((tail_ptr) == (entry_ptr)) {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 16, False: 230]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|     16|            (tail_ptr) = (entry_ptr)->list_prev;                                                             \
  |  |  |  |  |  |  161|     16|            if ((tail_ptr) != NULL)                                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (161:17): [True: 9, False: 7]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  162|     16|                (tail_ptr)->list_next = NULL;                                                                \
  |  |  |  |  |  |  163|     16|        }                                                                                                    \
  |  |  |  |  |  |  164|    246|        else                                                                                                 \
  |  |  |  |  |  |  165|    246|            (entry_ptr)->list_next->list_prev = (entry_ptr)->list_prev;                                      \
  |  |  |  |  |  |  166|    246|        (entry_ptr)->list_next = NULL;                                                                       \
  |  |  |  |  |  |  167|    246|        (entry_ptr)->list_prev = NULL;                                                                       \
  |  |  |  |  |  |  168|    246|        (len)--;                                                                                             \
  |  |  |  |  |  |  169|    246|        (list_size) -= (entry_ptr)->size;                                                                    \
  |  |  |  |  |  |  170|    246|    } /* H5C__GEN_DLL_REMOVE() */
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1623|    246|                        (cache_ptr)->pel_len, (cache_ptr)->pel_size, (fail_val));                            \
  |  | 1624|    246|                                                                                                             \
  |  | 1625|    246|        /* Insert the entry at the head of the LRU list. */                                                  \
  |  | 1626|    246|        H5C__DLL_PREPEND((entry_ptr), (cache_ptr)->LRU_head_ptr, (cache_ptr)->LRU_tail_ptr,                  \
  |  |  ------------------
  |  |  |  |  184|    246|    H5C__GEN_DLL_PREPEND(entry_ptr, next, prev, head_ptr, tail_ptr, len, list_size, fail_val)
  |  |  |  |  ------------------
  |  |  |  |  |  |  132|    246|    {                                                                                                        \
  |  |  |  |  |  |  133|    246|        H5C__GEN_DLL_PRE_INSERT_SC(entry_ptr, list_next, list_prev, head_ptr, tail_ptr, len, list_size,      \
  |  |  |  |  |  |  134|    246|                                   fail_val)                                                                 \
  |  |  |  |  |  |  135|    246|        if ((head_ptr) == NULL) {                                                                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (135:13): [True: 0, False: 246]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  136|      0|            (head_ptr) = (entry_ptr);                                                                        \
  |  |  |  |  |  |  137|      0|            (tail_ptr) = (entry_ptr);                                                                        \
  |  |  |  |  |  |  138|      0|        }                                                                                                    \
  |  |  |  |  |  |  139|    246|        else {                                                                                               \
  |  |  |  |  |  |  140|    246|            (head_ptr)->list_prev  = (entry_ptr);                                                            \
  |  |  |  |  |  |  141|    246|            (entry_ptr)->list_next = (head_ptr);                                                             \
  |  |  |  |  |  |  142|    246|            (head_ptr)             = (entry_ptr);                                                            \
  |  |  |  |  |  |  143|    246|        }                                                                                                    \
  |  |  |  |  |  |  144|    246|        (len)++;                                                                                             \
  |  |  |  |  |  |  145|    246|        (list_size) += (entry_ptr)->size;                                                                    \
  |  |  |  |  |  |  146|    246|    } /* H5C__GEN_DLL_PREPEND() */
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1627|    246|                         (cache_ptr)->LRU_list_len, (cache_ptr)->LRU_list_size, (fail_val));                 \
  |  | 1628|    246|                                                                                                             \
  |  | 1629|    246|        /* Maintain the clean & dirty LRU lists, if enabled */                                               \
  |  | 1630|    246|        H5C__UPDATE_RP_FOR_UNPIN_CD_LRU(cache_ptr, entry_ptr, fail_val);                                     \
  |  | 1631|    246|    } while (0) /* H5C__UPDATE_RP_FOR_UNPIN */
  |  |  ------------------
  |  |  |  Branch (1631:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  173|       |
  174|       |    /* Unpin the entry now */
  175|    247|    entry_ptr->is_pinned = false;
  176|       |
  177|       |    /* Update the stats for an unpin operation */
  178|    247|    H5C__UPDATE_STATS_FOR_UNPIN(cache_ptr, entry_ptr);
  ------------------
  |  |  566|    247|    do {                                                                                                     \
  |  |  567|    247|    } while (0)
  |  |  ------------------
  |  |  |  Branch (567:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  179|       |
  180|       |#ifdef H5C_DO_SANITY_CHECKS
  181|       |done:
  182|       |#endif
  183|    247|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    247|    ;                                                                                                        \
  |  | 1573|    247|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    247|    return (ret_value);                                                                                      \
  |  | 1575|    247|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  184|    247|} /* H5C__unpin_entry_real() */

H5C_cache_image_status:
  206|     10|{
  207|     10|    H5C_t *cache_ptr;
  208|       |
  209|     10|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|     10|    {                                                                                                        \
  |  | 1425|     10|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|     10|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|     10|        {
  ------------------
  210|       |
  211|       |    /* Sanity checks */
  212|     10|    assert(f);
  213|     10|    assert(f->shared);
  214|     10|    cache_ptr = f->shared->cache;
  215|     10|    assert(cache_ptr);
  216|     10|    assert(load_ci_ptr);
  217|     10|    assert(write_ci_ptr);
  218|       |
  219|     10|    *load_ci_ptr  = cache_ptr->load_image || cache_ptr->image_loaded;
  ------------------
  |  Branch (219:21): [True: 0, False: 10]
  |  Branch (219:46): [True: 0, False: 10]
  ------------------
  220|     10|    *write_ci_ptr = cache_ptr->image_ctl.generate_image;
  221|       |
  222|     10|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  223|     10|} /* H5C_cache_image_status() */
H5C__prep_image_for_file_close:
  809|     10|{
  810|     10|    H5C_t  *cache_ptr     = NULL;
  811|     10|    haddr_t eoa_frag_addr = HADDR_UNDEF;
  ------------------
  |  |  336|     10|#define HADDR_UNDEF         UINT64_MAX
  ------------------
  812|     10|    hsize_t eoa_frag_size = 0;
  813|     10|    herr_t  ret_value     = SUCCEED; /* Return value */
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
  814|       |
  815|     10|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     10|    {                                                                                                        \
  |  | 1461|     10|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     10|        {
  ------------------
  816|       |
  817|       |    /* Sanity checks */
  818|     10|    assert(f);
  819|     10|    assert(f->shared);
  820|     10|    assert(f->shared->cache);
  821|     10|    cache_ptr = f->shared->cache;
  822|     10|    assert(cache_ptr);
  823|     10|    assert(image_generated);
  824|       |
  825|       |    /* If the file is opened and closed without any access to
  826|       |     * any group or data set, it is possible that the cache image (if
  827|       |     * it exists) has not been read yet.  Do this now if required.
  828|       |     */
  829|     10|    if (cache_ptr->load_image) {
  ------------------
  |  Branch (829:9): [True: 0, False: 10]
  ------------------
  830|      0|        cache_ptr->load_image = false;
  831|      0|        if (H5C__load_cache_image(f) < 0)
  ------------------
  |  Branch (831:13): [True: 0, False: 0]
  ------------------
  832|      0|            HGOTO_ERROR(H5E_CACHE, H5E_CANTLOAD, FAIL, "can't load cache image");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  833|      0|    } /* end if */
  834|       |
  835|       |    /* Before we start to generate the cache image (if requested), verify
  836|       |     * that the superblock supports superblock extension messages, and
  837|       |     * silently cancel any request for a cache image if it does not.
  838|       |     *
  839|       |     * Ideally, we would do this when the cache image is requested,
  840|       |     * but the necessary information is not necessary available at that
  841|       |     * time -- hence this last minute check.
  842|       |     *
  843|       |     * Note that under some error conditions, the superblock will be
  844|       |     * undefined in this case as well -- if so, assume that the
  845|       |     * superblock does not support superblock extension messages.
  846|       |     * Also verify that the file's high_bound is at least release
  847|       |     * 1.10.x, otherwise cancel the request for a cache image
  848|       |     */
  849|     10|    if ((NULL == f->shared->sblock) || (f->shared->sblock->super_vers < HDF5_SUPERBLOCK_VERSION_2) ||
  ------------------
  |  |  304|      7|#define HDF5_SUPERBLOCK_VERSION_2   2 /* Revised version with superblock extension and checksum */
  ------------------
  |  Branch (849:9): [True: 3, False: 7]
  |  Branch (849:40): [True: 7, False: 0]
  ------------------
  850|     10|        (f->shared->high_bound < H5F_LIBVER_V110)) {
  ------------------
  |  Branch (850:9): [True: 0, False: 0]
  ------------------
  851|     10|        H5C_cache_image_ctl_t default_image_ctl = H5C__DEFAULT_CACHE_IMAGE_CTL;
  ------------------
  |  | 2127|     10|    {                                                                                                        \
  |  | 2128|     10|        H5C__CURR_CACHE_IMAGE_CTL_VER,             /* = version */                                           \
  |  |  ------------------
  |  |  |  |  106|     10|#define H5C__CURR_CACHE_IMAGE_CTL_VER     1
  |  |  ------------------
  |  | 2129|     10|            false,                                 /* = generate_image */                                    \
  |  | 2130|     10|            false,                                 /* = save_resize_status */                                \
  |  | 2131|     10|            H5AC__CACHE_IMAGE__ENTRY_AGEOUT__NONE, /* = entry_ageout */                                      \
  |  |  ------------------
  |  |  |  |  722|     10|#define H5AC__CACHE_IMAGE__ENTRY_AGEOUT__NONE -1
  |  |  ------------------
  |  | 2132|     10|            H5C_CI__ALL_FLAGS                      /* = flags */                                             \
  |  |  ------------------
  |  |  |  | 2124|     10|#define H5C_CI__ALL_FLAGS ((unsigned)0x000F)
  |  |  ------------------
  |  | 2133|     10|    }
  ------------------
  852|       |
  853|     10|        cache_ptr->image_ctl = default_image_ctl;
  854|     10|        assert(!(cache_ptr->image_ctl.generate_image));
  855|     10|    } /* end if */
  856|       |
  857|       |    /* Generate the cache image, if requested */
  858|     10|    if (cache_ptr->image_ctl.generate_image) {
  ------------------
  |  Branch (858:9): [True: 0, False: 10]
  ------------------
  859|       |        /* Create the cache image super block extension message.
  860|       |         *
  861|       |         * Note that the base address and length of the metadata cache
  862|       |         * image are undefined at this point, and thus will have to be
  863|       |         * updated later.
  864|       |         *
  865|       |         * Create the super block extension message now so that space
  866|       |         * is allocated for it (if necessary) before we allocate space
  867|       |         * for the cache image block.
  868|       |         *
  869|       |         * To simplify testing, do this only if the
  870|       |         * H5C_CI__GEN_MDCI_SBE_MESG bit is set in
  871|       |         * cache_ptr->image_ctl.flags.
  872|       |         */
  873|      0|        if (cache_ptr->image_ctl.flags & H5C_CI__GEN_MDCI_SBE_MESG)
  ------------------
  |  | 2115|      0|#define H5C_CI__GEN_MDCI_SBE_MESG    ((unsigned)0x0001)
  ------------------
  |  Branch (873:13): [True: 0, False: 0]
  ------------------
  874|      0|            if (H5C__write_cache_image_superblock_msg(f, true) < 0)
  ------------------
  |  Branch (874:17): [True: 0, False: 0]
  ------------------
  875|      0|                HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "creation of cache image SB mesg failed.");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  876|       |
  877|       |        /* Serialize the cache */
  878|      0|        if (H5C__serialize_cache(f) < 0)
  ------------------
  |  Branch (878:13): [True: 0, False: 0]
  ------------------
  879|      0|            HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "serialization of the cache failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  880|       |
  881|       |        /* Scan the cache and record data needed to construct the
  882|       |         * cache image.  In particular, for each entry we must record:
  883|       |         *
  884|       |         * 1) rank in LRU (if entry is in LRU)
  885|       |         *
  886|       |         * 2) Whether the entry is dirty prior to flush of
  887|       |         *    cache just prior to close.
  888|       |         *
  889|       |         * 3) Addresses of flush dependency parents (if any).
  890|       |         *
  891|       |         * 4) Number of flush dependency children (if any).
  892|       |         *
  893|       |         * In passing, also compute the size of the metadata cache
  894|       |         * image.  With the recent modifications of the free space
  895|       |         * manager code, this size should be correct.
  896|       |         */
  897|      0|        if (H5C__prep_for_file_close__scan_entries(f, cache_ptr) < 0)
  ------------------
  |  Branch (897:13): [True: 0, False: 0]
  ------------------
  898|      0|            HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "H5C__prep_for_file_close__scan_entries failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  899|      0|        assert(HADDR_UNDEF == cache_ptr->image_addr);
  900|       |
  901|       |#ifdef H5_HAVE_PARALLEL
  902|       |        /* In the parallel case, overwrite the image_len with the
  903|       |         * value computed by process 0.
  904|       |         */
  905|       |        if (cache_ptr->aux_ptr) { /* we have multiple processes */
  906|       |            int         mpi_result;
  907|       |            unsigned    p0_image_len;
  908|       |            H5AC_aux_t *aux_ptr;
  909|       |
  910|       |            aux_ptr = (H5AC_aux_t *)cache_ptr->aux_ptr;
  911|       |            if (aux_ptr->mpi_rank == 0) {
  912|       |                aux_ptr->p0_image_len = (unsigned)cache_ptr->image_data_len;
  913|       |                p0_image_len          = aux_ptr->p0_image_len;
  914|       |
  915|       |                if (MPI_SUCCESS !=
  916|       |                    (mpi_result = MPI_Bcast(&p0_image_len, 1, MPI_UNSIGNED, 0, aux_ptr->mpi_comm)))
  917|       |                    HMPI_GOTO_ERROR(FAIL, "MPI_Bcast failed", mpi_result)
  918|       |
  919|       |                assert(p0_image_len == aux_ptr->p0_image_len);
  920|       |            } /* end if */
  921|       |            else {
  922|       |                if (MPI_SUCCESS !=
  923|       |                    (mpi_result = MPI_Bcast(&p0_image_len, 1, MPI_UNSIGNED, 0, aux_ptr->mpi_comm)))
  924|       |                    HMPI_GOTO_ERROR(FAIL, "MPI_Bcast failed", mpi_result)
  925|       |
  926|       |                aux_ptr->p0_image_len = p0_image_len;
  927|       |            } /* end else */
  928|       |
  929|       |            /* Allocate space for a cache image of size equal to that
  930|       |             * computed by the process 0.  This may be different from
  931|       |             * cache_ptr->image_data_len if mpi_rank != 0.  However, since
  932|       |             * cache image write is suppressed on all processes other than
  933|       |             * process 0, this doesn't matter.
  934|       |             *
  935|       |             * Note that we allocate the cache image directly from the file
  936|       |             * driver so as to avoid unsettling the free space managers.
  937|       |             */
  938|       |            if (HADDR_UNDEF ==
  939|       |                (cache_ptr->image_addr = H5FD_alloc(f->shared->lf, H5FD_MEM_SUPER, f, (hsize_t)p0_image_len,
  940|       |                                                    &eoa_frag_addr, &eoa_frag_size)))
  941|       |                HGOTO_ERROR(H5E_CACHE, H5E_NOSPACE, FAIL,
  942|       |                            "can't allocate file space for metadata cache image");
  943|       |        } /* end if */
  944|       |        else
  945|       |#endif /* H5_HAVE_PARALLEL */
  946|       |            /* Allocate the cache image block.  Note that we allocate this
  947|       |             * this space directly from the file driver so as to avoid
  948|       |             * unsettling the free space managers.
  949|       |             */
  950|      0|            if (HADDR_UNDEF == (cache_ptr->image_addr = H5FD_alloc(f->shared->lf, H5FD_MEM_SUPER, f,
  ------------------
  |  |  336|      0|#define HADDR_UNDEF         UINT64_MAX
  ------------------
  |  Branch (950:17): [True: 0, False: 0]
  ------------------
  951|      0|                                                                   (hsize_t)(cache_ptr->image_data_len),
  952|      0|                                                                   &eoa_frag_addr, &eoa_frag_size)))
  953|      0|                HGOTO_ERROR(H5E_CACHE, H5E_NOSPACE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  954|      0|                            "can't allocate file space for metadata cache image");
  955|       |
  956|       |        /* Make note of the eoa after allocation of the cache image
  957|       |         * block.  This value is used for sanity checking when we
  958|       |         * shutdown the self referential free space managers after
  959|       |         * we destroy the metadata cache.
  960|       |         */
  961|      0|        assert(HADDR_UNDEF == f->shared->eoa_post_mdci_fsalloc);
  962|      0|        if (HADDR_UNDEF == (f->shared->eoa_post_mdci_fsalloc = H5FD_get_eoa(f->shared->lf, H5FD_MEM_DEFAULT)))
  ------------------
  |  |  336|      0|#define HADDR_UNDEF         UINT64_MAX
  ------------------
  |  Branch (962:13): [True: 0, False: 0]
  ------------------
  963|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "unable to get file size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  964|       |
  965|       |        /* For now, drop any fragment left over from the allocation of the
  966|       |         * image block on the ground.  A fragment should only be returned
  967|       |         * if the underlying file alignment is greater than 1.
  968|       |         *
  969|       |         * Clean this up eventually by extending the size of the cache
  970|       |         * image block to the next alignment boundary, and then setting
  971|       |         * the image_data_len to the actual size of the cache_image.
  972|       |         *
  973|       |         * On the off chance that there is some other way to get a
  974|       |         * a fragment on a cache image allocation, leave the following
  975|       |         * assertion in the code so we will find out.
  976|       |         */
  977|      0|        assert((eoa_frag_size == 0) || (f->shared->alignment != 1));
  978|       |
  979|       |        /* Eventually it will be possible for the length of the cache image
  980|       |         * block on file to be greater than the size of the data it
  981|       |         * contains.  However, for now they must be the same.  Set
  982|       |         * cache_ptr->image_len accordingly.
  983|       |         */
  984|      0|        cache_ptr->image_len = cache_ptr->image_data_len;
  985|       |
  986|       |        /* update the metadata cache image superblock extension
  987|       |         * message with the new cache image block base address and
  988|       |         * length.
  989|       |         *
  990|       |         * to simplify testing, do this only if the
  991|       |         * H5C_CI__GEN_MDC_IMAGE_BLK bit is set in
  992|       |         * cache_ptr->image_ctl.flags.
  993|       |         */
  994|      0|        if (cache_ptr->image_ctl.flags & H5C_CI__GEN_MDC_IMAGE_BLK)
  ------------------
  |  | 2116|      0|#define H5C_CI__GEN_MDC_IMAGE_BLK    ((unsigned)0x0002)
  ------------------
  |  Branch (994:13): [True: 0, False: 0]
  ------------------
  995|      0|            if (H5C__write_cache_image_superblock_msg(f, false) < 0)
  ------------------
  |  Branch (995:17): [True: 0, False: 0]
  ------------------
  996|      0|                HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "update of cache image SB mesg failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  997|       |
  998|       |        /* At this point:
  999|       |         *
 1000|       |         *   1) space in the file for the metadata cache image
 1001|       |         *      is allocated,
 1002|       |         *
 1003|       |         *   2) the metadata cache image superblock extension
 1004|       |         *      message exists and (if so configured) contains
 1005|       |         *      the correct data,
 1006|       |         *
 1007|       |         *   3) All entries in the cache that will appear in the
 1008|       |         *      cache image are serialized with up to date images.
 1009|       |         *
 1010|       |         *      Since we just updated the cache image message,
 1011|       |         *      the super block extension message is dirty.  However,
 1012|       |         *      since the superblock and the superblock extension
 1013|       |         *      can't be included in the cache image, this is a non-
 1014|       |         *      issue.
 1015|       |         *
 1016|       |         *   4) All entries in the cache that will be include in
 1017|       |         *      the cache are marked as such, and we have a count
 1018|       |         *      of same.
 1019|       |         *
 1020|       |         *   5) Flush dependency heights are calculated for all
 1021|       |         *      entries that will be included in the cache image.
 1022|       |         *
 1023|       |         * If there are any entries to be included in the metadata cache
 1024|       |         * image, allocate, populate, and sort the image_entries array.
 1025|       |         *
 1026|       |         * If the metadata cache image will be empty, delete the
 1027|       |         * metadata cache image superblock extension message, set
 1028|       |         * cache_ptr->image_ctl.generate_image to false.  This will
 1029|       |         * allow the file close to continue normally without the
 1030|       |         * unnecessary generation of the metadata cache image.
 1031|       |         */
 1032|      0|        if (cache_ptr->num_entries_in_image > 0) {
  ------------------
  |  Branch (1032:13): [True: 0, False: 0]
  ------------------
 1033|      0|            if (H5C__prep_for_file_close__setup_image_entries_array(cache_ptr) < 0)
  ------------------
  |  Branch (1033:17): [True: 0, False: 0]
  ------------------
 1034|      0|                HGOTO_ERROR(H5E_CACHE, H5E_CANTINIT, FAIL, "can't setup image entries array.");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1035|       |
 1036|       |            /* Sort the entries */
 1037|      0|            qsort(cache_ptr->image_entries, (size_t)cache_ptr->num_entries_in_image,
 1038|      0|                  sizeof(H5C_image_entry_t), H5C__image_entry_cmp);
 1039|      0|        }      /* end if */
 1040|      0|        else { /* cancel creation of metadata cache image */
 1041|      0|            assert(cache_ptr->image_entries == NULL);
 1042|       |
 1043|       |            /* To avoid breaking the control flow tests, only delete
 1044|       |             * the mdci superblock extension message if the
 1045|       |             * H5C_CI__GEN_MDC_IMAGE_BLK flag is set in
 1046|       |             * cache_ptr->image_ctl.flags.
 1047|       |             */
 1048|      0|            if (cache_ptr->image_ctl.flags & H5C_CI__GEN_MDC_IMAGE_BLK)
  ------------------
  |  | 2116|      0|#define H5C_CI__GEN_MDC_IMAGE_BLK    ((unsigned)0x0002)
  ------------------
  |  Branch (1048:17): [True: 0, False: 0]
  ------------------
 1049|      0|                if (H5F__super_ext_remove_msg(f, H5O_MDCI_MSG_ID) < 0)
  ------------------
  |  |  230|      0|#define H5O_MDCI_MSG_ID    0x0018 /* Metadata Cache Image Message */
  ------------------
  |  Branch (1049:21): [True: 0, False: 0]
  ------------------
 1050|      0|                    HGOTO_ERROR(H5E_CACHE, H5E_CANTREMOVE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1051|      0|                                "can't remove MDC image msg from superblock ext");
 1052|       |
 1053|      0|            cache_ptr->image_ctl.generate_image = false;
 1054|      0|        } /* end else */
 1055|       |
 1056|       |        /* Indicate that a cache image was generated */
 1057|      0|        *image_generated = true;
 1058|      0|    } /* end if */
 1059|       |
 1060|     10|done:
 1061|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1062|     10|} /* H5C__prep_image_for_file_close() */
H5C_set_cache_image_config:
 1091|     10|{
 1092|     10|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
 1093|       |
 1094|     10|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     10|    {                                                                                                        \
  |  | 1392|     10|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     10|        {
  ------------------
 1095|       |
 1096|       |    /* Sanity checks */
 1097|     10|    assert(f);
 1098|       |
 1099|       |    /* Check arguments */
 1100|     10|    if (cache_ptr == NULL)
  ------------------
  |  Branch (1100:9): [True: 0, False: 10]
  ------------------
 1101|      0|        HGOTO_ERROR(H5E_CACHE, H5E_BADVALUE, FAIL, "Bad cache_ptr on entry");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1102|       |
 1103|       |    /* Validate the config: */
 1104|     10|    if (H5C_validate_cache_image_config(config_ptr) < 0)
  ------------------
  |  Branch (1104:9): [True: 0, False: 10]
  ------------------
 1105|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADRANGE, FAIL, "invalid cache image configuration");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1106|       |
 1107|       |#ifdef H5_HAVE_PARALLEL
 1108|       |    /* The collective metadata write code is not currently compatible
 1109|       |     * with cache image.  Until this is fixed, suppress cache image silently
 1110|       |     * if there is more than one process.
 1111|       |     */
 1112|       |    if (cache_ptr->aux_ptr) {
 1113|       |        H5C_cache_image_ctl_t default_image_ctl = H5C__DEFAULT_CACHE_IMAGE_CTL;
 1114|       |
 1115|       |        cache_ptr->image_ctl = default_image_ctl;
 1116|       |        assert(!(cache_ptr->image_ctl.generate_image));
 1117|       |    }
 1118|       |    else {
 1119|       |#endif /* H5_HAVE_PARALLEL */
 1120|       |        /* A cache image can only be generated if the file is opened read / write
 1121|       |         * and the superblock supports superblock extension messages.
 1122|       |         *
 1123|       |         * However, the superblock version is not available at this point --
 1124|       |         * hence we can only check the former requirement now.  Do the latter
 1125|       |         * check just before we construct the image..
 1126|       |         *
 1127|       |         * If the file is opened read / write, apply the supplied configuration.
 1128|       |         *
 1129|       |         * If it is not, set the image configuration to the default, which has
 1130|       |         * the effect of silently disabling the cache image if it was requested.
 1131|       |         */
 1132|     10|        if (H5F_INTENT(f) & H5F_ACC_RDWR)
  ------------------
  |  |  109|     10|#define H5F_INTENT(F)                    (H5F_get_intent(F))
  ------------------
                      if (H5F_INTENT(f) & H5F_ACC_RDWR)
  ------------------
  |  |   49|     10|#define H5F_ACC_RDWR   (H5CHECK H5OPEN 0x0001u) /**< Open for read and write    */
  ------------------
  |  Branch (1132:13): [True: 0, False: 10]
  ------------------
 1133|      0|            cache_ptr->image_ctl = *config_ptr;
 1134|     10|        else {
 1135|     10|            H5C_cache_image_ctl_t default_image_ctl = H5C__DEFAULT_CACHE_IMAGE_CTL;
  ------------------
  |  | 2127|     10|    {                                                                                                        \
  |  | 2128|     10|        H5C__CURR_CACHE_IMAGE_CTL_VER,             /* = version */                                           \
  |  |  ------------------
  |  |  |  |  106|     10|#define H5C__CURR_CACHE_IMAGE_CTL_VER     1
  |  |  ------------------
  |  | 2129|     10|            false,                                 /* = generate_image */                                    \
  |  | 2130|     10|            false,                                 /* = save_resize_status */                                \
  |  | 2131|     10|            H5AC__CACHE_IMAGE__ENTRY_AGEOUT__NONE, /* = entry_ageout */                                      \
  |  |  ------------------
  |  |  |  |  722|     10|#define H5AC__CACHE_IMAGE__ENTRY_AGEOUT__NONE -1
  |  |  ------------------
  |  | 2132|     10|            H5C_CI__ALL_FLAGS                      /* = flags */                                             \
  |  |  ------------------
  |  |  |  | 2124|     10|#define H5C_CI__ALL_FLAGS ((unsigned)0x000F)
  |  |  ------------------
  |  | 2133|     10|    }
  ------------------
 1136|       |
 1137|     10|            cache_ptr->image_ctl = default_image_ctl;
 1138|     10|            assert(!(cache_ptr->image_ctl.generate_image));
 1139|     10|        }
 1140|       |#ifdef H5_HAVE_PARALLEL
 1141|       |    }
 1142|       |#endif /* H5_HAVE_PARALLEL */
 1143|       |
 1144|     10|done:
 1145|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1146|     10|} /* H5C_set_cache_image_config() */
H5C_validate_cache_image_config:
 1163|     20|{
 1164|     20|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     20|#define SUCCEED 0
  ------------------
 1165|       |
 1166|     20|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     20|    {                                                                                                        \
  |  | 1392|     20|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     20|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     20|                                                                                                             \
  |  |  |  | 1267|     20|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     20|        {
  ------------------
 1167|       |
 1168|     20|    if (ctl_ptr == NULL)
  ------------------
  |  Branch (1168:9): [True: 0, False: 20]
  ------------------
 1169|      0|        HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "NULL ctl_ptr on entry");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1170|     20|    if (ctl_ptr->version != H5C__CURR_CACHE_IMAGE_CTL_VER)
  ------------------
  |  |  106|     20|#define H5C__CURR_CACHE_IMAGE_CTL_VER     1
  ------------------
  |  Branch (1170:9): [True: 0, False: 20]
  ------------------
 1171|      0|        HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "Unknown cache image control version");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1172|       |
 1173|       |    /* At present, we do not support inclusion of the adaptive resize
 1174|       |     * configuration in the cache image.  Thus the save_resize_status
 1175|       |     * field must be false.
 1176|       |     */
 1177|     20|    if (ctl_ptr->save_resize_status != false)
  ------------------
  |  Branch (1177:9): [True: 0, False: 20]
  ------------------
 1178|      0|        HGOTO_ERROR(H5E_CACHE, H5E_BADVALUE, FAIL, "unexpected value in save_resize_status field");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1179|       |
 1180|       |    /* At present, we do not support prefetched entry ageouts.  Thus
 1181|       |     * the entry_ageout field must be set to
 1182|       |     * H5AC__CACHE_IMAGE__ENTRY_AGEOUT__NONE.
 1183|       |     */
 1184|     20|    if (ctl_ptr->entry_ageout != H5AC__CACHE_IMAGE__ENTRY_AGEOUT__NONE)
  ------------------
  |  |  722|     20|#define H5AC__CACHE_IMAGE__ENTRY_AGEOUT__NONE -1
  ------------------
  |  Branch (1184:9): [True: 0, False: 20]
  ------------------
 1185|      0|        HGOTO_ERROR(H5E_CACHE, H5E_BADVALUE, FAIL, "unexpected value in entry_ageout field");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1186|       |
 1187|     20|    if ((ctl_ptr->flags & ~H5C_CI__ALL_FLAGS) != 0)
  ------------------
  |  | 2124|     20|#define H5C_CI__ALL_FLAGS ((unsigned)0x000F)
  ------------------
  |  Branch (1187:9): [True: 0, False: 20]
  ------------------
 1188|      0|        HGOTO_ERROR(H5E_CACHE, H5E_BADVALUE, FAIL, "unknown flag set");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1189|       |
 1190|     20|done:
 1191|     20|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     20|    ;                                                                                                        \
  |  | 1573|     20|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     20|    return (ret_value);                                                                                      \
  |  | 1575|     20|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1192|     20|} /* H5C_validate_cache_image_config() */

H5C__flush_invalidate_cache:
  991|     10|{
  992|     10|    H5C_t     *cache_ptr;
  993|     10|    H5C_ring_t ring;
  994|     10|    herr_t     ret_value = SUCCEED;
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
  995|       |
  996|     10|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     10|    {                                                                                                        \
  |  | 1461|     10|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     10|        {
  ------------------
  997|       |
  998|     10|    assert(f);
  999|     10|    assert(f->shared);
 1000|     10|    cache_ptr = f->shared->cache;
 1001|     10|    assert(cache_ptr);
 1002|     10|    assert(cache_ptr->slist_ptr);
 1003|     10|    assert(cache_ptr->slist_enabled);
 1004|       |
 1005|       |#ifdef H5C_DO_SANITY_CHECKS
 1006|       |    {
 1007|       |        int32_t  i;
 1008|       |        uint32_t index_len        = 0;
 1009|       |        uint32_t slist_len        = 0;
 1010|       |        size_t   index_size       = (size_t)0;
 1011|       |        size_t   clean_index_size = (size_t)0;
 1012|       |        size_t   dirty_index_size = (size_t)0;
 1013|       |        size_t   slist_size       = (size_t)0;
 1014|       |
 1015|       |        assert(cache_ptr->index_ring_len[H5C_RING_UNDEFINED] == 0);
 1016|       |        assert(cache_ptr->index_ring_size[H5C_RING_UNDEFINED] == (size_t)0);
 1017|       |        assert(cache_ptr->clean_index_ring_size[H5C_RING_UNDEFINED] == (size_t)0);
 1018|       |        assert(cache_ptr->dirty_index_ring_size[H5C_RING_UNDEFINED] == (size_t)0);
 1019|       |        assert(cache_ptr->slist_ring_len[H5C_RING_UNDEFINED] == 0);
 1020|       |        assert(cache_ptr->slist_ring_size[H5C_RING_UNDEFINED] == (size_t)0);
 1021|       |
 1022|       |        for (i = H5C_RING_USER; i < H5C_RING_NTYPES; i++) {
 1023|       |            index_len += cache_ptr->index_ring_len[i];
 1024|       |            index_size += cache_ptr->index_ring_size[i];
 1025|       |            clean_index_size += cache_ptr->clean_index_ring_size[i];
 1026|       |            dirty_index_size += cache_ptr->dirty_index_ring_size[i];
 1027|       |
 1028|       |            slist_len += cache_ptr->slist_ring_len[i];
 1029|       |            slist_size += cache_ptr->slist_ring_size[i];
 1030|       |        } /* end for */
 1031|       |
 1032|       |        assert(cache_ptr->index_len == index_len);
 1033|       |        assert(cache_ptr->index_size == index_size);
 1034|       |        assert(cache_ptr->clean_index_size == clean_index_size);
 1035|       |        assert(cache_ptr->dirty_index_size == dirty_index_size);
 1036|       |        assert(cache_ptr->slist_len == slist_len);
 1037|       |        assert(cache_ptr->slist_size == slist_size);
 1038|       |    }
 1039|       |#endif /* H5C_DO_SANITY_CHECKS */
 1040|       |
 1041|       |    /* remove ageout markers if present */
 1042|     10|    if (cache_ptr->epoch_markers_active > 0)
  ------------------
  |  Branch (1042:9): [True: 0, False: 10]
  ------------------
 1043|      0|        if (H5C__autoadjust__ageout__remove_all_markers(cache_ptr) < 0)
  ------------------
  |  Branch (1043:13): [True: 0, False: 0]
  ------------------
 1044|      0|            HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "error removing all epoch markers");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1045|       |
 1046|       |    /* flush invalidate each ring, starting from the outermost ring and
 1047|       |     * working inward.
 1048|       |     */
 1049|     10|    ring = H5C_RING_USER;
  ------------------
  |  |  941|     10|#define H5C_RING_USER      1 /* outermost ring */
  ------------------
 1050|     60|    while (ring < H5C_RING_NTYPES) {
  ------------------
  |  |  946|     60|#define H5C_RING_NTYPES    6
  ------------------
  |  Branch (1050:12): [True: 50, False: 10]
  ------------------
 1051|     50|        if (H5C__flush_invalidate_ring(f, ring, flags) < 0)
  ------------------
  |  Branch (1051:13): [True: 0, False: 50]
  ------------------
 1052|      0|            HGOTO_ERROR(H5E_CACHE, H5E_CANTFLUSH, FAIL, "flush invalidate ring failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1053|     50|        ring++;
 1054|     50|    } /* end while */
 1055|       |
 1056|       |#ifndef NDEBUG
 1057|       |    /* Invariants, after destroying all entries in the hash table */
 1058|       |    if (!(flags & H5C__EVICT_ALLOW_LAST_PINS_FLAG)) {
 1059|       |        assert(cache_ptr->index_size == 0);
 1060|       |        assert(cache_ptr->clean_index_size == 0);
 1061|       |        assert(cache_ptr->pel_len == 0);
 1062|       |        assert(cache_ptr->pel_size == 0);
 1063|       |    } /* end if */
 1064|       |    else {
 1065|       |        H5C_cache_entry_t *entry_ptr; /* Cache entry */
 1066|       |        unsigned           u;         /* Local index variable */
 1067|       |
 1068|       |        /* All rings except ring 4 should be empty now */
 1069|       |        /* (Ring 4 has the superblock) */
 1070|       |        for (u = H5C_RING_USER; u < H5C_RING_SB; u++) {
 1071|       |            assert(cache_ptr->index_ring_len[u] == 0);
 1072|       |            assert(cache_ptr->index_ring_size[u] == 0);
 1073|       |            assert(cache_ptr->clean_index_ring_size[u] == 0);
 1074|       |        } /* end for */
 1075|       |
 1076|       |        /* Check that any remaining pinned entries are in the superblock ring */
 1077|       |        entry_ptr = cache_ptr->pel_head_ptr;
 1078|       |        while (entry_ptr) {
 1079|       |            /* Check ring */
 1080|       |            assert(entry_ptr->ring == H5C_RING_SB);
 1081|       |
 1082|       |            /* Advance to next entry in pinned entry list */
 1083|       |            entry_ptr = entry_ptr->next;
 1084|       |        } /* end while */
 1085|       |    }     /* end else */
 1086|       |
 1087|       |    assert(cache_ptr->dirty_index_size == 0);
 1088|       |    assert(cache_ptr->slist_len == 0);
 1089|       |    assert(cache_ptr->slist_size == 0);
 1090|       |    assert(cache_ptr->pl_len == 0);
 1091|       |    assert(cache_ptr->pl_size == 0);
 1092|       |    assert(cache_ptr->LRU_list_len == 0);
 1093|       |    assert(cache_ptr->LRU_list_size == 0);
 1094|       |#endif
 1095|       |
 1096|     10|done:
 1097|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1098|     10|} /* H5C__flush_invalidate_cache() */
H5Cint.c:H5C__flush_invalidate_ring:
 1135|     50|{
 1136|     50|    H5C_t             *cache_ptr;
 1137|     50|    bool               restart_slist_scan;
 1138|     50|    uint32_t           protected_entries = 0;
 1139|     50|    int32_t            i;
 1140|     50|    uint32_t           cur_ring_pel_len;
 1141|     50|    uint32_t           old_ring_pel_len;
 1142|     50|    unsigned           cooked_flags;
 1143|     50|    unsigned           evict_flags;
 1144|     50|    H5SL_node_t       *node_ptr       = NULL;
 1145|     50|    H5C_cache_entry_t *entry_ptr      = NULL;
 1146|     50|    H5C_cache_entry_t *next_entry_ptr = NULL;
 1147|       |#ifdef H5C_DO_SANITY_CHECKS
 1148|       |    uint32_t initial_slist_len  = 0;
 1149|       |    size_t   initial_slist_size = 0;
 1150|       |#endif /* H5C_DO_SANITY_CHECKS */
 1151|     50|    herr_t ret_value = SUCCEED;
  ------------------
  |  |  283|     50|#define SUCCEED 0
  ------------------
 1152|       |
 1153|     50|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     50|    {                                                                                                        \
  |  | 1461|     50|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     50|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     50|                                                                                                             \
  |  |  |  | 1267|     50|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     50|        {
  ------------------
 1154|       |
 1155|     50|    assert(f);
 1156|     50|    assert(f->shared);
 1157|     50|    cache_ptr = f->shared->cache;
 1158|     50|    assert(cache_ptr);
 1159|     50|    assert(cache_ptr->slist_enabled);
 1160|     50|    assert(cache_ptr->slist_ptr);
 1161|     50|    assert(ring > H5C_RING_UNDEFINED);
 1162|     50|    assert(ring < H5C_RING_NTYPES);
 1163|       |
 1164|     50|    assert(cache_ptr->epoch_markers_active == 0);
 1165|       |
 1166|       |    /* Filter out the flags that are not relevant to the flush/invalidate.
 1167|       |     */
 1168|     50|    cooked_flags = flags & H5C__FLUSH_CLEAR_ONLY_FLAG;
  ------------------
  |  |  181|     50|#define H5C__FLUSH_CLEAR_ONLY_FLAG          0x00020
  ------------------
 1169|     50|    evict_flags  = flags & H5C__EVICT_ALLOW_LAST_PINS_FLAG;
  ------------------
  |  |  188|     50|#define H5C__EVICT_ALLOW_LAST_PINS_FLAG     0x01000
  ------------------
 1170|       |
 1171|       |    /* The flush procedure here is a bit strange.
 1172|       |     *
 1173|       |     * In the outer while loop we make at least one pass through the
 1174|       |     * cache, and then repeat until either all the pinned entries in
 1175|       |     * the ring unpin themselves, or until the number of pinned entries
 1176|       |     * in the ring stops declining.  In this later case, we scream and die.
 1177|       |     *
 1178|       |     * Since the fractal heap can dirty, resize, and/or move entries
 1179|       |     * in is flush callback, it is possible that the cache will still
 1180|       |     * contain dirty entries at this point.  If so, we must make more
 1181|       |     * passes through the skip list to allow it to empty.
 1182|       |     *
 1183|       |     * Further, since clean entries can be dirtied, resized, and/or moved
 1184|       |     * as the result of a flush call back (either the entries own, or that
 1185|       |     * for some other cache entry), we can no longer promise to flush
 1186|       |     * the cache entries in increasing address order.
 1187|       |     *
 1188|       |     * Instead, we make a pass through
 1189|       |     * the skip list, and then a pass through the "clean" entries, and
 1190|       |     * then repeating as needed.  Thus it is quite possible that an
 1191|       |     * entry will be evicted from the cache only to be re-loaded later
 1192|       |     * in the flush process.
 1193|       |     *
 1194|       |     * The bottom line is that entries will probably be flushed in close
 1195|       |     * to increasing address order, but there are no guarantees.
 1196|       |     */
 1197|       |
 1198|       |    /* compute the number of pinned entries in this ring */
 1199|     50|    entry_ptr        = cache_ptr->pel_head_ptr;
 1200|     50|    cur_ring_pel_len = 0;
 1201|     62|    while (entry_ptr != NULL) {
  ------------------
  |  Branch (1201:12): [True: 12, False: 50]
  ------------------
 1202|     12|        assert(entry_ptr->ring >= ring);
 1203|     12|        if (entry_ptr->ring == ring)
  ------------------
  |  Branch (1203:13): [True: 12, False: 0]
  ------------------
 1204|     12|            cur_ring_pel_len++;
 1205|       |
 1206|     12|        entry_ptr = entry_ptr->next;
 1207|     12|    } /* end while */
 1208|     50|    old_ring_pel_len = cur_ring_pel_len;
 1209|       |
 1210|     70|    while (cache_ptr->index_ring_len[ring] > 0) {
  ------------------
  |  Branch (1210:12): [True: 20, False: 50]
  ------------------
 1211|       |        /* First, try to flush-destroy any dirty entries.   Do this by
 1212|       |         * making a scan through the slist.  Note that new dirty entries
 1213|       |         * may be created by the flush call back, thus we may need to
 1214|       |         * restart the scan (see below).
 1215|       |         */
 1216|       |
 1217|       |#ifdef H5C_DO_SANITY_CHECKS
 1218|       |        /* Depending on circumstances, H5C__flush_single_entry() will
 1219|       |         * remove dirty entries from the slist as it flushes them.
 1220|       |         * Thus for sanity checks we must make note of the initial
 1221|       |         * slist length and size before we do any flushes.
 1222|       |         */
 1223|       |        initial_slist_len  = cache_ptr->slist_len;
 1224|       |        initial_slist_size = cache_ptr->slist_size;
 1225|       |
 1226|       |        /* There is also the possibility that entries will be
 1227|       |         * dirtied, resized, moved, and/or removed from the cache
 1228|       |         * as the result of calls to the flush callbacks.  We use
 1229|       |         * the slist_len_increase and slist_size_increase increase
 1230|       |         * fields in struct H5C_t to track these changes for purpose
 1231|       |         * of sanity checking.
 1232|       |         *
 1233|       |         * To this end, we must zero these fields before we start
 1234|       |         * the pass through the slist.
 1235|       |         */
 1236|       |        cache_ptr->slist_len_increase  = 0;
 1237|       |        cache_ptr->slist_size_increase = 0;
 1238|       |#endif /* H5C_DO_SANITY_CHECKS */
 1239|       |
 1240|       |        /* Set the cache_ptr->slist_changed to false.
 1241|       |         *
 1242|       |         * This flag is set to true by H5C__flush_single_entry if the slist
 1243|       |         * is modified by a pre_serialize, serialize, or notify callback.
 1244|       |         *
 1245|       |         * H5C__flush_invalidate_ring() uses this flag to detect any
 1246|       |         * modifications to the slist that might corrupt the scan of
 1247|       |         * the slist -- and restart the scan in this event.
 1248|       |         */
 1249|     20|        cache_ptr->slist_changed = false;
 1250|       |
 1251|       |        /* this done, start the scan of the slist */
 1252|     20|        restart_slist_scan = true;
 1253|     20|        while (restart_slist_scan || (node_ptr != NULL)) {
  ------------------
  |  Branch (1253:16): [True: 20, False: 0]
  |  Branch (1253:38): [True: 0, False: 0]
  ------------------
 1254|     20|            if (restart_slist_scan) {
  ------------------
  |  Branch (1254:17): [True: 20, False: 0]
  ------------------
 1255|     20|                restart_slist_scan = false;
 1256|       |
 1257|       |                /* Start at beginning of skip list */
 1258|     20|                node_ptr = H5SL_first(cache_ptr->slist_ptr);
 1259|     20|                if (node_ptr == NULL)
  ------------------
  |  Branch (1259:21): [True: 20, False: 0]
  ------------------
 1260|       |                    /* the slist is empty -- break out of inner loop */
 1261|     20|                    break;
 1262|       |
 1263|       |                /* Get cache entry for this node */
 1264|      0|                next_entry_ptr = (H5C_cache_entry_t *)H5SL_item(node_ptr);
 1265|      0|                if (NULL == next_entry_ptr)
  ------------------
  |  Branch (1265:21): [True: 0, False: 0]
  ------------------
 1266|      0|                    HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "next_entry_ptr == NULL ?!?!");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1267|       |
 1268|      0|                assert(next_entry_ptr->is_dirty);
 1269|      0|                assert(next_entry_ptr->in_slist);
 1270|      0|                assert(next_entry_ptr->ring >= ring);
 1271|      0|            } /* end if */
 1272|       |
 1273|      0|            entry_ptr = next_entry_ptr;
 1274|       |
 1275|       |            /* It is possible that entries will be dirtied, resized,
 1276|       |             * flushed, or removed from the cache via the take ownership
 1277|       |             * flag as the result of pre_serialize or serialized callbacks.
 1278|       |             *
 1279|       |             * This in turn can corrupt the scan through the slist.
 1280|       |             *
 1281|       |             * We test for slist modifications in the pre_serialize
 1282|       |             * and serialize callbacks, and restart the scan of the
 1283|       |             * slist if we find them.  However, best we do some extra
 1284|       |             * sanity checking just in case.
 1285|       |             */
 1286|      0|            assert(entry_ptr != NULL);
 1287|      0|            assert(entry_ptr->in_slist);
 1288|      0|            assert(entry_ptr->is_dirty);
 1289|      0|            assert(entry_ptr->ring >= ring);
 1290|       |
 1291|       |            /* increment node pointer now, before we delete its target
 1292|       |             * from the slist.
 1293|       |             */
 1294|      0|            node_ptr = H5SL_next(node_ptr);
 1295|      0|            if (node_ptr != NULL) {
  ------------------
  |  Branch (1295:17): [True: 0, False: 0]
  ------------------
 1296|      0|                next_entry_ptr = (H5C_cache_entry_t *)H5SL_item(node_ptr);
 1297|      0|                if (NULL == next_entry_ptr)
  ------------------
  |  Branch (1297:21): [True: 0, False: 0]
  ------------------
 1298|      0|                    HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, "next_entry_ptr == NULL ?!?!");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1299|       |
 1300|      0|                assert(next_entry_ptr->is_dirty);
 1301|      0|                assert(next_entry_ptr->in_slist);
 1302|      0|                assert(next_entry_ptr->ring >= ring);
 1303|      0|                assert(entry_ptr != next_entry_ptr);
 1304|      0|            } /* end if */
 1305|      0|            else
 1306|      0|                next_entry_ptr = NULL;
 1307|       |
 1308|       |            /* Note that we now remove nodes from the slist as we flush
 1309|       |             * the associated entries, instead of leaving them there
 1310|       |             * until we are done, and then destroying all nodes in
 1311|       |             * the slist.
 1312|       |             *
 1313|       |             * While this optimization used to be easy, with the possibility
 1314|       |             * of new entries being added to the slist in the midst of the
 1315|       |             * flush, we must keep the slist in canonical form at all
 1316|       |             * times.
 1317|       |             */
 1318|      0|            if (((!entry_ptr->flush_me_last) ||
  ------------------
  |  Branch (1318:18): [True: 0, False: 0]
  ------------------
 1319|      0|                 ((entry_ptr->flush_me_last) && (cache_ptr->num_last_entries >= cache_ptr->slist_len))) &&
  ------------------
  |  Branch (1319:19): [True: 0, False: 0]
  |  Branch (1319:49): [True: 0, False: 0]
  ------------------
 1320|      0|                (entry_ptr->flush_dep_nchildren == 0) && (entry_ptr->ring == ring)) {
  ------------------
  |  Branch (1320:17): [True: 0, False: 0]
  |  Branch (1320:58): [True: 0, False: 0]
  ------------------
 1321|      0|                if (entry_ptr->is_protected) {
  ------------------
  |  Branch (1321:21): [True: 0, False: 0]
  ------------------
 1322|       |                    /* We have major problems -- but lets flush
 1323|       |                     * everything we can before we flag an error.
 1324|       |                     */
 1325|      0|                    protected_entries++;
 1326|      0|                } /* end if */
 1327|      0|                else if (entry_ptr->is_pinned) {
  ------------------
  |  Branch (1327:26): [True: 0, False: 0]
  ------------------
 1328|      0|                    if (H5C__flush_single_entry(f, entry_ptr, H5C__DURING_FLUSH_FLAG) < 0)
  ------------------
  |  |  190|      0|#define H5C__DURING_FLUSH_FLAG              0x04000 /* Set when the entire cache is being flushed */
  ------------------
  |  Branch (1328:25): [True: 0, False: 0]
  ------------------
 1329|      0|                        HGOTO_ERROR(H5E_CACHE, H5E_CANTFLUSH, FAIL, "dirty pinned entry flush failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1330|       |
 1331|      0|                    if (cache_ptr->slist_changed) {
  ------------------
  |  Branch (1331:25): [True: 0, False: 0]
  ------------------
 1332|       |                        /* The slist has been modified by something
 1333|       |                         * other than the simple removal of the
 1334|       |                         * of the flushed entry after the flush.
 1335|       |                         *
 1336|       |                         * This has the potential to corrupt the
 1337|       |                         * scan through the slist, so restart it.
 1338|       |                         */
 1339|      0|                        restart_slist_scan       = true;
 1340|      0|                        cache_ptr->slist_changed = false;
 1341|      0|                        H5C__UPDATE_STATS_FOR_SLIST_SCAN_RESTART(cache_ptr);
  ------------------
  |  |  575|      0|    do {                                                                                                     \
  |  |  576|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (576:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1342|      0|                    } /* end if */
 1343|      0|                }     /* end else-if */
 1344|      0|                else {
 1345|      0|                    if (H5C__flush_single_entry(f, entry_ptr,
  ------------------
  |  Branch (1345:25): [True: 0, False: 0]
  ------------------
 1346|      0|                                                (cooked_flags | H5C__DURING_FLUSH_FLAG |
  ------------------
  |  |  190|      0|#define H5C__DURING_FLUSH_FLAG              0x04000 /* Set when the entire cache is being flushed */
  ------------------
 1347|      0|                                                 H5C__FLUSH_INVALIDATE_FLAG |
  ------------------
  |  |  180|      0|#define H5C__FLUSH_INVALIDATE_FLAG          0x00010
  ------------------
 1348|      0|                                                 H5C__DEL_FROM_SLIST_ON_DESTROY_FLAG)) < 0)
  ------------------
  |  |  189|      0|#define H5C__DEL_FROM_SLIST_ON_DESTROY_FLAG 0x02000
  ------------------
 1349|      0|                        HGOTO_ERROR(H5E_CACHE, H5E_CANTFLUSH, FAIL, "dirty entry flush destroy failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1350|       |
 1351|      0|                    if (cache_ptr->slist_changed) {
  ------------------
  |  Branch (1351:25): [True: 0, False: 0]
  ------------------
 1352|       |                        /* The slist has been modified by something
 1353|       |                         * other than the simple removal of the
 1354|       |                         * of the flushed entry after the flush.
 1355|       |                         *
 1356|       |                         * This has the potential to corrupt the
 1357|       |                         * scan through the slist, so restart it.
 1358|       |                         */
 1359|      0|                        restart_slist_scan       = true;
 1360|      0|                        cache_ptr->slist_changed = false;
 1361|      0|                        H5C__UPDATE_STATS_FOR_SLIST_SCAN_RESTART(cache_ptr);
  ------------------
  |  |  575|      0|    do {                                                                                                     \
  |  |  576|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (576:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1362|      0|                    } /* end if */
 1363|      0|                }     /* end else */
 1364|      0|            }         /* end if */
 1365|      0|        }             /* end while loop scanning skip list */
 1366|       |
 1367|       |#ifdef H5C_DO_SANITY_CHECKS
 1368|       |        /* It is possible that entries were added to the slist during
 1369|       |         * the scan, either before or after scan pointer.  The following
 1370|       |         * asserts take this into account.
 1371|       |         *
 1372|       |         * Don't bother with the sanity checks if node_ptr != NULL, as
 1373|       |         * in this case we broke out of the loop because it got changed
 1374|       |         * out from under us.
 1375|       |         */
 1376|       |
 1377|       |        if (node_ptr == NULL) {
 1378|       |            assert(cache_ptr->slist_len ==
 1379|       |                   (uint32_t)((int32_t)initial_slist_len + cache_ptr->slist_len_increase));
 1380|       |            assert(cache_ptr->slist_size ==
 1381|       |                   (size_t)((ssize_t)initial_slist_size + cache_ptr->slist_size_increase));
 1382|       |        } /* end if */
 1383|       |#endif    /* H5C_DO_SANITY_CHECKS */
 1384|       |
 1385|       |        /* Since we are doing a destroy, we must make a pass through
 1386|       |         * the hash table and try to flush - destroy all entries that
 1387|       |         * remain.
 1388|       |         *
 1389|       |         * It used to be that all entries remaining in the cache at
 1390|       |         * this point had to be clean, but with the fractal heap mods
 1391|       |         * this may not be the case.  If so, we will flush entries out
 1392|       |         * in increasing address order.
 1393|       |         *
 1394|       |         * Writes to disk are possible here.
 1395|       |         */
 1396|       |
 1397|       |        /* Reset the counters so that we can detect insertions, loads,
 1398|       |         * and moves caused by the pre_serialize and serialize calls.
 1399|       |         */
 1400|     20|        cache_ptr->entries_loaded_counter    = 0;
 1401|     20|        cache_ptr->entries_inserted_counter  = 0;
 1402|     20|        cache_ptr->entries_relocated_counter = 0;
 1403|       |
 1404|     20|        next_entry_ptr = cache_ptr->il_head;
 1405|    158|        while (next_entry_ptr != NULL) {
  ------------------
  |  Branch (1405:16): [True: 138, False: 20]
  ------------------
 1406|    138|            entry_ptr = next_entry_ptr;
 1407|    138|            assert(entry_ptr->ring >= ring);
 1408|       |
 1409|    138|            next_entry_ptr = entry_ptr->il_next;
 1410|       |
 1411|    138|            if (((!entry_ptr->flush_me_last) ||
  ------------------
  |  Branch (1411:18): [True: 118, False: 20]
  ------------------
 1412|    138|                 (entry_ptr->flush_me_last && (cache_ptr->num_last_entries >= cache_ptr->slist_len))) &&
  ------------------
  |  Branch (1412:19): [True: 20, False: 0]
  |  Branch (1412:47): [True: 20, False: 0]
  ------------------
 1413|    138|                (entry_ptr->flush_dep_nchildren == 0) && (entry_ptr->ring == ring)) {
  ------------------
  |  Branch (1413:17): [True: 138, False: 0]
  |  Branch (1413:58): [True: 125, False: 13]
  ------------------
 1414|       |
 1415|    125|                if (entry_ptr->is_protected) {
  ------------------
  |  Branch (1415:21): [True: 0, False: 125]
  ------------------
 1416|       |                    /* we have major problems -- but lets flush and
 1417|       |                     * destroy everything we can before we flag an
 1418|       |                     * error.
 1419|       |                     */
 1420|      0|                    protected_entries++;
 1421|       |
 1422|      0|                    if (!entry_ptr->in_slist)
  ------------------
  |  Branch (1422:25): [True: 0, False: 0]
  ------------------
 1423|      0|                        assert(!(entry_ptr->is_dirty));
 1424|      0|                } /* end if */
 1425|    125|                else if (!entry_ptr->is_pinned) {
  ------------------
  |  Branch (1425:26): [True: 113, False: 12]
  ------------------
 1426|       |                    /* if *entry_ptr is dirty, it is possible
 1427|       |                     * that one or more other entries may be
 1428|       |                     * either removed from the cache, loaded
 1429|       |                     * into the cache, or moved to a new location
 1430|       |                     * in the file as a side effect of the flush.
 1431|       |                     *
 1432|       |                     * It's also possible that removing a clean
 1433|       |                     * entry will remove the last child of a proxy
 1434|       |                     * entry, allowing it to be removed also and
 1435|       |                     * invalidating the next_entry_ptr.
 1436|       |                     *
 1437|       |                     * If either of these happen, and one of the target
 1438|       |                     * or proxy entries happens to be the next entry in
 1439|       |                     * the hash bucket, we could either find ourselves
 1440|       |                     * either scanning a non-existent entry, scanning
 1441|       |                     * through a different bucket, or skipping an entry.
 1442|       |                     *
 1443|       |                     * Neither of these are good, so restart the
 1444|       |                     * the scan at the head of the hash bucket
 1445|       |                     * after the flush if we detect that the next_entry_ptr
 1446|       |                     * becomes invalid.
 1447|       |                     *
 1448|       |                     * This is not as inefficient at it might seem,
 1449|       |                     * as hash buckets typically have at most two
 1450|       |                     * or three entries.
 1451|       |                     */
 1452|    113|                    cache_ptr->entry_watched_for_removal = next_entry_ptr;
 1453|    113|                    if (H5C__flush_single_entry(f, entry_ptr,
  ------------------
  |  Branch (1453:25): [True: 0, False: 113]
  ------------------
 1454|    113|                                                (cooked_flags | H5C__DURING_FLUSH_FLAG |
  ------------------
  |  |  190|    113|#define H5C__DURING_FLUSH_FLAG              0x04000 /* Set when the entire cache is being flushed */
  ------------------
 1455|    113|                                                 H5C__FLUSH_INVALIDATE_FLAG |
  ------------------
  |  |  180|    113|#define H5C__FLUSH_INVALIDATE_FLAG          0x00010
  ------------------
 1456|    113|                                                 H5C__DEL_FROM_SLIST_ON_DESTROY_FLAG)) < 0)
  ------------------
  |  |  189|    113|#define H5C__DEL_FROM_SLIST_ON_DESTROY_FLAG 0x02000
  ------------------
 1457|      0|                        HGOTO_ERROR(H5E_CACHE, H5E_CANTFLUSH, FAIL, "Entry flush destroy failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1458|       |
 1459|       |                    /* Restart the index list scan if necessary.  Must
 1460|       |                     * do this if the next entry is evicted, and also if
 1461|       |                     * one or more entries are inserted, loaded, or moved
 1462|       |                     * as these operations can result in part of the scan
 1463|       |                     * being skipped -- which can cause a spurious failure
 1464|       |                     * if this results in the size of the pinned entry
 1465|       |                     * failing to decline during the pass.
 1466|       |                     */
 1467|    113|                    if (((NULL != next_entry_ptr) && (NULL == cache_ptr->entry_watched_for_removal)) ||
  ------------------
  |  Branch (1467:26): [True: 93, False: 20]
  |  Branch (1467:54): [True: 0, False: 93]
  ------------------
 1468|    113|                        (cache_ptr->entries_loaded_counter > 0) ||
  ------------------
  |  Branch (1468:25): [True: 0, False: 113]
  ------------------
 1469|    113|                        (cache_ptr->entries_inserted_counter > 0) ||
  ------------------
  |  Branch (1469:25): [True: 0, False: 113]
  ------------------
 1470|    113|                        (cache_ptr->entries_relocated_counter > 0)) {
  ------------------
  |  Branch (1470:25): [True: 0, False: 113]
  ------------------
 1471|       |
 1472|      0|                        next_entry_ptr = cache_ptr->il_head;
 1473|       |
 1474|      0|                        cache_ptr->entries_loaded_counter    = 0;
 1475|      0|                        cache_ptr->entries_inserted_counter  = 0;
 1476|      0|                        cache_ptr->entries_relocated_counter = 0;
 1477|       |
 1478|      0|                        H5C__UPDATE_STATS_FOR_INDEX_SCAN_RESTART(cache_ptr);
  ------------------
  |  |  581|      0|    do {                                                                                                     \
  |  |  582|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (582:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1479|      0|                    } /* end if */
 1480|    113|                    else
 1481|    113|                        cache_ptr->entry_watched_for_removal = NULL;
 1482|    113|                } /* end if */
 1483|    125|            }     /* end if */
 1484|    138|        }         /* end for loop scanning hash table */
 1485|       |
 1486|       |        /* We can't do anything if entries are pinned.  The
 1487|       |         * hope is that the entries will be unpinned as the
 1488|       |         * result of destroys of entries that reference them.
 1489|       |         *
 1490|       |         * We detect this by noting the change in the number
 1491|       |         * of pinned entries from pass to pass.  If it stops
 1492|       |         * shrinking before it hits zero, we scream and die.
 1493|       |         */
 1494|     20|        old_ring_pel_len = cur_ring_pel_len;
 1495|     20|        entry_ptr        = cache_ptr->pel_head_ptr;
 1496|     20|        cur_ring_pel_len = 0;
 1497|       |
 1498|     20|        while (entry_ptr != NULL) {
  ------------------
  |  Branch (1498:16): [True: 0, False: 20]
  ------------------
 1499|      0|            assert(entry_ptr->ring >= ring);
 1500|       |
 1501|      0|            if (entry_ptr->ring == ring)
  ------------------
  |  Branch (1501:17): [True: 0, False: 0]
  ------------------
 1502|      0|                cur_ring_pel_len++;
 1503|       |
 1504|      0|            entry_ptr = entry_ptr->next;
 1505|      0|        } /* end while */
 1506|       |
 1507|       |        /* Check if the number of pinned entries in the ring is positive, and
 1508|       |         * it is not declining.  Scream and die if so.
 1509|       |         */
 1510|     20|        if ((cur_ring_pel_len > 0) && (cur_ring_pel_len >= old_ring_pel_len)) {
  ------------------
  |  Branch (1510:13): [True: 0, False: 20]
  |  Branch (1510:39): [True: 0, False: 0]
  ------------------
 1511|       |            /* Don't error if allowed to have pinned entries remaining */
 1512|      0|            if (evict_flags)
  ------------------
  |  Branch (1512:17): [True: 0, False: 0]
  ------------------
 1513|      0|                HGOTO_DONE(true);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1514|       |
 1515|      0|            HGOTO_ERROR(
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1516|      0|                H5E_CACHE, H5E_CANTFLUSH, FAIL,
 1517|      0|                "Pinned entry count not decreasing, cur_ring_pel_len = %d, old_ring_pel_len = %d, ring = %d",
 1518|      0|                (int)cur_ring_pel_len, (int)old_ring_pel_len, (int)ring);
 1519|      0|        } /* end if */
 1520|       |
 1521|     20|        assert(protected_entries == cache_ptr->pl_len);
 1522|       |
 1523|     20|        if ((protected_entries > 0) && (protected_entries == cache_ptr->index_len))
  ------------------
  |  Branch (1523:13): [True: 0, False: 20]
  |  Branch (1523:40): [True: 0, False: 0]
  ------------------
 1524|      0|            HGOTO_ERROR(H5E_CACHE, H5E_CANTFLUSH, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1525|     20|                        "Only protected entries left in cache, protected_entries = %d",
 1526|     20|                        (int)protected_entries);
 1527|     20|    } /* main while loop */
 1528|       |
 1529|       |    /* Invariants, after destroying all entries in the ring */
 1530|    250|    for (i = (int)H5C_RING_UNDEFINED; i <= (int)ring; i++) {
  ------------------
  |  |  940|     50|#define H5C_RING_UNDEFINED 0 /* shouldn't appear in the cache */
  ------------------
  |  Branch (1530:39): [True: 200, False: 50]
  ------------------
 1531|    200|        assert(cache_ptr->index_ring_len[i] == 0);
 1532|    200|        assert(cache_ptr->index_ring_size[i] == (size_t)0);
 1533|    200|        assert(cache_ptr->clean_index_ring_size[i] == (size_t)0);
 1534|    200|        assert(cache_ptr->dirty_index_ring_size[i] == (size_t)0);
 1535|       |
 1536|    200|        assert(cache_ptr->slist_ring_len[i] == 0);
 1537|    200|        assert(cache_ptr->slist_ring_size[i] == (size_t)0);
 1538|    200|    } /* end for */
 1539|       |
 1540|     50|    assert(protected_entries <= cache_ptr->pl_len);
 1541|       |
 1542|     50|    if (protected_entries > 0)
  ------------------
  |  Branch (1542:9): [True: 0, False: 50]
  ------------------
 1543|      0|        HGOTO_ERROR(H5E_CACHE, H5E_CANTFLUSH, FAIL, "Cache has protected entries");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1544|     50|    else if (cur_ring_pel_len > 0)
  ------------------
  |  Branch (1544:14): [True: 0, False: 50]
  ------------------
 1545|      0|        HGOTO_ERROR(H5E_CACHE, H5E_CANTFLUSH, FAIL, "Can't unpin all pinned entries in ring");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1546|       |
 1547|     50|done:
 1548|     50|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     50|    ;                                                                                                        \
  |  | 1573|     50|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     50|    return (ret_value);                                                                                      \
  |  | 1575|     50|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1549|     50|} /* H5C__flush_invalidate_ring() */

H5C_get_logging_status:
  257|     10|{
  258|     10|    FUNC_ENTER_NOAPI_NOERR
  ------------------
  |  | 1397|     10|    {                                                                                                        \
  |  | 1398|     10|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|     10|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1399|     10|        {
  ------------------
  259|       |
  260|       |    /* Sanity checks */
  261|     10|    assert(cache);
  262|     10|    assert(is_enabled);
  263|     10|    assert(is_currently_logging);
  264|       |
  265|       |    /* Get logging flags */
  266|     10|    *is_enabled           = cache->log_info->enabled;
  267|     10|    *is_currently_logging = cache->log_info->logging;
  268|       |
  269|     10|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  270|     10|} /* H5C_get_logging_status() */

H5C_get_num_objs_corked:
  162|    143|{
  163|    143|    FUNC_ENTER_NOAPI_NOERR
  ------------------
  |  | 1397|    143|    {                                                                                                        \
  |  | 1398|    143|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    143|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1399|    143|        {
  ------------------
  164|       |
  165|       |    /* Sanity checks */
  166|    143|    assert(cache);
  167|       |
  168|       |    /* Return value for num_objs_corked */
  169|    143|    FUNC_LEAVE_NOAPI(cache->num_objs_corked)
  ------------------
  |  | 1572|    143|    ;                                                                                                        \
  |  | 1573|    143|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    143|    return (ret_value);                                                                                      \
  |  | 1575|    143|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  170|    143|} /* H5C_get_num_objs_corked */
H5C__tag_entry:
  186|    118|{
  187|    118|    H5C_tag_info_t *tag_info;            /* Points to a tag info struct */
  188|    118|    haddr_t         tag;                 /* Tag value */
  189|    118|    herr_t          ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    118|#define SUCCEED 0
  ------------------
  190|       |
  191|    118|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    118|    {                                                                                                        \
  |  | 1461|    118|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    118|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    118|                                                                                                             \
  |  |  |  | 1267|    118|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    118|        {
  ------------------
  192|       |
  193|       |    /* Assertions */
  194|    118|    assert(cache != NULL);
  195|    118|    assert(entry != NULL);
  196|       |
  197|       |    /* Get the tag */
  198|    118|    tag = H5CX_get_tag();
  199|       |
  200|    118|    if (cache->ignore_tags) {
  ------------------
  |  Branch (200:9): [True: 0, False: 118]
  ------------------
  201|       |        /* if we're ignoring tags, it's because we're running
  202|       |           tests on internal functions and may not have inserted a tag
  203|       |           value into a given API context before creating some metadata. Thus,
  204|       |           in this case only, if a tag value has not been set, we can
  205|       |           arbitrarily set it to something for the sake of passing the tests.
  206|       |           If the tag value is set, then we'll just let it get assigned without
  207|       |           additional checking for correctness. */
  208|      0|        if (!H5_addr_defined(tag))
  ------------------
  |  |  449|      0|#define H5_addr_defined(X)       ((X) != HADDR_UNDEF)
  |  |  ------------------
  |  |  |  |  336|      0|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  ------------------
  |  Branch (208:13): [True: 0, False: 0]
  ------------------
  209|      0|            tag = H5AC__IGNORE_TAG;
  ------------------
  |  |   37|      0|#define H5AC__IGNORE_TAG     (haddr_t)1
  ------------------
  210|      0|    }
  211|       |#ifdef H5C_DO_TAGGING_SANITY_CHECKS
  212|       |    else {
  213|       |        /* Perform some sanity checks to ensure that a correct tag is being applied */
  214|       |        if (H5C_verify_tag(entry->type->id, tag) < 0)
  215|       |            HGOTO_ERROR(H5E_CACHE, H5E_CANTTAG, FAIL, "tag verification failed");
  216|       |    }
  217|       |#endif
  218|       |
  219|       |    /* Search the list of tagged object addresses in the cache */
  220|    118|    HASH_FIND(hh, cache->tag_list, &tag, sizeof(haddr_t), tag_info);
  ------------------
  |  |  173|    118|    do {                                                                                                     \
  |  |  174|    118|        (out) = NULL;                                                                                        \
  |  |  175|    118|        if (head) {                                                                                          \
  |  |  ------------------
  |  |  |  Branch (175:13): [True: 111, False: 7]
  |  |  ------------------
  |  |  176|    111|            unsigned _hf_hashv;                                                                              \
  |  |  177|    111|            HASH_VALUE(keyptr, keylen, _hf_hashv);                                                           \
  |  |  ------------------
  |  |  |  |  155|    111|    do {                                                                                                     \
  |  |  |  |  156|    111|        HASH_FUNCTION(keyptr, keylen, hashv);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|    111|#define HASH_FUNCTION(keyptr, keylen, hashv) HASH_JEN(keyptr, keylen, hashv)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  680|    111|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  681|    111|        unsigned             _hj_i, _hj_j, _hj_k;                                                            \
  |  |  |  |  |  |  |  |  682|    111|        unsigned const char *_hj_key = (unsigned const char *)(key);                                         \
  |  |  |  |  |  |  |  |  683|    111|        hashv                        = 0xfeedbeefu;                                                          \
  |  |  |  |  |  |  |  |  684|    111|        _hj_i = _hj_j = 0x9e3779b9u;                                                                         \
  |  |  |  |  |  |  |  |  685|    111|        _hj_k         = (unsigned)(keylen);                                                                  \
  |  |  |  |  |  |  |  |  686|    111|        while (_hj_k >= 12U) {                                                                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (686:16): [True: 0, False: 111]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  687|      0|            _hj_i += (_hj_key[0] + ((unsigned)_hj_key[1] << 8) + ((unsigned)_hj_key[2] << 16) +              \
  |  |  |  |  |  |  |  |  688|      0|                      ((unsigned)_hj_key[3] << 24));                                                         \
  |  |  |  |  |  |  |  |  689|      0|            _hj_j += (_hj_key[4] + ((unsigned)_hj_key[5] << 8) + ((unsigned)_hj_key[6] << 16) +              \
  |  |  |  |  |  |  |  |  690|      0|                      ((unsigned)_hj_key[7] << 24));                                                         \
  |  |  |  |  |  |  |  |  691|      0|            hashv += (_hj_key[8] + ((unsigned)_hj_key[9] << 8) + ((unsigned)_hj_key[10] << 16) +             \
  |  |  |  |  |  |  |  |  692|      0|                      ((unsigned)_hj_key[11] << 24));                                                        \
  |  |  |  |  |  |  |  |  693|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  694|      0|            HASH_JEN_MIX(_hj_i, _hj_j, hashv);                                                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  649|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  650|      0|        a -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  651|      0|        a -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  652|      0|        a ^= (c >> 13);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  653|      0|        b -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  654|      0|        b -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  655|      0|        b ^= (a << 8);                                                                                       \
  |  |  |  |  |  |  |  |  |  |  656|      0|        c -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  657|      0|        c -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  658|      0|        c ^= (b >> 13);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  659|      0|        a -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  660|      0|        a -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  661|      0|        a ^= (c >> 12);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  662|      0|        b -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  663|      0|        b -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  664|      0|        b ^= (a << 16);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  665|      0|        c -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  666|      0|        c -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  667|      0|        c ^= (b >> 5);                                                                                       \
  |  |  |  |  |  |  |  |  |  |  668|      0|        a -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  669|      0|        a -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  670|      0|        a ^= (c >> 3);                                                                                       \
  |  |  |  |  |  |  |  |  |  |  671|      0|        b -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  672|      0|        b -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  673|      0|        b ^= (a << 10);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  674|      0|        c -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  675|      0|        c -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  676|      0|        c ^= (b >> 15);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  677|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (677:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  695|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  696|      0|            _hj_key += 12;                                                                                   \
  |  |  |  |  |  |  |  |  697|      0|            _hj_k -= 12U;                                                                                    \
  |  |  |  |  |  |  |  |  698|      0|        }                                                                                                    \
  |  |  |  |  |  |  |  |  699|    111|        hashv += (unsigned)(keylen);                                                                         \
  |  |  |  |  |  |  |  |  700|    111|        switch (_hj_k) {                                                                                     \
  |  |  |  |  |  |  |  |  701|      0|            case 11:                                                                                         \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (701:13): [True: 0, False: 111]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  702|      0|                hashv += ((unsigned)_hj_key[10] << 24);                                                      \
  |  |  |  |  |  |  |  |  703|      0|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  219|      0|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  704|      0|                    case 10 : hashv += ((unsigned)_hj_key[9] << 16);                                         \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (704:21): [True: 0, False: 111]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  705|      0|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  219|      0|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  706|      0|                    case 9 : hashv += ((unsigned)_hj_key[8] << 8);                                           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (706:21): [True: 0, False: 111]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  707|      0|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  219|      0|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  708|    111|                    case 8 : _hj_j += ((unsigned)_hj_key[7] << 24);                                          \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (708:21): [True: 111, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  709|    111|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  219|    111|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  710|    111|                    case 7 : _hj_j += ((unsigned)_hj_key[6] << 16);                                          \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (710:21): [True: 0, False: 111]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  711|    111|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  219|    111|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  712|    111|                    case 6 : _hj_j += ((unsigned)_hj_key[5] << 8);                                           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (712:21): [True: 0, False: 111]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  713|    111|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  219|    111|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  714|    111|                    case 5 : _hj_j += _hj_key[4];                                                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (714:21): [True: 0, False: 111]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  715|    111|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  219|    111|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  716|    111|                    case 4 : _hj_i += ((unsigned)_hj_key[3] << 24);                                          \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (716:21): [True: 0, False: 111]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  717|    111|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  219|    111|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  718|    111|                    case 3 : _hj_i += ((unsigned)_hj_key[2] << 16);                                          \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (718:21): [True: 0, False: 111]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  719|    111|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  219|    111|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  720|    111|                    case 2 : _hj_i += ((unsigned)_hj_key[1] << 8);                                           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (720:21): [True: 0, False: 111]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  721|    111|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  219|    111|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  722|    111|                    case 1 : _hj_i += _hj_key[0];                                                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (722:21): [True: 0, False: 111]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  723|    111|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  219|    111|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  724|    111|                    default:;                                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (724:21): [True: 0, False: 111]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  725|    111|        }                                                                                                    \
  |  |  |  |  |  |  |  |  726|    111|        HASH_JEN_MIX(_hj_i, _hj_j, hashv);                                                                   \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  649|    111|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  650|    111|        a -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  651|    111|        a -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  652|    111|        a ^= (c >> 13);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  653|    111|        b -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  654|    111|        b -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  655|    111|        b ^= (a << 8);                                                                                       \
  |  |  |  |  |  |  |  |  |  |  656|    111|        c -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  657|    111|        c -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  658|    111|        c ^= (b >> 13);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  659|    111|        a -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  660|    111|        a -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  661|    111|        a ^= (c >> 12);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  662|    111|        b -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  663|    111|        b -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  664|    111|        b ^= (a << 16);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  665|    111|        c -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  666|    111|        c -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  667|    111|        c ^= (b >> 5);                                                                                       \
  |  |  |  |  |  |  |  |  |  |  668|    111|        a -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  669|    111|        a -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  670|    111|        a ^= (c >> 3);                                                                                       \
  |  |  |  |  |  |  |  |  |  |  671|    111|        b -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  672|    111|        b -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  673|    111|        b ^= (a << 10);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  674|    111|        c -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  675|    111|        c -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  676|    111|        c ^= (b >> 15);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  677|    111|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (677:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  727|    111|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (727:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  157|    111|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (157:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  178|    111|            HASH_FIND_BYHASHVALUE(hh, head, keyptr, keylen, _hf_hashv, out);                                 \
  |  |  ------------------
  |  |  |  |  160|    111|    do {                                                                                                     \
  |  |  |  |  161|    111|        (out) = NULL;                                                                                        \
  |  |  |  |  162|    111|        if (head) {                                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (162:13): [True: 111, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  163|    111|            unsigned _hf_bkt;                                                                                \
  |  |  |  |  164|    111|            HASH_TO_BKT(hashval, (head)->hh.tbl->num_buckets, _hf_bkt);                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  446|    111|    do {                                                                                                     \
  |  |  |  |  |  |  447|    111|        bkt = ((hashv) & ((num_bkts)-1U));                                                                   \
  |  |  |  |  |  |  448|    111|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (448:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  165|    111|            if (HASH_BLOOM_TEST((head)->hh.tbl, hashval) != 0) {                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  216|    111|#define HASH_BLOOM_TEST(tbl, hashv) (1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (165:17): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  166|    111|                HASH_FIND_IN_BKT((head)->hh.tbl, hh, (head)->hh.tbl->buckets[_hf_bkt], keyptr, keylen,       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  789|    111|    do {                                                                                                     \
  |  |  |  |  |  |  790|    111|        if ((head).hh_head != NULL) {                                                                        \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (790:13): [True: 70, False: 41]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  791|     70|            DECLTYPE_ASSIGN(out, ELMT_FROM_HH(tbl, (head).hh_head));                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|     70|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   71|     70|        (dst) = DECLTYPE(dst)(src);                                                                          \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   57|     70|#define DECLTYPE(x) (__typeof(x))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   72|     70|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (72:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  792|     70|        }                                                                                                    \
  |  |  |  |  |  |  793|    111|        else {                                                                                               \
  |  |  |  |  |  |  794|     41|            (out) = NULL;                                                                                    \
  |  |  |  |  |  |  795|     41|        }                                                                                                    \
  |  |  |  |  |  |  796|    133|        while ((out) != NULL) {                                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (796:16): [True: 73, False: 60]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  797|     73|            if ((out)->hh.hashv == (hashval) && (out)->hh.keylen == (keylen_in)) {                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (797:17): [True: 51, False: 22]
  |  |  |  |  |  |  |  Branch (797:49): [True: 51, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  798|     51|                if (HASH_KEYCMP((out)->hh.key, keyptr, keylen_in) == 0) {                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   93|     51|#define HASH_KEYCMP(a, b, n) memcmp(a, b, n)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (798:21): [True: 51, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  799|     51|                    break;                                                                                   \
  |  |  |  |  |  |  800|     51|                }                                                                                            \
  |  |  |  |  |  |  801|     51|            }                                                                                                \
  |  |  |  |  |  |  802|     73|            if ((out)->hh.hh_next != NULL) {                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (802:17): [True: 3, False: 19]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  803|      3|                DECLTYPE_ASSIGN(out, ELMT_FROM_HH(tbl, (out)->hh.hh_next));                                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      3|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   71|      3|        (dst) = DECLTYPE(dst)(src);                                                                          \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   57|      3|#define DECLTYPE(x) (__typeof(x))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   72|      3|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (72:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  804|      3|            }                                                                                                \
  |  |  |  |  |  |  805|     22|            else {                                                                                           \
  |  |  |  |  |  |  806|     19|                (out) = NULL;                                                                                \
  |  |  |  |  |  |  807|     19|            }                                                                                                \
  |  |  |  |  |  |  808|     22|        }                                                                                                    \
  |  |  |  |  |  |  809|    111|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (809:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  167|    111|                                 hashval, out);                                                              \
  |  |  |  |  168|    111|            }                                                                                                \
  |  |  |  |  169|    111|        }                                                                                                    \
  |  |  |  |  170|    111|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (170:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  179|    111|        }                                                                                                    \
  |  |  180|    118|    } while (0)
  |  |  ------------------
  |  |  |  Branch (180:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  221|       |
  222|       |    /* Check if this is the first entry for this tagged object */
  223|    118|    if (NULL == tag_info) {
  ------------------
  |  Branch (223:9): [True: 67, False: 51]
  ------------------
  224|       |        /* Allocate new tag info struct */
  225|     67|        if (NULL == (tag_info = H5FL_CALLOC(H5C_tag_info_t)))
  ------------------
  |  |   78|     67|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|     67|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (225:13): [True: 0, False: 67]
  ------------------
  226|      0|            HGOTO_ERROR(H5E_CACHE, H5E_CANTALLOC, FAIL, "can't allocate tag info for cache entry");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  227|       |
  228|       |        /* Set the tag for all entries */
  229|     67|        tag_info->tag = tag;
  230|       |
  231|       |        /* Insert tag info into the hash table */
  232|     67|        HASH_ADD(hh, cache->tag_list, tag, sizeof(haddr_t), tag_info);
  ------------------
  |  |  443|     67|    HASH_ADD_KEYPTR(hh, head, &((add)->fieldname), keylen_in, add)
  |  |  ------------------
  |  |  |  |  433|     67|    do {                                                                                                     \
  |  |  |  |  434|     67|        unsigned _ha_hashv;                                                                                  \
  |  |  |  |  435|     67|        HASH_VALUE(keyptr, keylen_in, _ha_hashv);                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  155|     67|    do {                                                                                                     \
  |  |  |  |  |  |  156|     67|        HASH_FUNCTION(keyptr, keylen, hashv);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   89|     67|#define HASH_FUNCTION(keyptr, keylen, hashv) HASH_JEN(keyptr, keylen, hashv)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  680|     67|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  681|     67|        unsigned             _hj_i, _hj_j, _hj_k;                                                            \
  |  |  |  |  |  |  |  |  |  |  682|     67|        unsigned const char *_hj_key = (unsigned const char *)(key);                                         \
  |  |  |  |  |  |  |  |  |  |  683|     67|        hashv                        = 0xfeedbeefu;                                                          \
  |  |  |  |  |  |  |  |  |  |  684|     67|        _hj_i = _hj_j = 0x9e3779b9u;                                                                         \
  |  |  |  |  |  |  |  |  |  |  685|     67|        _hj_k         = (unsigned)(keylen);                                                                  \
  |  |  |  |  |  |  |  |  |  |  686|     67|        while (_hj_k >= 12U) {                                                                               \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (686:16): [True: 0, False: 67]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  687|      0|            _hj_i += (_hj_key[0] + ((unsigned)_hj_key[1] << 8) + ((unsigned)_hj_key[2] << 16) +              \
  |  |  |  |  |  |  |  |  |  |  688|      0|                      ((unsigned)_hj_key[3] << 24));                                                         \
  |  |  |  |  |  |  |  |  |  |  689|      0|            _hj_j += (_hj_key[4] + ((unsigned)_hj_key[5] << 8) + ((unsigned)_hj_key[6] << 16) +              \
  |  |  |  |  |  |  |  |  |  |  690|      0|                      ((unsigned)_hj_key[7] << 24));                                                         \
  |  |  |  |  |  |  |  |  |  |  691|      0|            hashv += (_hj_key[8] + ((unsigned)_hj_key[9] << 8) + ((unsigned)_hj_key[10] << 16) +             \
  |  |  |  |  |  |  |  |  |  |  692|      0|                      ((unsigned)_hj_key[11] << 24));                                                        \
  |  |  |  |  |  |  |  |  |  |  693|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  |  |  694|      0|            HASH_JEN_MIX(_hj_i, _hj_j, hashv);                                                               \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  649|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |  650|      0|        a -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  651|      0|        a -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  652|      0|        a ^= (c >> 13);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  |  |  653|      0|        b -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  654|      0|        b -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  655|      0|        b ^= (a << 8);                                                                                       \
  |  |  |  |  |  |  |  |  |  |  |  |  656|      0|        c -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  657|      0|        c -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  658|      0|        c ^= (b >> 13);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  |  |  659|      0|        a -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  660|      0|        a -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  661|      0|        a ^= (c >> 12);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  |  |  662|      0|        b -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  663|      0|        b -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  664|      0|        b ^= (a << 16);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  |  |  665|      0|        c -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  666|      0|        c -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  667|      0|        c ^= (b >> 5);                                                                                       \
  |  |  |  |  |  |  |  |  |  |  |  |  668|      0|        a -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  669|      0|        a -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  670|      0|        a ^= (c >> 3);                                                                                       \
  |  |  |  |  |  |  |  |  |  |  |  |  671|      0|        b -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  672|      0|        b -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  673|      0|        b ^= (a << 10);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  |  |  674|      0|        c -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  675|      0|        c -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  676|      0|        c ^= (b >> 15);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  |  |  677|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (677:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  695|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  |  |  696|      0|            _hj_key += 12;                                                                                   \
  |  |  |  |  |  |  |  |  |  |  697|      0|            _hj_k -= 12U;                                                                                    \
  |  |  |  |  |  |  |  |  |  |  698|      0|        }                                                                                                    \
  |  |  |  |  |  |  |  |  |  |  699|     67|        hashv += (unsigned)(keylen);                                                                         \
  |  |  |  |  |  |  |  |  |  |  700|     67|        switch (_hj_k) {                                                                                     \
  |  |  |  |  |  |  |  |  |  |  701|      0|            case 11:                                                                                         \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (701:13): [True: 0, False: 67]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  702|      0|                hashv += ((unsigned)_hj_key[10] << 24);                                                      \
  |  |  |  |  |  |  |  |  |  |  703|      0|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  219|      0|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  704|      0|                    case 10 : hashv += ((unsigned)_hj_key[9] << 16);                                         \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (704:21): [True: 0, False: 67]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  705|      0|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  219|      0|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  706|      0|                    case 9 : hashv += ((unsigned)_hj_key[8] << 8);                                           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (706:21): [True: 0, False: 67]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  707|      0|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  219|      0|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  708|     67|                    case 8 : _hj_j += ((unsigned)_hj_key[7] << 24);                                          \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (708:21): [True: 67, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  709|     67|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  219|     67|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  710|     67|                    case 7 : _hj_j += ((unsigned)_hj_key[6] << 16);                                          \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (710:21): [True: 0, False: 67]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  711|     67|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  219|     67|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  712|     67|                    case 6 : _hj_j += ((unsigned)_hj_key[5] << 8);                                           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (712:21): [True: 0, False: 67]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  713|     67|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  219|     67|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  714|     67|                    case 5 : _hj_j += _hj_key[4];                                                            \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (714:21): [True: 0, False: 67]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  715|     67|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  219|     67|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  716|     67|                    case 4 : _hj_i += ((unsigned)_hj_key[3] << 24);                                          \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (716:21): [True: 0, False: 67]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  717|     67|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  219|     67|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  718|     67|                    case 3 : _hj_i += ((unsigned)_hj_key[2] << 16);                                          \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (718:21): [True: 0, False: 67]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  719|     67|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  219|     67|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  720|     67|                    case 2 : _hj_i += ((unsigned)_hj_key[1] << 8);                                           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (720:21): [True: 0, False: 67]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  721|     67|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  219|     67|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  722|     67|                    case 1 : _hj_i += _hj_key[0];                                                            \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (722:21): [True: 0, False: 67]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  723|     67|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  219|     67|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  724|     67|                    default:;                                                                                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (724:21): [True: 0, False: 67]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  725|     67|        }                                                                                                    \
  |  |  |  |  |  |  |  |  |  |  726|     67|        HASH_JEN_MIX(_hj_i, _hj_j, hashv);                                                                   \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  649|     67|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |  650|     67|        a -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  651|     67|        a -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  652|     67|        a ^= (c >> 13);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  |  |  653|     67|        b -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  654|     67|        b -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  655|     67|        b ^= (a << 8);                                                                                       \
  |  |  |  |  |  |  |  |  |  |  |  |  656|     67|        c -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  657|     67|        c -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  658|     67|        c ^= (b >> 13);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  |  |  659|     67|        a -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  660|     67|        a -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  661|     67|        a ^= (c >> 12);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  |  |  662|     67|        b -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  663|     67|        b -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  664|     67|        b ^= (a << 16);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  |  |  665|     67|        c -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  666|     67|        c -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  667|     67|        c ^= (b >> 5);                                                                                       \
  |  |  |  |  |  |  |  |  |  |  |  |  668|     67|        a -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  669|     67|        a -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  670|     67|        a ^= (c >> 3);                                                                                       \
  |  |  |  |  |  |  |  |  |  |  |  |  671|     67|        b -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  672|     67|        b -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  673|     67|        b ^= (a << 10);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  |  |  674|     67|        c -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  675|     67|        c -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  676|     67|        c ^= (b >> 15);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  |  |  677|     67|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (677:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  727|     67|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (727:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  157|     67|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (157:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  436|     67|        HASH_ADD_KEYPTR_BYHASHVALUE(hh, head, keyptr, keylen_in, _ha_hashv, add);                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  410|     67|    do {                                                                                                     \
  |  |  |  |  |  |  411|     67|        IF_HASH_NONFATAL_OOM(int _ha_oomed = 0;)                                                             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  120|     67|#define IF_HASH_NONFATAL_OOM(x) x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  412|     67|        (add)->hh.hashv  = (hashval);                                                                        \
  |  |  |  |  |  |  413|     67|        (add)->hh.key    = (const void *)(keyptr);                                                           \
  |  |  |  |  |  |  414|     67|        (add)->hh.keylen = (unsigned)(keylen_in);                                                            \
  |  |  |  |  |  |  415|     67|        if (!(head)) {                                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (415:13): [True: 7, False: 60]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  416|      7|            (add)->hh.next = NULL;                                                                           \
  |  |  |  |  |  |  417|      7|            (add)->hh.prev = NULL;                                                                           \
  |  |  |  |  |  |  418|      7|            HASH_MAKE_TABLE(hh, add, _ha_oomed);                                                             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  221|      7|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  222|      7|        (head)->hh.tbl = (UT_hash_table *)uthash_malloc(sizeof(UT_hash_table));                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  157|      7|#define uthash_malloc(sz)    H5MM_malloc(sz)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   38|      7|#define H5MM_malloc(Z) malloc(Z)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  223|      7|        if (!(head)->hh.tbl) {                                                                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (223:13): [True: 0, False: 7]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  224|      0|            HASH_RECORD_OOM(oomed);                                                                          \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  117|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  118|      0|        (oomed) = 1;                                                                                         \
  |  |  |  |  |  |  |  |  |  |  119|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (119:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  225|      0|        }                                                                                                    \
  |  |  |  |  |  |  |  |  226|      7|        else {                                                                                               \
  |  |  |  |  |  |  |  |  227|      7|            uthash_bzero((head)->hh.tbl, sizeof(UT_hash_table));                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   82|      7|#define uthash_bzero(a, n) memset(a, '\0', n)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  228|      7|            (head)->hh.tbl->tail             = &((head)->hh);                                                \
  |  |  |  |  |  |  |  |  229|      7|            (head)->hh.tbl->num_buckets      = HASH_INITIAL_NUM_BUCKETS;                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  135|      7|#define HASH_INITIAL_NUM_BUCKETS      32U /* initial number of buckets        */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  230|      7|            (head)->hh.tbl->log2_num_buckets = HASH_INITIAL_NUM_BUCKETS_LOG2;                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  136|      7|#define HASH_INITIAL_NUM_BUCKETS_LOG2 5U  /* lg2 of initial number of buckets */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  231|      7|            (head)->hh.tbl->hho              = (char *)(&(head)->hh) - (char *)(head);                       \
  |  |  |  |  |  |  |  |  232|      7|            (head)->hh.tbl->buckets =                                                                        \
  |  |  |  |  |  |  |  |  233|      7|                (UT_hash_bucket *)uthash_malloc(HASH_INITIAL_NUM_BUCKETS * sizeof(struct UT_hash_bucket));   \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  157|      7|#define uthash_malloc(sz)    H5MM_malloc(sz)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   38|      7|#define H5MM_malloc(Z) malloc(Z)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  234|      7|            (head)->hh.tbl->signature = HASH_SIGNATURE;                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 1126|      7|#define HASH_SIGNATURE       0xa0111fe1u
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  235|      7|            if (!(head)->hh.tbl->buckets) {                                                                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (235:17): [True: 0, False: 7]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  236|      0|                HASH_RECORD_OOM(oomed);                                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  117|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  118|      0|        (oomed) = 1;                                                                                         \
  |  |  |  |  |  |  |  |  |  |  119|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (119:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  237|      0|                uthash_free((head)->hh.tbl, sizeof(UT_hash_table));                                          \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  158|      0|#define uthash_free(ptr, sz) H5MM_free(ptr) /* Ignoring sz is intentional */
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   37|      0|#define H5MM_free(Z)   free(Z)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  238|      0|            }                                                                                                \
  |  |  |  |  |  |  |  |  239|      7|            else {                                                                                           \
  |  |  |  |  |  |  |  |  240|      7|                uthash_bzero((head)->hh.tbl->buckets,                                                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   82|      7|#define uthash_bzero(a, n) memset(a, '\0', n)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  241|      7|                             HASH_INITIAL_NUM_BUCKETS * sizeof(struct UT_hash_bucket));                      \
  |  |  |  |  |  |  |  |  242|      7|                HASH_BLOOM_MAKE((head)->hh.tbl, oomed);                                                      \
  |  |  |  |  |  |  |  |  243|      7|                IF_HASH_NONFATAL_OOM(if (oomed) {                                                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  120|     14|#define IF_HASH_NONFATAL_OOM(x) x
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (120:33): [True: 0, False: 7]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  244|      7|                    uthash_free((head)->hh.tbl->buckets,                                                     \
  |  |  |  |  |  |  |  |  245|      7|                                HASH_INITIAL_NUM_BUCKETS * sizeof(struct UT_hash_bucket));                   \
  |  |  |  |  |  |  |  |  246|      7|                    uthash_free((head)->hh.tbl, sizeof(UT_hash_table));                                      \
  |  |  |  |  |  |  |  |  247|      7|                })                                                                                           \
  |  |  |  |  |  |  |  |  248|      7|            }                                                                                                \
  |  |  |  |  |  |  |  |  249|      7|        }                                                                                                    \
  |  |  |  |  |  |  |  |  250|      7|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (250:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  419|      7|            IF_HASH_NONFATAL_OOM(if (!_ha_oomed) { )                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  120|     14|#define IF_HASH_NONFATAL_OOM(x) x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (120:33): [True: 7, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  420|      7|      (head) = (add);                                                                                        \
  |  |  |  |  |  |  421|      7|    IF_HASH_NONFATAL_OOM(                                                                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  120|     14|#define IF_HASH_NONFATAL_OOM(x) x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  422|      7|            })                                                                                               \
  |  |  |  |  |  |  423|      7|        }                                                                                                    \
  |  |  |  |  |  |  424|     67|        else {                                                                                               \
  |  |  |  |  |  |  425|     60|            (add)->hh.tbl = (head)->hh.tbl;                                                                  \
  |  |  |  |  |  |  426|     60|            HASH_APPEND_LIST(hh, head, add);                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  287|     60|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  288|     60|        (add)->hh.next             = NULL;                                                                   \
  |  |  |  |  |  |  |  |  289|     60|        (add)->hh.prev             = ELMT_FROM_HH((head)->hh.tbl, (head)->hh.tbl->tail);                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  140|     60|#define ELMT_FROM_HH(tbl, hhp) ((void *)(((char *)(hhp)) - ((tbl)->hho)))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  290|     60|        (head)->hh.tbl->tail->next = (add);                                                                  \
  |  |  |  |  |  |  |  |  291|     60|        (head)->hh.tbl->tail       = &((add)->hh);                                                           \
  |  |  |  |  |  |  |  |  292|     60|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (292:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  427|     60|        }                                                                                                    \
  |  |  |  |  |  |  428|     67|        HASH_ADD_TO_TABLE(hh, head, keyptr, keylen_in, hashval, add, _ha_oomed);                             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  322|     67|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  323|     67|        if (!(oomed)) {                                                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (323:13): [True: 67, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  324|     67|            unsigned _ha_bkt;                                                                                \
  |  |  |  |  |  |  |  |  325|     67|            (head)->hh.tbl->num_items++;                                                                     \
  |  |  |  |  |  |  |  |  326|     67|            HASH_TO_BKT(hashval, (head)->hh.tbl->num_buckets, _ha_bkt);                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  446|     67|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  447|     67|        bkt = ((hashv) & ((num_bkts)-1U));                                                                   \
  |  |  |  |  |  |  |  |  |  |  448|     67|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (448:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  327|     67|            HASH_ADD_TO_BKT((head)->hh.tbl->buckets[_ha_bkt], hh, &(add)->hh, oomed);                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  813|     67|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  814|     67|        UT_hash_bucket *_ha_head = &(head);                                                                  \
  |  |  |  |  |  |  |  |  |  |  815|     67|        _ha_head->count++;                                                                                   \
  |  |  |  |  |  |  |  |  |  |  816|     67|        (addhh)->hh_next = _ha_head->hh_head;                                                                \
  |  |  |  |  |  |  |  |  |  |  817|     67|        (addhh)->hh_prev = NULL;                                                                             \
  |  |  |  |  |  |  |  |  |  |  818|     67|        if (_ha_head->hh_head != NULL) {                                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (818:13): [True: 19, False: 48]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  819|     19|            _ha_head->hh_head->hh_prev = (addhh);                                                            \
  |  |  |  |  |  |  |  |  |  |  820|     19|        }                                                                                                    \
  |  |  |  |  |  |  |  |  |  |  821|     67|        _ha_head->hh_head = (addhh);                                                                         \
  |  |  |  |  |  |  |  |  |  |  822|     67|        if ((_ha_head->count >= ((_ha_head->expand_mult + 1U) * HASH_BKT_CAPACITY_THRESH)) &&                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  137|     67|#define HASH_BKT_CAPACITY_THRESH      10U /* expand when bucket count reaches */
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (822:13): [True: 0, False: 67]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  823|     67|            !(addhh)->tbl->noexpand) {                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (823:13): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  824|      0|            HASH_EXPAND_BUCKETS(addhh, (addhh)->tbl, oomed);                                                 \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  875|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |  876|      0|        unsigned               _he_bkt;                                                                      \
  |  |  |  |  |  |  |  |  |  |  |  |  877|      0|        unsigned               _he_bkt_i;                                                                    \
  |  |  |  |  |  |  |  |  |  |  |  |  878|      0|        struct UT_hash_handle *_he_thh, *_he_hh_nxt;                                                         \
  |  |  |  |  |  |  |  |  |  |  |  |  879|      0|        UT_hash_bucket        *_he_new_buckets, *_he_newbkt;                                                 \
  |  |  |  |  |  |  |  |  |  |  |  |  880|      0|        _he_new_buckets =                                                                                    \
  |  |  |  |  |  |  |  |  |  |  |  |  881|      0|            (UT_hash_bucket *)uthash_malloc(sizeof(struct UT_hash_bucket) * (tbl)->num_buckets * 2U);        \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  157|      0|#define uthash_malloc(sz)    H5MM_malloc(sz)
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |   38|      0|#define H5MM_malloc(Z) malloc(Z)
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  882|      0|        if (!_he_new_buckets) {                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (882:13): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  883|      0|            HASH_RECORD_OOM(oomed);                                                                          \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  117|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  118|      0|        (oomed) = 1;                                                                                         \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  119|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (119:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  884|      0|        }                                                                                                    \
  |  |  |  |  |  |  |  |  |  |  |  |  885|      0|        else {                                                                                               \
  |  |  |  |  |  |  |  |  |  |  |  |  886|      0|            uthash_bzero(_he_new_buckets, sizeof(struct UT_hash_bucket) * (tbl)->num_buckets * 2U);          \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |   82|      0|#define uthash_bzero(a, n) memset(a, '\0', n)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  887|      0|            (tbl)->ideal_chain_maxlen =                                                                      \
  |  |  |  |  |  |  |  |  |  |  |  |  888|      0|                ((tbl)->num_items >> ((tbl)->log2_num_buckets + 1U)) +                                       \
  |  |  |  |  |  |  |  |  |  |  |  |  889|      0|                ((((tbl)->num_items & (((tbl)->num_buckets * 2U) - 1U)) != 0U) ? 1U : 0U);                   \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (889:18): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  890|      0|            (tbl)->nonideal_items = 0;                                                                       \
  |  |  |  |  |  |  |  |  |  |  |  |  891|      0|            for (_he_bkt_i = 0; _he_bkt_i < (tbl)->num_buckets; _he_bkt_i++) {                               \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (891:33): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  892|      0|                _he_thh = (tbl)->buckets[_he_bkt_i].hh_head;                                                 \
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|                while (_he_thh != NULL) {                                                                    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (893:24): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  894|      0|                    _he_hh_nxt = _he_thh->hh_next;                                                           \
  |  |  |  |  |  |  |  |  |  |  |  |  895|      0|                    HASH_TO_BKT(_he_thh->hashv, (tbl)->num_buckets * 2U, _he_bkt);                           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  446|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  447|      0|        bkt = ((hashv) & ((num_bkts)-1U));                                                                   \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  448|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (448:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  896|      0|                    _he_newbkt = &(_he_new_buckets[_he_bkt]);                                                \
  |  |  |  |  |  |  |  |  |  |  |  |  897|      0|                    if (++(_he_newbkt->count) > (tbl)->ideal_chain_maxlen) {                                 \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (897:25): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  898|      0|                        (tbl)->nonideal_items++;                                                             \
  |  |  |  |  |  |  |  |  |  |  |  |  899|      0|                        if (_he_newbkt->count > _he_newbkt->expand_mult * (tbl)->ideal_chain_maxlen) {       \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (899:29): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  900|      0|                            _he_newbkt->expand_mult++;                                                       \
  |  |  |  |  |  |  |  |  |  |  |  |  901|      0|                        }                                                                                    \
  |  |  |  |  |  |  |  |  |  |  |  |  902|      0|                    }                                                                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  903|      0|                    _he_thh->hh_prev = NULL;                                                                 \
  |  |  |  |  |  |  |  |  |  |  |  |  904|      0|                    _he_thh->hh_next = _he_newbkt->hh_head;                                                  \
  |  |  |  |  |  |  |  |  |  |  |  |  905|      0|                    if (_he_newbkt->hh_head != NULL) {                                                       \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (905:25): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  906|      0|                        _he_newbkt->hh_head->hh_prev = _he_thh;                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  907|      0|                    }                                                                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  908|      0|                    _he_newbkt->hh_head = _he_thh;                                                           \
  |  |  |  |  |  |  |  |  |  |  |  |  909|      0|                    _he_thh             = _he_hh_nxt;                                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  910|      0|                }                                                                                            \
  |  |  |  |  |  |  |  |  |  |  |  |  911|      0|            }                                                                                                \
  |  |  |  |  |  |  |  |  |  |  |  |  912|      0|            uthash_free((tbl)->buckets, (tbl)->num_buckets * sizeof(struct UT_hash_bucket));                 \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  158|      0|#define uthash_free(ptr, sz) H5MM_free(ptr) /* Ignoring sz is intentional */
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |   37|      0|#define H5MM_free(Z)   free(Z)
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  913|      0|            (tbl)->num_buckets *= 2U;                                                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  914|      0|            (tbl)->log2_num_buckets++;                                                                       \
  |  |  |  |  |  |  |  |  |  |  |  |  915|      0|            (tbl)->buckets = _he_new_buckets;                                                                \
  |  |  |  |  |  |  |  |  |  |  |  |  916|      0|            (tbl)->ineff_expands =                                                                           \
  |  |  |  |  |  |  |  |  |  |  |  |  917|      0|                ((tbl)->nonideal_items > ((tbl)->num_items >> 1)) ? ((tbl)->ineff_expands + 1U) : 0U;        \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (917:17): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  918|      0|            if ((tbl)->ineff_expands > 1U) {                                                                 \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (918:17): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  919|      0|                (tbl)->noexpand = 1;                                                                         \
  |  |  |  |  |  |  |  |  |  |  |  |  920|      0|                uthash_noexpand_fyi(tbl);                                                                    \
  |  |  |  |  |  |  |  |  |  |  |  |  921|      0|            }                                                                                                \
  |  |  |  |  |  |  |  |  |  |  |  |  922|      0|            uthash_expand_fyi(tbl);                                                                          \
  |  |  |  |  |  |  |  |  |  |  |  |  923|      0|        }                                                                                                    \
  |  |  |  |  |  |  |  |  |  |  |  |  924|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (924:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  825|      0|            IF_HASH_NONFATAL_OOM(if (oomed) { HASH_DEL_IN_BKT(head, addhh); })                               \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  120|      0|#define IF_HASH_NONFATAL_OOM(x) x
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (120:33): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (120:33): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (120:33): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (120:33): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (120:33): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  826|      0|        }                                                                                                    \
  |  |  |  |  |  |  |  |  |  |  827|     67|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (827:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  328|     67|            if (oomed) {                                                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (328:17): [True: 0, False: 67]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|                HASH_ROLLBACK_BKT(hh, head, &(add)->hh);                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  145|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  146|      0|        struct UT_hash_handle *_hd_hh_item = (itemptrhh);                                                    \
  |  |  |  |  |  |  |  |  |  |  147|      0|        unsigned               _hd_bkt;                                                                      \
  |  |  |  |  |  |  |  |  |  |  148|      0|        HASH_TO_BKT(_hd_hh_item->hashv, (head)->hh.tbl->num_buckets, _hd_bkt);                               \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  446|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |  447|      0|        bkt = ((hashv) & ((num_bkts)-1U));                                                                   \
  |  |  |  |  |  |  |  |  |  |  |  |  448|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (448:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  149|      0|        (head)->hh.tbl->buckets[_hd_bkt].count++;                                                            \
  |  |  |  |  |  |  |  |  |  |  150|      0|        _hd_hh_item->hh_next = NULL;                                                                         \
  |  |  |  |  |  |  |  |  |  |  151|      0|        _hd_hh_item->hh_prev = NULL;                                                                         \
  |  |  |  |  |  |  |  |  |  |  152|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (152:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  330|      0|                HASH_DELETE_HH(hh, head, &(add)->hh);                                                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  465|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  466|      0|        struct UT_hash_handle *_hd_hh_del = (delptrhh);                                                      \
  |  |  |  |  |  |  |  |  |  |  467|      0|        if ((_hd_hh_del->prev == NULL) && (_hd_hh_del->next == NULL)) {                                      \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (467:13): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  Branch (467:43): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  468|      0|            HASH_BLOOM_FREE((head)->hh.tbl);                                                                 \
  |  |  |  |  |  |  |  |  |  |  469|      0|            uthash_free((head)->hh.tbl->buckets,                                                             \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  158|      0|#define uthash_free(ptr, sz) H5MM_free(ptr) /* Ignoring sz is intentional */
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |   37|      0|#define H5MM_free(Z)   free(Z)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  470|      0|                        (head)->hh.tbl->num_buckets * sizeof(struct UT_hash_bucket));                        \
  |  |  |  |  |  |  |  |  |  |  471|      0|            uthash_free((head)->hh.tbl, sizeof(UT_hash_table));                                              \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  158|      0|#define uthash_free(ptr, sz) H5MM_free(ptr) /* Ignoring sz is intentional */
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |   37|      0|#define H5MM_free(Z)   free(Z)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  472|      0|            (head) = NULL;                                                                                   \
  |  |  |  |  |  |  |  |  |  |  473|      0|        }                                                                                                    \
  |  |  |  |  |  |  |  |  |  |  474|      0|        else {                                                                                               \
  |  |  |  |  |  |  |  |  |  |  475|      0|            unsigned _hd_bkt;                                                                                \
  |  |  |  |  |  |  |  |  |  |  476|      0|            if (_hd_hh_del == (head)->hh.tbl->tail) {                                                        \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (476:17): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  477|      0|                (head)->hh.tbl->tail = HH_FROM_ELMT((head)->hh.tbl, _hd_hh_del->prev);                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  142|      0|#define HH_FROM_ELMT(tbl, elp) ((UT_hash_handle *)(void *)(((char *)(elp)) + ((tbl)->hho)))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  478|      0|            }                                                                                                \
  |  |  |  |  |  |  |  |  |  |  479|      0|            if (_hd_hh_del->prev != NULL) {                                                                  \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (479:17): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  480|      0|                HH_FROM_ELMT((head)->hh.tbl, _hd_hh_del->prev)->next = _hd_hh_del->next;                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  142|      0|#define HH_FROM_ELMT(tbl, elp) ((UT_hash_handle *)(void *)(((char *)(elp)) + ((tbl)->hho)))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  481|      0|            }                                                                                                \
  |  |  |  |  |  |  |  |  |  |  482|      0|            else {                                                                                           \
  |  |  |  |  |  |  |  |  |  |  483|      0|                DECLTYPE_ASSIGN(head, _hd_hh_del->next);                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   70|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   71|      0|        (dst) = DECLTYPE(dst)(src);                                                                          \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |   57|      0|#define DECLTYPE(x) (__typeof(x))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   72|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (72:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  484|      0|            }                                                                                                \
  |  |  |  |  |  |  |  |  |  |  485|      0|            if (_hd_hh_del->next != NULL) {                                                                  \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (485:17): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  486|      0|                HH_FROM_ELMT((head)->hh.tbl, _hd_hh_del->next)->prev = _hd_hh_del->prev;                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  142|      0|#define HH_FROM_ELMT(tbl, elp) ((UT_hash_handle *)(void *)(((char *)(elp)) + ((tbl)->hho)))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  487|      0|            }                                                                                                \
  |  |  |  |  |  |  |  |  |  |  488|      0|            HASH_TO_BKT(_hd_hh_del->hashv, (head)->hh.tbl->num_buckets, _hd_bkt);                            \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  446|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |  447|      0|        bkt = ((hashv) & ((num_bkts)-1U));                                                                   \
  |  |  |  |  |  |  |  |  |  |  |  |  448|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (448:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  489|      0|            HASH_DEL_IN_BKT((head)->hh.tbl->buckets[_hd_bkt], _hd_hh_del);                                   \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  831|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |  832|      0|        UT_hash_bucket *_hd_head = &(head);                                                                  \
  |  |  |  |  |  |  |  |  |  |  |  |  833|      0|        _hd_head->count--;                                                                                   \
  |  |  |  |  |  |  |  |  |  |  |  |  834|      0|        if (_hd_head->hh_head == (delhh)) {                                                                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (834:13): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  835|      0|            _hd_head->hh_head = (delhh)->hh_next;                                                            \
  |  |  |  |  |  |  |  |  |  |  |  |  836|      0|        }                                                                                                    \
  |  |  |  |  |  |  |  |  |  |  |  |  837|      0|        if ((delhh)->hh_prev) {                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (837:13): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  838|      0|            (delhh)->hh_prev->hh_next = (delhh)->hh_next;                                                    \
  |  |  |  |  |  |  |  |  |  |  |  |  839|      0|        }                                                                                                    \
  |  |  |  |  |  |  |  |  |  |  |  |  840|      0|        if ((delhh)->hh_next) {                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (840:13): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  841|      0|            (delhh)->hh_next->hh_prev = (delhh)->hh_prev;                                                    \
  |  |  |  |  |  |  |  |  |  |  |  |  842|      0|        }                                                                                                    \
  |  |  |  |  |  |  |  |  |  |  |  |  843|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (843:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  490|      0|            (head)->hh.tbl->num_items--;                                                                     \
  |  |  |  |  |  |  |  |  |  |  491|      0|        }                                                                                                    \
  |  |  |  |  |  |  |  |  |  |  492|      0|        HASH_FSCK(hh, head, "HASH_DELETE_HH");                                                               \
  |  |  |  |  |  |  |  |  |  |  493|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (493:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  331|      0|                (add)->hh.tbl = NULL;                                                                        \
  |  |  |  |  |  |  |  |  332|      0|                uthash_nonfatal_oom(add);                                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  113|      0|    } while (0) /* non-fatal OOM error */
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  333|      0|            }                                                                                                \
  |  |  |  |  |  |  |  |  334|     67|            else {                                                                                           \
  |  |  |  |  |  |  |  |  335|     67|                HASH_BLOOM_ADD((head)->hh.tbl, hashval);                                                     \
  |  |  |  |  |  |  |  |  336|     67|                HASH_EMIT_KEY(hh, head, keyptr, keylen_in);                                                  \
  |  |  |  |  |  |  |  |  337|     67|            }                                                                                                \
  |  |  |  |  |  |  |  |  338|     67|        }                                                                                                    \
  |  |  |  |  |  |  |  |  339|     67|        else {                                                                                               \
  |  |  |  |  |  |  |  |  340|      0|            (add)->hh.tbl = NULL;                                                                            \
  |  |  |  |  |  |  |  |  341|      0|            uthash_nonfatal_oom(add);                                                                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  113|      0|    } while (0) /* non-fatal OOM error */
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  342|      0|        }                                                                                                    \
  |  |  |  |  |  |  |  |  343|     67|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (343:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  429|     67|        HASH_FSCK(hh, head, "HASH_ADD_KEYPTR_BYHASHVALUE");                                                  \
  |  |  |  |  |  |  430|     67|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (430:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  437|     67|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (437:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  233|     67|    }
  234|     51|    else
  235|     51|        assert(tag_info->corked || (tag_info->entry_cnt > 0 && tag_info->head));
  236|       |
  237|       |    /* Sanity check entry, to avoid double insertions, etc */
  238|    118|    assert(entry->tl_next == NULL);
  239|    118|    assert(entry->tl_prev == NULL);
  240|    118|    assert(entry->tag_info == NULL);
  241|       |
  242|       |    /* Add the entry to the list for the tagged object */
  243|    118|    entry->tl_next  = tag_info->head;
  244|    118|    entry->tag_info = tag_info;
  245|    118|    if (tag_info->head)
  ------------------
  |  Branch (245:9): [True: 51, False: 67]
  ------------------
  246|     51|        tag_info->head->tl_prev = entry;
  247|    118|    tag_info->head = entry;
  248|    118|    tag_info->entry_cnt++;
  249|       |
  250|    118|done:
  251|    118|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    118|    ;                                                                                                        \
  |  | 1573|    118|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    118|    return (ret_value);                                                                                      \
  |  | 1575|    118|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  252|    118|} /* H5C__tag_entry */
H5C__untag_entry:
  266|    118|{
  267|    118|    H5C_tag_info_t *tag_info;            /* Points to a tag info struct */
  268|    118|    herr_t          ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    118|#define SUCCEED 0
  ------------------
  269|       |
  270|    118|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|    118|    {                                                                                                        \
  |  | 1467|    118|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|    118|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|    118|        {
  ------------------
  271|       |
  272|       |    /* Assertions */
  273|    118|    assert(cache != NULL);
  274|    118|    assert(entry != NULL);
  275|       |
  276|       |    /* Get the entry's tag info struct */
  277|    118|    if (NULL != (tag_info = entry->tag_info)) {
  ------------------
  |  Branch (277:9): [True: 118, False: 0]
  ------------------
  278|       |        /* Remove the entry from the list */
  279|    118|        if (entry->tl_next)
  ------------------
  |  Branch (279:13): [True: 22, False: 96]
  ------------------
  280|     22|            entry->tl_next->tl_prev = entry->tl_prev;
  281|    118|        if (entry->tl_prev)
  ------------------
  |  Branch (281:13): [True: 38, False: 80]
  ------------------
  282|     38|            entry->tl_prev->tl_next = entry->tl_next;
  283|    118|        if (tag_info->head == entry)
  ------------------
  |  Branch (283:13): [True: 80, False: 38]
  ------------------
  284|     80|            tag_info->head = entry->tl_next;
  285|    118|        tag_info->entry_cnt--;
  286|       |
  287|       |        /* Reset pointers, to avoid confusion */
  288|    118|        entry->tl_next  = NULL;
  289|    118|        entry->tl_prev  = NULL;
  290|    118|        entry->tag_info = NULL;
  291|       |
  292|       |        /* Remove the tag info from the tag list, if there's no more entries with this tag */
  293|    118|        if (!tag_info->corked && 0 == tag_info->entry_cnt) {
  ------------------
  |  Branch (293:13): [True: 118, False: 0]
  |  Branch (293:34): [True: 67, False: 51]
  ------------------
  294|       |            /* Sanity check */
  295|     67|            assert(NULL == tag_info->head);
  296|       |
  297|       |            /* Release the tag info */
  298|     67|            HASH_DELETE(hh, cache->tag_list, tag_info);
  ------------------
  |  |  462|     67|#define HASH_DELETE(hh, head, delptr) HASH_DELETE_HH(hh, head, &(delptr)->hh)
  |  |  ------------------
  |  |  |  |  465|     67|    do {                                                                                                     \
  |  |  |  |  466|     67|        struct UT_hash_handle *_hd_hh_del = (delptrhh);                                                      \
  |  |  |  |  467|     67|        if ((_hd_hh_del->prev == NULL) && (_hd_hh_del->next == NULL)) {                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (467:13): [True: 7, False: 60]
  |  |  |  |  |  Branch (467:43): [True: 7, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  468|      7|            HASH_BLOOM_FREE((head)->hh.tbl);                                                                 \
  |  |  |  |  469|      7|            uthash_free((head)->hh.tbl->buckets,                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      7|#define uthash_free(ptr, sz) H5MM_free(ptr) /* Ignoring sz is intentional */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|      7|#define H5MM_free(Z)   free(Z)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  470|      7|                        (head)->hh.tbl->num_buckets * sizeof(struct UT_hash_bucket));                        \
  |  |  |  |  471|      7|            uthash_free((head)->hh.tbl, sizeof(UT_hash_table));                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      7|#define uthash_free(ptr, sz) H5MM_free(ptr) /* Ignoring sz is intentional */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|      7|#define H5MM_free(Z)   free(Z)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  472|      7|            (head) = NULL;                                                                                   \
  |  |  |  |  473|      7|        }                                                                                                    \
  |  |  |  |  474|     67|        else {                                                                                               \
  |  |  |  |  475|     60|            unsigned _hd_bkt;                                                                                \
  |  |  |  |  476|     60|            if (_hd_hh_del == (head)->hh.tbl->tail) {                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (476:17): [True: 16, False: 44]
  |  |  |  |  ------------------
  |  |  |  |  477|     16|                (head)->hh.tbl->tail = HH_FROM_ELMT((head)->hh.tbl, _hd_hh_del->prev);                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  142|     16|#define HH_FROM_ELMT(tbl, elp) ((UT_hash_handle *)(void *)(((char *)(elp)) + ((tbl)->hho)))
  |  |  |  |  ------------------
  |  |  |  |  478|     16|            }                                                                                                \
  |  |  |  |  479|     60|            if (_hd_hh_del->prev != NULL) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (479:17): [True: 60, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  480|     60|                HH_FROM_ELMT((head)->hh.tbl, _hd_hh_del->prev)->next = _hd_hh_del->next;                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |  142|     60|#define HH_FROM_ELMT(tbl, elp) ((UT_hash_handle *)(void *)(((char *)(elp)) + ((tbl)->hho)))
  |  |  |  |  ------------------
  |  |  |  |  481|     60|            }                                                                                                \
  |  |  |  |  482|     60|            else {                                                                                           \
  |  |  |  |  483|      0|                DECLTYPE_ASSIGN(head, _hd_hh_del->next);                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|    do {                                                                                                     \
  |  |  |  |  |  |   71|      0|        (dst) = DECLTYPE(dst)(src);                                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   57|      0|#define DECLTYPE(x) (__typeof(x))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   72|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (72:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  484|      0|            }                                                                                                \
  |  |  |  |  485|     60|            if (_hd_hh_del->next != NULL) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (485:17): [True: 44, False: 16]
  |  |  |  |  ------------------
  |  |  |  |  486|     44|                HH_FROM_ELMT((head)->hh.tbl, _hd_hh_del->next)->prev = _hd_hh_del->prev;                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |  142|     44|#define HH_FROM_ELMT(tbl, elp) ((UT_hash_handle *)(void *)(((char *)(elp)) + ((tbl)->hho)))
  |  |  |  |  ------------------
  |  |  |  |  487|     44|            }                                                                                                \
  |  |  |  |  488|     60|            HASH_TO_BKT(_hd_hh_del->hashv, (head)->hh.tbl->num_buckets, _hd_bkt);                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  446|     60|    do {                                                                                                     \
  |  |  |  |  |  |  447|     60|        bkt = ((hashv) & ((num_bkts)-1U));                                                                   \
  |  |  |  |  |  |  448|     60|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (448:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  489|     60|            HASH_DEL_IN_BKT((head)->hh.tbl->buckets[_hd_bkt], _hd_hh_del);                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  831|     60|    do {                                                                                                     \
  |  |  |  |  |  |  832|     60|        UT_hash_bucket *_hd_head = &(head);                                                                  \
  |  |  |  |  |  |  833|     60|        _hd_head->count--;                                                                                   \
  |  |  |  |  |  |  834|     60|        if (_hd_head->hh_head == (delhh)) {                                                                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (834:13): [True: 45, False: 15]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  835|     45|            _hd_head->hh_head = (delhh)->hh_next;                                                            \
  |  |  |  |  |  |  836|     45|        }                                                                                                    \
  |  |  |  |  |  |  837|     60|        if ((delhh)->hh_prev) {                                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (837:13): [True: 15, False: 45]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  838|     15|            (delhh)->hh_prev->hh_next = (delhh)->hh_next;                                                    \
  |  |  |  |  |  |  839|     15|        }                                                                                                    \
  |  |  |  |  |  |  840|     60|        if ((delhh)->hh_next) {                                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (840:13): [True: 4, False: 56]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  841|      4|            (delhh)->hh_next->hh_prev = (delhh)->hh_prev;                                                    \
  |  |  |  |  |  |  842|      4|        }                                                                                                    \
  |  |  |  |  |  |  843|     60|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (843:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  490|     60|            (head)->hh.tbl->num_items--;                                                                     \
  |  |  |  |  491|     60|        }                                                                                                    \
  |  |  |  |  492|     67|        HASH_FSCK(hh, head, "HASH_DELETE_HH");                                                               \
  |  |  |  |  493|     67|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (493:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  299|     67|            tag_info = H5FL_FREE(H5C_tag_info_t, tag_info);
  ------------------
  |  |   81|     67|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|     67|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  300|     67|        }
  301|     51|        else
  302|     51|            assert(tag_info->corked || NULL != tag_info->head);
  303|    118|    }
  304|       |
  305|    118|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    118|    ;                                                                                                        \
  |  | 1573|    118|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    118|    return (ret_value);                                                                                      \
  |  | 1575|    118|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  306|    118|} /* H5C__untag_entry */

H5Dopen2:
  391|     52|{
  392|     52|    hid_t ret_value = H5I_INVALID_HID; /* Return value */
  ------------------
  |  |   75|     52|#define H5I_INVALID_HID (-1)
  ------------------
  393|       |
  394|    104|    FUNC_ENTER_API(H5I_INVALID_HID)
  ------------------
  |  | 1300|     52|    {                                                                                                        \
  |  | 1301|     52|        {                                                                                                    \
  |  | 1302|     52|            bool api_ctx_pushed = false;                                                                     \
  |  | 1303|     52|                                                                                                             \
  |  | 1304|     52|            FUNC_ENTER_API_COMMON                                                                            \
  |  |  ------------------
  |  |  |  | 1281|     52|    FUNC_ENTER_COMMON(H5_IS_API(__func__));                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1265|     52|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  | 1266|     52|                                                                                                             \
  |  |  |  |  |  | 1267|     52|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  ------------------
  |  |  |  | 1282|     52|    FUNC_ENTER_API_THREADSAFE;
  |  |  ------------------
  |  | 1305|     52|            FUNC_ENTER_API_INIT(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1286|     52|    if (H5_UNLIKELY(!H5_INIT_GLOBAL && !H5_TERM_GLOBAL)) {                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     52|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 52]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 52]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1287|      0|        if (H5_UNLIKELY(H5_init_library() < 0))                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      0|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1288|      0|            HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, err, "library initialization failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1289|      0|    }
  |  |  ------------------
  |  | 1306|     52|            FUNC_ENTER_API_PUSH(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1293|     52|    if (H5_UNLIKELY(H5CX_push() < 0))                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     52|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 52]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1294|     52|        HGOTO_ERROR(H5E_FUNC, H5E_CANTSET, err, "can't set API context");                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1295|     52|    else                                                                                                     \
  |  |  |  | 1296|     52|        api_ctx_pushed = true;
  |  |  ------------------
  |  | 1307|     52|            /* Clear thread error stack entering public functions */                                         \
  |  | 1308|     52|            H5E_clear_stack();                                                                               \
  |  | 1309|     52|            {
  ------------------
  395|       |
  396|       |    /* Open the dataset synchronously */
  397|    104|    if ((ret_value = H5D__open_api_common(loc_id, name, dapl_id, NULL, NULL)) < 0)
  ------------------
  |  Branch (397:9): [True: 9, False: 43]
  ------------------
  398|      9|        HGOTO_ERROR(H5E_DATASET, H5E_CANTOPENOBJ, H5I_INVALID_HID, "unable to synchronously open dataset");
  ------------------
  |  |   68|      9|    do {                                                                                                     \
  |  |   69|      9|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      9|    do {                                                                                                     \
  |  |  |  |   40|      9|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      9|    do {                                                                                                     \
  |  |  |  |  |  |   31|      9|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      9|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      9|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      9|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      9|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      9|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      9|    do {                                                                                                     \
  |  |  |  |   92|      9|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      9|        goto done;                                                                                           \
  |  |  |  |   94|      9|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      9|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  399|       |
  400|     52|done:
  401|     52|    FUNC_LEAVE_API(ret_value)
  ------------------
  |  | 1509|     52|    ;                                                                                                        \
  |  | 1510|     52|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1511|     52|    if (H5_LIKELY(api_ctx_pushed)) {                                                                         \
  |  |  ------------------
  |  |  |  |  167|     52|#define H5_LIKELY(expression)   __builtin_expect(!!(expression), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (167:33): [True: 52, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1512|     52|        (void)H5CX_pop(true);                                                                                \
  |  | 1513|     52|        api_ctx_pushed = false;                                                                              \
  |  | 1514|     52|    }                                                                                                        \
  |  | 1515|     52|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|     52|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 9, False: 43]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1516|     52|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1517|     52|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1518|     52|    return (ret_value);                                                                                      \
  |  | 1519|     52|    }                                                                                                        \
  |  | 1520|     52|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  402|    104|} /* end H5Dopen2() */
H5Dclose:
  461|     99|{
  462|     99|    herr_t ret_value = SUCCEED; /* Return value                     */
  ------------------
  |  |  283|     99|#define SUCCEED 0
  ------------------
  463|       |
  464|    198|    FUNC_ENTER_API(FAIL)
  ------------------
  |  | 1300|     99|    {                                                                                                        \
  |  | 1301|     99|        {                                                                                                    \
  |  | 1302|     99|            bool api_ctx_pushed = false;                                                                     \
  |  | 1303|     99|                                                                                                             \
  |  | 1304|     99|            FUNC_ENTER_API_COMMON                                                                            \
  |  |  ------------------
  |  |  |  | 1281|     99|    FUNC_ENTER_COMMON(H5_IS_API(__func__));                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1265|     99|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  | 1266|     99|                                                                                                             \
  |  |  |  |  |  | 1267|     99|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  ------------------
  |  |  |  | 1282|     99|    FUNC_ENTER_API_THREADSAFE;
  |  |  ------------------
  |  | 1305|     99|            FUNC_ENTER_API_INIT(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1286|     99|    if (H5_UNLIKELY(!H5_INIT_GLOBAL && !H5_TERM_GLOBAL)) {                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     99|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 99]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 99]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1287|      0|        if (H5_UNLIKELY(H5_init_library() < 0))                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      0|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1288|      0|            HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, err, "library initialization failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1289|      0|    }
  |  |  ------------------
  |  | 1306|     99|            FUNC_ENTER_API_PUSH(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1293|     99|    if (H5_UNLIKELY(H5CX_push() < 0))                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     99|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 99]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1294|     99|        HGOTO_ERROR(H5E_FUNC, H5E_CANTSET, err, "can't set API context");                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1295|     99|    else                                                                                                     \
  |  |  |  | 1296|     99|        api_ctx_pushed = true;
  |  |  ------------------
  |  | 1307|     99|            /* Clear thread error stack entering public functions */                                         \
  |  | 1308|     99|            H5E_clear_stack();                                                                               \
  |  | 1309|     99|            {
  ------------------
  465|       |
  466|       |    /* Check args */
  467|    198|    if (H5I_DATASET != H5I_get_type(dset_id))
  ------------------
  |  Branch (467:9): [True: 6, False: 93]
  ------------------
  468|      6|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a dataset ID");
  ------------------
  |  |   68|      6|    do {                                                                                                     \
  |  |   69|      6|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      6|    do {                                                                                                     \
  |  |  |  |   40|      6|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      6|    do {                                                                                                     \
  |  |  |  |  |  |   31|      6|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      6|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      6|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      6|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      6|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      6|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      6|    do {                                                                                                     \
  |  |  |  |   92|      6|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      6|        goto done;                                                                                           \
  |  |  |  |   94|      6|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      6|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  469|       |
  470|       |    /* Decrement the counter on the dataset.  It will be freed if the count
  471|       |     * reaches zero.
  472|       |     */
  473|     93|    if (H5I_dec_app_ref_always_close(dset_id) < 0)
  ------------------
  |  Branch (473:9): [True: 0, False: 93]
  ------------------
  474|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTDEC, FAIL, "can't decrement count on dataset ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  475|       |
  476|     99|done:
  477|     99|    FUNC_LEAVE_API(ret_value)
  ------------------
  |  | 1509|     99|    ;                                                                                                        \
  |  | 1510|     99|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1511|     99|    if (H5_LIKELY(api_ctx_pushed)) {                                                                         \
  |  |  ------------------
  |  |  |  |  167|     99|#define H5_LIKELY(expression)   __builtin_expect(!!(expression), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (167:33): [True: 99, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1512|     99|        (void)H5CX_pop(true);                                                                                \
  |  | 1513|     99|        api_ctx_pushed = false;                                                                              \
  |  | 1514|     99|    }                                                                                                        \
  |  | 1515|     99|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|     99|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 6, False: 93]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1516|     99|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1517|     99|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1518|     99|    return (ret_value);                                                                                      \
  |  | 1519|     99|    }                                                                                                        \
  |  | 1520|     99|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  478|     93|} /* end H5Dclose() */
H5Dget_space:
  595|     43|{
  596|     43|    hid_t ret_value = H5I_INVALID_HID; /* Return value */
  ------------------
  |  |   75|     43|#define H5I_INVALID_HID (-1)
  ------------------
  597|       |
  598|     86|    FUNC_ENTER_API(H5I_INVALID_HID)
  ------------------
  |  | 1300|     43|    {                                                                                                        \
  |  | 1301|     43|        {                                                                                                    \
  |  | 1302|     43|            bool api_ctx_pushed = false;                                                                     \
  |  | 1303|     43|                                                                                                             \
  |  | 1304|     43|            FUNC_ENTER_API_COMMON                                                                            \
  |  |  ------------------
  |  |  |  | 1281|     43|    FUNC_ENTER_COMMON(H5_IS_API(__func__));                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1265|     43|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  | 1266|     43|                                                                                                             \
  |  |  |  |  |  | 1267|     43|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  ------------------
  |  |  |  | 1282|     43|    FUNC_ENTER_API_THREADSAFE;
  |  |  ------------------
  |  | 1305|     43|            FUNC_ENTER_API_INIT(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1286|     43|    if (H5_UNLIKELY(!H5_INIT_GLOBAL && !H5_TERM_GLOBAL)) {                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     43|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 43]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 43]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1287|      0|        if (H5_UNLIKELY(H5_init_library() < 0))                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      0|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1288|      0|            HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, err, "library initialization failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1289|      0|    }
  |  |  ------------------
  |  | 1306|     43|            FUNC_ENTER_API_PUSH(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1293|     43|    if (H5_UNLIKELY(H5CX_push() < 0))                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     43|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 43]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1294|     43|        HGOTO_ERROR(H5E_FUNC, H5E_CANTSET, err, "can't set API context");                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1295|     43|    else                                                                                                     \
  |  |  |  | 1296|     43|        api_ctx_pushed = true;
  |  |  ------------------
  |  | 1307|     43|            /* Clear thread error stack entering public functions */                                         \
  |  | 1308|     43|            H5E_clear_stack();                                                                               \
  |  | 1309|     43|            {
  ------------------
  599|       |
  600|       |    /* Get the dataset's dataspace synchronously */
  601|     86|    if ((ret_value = H5D__get_space_api_common(dset_id, NULL, NULL)) < 0)
  ------------------
  |  Branch (601:9): [True: 3, False: 40]
  ------------------
  602|      3|        HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, H5I_INVALID_HID, "unable to synchronously get dataspace");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  603|       |
  604|     43|done:
  605|     43|    FUNC_LEAVE_API(ret_value)
  ------------------
  |  | 1509|     43|    ;                                                                                                        \
  |  | 1510|     43|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1511|     43|    if (H5_LIKELY(api_ctx_pushed)) {                                                                         \
  |  |  ------------------
  |  |  |  |  167|     43|#define H5_LIKELY(expression)   __builtin_expect(!!(expression), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (167:33): [True: 43, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1512|     43|        (void)H5CX_pop(true);                                                                                \
  |  | 1513|     43|        api_ctx_pushed = false;                                                                              \
  |  | 1514|     43|    }                                                                                                        \
  |  | 1515|     43|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|     43|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 3, False: 40]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1516|     43|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1517|     43|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1518|     43|    return (ret_value);                                                                                      \
  |  | 1519|     43|    }                                                                                                        \
  |  | 1520|     43|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  606|     86|} /* end H5Dget_space() */
H5Dget_type:
  704|     40|{
  705|     40|    H5VL_object_t          *vol_obj;                     /* Object for loc_id */
  706|     40|    H5VL_dataset_get_args_t vol_cb_args;                 /* Arguments to VOL callback */
  707|     40|    hid_t                   ret_value = H5I_INVALID_HID; /* Return value         */
  ------------------
  |  |   75|     40|#define H5I_INVALID_HID (-1)
  ------------------
  708|       |
  709|     80|    FUNC_ENTER_API(H5I_INVALID_HID)
  ------------------
  |  | 1300|     40|    {                                                                                                        \
  |  | 1301|     40|        {                                                                                                    \
  |  | 1302|     40|            bool api_ctx_pushed = false;                                                                     \
  |  | 1303|     40|                                                                                                             \
  |  | 1304|     40|            FUNC_ENTER_API_COMMON                                                                            \
  |  |  ------------------
  |  |  |  | 1281|     40|    FUNC_ENTER_COMMON(H5_IS_API(__func__));                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1265|     40|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  | 1266|     40|                                                                                                             \
  |  |  |  |  |  | 1267|     40|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  ------------------
  |  |  |  | 1282|     40|    FUNC_ENTER_API_THREADSAFE;
  |  |  ------------------
  |  | 1305|     40|            FUNC_ENTER_API_INIT(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1286|     40|    if (H5_UNLIKELY(!H5_INIT_GLOBAL && !H5_TERM_GLOBAL)) {                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     40|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 40]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 40]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1287|      0|        if (H5_UNLIKELY(H5_init_library() < 0))                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      0|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1288|      0|            HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, err, "library initialization failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1289|      0|    }
  |  |  ------------------
  |  | 1306|     40|            FUNC_ENTER_API_PUSH(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1293|     40|    if (H5_UNLIKELY(H5CX_push() < 0))                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     40|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 40]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1294|     40|        HGOTO_ERROR(H5E_FUNC, H5E_CANTSET, err, "can't set API context");                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1295|     40|    else                                                                                                     \
  |  |  |  | 1296|     40|        api_ctx_pushed = true;
  |  |  ------------------
  |  | 1307|     40|            /* Clear thread error stack entering public functions */                                         \
  |  | 1308|     40|            H5E_clear_stack();                                                                               \
  |  | 1309|     40|            {
  ------------------
  710|       |
  711|       |    /* Check args */
  712|     80|    if (NULL == (vol_obj = (H5VL_object_t *)H5I_object_verify(dset_id, H5I_DATASET)))
  ------------------
  |  Branch (712:9): [True: 3, False: 37]
  ------------------
  713|      3|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, H5I_INVALID_HID, "invalid dataset identifier");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  714|       |
  715|       |    /* Set up VOL callback arguments */
  716|     37|    vol_cb_args.op_type               = H5VL_DATASET_GET_TYPE;
  717|     37|    vol_cb_args.args.get_type.type_id = H5I_INVALID_HID;
  ------------------
  |  |   75|     37|#define H5I_INVALID_HID (-1)
  ------------------
  718|       |
  719|       |    /* Get the datatype */
  720|     37|    if (H5VL_dataset_get(vol_obj, &vol_cb_args, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL) < 0)
  ------------------
  |  |  160|     37|#define H5P_DATASET_XFER_DEFAULT (H5OPEN H5P_LST_DATASET_XFER_ID_g)
  ------------------
                  if (H5VL_dataset_get(vol_obj, &vol_cb_args, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL) < 0)
  ------------------
  |  |  442|     37|#define H5_REQUEST_NULL NULL
  ------------------
  |  Branch (720:9): [True: 0, False: 37]
  ------------------
  721|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, H5I_INVALID_HID, "unable to get datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  722|       |
  723|       |    /* Set return value */
  724|     37|    ret_value = vol_cb_args.args.get_type.type_id;
  725|       |
  726|     40|done:
  727|     40|    FUNC_LEAVE_API(ret_value)
  ------------------
  |  | 1509|     40|    ;                                                                                                        \
  |  | 1510|     40|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1511|     40|    if (H5_LIKELY(api_ctx_pushed)) {                                                                         \
  |  |  ------------------
  |  |  |  |  167|     40|#define H5_LIKELY(expression)   __builtin_expect(!!(expression), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (167:33): [True: 40, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1512|     40|        (void)H5CX_pop(true);                                                                                \
  |  | 1513|     40|        api_ctx_pushed = false;                                                                              \
  |  | 1514|     40|    }                                                                                                        \
  |  | 1515|     40|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|     40|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 3, False: 37]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1516|     40|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1517|     40|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1518|     40|    return (ret_value);                                                                                      \
  |  | 1519|     40|    }                                                                                                        \
  |  | 1520|     40|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  728|     37|} /* end H5Dget_type() */
H5Dget_create_plist:
  745|     37|{
  746|     37|    H5VL_object_t          *vol_obj;                     /* Object for loc_id */
  747|     37|    H5VL_dataset_get_args_t vol_cb_args;                 /* Arguments to VOL callback */
  748|     37|    hid_t                   ret_value = H5I_INVALID_HID; /* Return value         */
  ------------------
  |  |   75|     37|#define H5I_INVALID_HID (-1)
  ------------------
  749|       |
  750|     74|    FUNC_ENTER_API(H5I_INVALID_HID)
  ------------------
  |  | 1300|     37|    {                                                                                                        \
  |  | 1301|     37|        {                                                                                                    \
  |  | 1302|     37|            bool api_ctx_pushed = false;                                                                     \
  |  | 1303|     37|                                                                                                             \
  |  | 1304|     37|            FUNC_ENTER_API_COMMON                                                                            \
  |  |  ------------------
  |  |  |  | 1281|     37|    FUNC_ENTER_COMMON(H5_IS_API(__func__));                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1265|     37|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  | 1266|     37|                                                                                                             \
  |  |  |  |  |  | 1267|     37|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  ------------------
  |  |  |  | 1282|     37|    FUNC_ENTER_API_THREADSAFE;
  |  |  ------------------
  |  | 1305|     37|            FUNC_ENTER_API_INIT(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1286|     37|    if (H5_UNLIKELY(!H5_INIT_GLOBAL && !H5_TERM_GLOBAL)) {                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     37|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 37]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 37]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1287|      0|        if (H5_UNLIKELY(H5_init_library() < 0))                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      0|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1288|      0|            HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, err, "library initialization failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1289|      0|    }
  |  |  ------------------
  |  | 1306|     37|            FUNC_ENTER_API_PUSH(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1293|     37|    if (H5_UNLIKELY(H5CX_push() < 0))                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     37|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 37]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1294|     37|        HGOTO_ERROR(H5E_FUNC, H5E_CANTSET, err, "can't set API context");                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1295|     37|    else                                                                                                     \
  |  |  |  | 1296|     37|        api_ctx_pushed = true;
  |  |  ------------------
  |  | 1307|     37|            /* Clear thread error stack entering public functions */                                         \
  |  | 1308|     37|            H5E_clear_stack();                                                                               \
  |  | 1309|     37|            {
  ------------------
  751|       |
  752|       |    /* Check args */
  753|     74|    if (NULL == (vol_obj = (H5VL_object_t *)H5I_object_verify(dset_id, H5I_DATASET)))
  ------------------
  |  Branch (753:9): [True: 0, False: 37]
  ------------------
  754|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, H5I_INVALID_HID, "invalid dataset identifier");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  755|       |
  756|       |    /* Set up VOL callback arguments */
  757|     37|    vol_cb_args.op_type               = H5VL_DATASET_GET_DCPL;
  758|     37|    vol_cb_args.args.get_dcpl.dcpl_id = H5I_INVALID_HID;
  ------------------
  |  |   75|     37|#define H5I_INVALID_HID (-1)
  ------------------
  759|       |
  760|       |    /* Get the dataset creation property list */
  761|     37|    if (H5VL_dataset_get(vol_obj, &vol_cb_args, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL) < 0)
  ------------------
  |  |  160|     37|#define H5P_DATASET_XFER_DEFAULT (H5OPEN H5P_LST_DATASET_XFER_ID_g)
  ------------------
                  if (H5VL_dataset_get(vol_obj, &vol_cb_args, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL) < 0)
  ------------------
  |  |  442|     37|#define H5_REQUEST_NULL NULL
  ------------------
  |  Branch (761:9): [True: 0, False: 37]
  ------------------
  762|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, H5I_INVALID_HID, "unable to get dataset creation properties");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  763|       |
  764|       |    /* Set return value */
  765|     37|    ret_value = vol_cb_args.args.get_dcpl.dcpl_id;
  766|       |
  767|     37|done:
  768|     37|    FUNC_LEAVE_API(ret_value)
  ------------------
  |  | 1509|     37|    ;                                                                                                        \
  |  | 1510|     37|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1511|     37|    if (H5_LIKELY(api_ctx_pushed)) {                                                                         \
  |  |  ------------------
  |  |  |  |  167|     37|#define H5_LIKELY(expression)   __builtin_expect(!!(expression), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (167:33): [True: 37, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1512|     37|        (void)H5CX_pop(true);                                                                                \
  |  | 1513|     37|        api_ctx_pushed = false;                                                                              \
  |  | 1514|     37|    }                                                                                                        \
  |  | 1515|     37|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|     37|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 0, False: 37]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1516|     37|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1517|     37|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1518|     37|    return (ret_value);                                                                                      \
  |  | 1519|     37|    }                                                                                                        \
  |  | 1520|     37|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  769|     37|} /* end H5Dget_create_plist() */
H5Dread:
 1036|     31|{
 1037|     31|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     31|#define SUCCEED 0
  ------------------
 1038|       |
 1039|     62|    FUNC_ENTER_API(FAIL)
  ------------------
  |  | 1300|     31|    {                                                                                                        \
  |  | 1301|     31|        {                                                                                                    \
  |  | 1302|     31|            bool api_ctx_pushed = false;                                                                     \
  |  | 1303|     31|                                                                                                             \
  |  | 1304|     31|            FUNC_ENTER_API_COMMON                                                                            \
  |  |  ------------------
  |  |  |  | 1281|     31|    FUNC_ENTER_COMMON(H5_IS_API(__func__));                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1265|     31|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  | 1266|     31|                                                                                                             \
  |  |  |  |  |  | 1267|     31|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  ------------------
  |  |  |  | 1282|     31|    FUNC_ENTER_API_THREADSAFE;
  |  |  ------------------
  |  | 1305|     31|            FUNC_ENTER_API_INIT(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1286|     31|    if (H5_UNLIKELY(!H5_INIT_GLOBAL && !H5_TERM_GLOBAL)) {                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     31|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 31]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 31]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1287|      0|        if (H5_UNLIKELY(H5_init_library() < 0))                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      0|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1288|      0|            HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, err, "library initialization failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1289|      0|    }
  |  |  ------------------
  |  | 1306|     31|            FUNC_ENTER_API_PUSH(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1293|     31|    if (H5_UNLIKELY(H5CX_push() < 0))                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     31|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 31]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1294|     31|        HGOTO_ERROR(H5E_FUNC, H5E_CANTSET, err, "can't set API context");                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1295|     31|    else                                                                                                     \
  |  |  |  | 1296|     31|        api_ctx_pushed = true;
  |  |  ------------------
  |  | 1307|     31|            /* Clear thread error stack entering public functions */                                         \
  |  | 1308|     31|            H5E_clear_stack();                                                                               \
  |  | 1309|     31|            {
  ------------------
 1040|       |
 1041|       |    /* Read the data */
 1042|     62|    if (H5D__read_api_common(1, &dset_id, &mem_type_id, &mem_space_id, &file_space_id, dxpl_id, &buf, NULL,
  ------------------
  |  Branch (1042:9): [True: 0, False: 31]
  ------------------
 1043|     31|                             NULL) < 0)
 1044|      0|        HGOTO_ERROR(H5E_DATASET, H5E_READERROR, FAIL, "can't synchronously read data");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1045|       |
 1046|     31|done:
 1047|     31|    FUNC_LEAVE_API(ret_value)
  ------------------
  |  | 1509|     31|    ;                                                                                                        \
  |  | 1510|     31|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1511|     31|    if (H5_LIKELY(api_ctx_pushed)) {                                                                         \
  |  |  ------------------
  |  |  |  |  167|     31|#define H5_LIKELY(expression)   __builtin_expect(!!(expression), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (167:33): [True: 31, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1512|     31|        (void)H5CX_pop(true);                                                                                \
  |  | 1513|     31|        api_ctx_pushed = false;                                                                              \
  |  | 1514|     31|    }                                                                                                        \
  |  | 1515|     31|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|     31|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 0, False: 31]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1516|     31|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1517|     31|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1518|     31|    return (ret_value);                                                                                      \
  |  | 1519|     31|    }                                                                                                        \
  |  | 1520|     31|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1048|     62|} /* end H5Dread() */
H5D.c:H5D__open_api_common:
  337|     52|{
  338|     52|    void           *dset        = NULL; /* dset object from VOL connector */
  339|     52|    H5VL_object_t  *tmp_vol_obj = NULL; /* Object for loc_id */
  340|     52|    H5VL_object_t **vol_obj_ptr =
  341|     52|        (_vol_obj_ptr ? _vol_obj_ptr : &tmp_vol_obj); /* Ptr to object ptr for loc_id */
  ------------------
  |  Branch (341:10): [True: 0, False: 52]
  ------------------
  342|     52|    H5VL_loc_params_t loc_params;                     /* Location parameters for object access */
  343|     52|    hid_t             ret_value = H5I_INVALID_HID;    /* Return value */
  ------------------
  |  |   75|     52|#define H5I_INVALID_HID (-1)
  ------------------
  344|       |
  345|     52|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     52|    {                                                                                                        \
  |  | 1461|     52|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     52|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     52|                                                                                                             \
  |  |  |  | 1267|     52|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     52|        {
  ------------------
  346|       |
  347|       |    /* Check args */
  348|     52|    if (!name)
  ------------------
  |  Branch (348:9): [True: 0, False: 52]
  ------------------
  349|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, H5I_INVALID_HID, "name parameter cannot be NULL");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  350|     52|    if (!*name)
  ------------------
  |  Branch (350:9): [True: 0, False: 52]
  ------------------
  351|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, H5I_INVALID_HID, "name parameter cannot be an empty string");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  352|       |
  353|       |    /* Set up object access arguments */
  354|     52|    if (H5VL_setup_acc_args(loc_id, H5P_CLS_DACC, false, &dapl_id, vol_obj_ptr, &loc_params) < 0)
  ------------------
  |  Branch (354:9): [True: 0, False: 52]
  ------------------
  355|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, H5I_INVALID_HID, "can't set object access arguments");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  356|       |
  357|       |    /* Open the dataset */
  358|     52|    if (NULL == (dset = H5VL_dataset_open(*vol_obj_ptr, &loc_params, name, dapl_id, H5P_DATASET_XFER_DEFAULT,
  ------------------
  |  |  160|     52|#define H5P_DATASET_XFER_DEFAULT (H5OPEN H5P_LST_DATASET_XFER_ID_g)
  ------------------
  |  Branch (358:9): [True: 9, False: 43]
  ------------------
  359|     52|                                          token_ptr)))
  360|      9|        HGOTO_ERROR(H5E_DATASET, H5E_CANTOPENOBJ, H5I_INVALID_HID, "unable to open dataset");
  ------------------
  |  |   68|      9|    do {                                                                                                     \
  |  |   69|      9|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      9|    do {                                                                                                     \
  |  |  |  |   40|      9|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      9|    do {                                                                                                     \
  |  |  |  |  |  |   31|      9|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      9|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      9|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      9|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      9|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      9|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      9|    do {                                                                                                     \
  |  |  |  |   92|      9|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      9|        goto done;                                                                                           \
  |  |  |  |   94|      9|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      9|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  361|       |
  362|       |    /* Register an atom for the dataset */
  363|     43|    if ((ret_value = H5VL_register(H5I_DATASET, dset, (*vol_obj_ptr)->connector, true)) < 0)
  ------------------
  |  Branch (363:9): [True: 0, False: 43]
  ------------------
  364|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTREGISTER, H5I_INVALID_HID, "can't register dataset ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  365|       |
  366|     52|done:
  367|     52|    if (H5I_INVALID_HID == ret_value)
  ------------------
  |  |   75|     52|#define H5I_INVALID_HID (-1)
  ------------------
  |  Branch (367:9): [True: 9, False: 43]
  ------------------
  368|      9|        if (dset && H5VL_dataset_close(*vol_obj_ptr, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL) < 0)
  ------------------
  |  |  160|      0|#define H5P_DATASET_XFER_DEFAULT (H5OPEN H5P_LST_DATASET_XFER_ID_g)
  ------------------
                      if (dset && H5VL_dataset_close(*vol_obj_ptr, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL) < 0)
  ------------------
  |  |  442|      0|#define H5_REQUEST_NULL NULL
  ------------------
  |  Branch (368:13): [True: 0, False: 9]
  |  Branch (368:21): [True: 0, False: 0]
  ------------------
  369|      0|            HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, H5I_INVALID_HID, "unable to release dataset");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  370|       |
  371|     52|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     52|    ;                                                                                                        \
  |  | 1573|     52|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     52|    return (ret_value);                                                                                      \
  |  | 1575|     52|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  372|     43|} /* H5D__open_api_common() */
H5D.c:H5D__get_space_api_common:
  552|     43|{
  553|     43|    H5VL_object_t  *tmp_vol_obj = NULL; /* Object for loc_id */
  554|     43|    H5VL_object_t **vol_obj_ptr =
  555|     43|        (_vol_obj_ptr ? _vol_obj_ptr : &tmp_vol_obj);    /* Ptr to object ptr for loc_id */
  ------------------
  |  Branch (555:10): [True: 0, False: 43]
  ------------------
  556|     43|    H5VL_dataset_get_args_t vol_cb_args;                 /* Arguments to VOL callback */
  557|     43|    hid_t                   ret_value = H5I_INVALID_HID; /* Return value         */
  ------------------
  |  |   75|     43|#define H5I_INVALID_HID (-1)
  ------------------
  558|       |
  559|     43|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     43|    {                                                                                                        \
  |  | 1461|     43|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     43|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     43|                                                                                                             \
  |  |  |  | 1267|     43|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     43|        {
  ------------------
  560|       |
  561|       |    /* Check args */
  562|     43|    if (NULL == (*vol_obj_ptr = (H5VL_object_t *)H5I_object_verify(dset_id, H5I_DATASET)))
  ------------------
  |  Branch (562:9): [True: 3, False: 40]
  ------------------
  563|      3|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, H5I_INVALID_HID, "invalid dataset identifier");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  564|       |
  565|       |    /* Set up VOL callback arguments */
  566|     40|    vol_cb_args.op_type                 = H5VL_DATASET_GET_SPACE;
  567|     40|    vol_cb_args.args.get_space.space_id = H5I_INVALID_HID;
  ------------------
  |  |   75|     40|#define H5I_INVALID_HID (-1)
  ------------------
  568|       |
  569|       |    /* Get the dataspace */
  570|     40|    if (H5VL_dataset_get(*vol_obj_ptr, &vol_cb_args, H5P_DATASET_XFER_DEFAULT, token_ptr) < 0)
  ------------------
  |  |  160|     40|#define H5P_DATASET_XFER_DEFAULT (H5OPEN H5P_LST_DATASET_XFER_ID_g)
  ------------------
  |  Branch (570:9): [True: 0, False: 40]
  ------------------
  571|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, H5I_INVALID_HID, "unable to get dataspace");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  572|       |
  573|       |    /* Set return value */
  574|     40|    ret_value = vol_cb_args.args.get_space.space_id;
  575|       |
  576|     43|done:
  577|     43|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     43|    ;                                                                                                        \
  |  | 1573|     43|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     43|    return (ret_value);                                                                                      \
  |  | 1575|     43|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  578|     40|} /* H5D__get_space_api_common() */
H5D.c:H5D__read_api_common:
  928|     31|{
  929|     31|    H5VL_object_t  *tmp_vol_obj = NULL; /* Object for loc_id */
  930|     31|    H5VL_object_t **vol_obj_ptr =
  931|     31|        (_vol_obj_ptr ? _vol_obj_ptr : &tmp_vol_obj); /* Ptr to object ptr for loc_id */
  ------------------
  |  Branch (931:10): [True: 0, False: 31]
  ------------------
  932|     31|    void   *obj_local;                                /* Local buffer for obj */
  933|     31|    void  **obj = &obj_local;                         /* Array of object pointers */
  934|     31|    H5VL_t *connector;                                /* VOL connector pointer */
  935|     31|    size_t  i;                                        /* Local index variable */
  936|     31|    herr_t  ret_value = SUCCEED;                      /* Return value */
  ------------------
  |  |  283|     31|#define SUCCEED 0
  ------------------
  937|       |
  938|     31|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     31|    {                                                                                                        \
  |  | 1461|     31|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     31|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     31|                                                                                                             \
  |  |  |  | 1267|     31|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     31|        {
  ------------------
  939|       |
  940|       |    /* Check arguments */
  941|     31|    if (count == 0)
  ------------------
  |  Branch (941:9): [True: 0, False: 31]
  ------------------
  942|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "count must be greater than 0");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  943|     31|    if (!dset_id)
  ------------------
  |  Branch (943:9): [True: 0, False: 31]
  ------------------
  944|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "dset_id array not provided");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  945|     31|    if (!mem_type_id)
  ------------------
  |  Branch (945:9): [True: 0, False: 31]
  ------------------
  946|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "mem_type_id array not provided");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  947|     31|    if (!mem_space_id)
  ------------------
  |  Branch (947:9): [True: 0, False: 31]
  ------------------
  948|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "mem_space_id array not provided");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  949|     31|    if (!file_space_id)
  ------------------
  |  Branch (949:9): [True: 0, False: 31]
  ------------------
  950|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "file_space_id array not provided");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  951|     31|    if (!buf)
  ------------------
  |  Branch (951:9): [True: 0, False: 31]
  ------------------
  952|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "buf array not provided");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  953|       |
  954|       |    /* Allocate obj array if necessary */
  955|     31|    if (count > 1)
  ------------------
  |  Branch (955:9): [True: 0, False: 31]
  ------------------
  956|      0|        if (NULL == (obj = (void **)H5MM_malloc(count * sizeof(void *))))
  ------------------
  |  |   38|      0|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  |  Branch (956:13): [True: 0, False: 0]
  ------------------
  957|      0|            HGOTO_ERROR(H5E_VOL, H5E_CANTALLOC, FAIL, "can't allocate space for object array");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  958|       |
  959|       |    /* Get vol_obj_ptr (return just the first dataset to caller if requested) */
  960|     31|    if (NULL == (*vol_obj_ptr = (H5VL_object_t *)H5I_object_verify(dset_id[0], H5I_DATASET)))
  ------------------
  |  Branch (960:9): [True: 0, False: 31]
  ------------------
  961|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "dset_id is not a dataset ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  962|       |
  963|       |    /* Save the connector of the first dataset.  Unpack the connector and call
  964|       |     * the "direct" read function here to avoid allocating an array of count
  965|       |     * H5VL_object_ts. */
  966|     31|    connector = (*vol_obj_ptr)->connector;
  967|       |
  968|       |    /* Build obj array */
  969|     31|    obj[0] = (*vol_obj_ptr)->data;
  970|     31|    for (i = 1; i < count; i++) {
  ------------------
  |  Branch (970:17): [True: 0, False: 31]
  ------------------
  971|       |        /* Get the object */
  972|      0|        if (NULL == (tmp_vol_obj = (H5VL_object_t *)H5I_object_verify(dset_id[i], H5I_DATASET)))
  ------------------
  |  Branch (972:13): [True: 0, False: 0]
  ------------------
  973|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "dset_id is not a dataset ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  974|      0|        obj[i] = tmp_vol_obj->data;
  975|       |
  976|       |        /* Make sure the class matches */
  977|      0|        if (tmp_vol_obj->connector->cls->value != connector->cls->value)
  ------------------
  |  Branch (977:13): [True: 0, False: 0]
  ------------------
  978|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  979|      0|                        "datasets are accessed through different VOL connectors and can't be used in the "
  980|      0|                        "same I/O call");
  981|      0|    }
  982|       |
  983|       |    /* Get the default dataset transfer property list if the user didn't provide one */
  984|     31|    if (H5P_DEFAULT == dxpl_id)
  ------------------
  |  |  228|     31|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
  |  Branch (984:9): [True: 31, False: 0]
  ------------------
  985|     31|        dxpl_id = H5P_DATASET_XFER_DEFAULT;
  ------------------
  |  |  160|     31|#define H5P_DATASET_XFER_DEFAULT (H5OPEN H5P_LST_DATASET_XFER_ID_g)
  ------------------
  986|      0|    else if (true != H5P_isa_class(dxpl_id, H5P_DATASET_XFER))
  ------------------
  |  |   76|      0|#define H5P_DATASET_XFER (H5OPEN H5P_CLS_DATASET_XFER_ID_g)
  ------------------
  |  Branch (986:14): [True: 0, False: 0]
  ------------------
  987|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not xfer parms");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  988|       |
  989|       |    /* Read the data */
  990|     31|    if (H5VL_dataset_read(count, obj, connector, mem_type_id, mem_space_id, file_space_id, dxpl_id, buf,
  ------------------
  |  Branch (990:9): [True: 0, False: 31]
  ------------------
  991|     31|                          token_ptr) < 0)
  992|      0|        HGOTO_ERROR(H5E_DATASET, H5E_READERROR, FAIL, "can't read data");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  993|       |
  994|     31|done:
  995|       |    /* Free memory */
  996|     31|    if (obj != &obj_local)
  ------------------
  |  Branch (996:9): [True: 0, False: 31]
  ------------------
  997|      0|        H5MM_free(obj);
  ------------------
  |  |   37|      0|#define H5MM_free(Z)   free(Z)
  ------------------
  998|       |
  999|     31|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     31|    ;                                                                                                        \
  |  | 1573|     31|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     31|    return (ret_value);                                                                                      \
  |  | 1575|     31|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1000|     31|} /* end H5D__read_api_common() */

H5Dcompact.c:H5D__compact_init:
  214|     52|{
  215|     52|    hssize_t snelmts;             /* Temporary holder for number of elements in dataspace */
  216|     52|    hsize_t  nelmts;              /* Number of elements in dataspace */
  217|     52|    size_t   dt_size;             /* Size of datatype */
  218|     52|    hsize_t  data_size;           /* Dataset size, in bytes */
  219|     52|    herr_t   ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     52|#define SUCCEED 0
  ------------------
  220|       |
  221|     52|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     52|    {                                                                                                        \
  |  | 1461|     52|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     52|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     52|                                                                                                             \
  |  |  |  | 1267|     52|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     52|        {
  ------------------
  222|       |
  223|       |    /* Sanity check */
  224|     52|    assert(dset);
  225|     52|    assert(H5D_COMPACT == dset->shared->layout.storage.type);
  226|       |
  227|       |    /*
  228|       |     * Now that we've read the dataset's datatype, dataspace and
  229|       |     * layout information, perform a quick check for compact datasets
  230|       |     * to ensure that the size of the internal buffer that was
  231|       |     * allocated for the dataset's raw data matches the size of
  232|       |     * the data. A corrupted file can cause a mismatch between the
  233|       |     * two, which might result in buffer overflows during future
  234|       |     * I/O to the dataset.
  235|       |     */
  236|     52|    if (0 == (dt_size = H5T_GET_SIZE(dset->shared->type)))
  ------------------
  |  |   47|     52|#define H5T_GET_SIZE(T)             (H5T_get_size(T))
  ------------------
  |  Branch (236:9): [True: 0, False: 52]
  ------------------
  237|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't get datatype size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  238|     52|    if ((snelmts = H5S_GET_EXTENT_NPOINTS(dset->shared->space)) < 0)
  ------------------
  |  |  164|     52|#define H5S_GET_EXTENT_NPOINTS(S)               (H5S_get_simple_extent_npoints(S))
  ------------------
  |  Branch (238:9): [True: 0, False: 52]
  ------------------
  239|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't get number of elements in dataset's dataspace");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  240|     52|    nelmts = (hsize_t)snelmts;
  241|       |
  242|       |    /* Compute the size of the dataset's contiguous storage */
  243|     52|    data_size = nelmts * dt_size;
  244|       |
  245|       |    /* Check for overflow during multiplication */
  246|     52|    if (nelmts != (data_size / dt_size))
  ------------------
  |  Branch (246:9): [True: 0, False: 52]
  ------------------
  247|      0|        HGOTO_ERROR(H5E_DATASET, H5E_OVERFLOW, FAIL, "size of dataset's storage overflowed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  248|       |
  249|       |    /* Check for mismatch */
  250|     52|    if (dset->shared->layout.storage.u.compact.size != data_size)
  ------------------
  |  Branch (250:9): [True: 0, False: 52]
  ------------------
  251|      0|        HGOTO_ERROR(H5E_DATASET, H5E_BADVALUE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  252|     52|                    "bad value from dataset header - size of compact dataset's data buffer doesn't match "
  253|     52|                    "size of dataset data");
  254|       |
  255|     52|done:
  256|     52|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     52|    ;                                                                                                        \
  |  | 1573|     52|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     52|    return (ret_value);                                                                                      \
  |  | 1575|     52|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  257|     52|} /* end H5D__compact_init() */
H5Dcompact.c:H5D__compact_is_space_alloc:
  270|     31|{
  271|     31|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     31|    {                                                                                                        \
  |  | 1467|     31|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     31|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     31|        {
  ------------------
  272|       |
  273|       |    /* Sanity checks */
  274|     31|    assert(storage);
  275|       |
  276|       |    /* Compact storage is currently always allocated */
  277|     31|    FUNC_LEAVE_NOAPI(true)
  ------------------
  |  | 1572|     31|    ;                                                                                                        \
  |  | 1573|     31|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     31|    return (ret_value);                                                                                      \
  |  | 1575|     31|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  278|     31|} /* end H5D__compact_is_space_alloc() */
H5Dcompact.c:H5D__compact_io_init:
  291|     31|{
  292|     31|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     31|    {                                                                                                        \
  |  | 1467|     31|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     31|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     31|        {
  ------------------
  293|       |
  294|     31|    dinfo->store->compact.buf               = dinfo->dset->shared->layout.storage.u.compact.buf;
  295|     31|    dinfo->store->compact.dirty             = &dinfo->dset->shared->layout.storage.u.compact.dirty;
  296|     31|    dinfo->layout_io_info.contig_piece_info = NULL;
  297|       |
  298|       |    /* Disable selection I/O */
  299|     31|    io_info->use_select_io = H5D_SELECTION_IO_MODE_OFF;
  300|     31|    io_info->no_selection_io_cause |= H5D_SEL_IO_NOT_CONTIGUOUS_OR_CHUNKED_DATASET;
  ------------------
  |  |  507|     31|    (0x0002u) /**< Selection I/O was not performed because the                                               \
  ------------------
  301|       |
  302|     31|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     31|    ;                                                                                                        \
  |  | 1573|     31|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     31|    return (ret_value);                                                                                      \
  |  | 1575|     31|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  303|     31|} /* end H5D__compact_io_init() */
H5Dcompact.c:H5D__compact_readvv:
  367|     31|{
  368|     31|    ssize_t ret_value = -1; /* Return value */
  369|       |
  370|     31|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     31|    {                                                                                                        \
  |  | 1461|     31|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     31|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     31|                                                                                                             \
  |  |  |  | 1267|     31|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     31|        {
  ------------------
  371|       |
  372|     31|    assert(io_info);
  373|     31|    assert(dset_info);
  374|       |
  375|       |    /* Check if file driver wishes to do its own memory management */
  376|     31|    if (H5F_SHARED_HAS_FEATURE(io_info->f_sh, H5FD_FEAT_MEMMANAGE)) {
  ------------------
  |  |  124|     31|#define H5F_SHARED_HAS_FEATURE(F_SH, FL) (H5F_shared_has_feature(F_SH, FL))
  |  |  ------------------
  |  |  |  Branch (124:42): [True: 0, False: 31]
  |  |  ------------------
  ------------------
  377|      0|        H5D_compact_iovv_memmanage_ud_t udata;
  378|       |
  379|       |        /* Set up udata for memory copy operation */
  380|      0|        udata.f_sh   = io_info->f_sh;
  381|      0|        udata.dstbuf = dset_info->buf.vp;
  382|      0|        udata.srcbuf = dset_info->store->compact.buf;
  383|       |
  384|       |        /* Request that file driver does the memory copy */
  385|      0|        if ((ret_value = H5VM_opvv(mem_max_nseq, mem_curr_seq, mem_size_arr, mem_offset_arr, dset_max_nseq,
  ------------------
  |  Branch (385:13): [True: 0, False: 0]
  ------------------
  386|      0|                                   dset_curr_seq, dset_size_arr, dset_offset_arr,
  387|      0|                                   H5D__compact_iovv_memmanage_cb, &udata)) < 0)
  388|      0|            HGOTO_ERROR(H5E_IO, H5E_WRITEERROR, FAIL, "vectorized memcpy failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  389|      0|    }
  390|     31|    else {
  391|       |        /* Use the vectorized memory copy routine to do actual work */
  392|     31|        if ((ret_value = H5VM_memcpyvv(dset_info->buf.vp, mem_max_nseq, mem_curr_seq, mem_size_arr,
  ------------------
  |  Branch (392:13): [True: 0, False: 31]
  ------------------
  393|     31|                                       mem_offset_arr, dset_info->store->compact.buf, dset_max_nseq,
  394|     31|                                       dset_curr_seq, dset_size_arr, dset_offset_arr)) < 0)
  395|      0|            HGOTO_ERROR(H5E_IO, H5E_WRITEERROR, FAIL, "vectorized memcpy failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  396|     31|    }
  397|       |
  398|     31|done:
  399|     31|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     31|    ;                                                                                                        \
  |  | 1573|     31|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     31|    return (ret_value);                                                                                      \
  |  | 1575|     31|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  400|     31|} /* end H5D__compact_readvv() */
H5Dcompact.c:H5D__compact_flush:
  474|     52|{
  475|     52|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     52|#define SUCCEED 0
  ------------------
  476|       |
  477|     52|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     52|    {                                                                                                        \
  |  | 1461|     52|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     52|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     52|                                                                                                             \
  |  |  |  | 1267|     52|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     52|        {
  ------------------
  478|       |
  479|       |    /* Sanity check */
  480|     52|    assert(dset);
  481|       |
  482|       |    /* Check if the buffered compact information is dirty */
  483|     52|    if (dset->shared->layout.storage.u.compact.dirty) {
  ------------------
  |  Branch (483:9): [True: 0, False: 52]
  ------------------
  484|      0|        dset->shared->layout.storage.u.compact.dirty = false;
  485|      0|        if (H5O_msg_write(&(dset->oloc), H5O_LAYOUT_ID, 0, H5O_UPDATE_TIME, &(dset->shared->layout)) < 0) {
  ------------------
  |  |  214|      0|#define H5O_LAYOUT_ID      0x0008 /* Data Layout Message.  */
  ------------------
                      if (H5O_msg_write(&(dset->oloc), H5O_LAYOUT_ID, 0, H5O_UPDATE_TIME, &(dset->shared->layout)) < 0) {
  ------------------
  |  |   86|      0|#define H5O_UPDATE_TIME  0x01u
  ------------------
  |  Branch (485:13): [True: 0, False: 0]
  ------------------
  486|      0|            dset->shared->layout.storage.u.compact.dirty = true;
  487|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, FAIL, "unable to update layout message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  488|      0|        }
  489|      0|    } /* end if */
  490|       |
  491|     52|done:
  492|     52|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     52|    ;                                                                                                        \
  |  | 1573|     52|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     52|    return (ret_value);                                                                                      \
  |  | 1575|     52|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  493|     52|} /* end H5D__compact_flush() */
H5Dcompact.c:H5D__compact_dest:
  506|     52|{
  507|     52|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     52|    {                                                                                                        \
  |  | 1467|     52|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     52|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     52|        {
  ------------------
  508|       |
  509|       |    /* Sanity check */
  510|     52|    assert(dset);
  511|       |
  512|       |    /* Free the buffer for the raw data for compact datasets */
  513|     52|    dset->shared->layout.storage.u.compact.buf = H5MM_xfree(dset->shared->layout.storage.u.compact.buf);
  514|       |
  515|     52|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     52|    ;                                                                                                        \
  |  | 1573|     52|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     52|    return (ret_value);                                                                                      \
  |  | 1575|     52|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  516|     52|} /* end H5D__compact_dest() */

H5D__contig_read:
  837|     31|{
  838|     31|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     31|#define SUCCEED 0
  ------------------
  839|       |
  840|     31|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     31|    {                                                                                                        \
  |  | 1461|     31|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     31|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     31|                                                                                                             \
  |  |  |  | 1267|     31|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     31|        {
  ------------------
  841|       |
  842|       |    /* Sanity check */
  843|     31|    assert(io_info);
  844|     31|    assert(dinfo);
  845|     31|    assert(dinfo->buf.vp);
  846|     31|    assert(dinfo->mem_space);
  847|     31|    assert(dinfo->file_space);
  848|       |
  849|     31|    if (io_info->use_select_io == H5D_SELECTION_IO_MODE_ON) {
  ------------------
  |  Branch (849:9): [True: 0, False: 31]
  ------------------
  850|       |        /* Only perform I/O if not performing multi dataset I/O or type conversion,
  851|       |         * otherwise the higher level will handle it after all datasets
  852|       |         * have been processed */
  853|      0|        if (H5D_LAYOUT_CB_PERFORM_IO(io_info)) {
  ------------------
  |  |   71|      0|    (((IO_INFO)->use_select_io == H5D_SELECTION_IO_MODE_OFF) ||                                              \
  |  |  ------------------
  |  |  |  Branch (71:6): [True: 0, False: 0]
  |  |  ------------------
  |  |   72|      0|     ((IO_INFO)->count == 1 && (IO_INFO)->max_tconv_type_size == 0))
  |  |  ------------------
  |  |  |  Branch (72:7): [True: 0, False: 0]
  |  |  |  Branch (72:32): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  854|      0|            size_t dst_type_size = dinfo->type_info.dst_type_size;
  855|       |
  856|       |            /* Issue selection I/O call (we can skip the page buffer because we've
  857|       |             * already verified it won't be used, and the metadata accumulator
  858|       |             * because this is raw data) */
  859|      0|            if (H5F_shared_select_read(H5F_SHARED(dinfo->dset->oloc.file), H5FD_MEM_DRAW,
  ------------------
  |  |  113|      0|#define H5F_SHARED(F)                    (H5F_get_shared(F))
  ------------------
  |  Branch (859:17): [True: 0, False: 0]
  ------------------
  860|      0|                                       dinfo->nelmts > 0 ? 1 : 0, &dinfo->mem_space, &dinfo->file_space,
  ------------------
  |  Branch (860:40): [True: 0, False: 0]
  ------------------
  861|      0|                                       &(dinfo->store->contig.dset_addr), &dst_type_size,
  862|      0|                                       &(dinfo->buf.vp)) < 0)
  863|      0|                HGOTO_ERROR(H5E_DATASET, H5E_READERROR, FAIL, "contiguous selection read failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  864|      0|        }
  865|      0|        else {
  866|      0|            if (dinfo->layout_io_info.contig_piece_info) {
  ------------------
  |  Branch (866:17): [True: 0, False: 0]
  ------------------
  867|       |                /* Add to mdset selection I/O arrays */
  868|      0|                assert(io_info->mem_spaces);
  869|      0|                assert(io_info->file_spaces);
  870|      0|                assert(io_info->addrs);
  871|      0|                assert(io_info->element_sizes);
  872|      0|                assert(io_info->rbufs);
  873|      0|                assert(io_info->pieces_added < io_info->piece_count);
  874|       |
  875|      0|                io_info->mem_spaces[io_info->pieces_added]    = dinfo->mem_space;
  876|      0|                io_info->file_spaces[io_info->pieces_added]   = dinfo->file_space;
  877|      0|                io_info->addrs[io_info->pieces_added]         = dinfo->store->contig.dset_addr;
  878|      0|                io_info->element_sizes[io_info->pieces_added] = dinfo->type_info.src_type_size;
  879|      0|                io_info->rbufs[io_info->pieces_added]         = dinfo->buf.vp;
  880|      0|                if (io_info->sel_pieces)
  ------------------
  |  Branch (880:21): [True: 0, False: 0]
  ------------------
  881|      0|                    io_info->sel_pieces[io_info->pieces_added] = dinfo->layout_io_info.contig_piece_info;
  882|      0|                io_info->pieces_added++;
  883|      0|            }
  884|      0|        }
  885|       |
  886|       |#ifdef H5_HAVE_PARALLEL
  887|       |        /* Report that collective contiguous I/O was used */
  888|       |        io_info->actual_io_mode |= H5D_MPIO_CONTIGUOUS_COLLECTIVE;
  889|       |#endif /* H5_HAVE_PARALLEL */
  890|      0|    }  /* end if */
  891|     31|    else
  892|       |        /* Read data through legacy (non-selection I/O) pathway */
  893|     31|        if ((dinfo->io_ops.single_read)(io_info, dinfo) < 0)
  ------------------
  |  Branch (893:13): [True: 0, False: 31]
  ------------------
  894|      0|            HGOTO_ERROR(H5E_DATASET, H5E_READERROR, FAIL, "contiguous read failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  895|       |
  896|     31|done:
  897|     31|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     31|    ;                                                                                                        \
  |  | 1573|     31|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     31|    return (ret_value);                                                                                      \
  |  | 1575|     31|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  898|     31|} /* end H5D__contig_read() */

H5D_init:
  160|      1|{
  161|      1|    H5P_genplist_t *def_dcpl;            /* Default Dataset Creation Property list */
  162|      1|    herr_t          ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  163|       |
  164|      1|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      1|    {                                                                                                        \
  |  | 1392|      1|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      1|        {
  ------------------
  165|       |
  166|       |    /* Initialize the ID group for the dataset IDs */
  167|      1|    if (H5I_register_type(H5I_DATASET_CLS) < 0)
  ------------------
  |  Branch (167:9): [True: 0, False: 1]
  ------------------
  168|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to initialize interface");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  169|       |
  170|       |    /* Reset the "default dataset" information */
  171|      1|    memset(&H5D_def_dset, 0, sizeof(H5D_shared_t));
  172|      1|    H5D_def_dset.type_id = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  173|      1|    H5D_def_dset.dapl_id = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  174|      1|    H5D_def_dset.dcpl_id = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  175|       |
  176|       |    /* Get the default dataset creation property list values and initialize the
  177|       |     * default dataset with them.
  178|       |     */
  179|      1|    if (NULL == (def_dcpl = (H5P_genplist_t *)H5I_object(H5P_LST_DATASET_CREATE_ID_g)))
  ------------------
  |  Branch (179:9): [True: 0, False: 1]
  ------------------
  180|      0|        HGOTO_ERROR(H5E_DATASET, H5E_BADTYPE, FAIL, "can't get default dataset creation property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  181|       |
  182|       |    /* Get the default data storage layout */
  183|      1|    if (H5P_get(def_dcpl, H5D_CRT_LAYOUT_NAME, &H5D_def_dset.layout) < 0)
  ------------------
  |  |   42|      1|#define H5D_CRT_LAYOUT_NAME            "layout"           /* Storage layout */
  ------------------
  |  Branch (183:9): [True: 0, False: 1]
  ------------------
  184|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, FAIL, "can't retrieve layout");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  185|       |
  186|       |    /* Get the default dataset creation properties */
  187|      1|    if (H5P_get(def_dcpl, H5D_CRT_EXT_FILE_LIST_NAME, &H5D_def_dset.dcpl_cache.efl) < 0)
  ------------------
  |  |   45|      1|#define H5D_CRT_EXT_FILE_LIST_NAME     "efl"              /* External file list */
  ------------------
  |  Branch (187:9): [True: 0, False: 1]
  ------------------
  188|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, FAIL, "can't retrieve external file list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  189|      1|    if (H5P_get(def_dcpl, H5D_CRT_FILL_VALUE_NAME, &H5D_def_dset.dcpl_cache.fill) < 0)
  ------------------
  |  |   43|      1|#define H5D_CRT_FILL_VALUE_NAME        "fill_value"       /* Fill value */
  ------------------
  |  Branch (189:9): [True: 0, False: 1]
  ------------------
  190|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, FAIL, "can't retrieve fill value");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  191|      1|    if (H5P_get(def_dcpl, H5O_CRT_PIPELINE_NAME, &H5D_def_dset.dcpl_cache.pline) < 0)
  ------------------
  |  |   99|      1|#define H5O_CRT_PIPELINE_NAME         "pline"               /* Filter pipeline */
  ------------------
  |  Branch (191:9): [True: 0, False: 1]
  ------------------
  192|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, FAIL, "can't retrieve pipeline filter");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  193|       |
  194|       |    /* Retrieve the prefixes of VDS and external file from the environment variable */
  195|      1|    H5D_prefix_vds_env = getenv("HDF5_VDS_PREFIX");
  196|      1|    H5D_prefix_ext_env = getenv("HDF5_EXTFILE_PREFIX");
  197|       |
  198|      1|done:
  199|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  200|      1|} /* end H5D_init() */
H5D_top_term_package:
  214|      1|{
  215|      1|    int n = 0;
  216|       |
  217|      1|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      1|    {                                                                                                        \
  |  | 1425|      1|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      1|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      1|        {
  ------------------
  218|       |
  219|      1|    if (H5I_nmembers(H5I_DATASET) > 0) {
  ------------------
  |  Branch (219:9): [True: 0, False: 1]
  ------------------
  220|       |        /* The dataset API uses the "force" flag set to true because it
  221|       |         * is using the "file objects" (H5FO) API functions to track open
  222|       |         * objects in the file.  Using the H5FO code means that dataset
  223|       |         * IDs can have reference counts >1, when an existing dataset is
  224|       |         * opened more than once.  However, the H5I code does not attempt
  225|       |         * to close objects with reference counts>1 unless the "force" flag
  226|       |         * is set to true.
  227|       |         *
  228|       |         * At some point (probably after the group and datatypes use the
  229|       |         * the H5FO code), the H5FO code might need to be switched around
  230|       |         * to storing pointers to the objects being tracked (H5D_t, H5G_t,
  231|       |         * etc) and reference count those itself instead of relying on the
  232|       |         * reference counting in the H5I layer.  Then, the "force" flag can
  233|       |         * be put back to false.
  234|       |         *
  235|       |         * Setting the "force" flag to true for all the interfaces won't
  236|       |         * work because the "file driver" (H5FD) APIs use the H5I reference
  237|       |         * counting to avoid closing a file driver out from underneath an
  238|       |         * open file...
  239|       |         *
  240|       |         * QAK - 5/13/03
  241|       |         */
  242|      0|        (void)H5I_clear_type(H5I_DATASET, true, false);
  243|      0|        n++; /*H5I*/
  244|      0|    }
  245|       |
  246|      1|    FUNC_LEAVE_NOAPI(n)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  247|      1|} /* end H5D_top_term_package() */
H5D_term_package:
  264|      1|{
  265|      1|    int n = 0;
  266|       |
  267|      1|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      1|    {                                                                                                        \
  |  | 1425|      1|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      1|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      1|        {
  ------------------
  268|       |
  269|       |    /* Sanity checks */
  270|      1|    assert(0 == H5I_nmembers(H5I_DATASET));
  271|       |
  272|       |    /* Destroy the dataset object id group */
  273|      1|    n += (H5I_dec_type_ref(H5I_DATASET) > 0);
  274|       |
  275|      1|    FUNC_LEAVE_NOAPI(n)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  276|      1|} /* end H5D_term_package() */
H5D__open_name:
 1404|     52|{
 1405|     52|    H5D_t     *dset = NULL;
 1406|     52|    H5G_loc_t  dset_loc;          /* Object location of dataset */
 1407|     52|    H5G_name_t path;              /* Dataset group hier. path */
 1408|     52|    H5O_loc_t  oloc;              /* Dataset object location */
 1409|     52|    H5O_type_t obj_type;          /* Type of object at location */
 1410|     52|    bool       loc_found = false; /* Location at 'name' found */
 1411|     52|    H5D_t     *ret_value = NULL;  /* Return value */
 1412|       |
 1413|     52|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     52|    {                                                                                                        \
  |  | 1461|     52|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     52|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     52|                                                                                                             \
  |  |  |  | 1267|     52|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     52|        {
  ------------------
 1414|       |
 1415|       |    /* Check args */
 1416|     52|    assert(loc);
 1417|     52|    assert(name);
 1418|       |
 1419|       |    /* Set up dataset location to fill in */
 1420|     52|    dset_loc.oloc = &oloc;
 1421|     52|    dset_loc.path = &path;
 1422|     52|    H5G_loc_reset(&dset_loc);
 1423|       |
 1424|       |    /* Find the dataset object */
 1425|     52|    if (H5G_loc_find(loc, name, &dset_loc) < 0)
  ------------------
  |  Branch (1425:9): [True: 0, False: 52]
  ------------------
 1426|      0|        HGOTO_ERROR(H5E_DATASET, H5E_NOTFOUND, NULL, "not found");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1427|     52|    loc_found = true;
 1428|       |
 1429|       |    /* Check that the object found is the correct type */
 1430|     52|    if (H5O_obj_type(&oloc, &obj_type) < 0)
  ------------------
  |  Branch (1430:9): [True: 6, False: 46]
  ------------------
 1431|      6|        HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, NULL, "can't get object type");
  ------------------
  |  |   68|      6|    do {                                                                                                     \
  |  |   69|      6|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      6|    do {                                                                                                     \
  |  |  |  |   40|      6|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      6|    do {                                                                                                     \
  |  |  |  |  |  |   31|      6|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      6|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      6|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      6|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      6|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      6|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      6|    do {                                                                                                     \
  |  |  |  |   92|      6|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      6|        goto done;                                                                                           \
  |  |  |  |   94|      6|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      6|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1432|     46|    if (obj_type != H5O_TYPE_DATASET)
  ------------------
  |  Branch (1432:9): [True: 0, False: 46]
  ------------------
 1433|      0|        HGOTO_ERROR(H5E_DATASET, H5E_BADTYPE, NULL, "not a dataset");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1434|       |
 1435|       |    /* Open the dataset */
 1436|     46|    if (NULL == (dset = H5D_open(&dset_loc, dapl_id)))
  ------------------
  |  Branch (1436:9): [True: 3, False: 43]
  ------------------
 1437|      3|        HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, NULL, "can't open dataset");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1438|       |
 1439|       |    /* Set return value */
 1440|     43|    ret_value = dset;
 1441|       |
 1442|     52|done:
 1443|     52|    if (!ret_value)
  ------------------
  |  Branch (1443:9): [True: 9, False: 43]
  ------------------
 1444|      9|        if (loc_found && H5G_loc_free(&dset_loc) < 0)
  ------------------
  |  Branch (1444:13): [True: 9, False: 0]
  |  Branch (1444:26): [True: 0, False: 9]
  ------------------
 1445|      0|            HDONE_ERROR(H5E_DATASET, H5E_CANTRELEASE, NULL, "can't free location");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1446|       |
 1447|     52|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     52|    ;                                                                                                        \
  |  | 1573|     52|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     52|    return (ret_value);                                                                                      \
  |  | 1575|     52|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1448|     43|} /* end H5D__open_name() */
H5D_open:
 1463|     55|{
 1464|     55|    H5D_shared_t *shared_fo      = NULL;
 1465|     55|    H5D_t        *dataset        = NULL;
 1466|     55|    char         *extfile_prefix = NULL; /* Expanded external file prefix */
 1467|     55|    char         *vds_prefix     = NULL; /* Expanded vds prefix */
 1468|     55|    H5D_t        *ret_value      = NULL; /* Return value */
 1469|       |
 1470|     55|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|     55|    {                                                                                                        \
  |  | 1392|     55|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     55|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     55|                                                                                                             \
  |  |  |  | 1267|     55|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     55|        {
  ------------------
 1471|       |
 1472|       |    /* check args */
 1473|     55|    assert(loc);
 1474|       |
 1475|       |    /* Allocate the dataset structure */
 1476|     55|    if (NULL == (dataset = H5FL_CALLOC(H5D_t)))
  ------------------
  |  |   78|     55|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|     55|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (1476:9): [True: 0, False: 55]
  ------------------
 1477|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1478|       |
 1479|       |    /* Shallow copy (take ownership) of the object location object */
 1480|     55|    if (H5O_loc_copy_shallow(&(dataset->oloc), loc->oloc) < 0)
  ------------------
  |  Branch (1480:9): [True: 0, False: 55]
  ------------------
 1481|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTCOPY, NULL, "can't copy object location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1482|       |
 1483|       |    /* Shallow copy (take ownership) of the group hier. path */
 1484|     55|    if (H5G_name_copy(&(dataset->path), loc->path, H5_COPY_SHALLOW) < 0)
  ------------------
  |  Branch (1484:9): [True: 0, False: 55]
  ------------------
 1485|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTCOPY, NULL, "can't copy path");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1486|       |
 1487|       |    /* Get the external file prefix */
 1488|     55|    if (H5D__build_file_prefix(dataset, H5F_PREFIX_EFILE, &extfile_prefix) < 0)
  ------------------
  |  Branch (1488:9): [True: 0, False: 55]
  ------------------
 1489|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, NULL, "unable to initialize external file prefix");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1490|       |
 1491|       |    /* Get the VDS prefix */
 1492|     55|    if (H5D__build_file_prefix(dataset, H5F_PREFIX_VDS, &vds_prefix) < 0)
  ------------------
  |  Branch (1492:9): [True: 0, False: 55]
  ------------------
 1493|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, NULL, "unable to initialize VDS prefix");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1494|       |
 1495|       |    /* Check if dataset was already open */
 1496|     55|    if (NULL == (shared_fo = (H5D_shared_t *)H5FO_opened(dataset->oloc.file, dataset->oloc.addr))) {
  ------------------
  |  Branch (1496:9): [True: 55, False: 0]
  ------------------
 1497|       |        /* Clear any errors from H5FO_opened() */
 1498|     55|        H5E_clear_stack();
 1499|       |
 1500|       |        /* Open the dataset object */
 1501|     55|        if (H5D__open_oid(dataset, dapl_id) < 0)
  ------------------
  |  Branch (1501:13): [True: 3, False: 52]
  ------------------
 1502|      3|            HGOTO_ERROR(H5E_DATASET, H5E_NOTFOUND, NULL, "not found");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1503|       |
 1504|       |        /* Add the dataset to the list of opened objects in the file */
 1505|     52|        if (H5FO_insert(dataset->oloc.file, dataset->oloc.addr, dataset->shared, false) < 0)
  ------------------
  |  Branch (1505:13): [True: 0, False: 52]
  ------------------
 1506|      0|            HGOTO_ERROR(H5E_DATASET, H5E_CANTINSERT, NULL, "can't insert dataset into list of open objects");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1507|       |
 1508|       |        /* Increment object count for the object in the top file */
 1509|     52|        if (H5FO_top_incr(dataset->oloc.file, dataset->oloc.addr) < 0)
  ------------------
  |  Branch (1509:13): [True: 0, False: 52]
  ------------------
 1510|      0|            HGOTO_ERROR(H5E_DATASET, H5E_CANTINC, NULL, "can't increment object count");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1511|       |
 1512|       |        /* We're the first dataset to use the shared info */
 1513|     52|        dataset->shared->fo_count = 1;
 1514|       |
 1515|       |        /* Set the external file prefix */
 1516|     52|        dataset->shared->extfile_prefix = extfile_prefix;
 1517|       |        /* Prevent string from being freed during done: */
 1518|     52|        extfile_prefix = NULL;
 1519|       |
 1520|       |        /* Set the vds file prefix */
 1521|     52|        dataset->shared->vds_prefix = vds_prefix;
 1522|       |        /* Prevent string from being freed during done: */
 1523|     52|        vds_prefix = NULL;
 1524|       |
 1525|     52|    } /* end if */
 1526|      0|    else {
 1527|       |        /* Point to shared info */
 1528|      0|        dataset->shared = shared_fo;
 1529|       |
 1530|       |        /* Increment # of datasets using shared information */
 1531|      0|        shared_fo->fo_count++;
 1532|       |
 1533|       |        /* Check whether the external file prefix of the already open dataset
 1534|       |         * matches the new external file prefix
 1535|       |         */
 1536|      0|        if (extfile_prefix && dataset->shared->extfile_prefix) {
  ------------------
  |  Branch (1536:13): [True: 0, False: 0]
  |  Branch (1536:31): [True: 0, False: 0]
  ------------------
 1537|      0|            if (strcmp(extfile_prefix, dataset->shared->extfile_prefix) != 0)
  ------------------
  |  Branch (1537:17): [True: 0, False: 0]
  ------------------
 1538|      0|                HGOTO_ERROR(
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1539|      0|                    H5E_DATASET, H5E_CANTOPENOBJ, NULL,
 1540|      0|                    "new external file prefix does not match external file prefix of already open dataset");
 1541|      0|        }
 1542|      0|        else {
 1543|      0|            if (extfile_prefix || dataset->shared->extfile_prefix)
  ------------------
  |  Branch (1543:17): [True: 0, False: 0]
  |  Branch (1543:35): [True: 0, False: 0]
  ------------------
 1544|      0|                HGOTO_ERROR(
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1545|      0|                    H5E_DATASET, H5E_CANTOPENOBJ, NULL,
 1546|      0|                    "new external file prefix does not match external file prefix of already open dataset");
 1547|      0|        }
 1548|       |
 1549|       |        /* Check if the object has been opened through the top file yet */
 1550|      0|        if (H5FO_top_count(dataset->oloc.file, dataset->oloc.addr) == 0) {
  ------------------
  |  Branch (1550:13): [True: 0, False: 0]
  ------------------
 1551|       |            /* Open the object through this top file */
 1552|      0|            if (H5O_open(&(dataset->oloc)) < 0)
  ------------------
  |  Branch (1552:17): [True: 0, False: 0]
  ------------------
 1553|      0|                HGOTO_ERROR(H5E_DATASET, H5E_CANTOPENOBJ, NULL, "unable to open object header");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1554|      0|        } /* end if */
 1555|       |
 1556|       |        /* Increment object count for the object in the top file */
 1557|      0|        if (H5FO_top_incr(dataset->oloc.file, dataset->oloc.addr) < 0)
  ------------------
  |  Branch (1557:13): [True: 0, False: 0]
  ------------------
 1558|      0|            HGOTO_ERROR(H5E_DATASET, H5E_CANTINC, NULL, "can't increment object count");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1559|      0|    } /* end else */
 1560|       |
 1561|       |    /* Set the dataset to return */
 1562|     52|    ret_value = dataset;
 1563|       |
 1564|     55|done:
 1565|     55|    extfile_prefix = (char *)H5MM_xfree(extfile_prefix);
 1566|     55|    vds_prefix     = (char *)H5MM_xfree(vds_prefix);
 1567|       |
 1568|     55|    if (ret_value == NULL) {
  ------------------
  |  Branch (1568:9): [True: 3, False: 52]
  ------------------
 1569|       |        /* Free the location */
 1570|      3|        if (dataset) {
  ------------------
  |  Branch (1570:13): [True: 3, False: 0]
  ------------------
 1571|      3|            if (shared_fo == NULL && dataset->shared) { /* Need to free shared fo */
  ------------------
  |  Branch (1571:17): [True: 3, False: 0]
  |  Branch (1571:38): [True: 3, False: 0]
  ------------------
 1572|      3|                dataset->shared->extfile_prefix = (char *)H5MM_xfree(dataset->shared->extfile_prefix);
 1573|      3|                dataset->shared->vds_prefix     = (char *)H5MM_xfree(dataset->shared->vds_prefix);
 1574|      3|                dataset->shared                 = H5FL_FREE(H5D_shared_t, dataset->shared);
  ------------------
  |  |   81|      3|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      3|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 1575|      3|            }
 1576|       |
 1577|      3|            H5O_loc_free(&(dataset->oloc));
 1578|      3|            H5G_name_free(&(dataset->path));
 1579|       |
 1580|      3|            dataset = H5FL_FREE(H5D_t, dataset);
  ------------------
  |  |   81|      3|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      3|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 1581|      3|        } /* end if */
 1582|      3|        if (shared_fo)
  ------------------
  |  Branch (1582:13): [True: 0, False: 3]
  ------------------
 1583|      0|            shared_fo->fo_count--;
 1584|      3|    } /* end if */
 1585|       |
 1586|     55|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     55|    ;                                                                                                        \
  |  | 1573|     55|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     55|    return (ret_value);                                                                                      \
  |  | 1575|     55|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1587|     52|} /* end H5D_open() */
H5D_close:
 1889|     52|{
 1890|     52|    bool   free_failed = false;   /* Set if freeing sub-components failed */
 1891|     52|    bool   corked;                /* Whether the dataset is corked or not */
 1892|     52|    bool   file_closed = true;    /* H5O_close also closed the file?      */
 1893|     52|    herr_t ret_value   = SUCCEED; /* Return value                         */
  ------------------
  |  |  283|     52|#define SUCCEED 0
  ------------------
 1894|       |
 1895|     52|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     52|    {                                                                                                        \
  |  | 1392|     52|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     52|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     52|                                                                                                             \
  |  |  |  | 1267|     52|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     52|        {
  ------------------
 1896|       |
 1897|       |    /* check args */
 1898|     52|    assert(dataset && dataset->oloc.file && dataset->shared);
 1899|     52|    assert(dataset->shared->fo_count > 0);
 1900|       |
 1901|       |    /* Dump debugging info */
 1902|       |#ifdef H5D_CHUNK_DEBUG
 1903|       |    H5D__chunk_stats(dataset, false);
 1904|       |#endif /* H5D_CHUNK_DEBUG */
 1905|       |
 1906|     52|    dataset->shared->fo_count--;
 1907|     52|    if (dataset->shared->fo_count == 0) {
  ------------------
  |  Branch (1907:9): [True: 52, False: 0]
  ------------------
 1908|       |
 1909|       |        /* Flush the dataset's information.  Continue to close even if it fails. */
 1910|     52|        if (H5D__flush_real(dataset) < 0)
  ------------------
  |  Branch (1910:13): [True: 0, False: 52]
  ------------------
 1911|      0|            HDONE_ERROR(H5E_DATASET, H5E_WRITEERROR, FAIL, "unable to flush cached dataset info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1912|       |
 1913|       |        /* Set a flag to indicate the dataset is closing, before we start freeing things */
 1914|       |        /* (Avoids problems with flushing datasets twice, when one is holding
 1915|       |         *      the file open and it iterates through dataset to flush them -QAK)
 1916|       |         */
 1917|     52|        dataset->shared->closing = true;
 1918|       |
 1919|       |        /* Free cached information for each kind of dataset */
 1920|     52|        switch (dataset->shared->layout.type) {
 1921|      0|            case H5D_CONTIGUOUS:
  ------------------
  |  Branch (1921:13): [True: 0, False: 52]
  ------------------
 1922|       |                /* Free the data sieve buffer, if it's been allocated */
 1923|      0|                if (dataset->shared->cache.contig.sieve_buf)
  ------------------
  |  Branch (1923:21): [True: 0, False: 0]
  ------------------
 1924|      0|                    dataset->shared->cache.contig.sieve_buf =
 1925|      0|                        (unsigned char *)H5FL_BLK_FREE(sieve_buf, dataset->shared->cache.contig.sieve_buf);
  ------------------
  |  |  152|      0|#define H5FL_BLK_FREE(t, blk) (uint8_t *)H5FL_blk_free(&(H5FL_BLK_NAME(t)), blk)
  |  |  ------------------
  |  |  |  |  131|      0|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
 1926|      0|                break;
 1927|       |
 1928|      0|            case H5D_CHUNKED:
  ------------------
  |  Branch (1928:13): [True: 0, False: 52]
  ------------------
 1929|       |                /* Check for skip list for iterating over chunks during I/O to close */
 1930|      0|                if (dataset->shared->cache.chunk.sel_chunks) {
  ------------------
  |  Branch (1930:21): [True: 0, False: 0]
  ------------------
 1931|      0|                    assert(H5SL_count(dataset->shared->cache.chunk.sel_chunks) == 0);
 1932|      0|                    H5SL_close(dataset->shared->cache.chunk.sel_chunks);
 1933|      0|                    dataset->shared->cache.chunk.sel_chunks = NULL;
 1934|      0|                } /* end if */
 1935|       |
 1936|       |                /* Check for cached single chunk dataspace */
 1937|      0|                if (dataset->shared->cache.chunk.single_space) {
  ------------------
  |  Branch (1937:21): [True: 0, False: 0]
  ------------------
 1938|      0|                    (void)H5S_close(dataset->shared->cache.chunk.single_space);
 1939|      0|                    dataset->shared->cache.chunk.single_space = NULL;
 1940|      0|                } /* end if */
 1941|       |
 1942|       |                /* Check for cached single element chunk info */
 1943|      0|                if (dataset->shared->cache.chunk.single_piece_info) {
  ------------------
  |  Branch (1943:21): [True: 0, False: 0]
  ------------------
 1944|      0|                    dataset->shared->cache.chunk.single_piece_info =
 1945|      0|                        H5FL_FREE(H5D_piece_info_t, dataset->shared->cache.chunk.single_piece_info);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 1946|      0|                    dataset->shared->cache.chunk.single_piece_info = NULL;
 1947|      0|                } /* end if */
 1948|      0|                break;
 1949|       |
 1950|     52|            case H5D_COMPACT:
  ------------------
  |  Branch (1950:13): [True: 52, False: 0]
  ------------------
 1951|       |                /* Nothing special to do (info freed in the layout destroy) */
 1952|     52|                break;
 1953|       |
 1954|      0|            case H5D_VIRTUAL: {
  ------------------
  |  Branch (1954:13): [True: 0, False: 52]
  ------------------
 1955|      0|                size_t i, j;
 1956|       |
 1957|      0|                assert(dataset->shared->layout.storage.u.virt.list ||
 1958|      0|                       (dataset->shared->layout.storage.u.virt.list_nused == 0));
 1959|       |
 1960|       |                /* Close source datasets */
 1961|      0|                for (i = 0; i < dataset->shared->layout.storage.u.virt.list_nused; i++) {
  ------------------
  |  Branch (1961:29): [True: 0, False: 0]
  ------------------
 1962|       |                    /* Close source dataset */
 1963|      0|                    if (dataset->shared->layout.storage.u.virt.list[i].source_dset.dset) {
  ------------------
  |  Branch (1963:25): [True: 0, False: 0]
  ------------------
 1964|      0|                        assert(dataset->shared->layout.storage.u.virt.list[i].source_dset.dset != dataset);
 1965|      0|                        if (H5D_close(dataset->shared->layout.storage.u.virt.list[i].source_dset.dset) < 0)
  ------------------
  |  Branch (1965:29): [True: 0, False: 0]
  ------------------
 1966|      0|                            HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, FAIL, "unable to close source dataset");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1967|      0|                        dataset->shared->layout.storage.u.virt.list[i].source_dset.dset = NULL;
 1968|      0|                    } /* end if */
 1969|       |
 1970|       |                    /* Close sub datasets */
 1971|      0|                    for (j = 0; j < dataset->shared->layout.storage.u.virt.list[i].sub_dset_nused; j++)
  ------------------
  |  Branch (1971:33): [True: 0, False: 0]
  ------------------
 1972|      0|                        if (dataset->shared->layout.storage.u.virt.list[i].sub_dset[j].dset) {
  ------------------
  |  Branch (1972:29): [True: 0, False: 0]
  ------------------
 1973|      0|                            assert(dataset->shared->layout.storage.u.virt.list[i].sub_dset[j].dset !=
 1974|      0|                                   dataset);
 1975|      0|                            if (H5D_close(dataset->shared->layout.storage.u.virt.list[i].sub_dset[j].dset) <
  ------------------
  |  Branch (1975:33): [True: 0, False: 0]
  ------------------
 1976|      0|                                0)
 1977|      0|                                HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, FAIL,
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1978|      0|                                            "unable to close source dataset");
 1979|      0|                            dataset->shared->layout.storage.u.virt.list[i].sub_dset[j].dset = NULL;
 1980|      0|                        } /* end if */
 1981|      0|                }         /* end for */
 1982|      0|            }             /* end block */
 1983|      0|            break;
 1984|       |
 1985|      0|            case H5D_LAYOUT_ERROR:
  ------------------
  |  Branch (1985:13): [True: 0, False: 52]
  ------------------
 1986|      0|            case H5D_NLAYOUTS:
  ------------------
  |  Branch (1986:13): [True: 0, False: 52]
  ------------------
 1987|      0|            default:
  ------------------
  |  Branch (1987:13): [True: 0, False: 52]
  ------------------
 1988|      0|                assert("not implemented yet" && 0);
 1989|      0|#ifdef NDEBUG
 1990|      0|                HGOTO_ERROR(H5E_IO, H5E_UNSUPPORTED, FAIL, "unsupported storage layout");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1991|     52|#endif
 1992|     52|        } /* end switch */
 1993|       |
 1994|       |        /* Destroy any cached layout information for the dataset */
 1995|     52|        if (dataset->shared->layout.ops->dest && (dataset->shared->layout.ops->dest)(dataset) < 0)
  ------------------
  |  Branch (1995:13): [True: 52, False: 0]
  |  Branch (1995:50): [True: 0, False: 52]
  ------------------
 1996|      0|            HDONE_ERROR(H5E_DATASET, H5E_CANTRELEASE, FAIL, "unable to destroy layout info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1997|       |
 1998|       |        /* Free the external file prefix */
 1999|     52|        dataset->shared->extfile_prefix = (char *)H5MM_xfree(dataset->shared->extfile_prefix);
 2000|       |
 2001|       |        /* Free the vds file prefix */
 2002|     52|        dataset->shared->vds_prefix = (char *)H5MM_xfree(dataset->shared->vds_prefix);
 2003|       |
 2004|       |        /* Release layout, fill-value, efl & pipeline messages */
 2005|     52|        if (dataset->shared->dcpl_id != H5P_DATASET_CREATE_DEFAULT)
  ------------------
  |  |  152|     52|#define H5P_DATASET_CREATE_DEFAULT (H5OPEN H5P_LST_DATASET_CREATE_ID_g)
  ------------------
  |  Branch (2005:13): [True: 52, False: 0]
  ------------------
 2006|     52|            free_failed |= (H5O_msg_reset(H5O_PLINE_ID, &dataset->shared->dcpl_cache.pline) < 0) ||
  ------------------
  |  |  217|     52|#define H5O_PLINE_ID       0x000b /* Filter pipeline message.  */
  ------------------
  |  Branch (2006:28): [True: 0, False: 52]
  ------------------
 2007|     52|                           (H5O_msg_reset(H5O_LAYOUT_ID, &dataset->shared->layout) < 0) ||
  ------------------
  |  |  214|     52|#define H5O_LAYOUT_ID      0x0008 /* Data Layout Message.  */
  ------------------
  |  Branch (2007:28): [True: 0, False: 52]
  ------------------
 2008|     52|                           (H5O_msg_reset(H5O_FILL_ID, &dataset->shared->dcpl_cache.fill) < 0) ||
  ------------------
  |  |  210|     52|#define H5O_FILL_ID        0x0004 /* Fill Value Message. (Old)  */
  ------------------
  |  Branch (2008:28): [True: 0, False: 52]
  ------------------
 2009|     52|                           (H5O_msg_reset(H5O_EFL_ID, &dataset->shared->dcpl_cache.efl) < 0);
  ------------------
  |  |  213|     52|#define H5O_EFL_ID         0x0007 /* External File List Message  */
  ------------------
  |  Branch (2009:28): [True: 0, False: 52]
  ------------------
 2010|       |
 2011|       |        /* Uncork cache entries with object address tag */
 2012|     52|        if (H5AC_cork(dataset->oloc.file, dataset->oloc.addr, H5AC__GET_CORKED, &corked) < 0)
  ------------------
  |  |  143|     52|#define H5AC__GET_CORKED H5C__GET_CORKED
  |  |  ------------------
  |  |  |  |  217|     52|#define H5C__GET_CORKED 0x4
  |  |  ------------------
  ------------------
  |  Branch (2012:13): [True: 0, False: 52]
  ------------------
 2013|      0|            HDONE_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "unable to retrieve an object's cork status");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2014|     52|        if (corked)
  ------------------
  |  Branch (2014:13): [True: 0, False: 52]
  ------------------
 2015|      0|            if (H5AC_cork(dataset->oloc.file, dataset->oloc.addr, H5AC__UNCORK, NULL) < 0)
  ------------------
  |  |  142|      0|#define H5AC__UNCORK     H5C__UNCORK
  |  |  ------------------
  |  |  |  |  216|      0|#define H5C__UNCORK     0x2
  |  |  ------------------
  ------------------
  |  Branch (2015:17): [True: 0, False: 0]
  ------------------
 2016|      0|                HDONE_ERROR(H5E_DATASET, H5E_CANTUNCORK, FAIL, "unable to uncork an object");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2017|       |
 2018|       |        /* Release datatype, dataspace, and creation and access property lists -- there isn't
 2019|       |         * much we can do if one of these fails, so we just continue.
 2020|       |         */
 2021|     52|        free_failed |=
 2022|     52|            (H5I_dec_ref(dataset->shared->type_id) < 0) || (H5S_close(dataset->shared->space) < 0) ||
  ------------------
  |  Branch (2022:13): [True: 0, False: 52]
  |  Branch (2022:60): [True: 0, False: 52]
  ------------------
 2023|     52|            (H5I_dec_ref(dataset->shared->dcpl_id) < 0) || (H5I_dec_ref(dataset->shared->dapl_id) < 0);
  ------------------
  |  Branch (2023:13): [True: 0, False: 52]
  |  Branch (2023:60): [True: 0, False: 52]
  ------------------
 2024|       |
 2025|       |        /* Remove the dataset from the list of opened objects in the file */
 2026|     52|        if (H5FO_top_decr(dataset->oloc.file, dataset->oloc.addr) < 0)
  ------------------
  |  Branch (2026:13): [True: 0, False: 52]
  ------------------
 2027|      0|            HDONE_ERROR(H5E_DATASET, H5E_CANTRELEASE, FAIL, "can't decrement count for object");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2028|     52|        if (H5FO_delete(dataset->oloc.file, dataset->oloc.addr) < 0)
  ------------------
  |  Branch (2028:13): [True: 0, False: 52]
  ------------------
 2029|      0|            HDONE_ERROR(H5E_DATASET, H5E_CANTRELEASE, FAIL, "can't remove dataset from list of open objects");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2030|       |
 2031|       |        /* Close the dataset object */
 2032|       |        /* (This closes the file, if this is the last object open) */
 2033|     52|        if (H5O_close(&(dataset->oloc), &file_closed) < 0)
  ------------------
  |  Branch (2033:13): [True: 0, False: 52]
  ------------------
 2034|      0|            HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, FAIL, "unable to release object header");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2035|       |
 2036|       |        /* Evict dataset metadata if evicting on close */
 2037|     52|        if (!file_closed && H5F_SHARED(dataset->oloc.file) && H5F_EVICT_ON_CLOSE(dataset->oloc.file)) {
  ------------------
  |  |  113|    104|#define H5F_SHARED(F)                    (H5F_get_shared(F))
  |  |  ------------------
  |  |  |  Branch (113:42): [True: 52, False: 0]
  |  |  ------------------
  ------------------
                      if (!file_closed && H5F_SHARED(dataset->oloc.file) && H5F_EVICT_ON_CLOSE(dataset->oloc.file)) {
  ------------------
  |  |  140|     52|#define H5F_EVICT_ON_CLOSE(F)            (H5F_get_evict_on_close(F))
  |  |  ------------------
  |  |  |  Branch (140:42): [True: 0, False: 52]
  |  |  ------------------
  ------------------
  |  Branch (2037:13): [True: 52, False: 0]
  ------------------
 2038|      0|            if (H5AC_flush_tagged_metadata(dataset->oloc.file, dataset->oloc.addr) < 0)
  ------------------
  |  Branch (2038:17): [True: 0, False: 0]
  ------------------
 2039|      0|                HDONE_ERROR(H5E_CACHE, H5E_CANTFLUSH, FAIL, "unable to flush tagged metadata");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2040|      0|            if (H5AC_evict_tagged_metadata(dataset->oloc.file, dataset->oloc.addr, false) < 0)
  ------------------
  |  Branch (2040:17): [True: 0, False: 0]
  ------------------
 2041|      0|                HDONE_ERROR(H5E_CACHE, H5E_CANTFLUSH, FAIL, "unable to evict tagged metadata");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2042|      0|        } /* end if */
 2043|       |
 2044|       |        /*
 2045|       |         * Free memory.  Before freeing the memory set the file pointer to NULL.
 2046|       |         * We always check for a null file pointer in other H5D functions to be
 2047|       |         * sure we're not accessing an already freed dataset (see the assert()
 2048|       |         * above).
 2049|       |         */
 2050|     52|        dataset->oloc.file = NULL;
 2051|     52|        dataset->shared    = H5FL_FREE(H5D_shared_t, dataset->shared);
  ------------------
  |  |   81|     52|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|     52|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 2052|       |
 2053|     52|    } /* end if */
 2054|      0|    else {
 2055|       |        /* Decrement the ref. count for this object in the top file */
 2056|      0|        if (H5FO_top_decr(dataset->oloc.file, dataset->oloc.addr) < 0)
  ------------------
  |  Branch (2056:13): [True: 0, False: 0]
  ------------------
 2057|      0|            HGOTO_ERROR(H5E_DATASET, H5E_CANTRELEASE, FAIL, "can't decrement count for object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2058|       |
 2059|       |        /* Check reference count for this object in the top file */
 2060|      0|        if (H5FO_top_count(dataset->oloc.file, dataset->oloc.addr) == 0) {
  ------------------
  |  Branch (2060:13): [True: 0, False: 0]
  ------------------
 2061|      0|            if (H5O_close(&(dataset->oloc), NULL) < 0)
  ------------------
  |  Branch (2061:17): [True: 0, False: 0]
  ------------------
 2062|      0|                HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to close");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2063|      0|        } /* end if */
 2064|      0|        else
 2065|       |            /* Free object location (i.e. "unhold" the file if appropriate) */
 2066|      0|            if (H5O_loc_free(&(dataset->oloc)) < 0)
  ------------------
  |  Branch (2066:17): [True: 0, False: 0]
  ------------------
 2067|      0|                HGOTO_ERROR(H5E_DATASET, H5E_CANTRELEASE, FAIL, "problem attempting to free location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2068|      0|    } /* end else */
 2069|       |
 2070|       |    /* Release the dataset's path info */
 2071|     52|    if (H5G_name_free(&(dataset->path)) < 0)
  ------------------
  |  Branch (2071:9): [True: 0, False: 52]
  ------------------
 2072|      0|        free_failed = true;
 2073|       |
 2074|       |    /* Free the dataset's memory structure */
 2075|     52|    dataset = H5FL_FREE(H5D_t, dataset);
  ------------------
  |  |   81|     52|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|     52|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 2076|       |
 2077|       |    /* Check if anything failed in the middle... */
 2078|     52|    if (free_failed)
  ------------------
  |  Branch (2078:9): [True: 0, False: 52]
  ------------------
 2079|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2080|     52|                    "couldn't free a component of the dataset, but the dataset was freed anyway.");
 2081|       |
 2082|     52|done:
 2083|     52|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     52|    ;                                                                                                        \
  |  | 1573|     52|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     52|    return (ret_value);                                                                                      \
  |  | 1575|     52|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2084|     52|} /* end H5D_close() */
H5D_oloc:
 2224|    183|{
 2225|       |    /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */
 2226|    183|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|    183|    {                                                                                                        \
  |  | 1425|    183|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    183|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|    183|        {
  ------------------
 2227|       |
 2228|    183|    FUNC_LEAVE_NOAPI(dataset ? &(dataset->oloc) : (H5O_loc_t *)NULL)
  ------------------
  |  | 1572|    183|    ;                                                                                                        \
  |  | 1573|    183|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    366|    return (ret_value);                                                                                      \
  |  |  ------------------
  |  |  |  Branch (1574:13): [True: 183, False: 0]
  |  |  ------------------
  |  | 1575|    183|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2229|    183|} /* end H5D_oloc() */
H5D_nameof:
 2242|    183|{
 2243|       |    /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */
 2244|    183|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|    183|    {                                                                                                        \
  |  | 1425|    183|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    183|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|    183|        {
  ------------------
 2245|       |
 2246|    183|    FUNC_LEAVE_NOAPI(dataset ? &(dataset->path) : NULL)
  ------------------
  |  | 1572|    183|    ;                                                                                                        \
  |  | 1573|    183|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    366|    return (ret_value);                                                                                      \
  |  |  ------------------
  |  |  |  Branch (1574:13): [True: 183, False: 0]
  |  |  ------------------
  |  | 1575|    183|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2247|    183|} /* end H5D_nameof() */
H5D__flush_real:
 3230|     52|{
 3231|     52|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     52|#define SUCCEED 0
  ------------------
 3232|       |
 3233|     52|    FUNC_ENTER_PACKAGE_TAG(dataset->oloc.addr)
  ------------------
  |  | 1473|     52|    {                                                                                                        \
  |  | 1474|     52|        haddr_t prev_tag = HADDR_UNDEF;                                                                      \
  |  |  ------------------
  |  |  |  |  336|     52|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  | 1475|     52|                                                                                                             \
  |  | 1476|     52|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     52|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     52|                                                                                                             \
  |  |  |  | 1267|     52|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1477|     52|        H5AC_tag(tag, &prev_tag);                                                                            \
  |  | 1478|     52|        {
  ------------------
 3234|       |
 3235|       |    /* Check args */
 3236|     52|    assert(dataset);
 3237|     52|    assert(dataset->shared);
 3238|       |
 3239|       |    /* Avoid flushing the dataset (again) if it's closing */
 3240|     52|    if (!dataset->shared->closing)
  ------------------
  |  Branch (3240:9): [True: 52, False: 0]
  ------------------
 3241|       |        /* Flush cached raw data for each kind of dataset layout */
 3242|     52|        if (dataset->shared->layout.ops->flush && (dataset->shared->layout.ops->flush)(dataset) < 0)
  ------------------
  |  Branch (3242:13): [True: 52, False: 0]
  |  Branch (3242:51): [True: 0, False: 52]
  ------------------
 3243|      0|            HGOTO_ERROR(H5E_DATASET, H5E_CANTFLUSH, FAIL, "unable to flush raw data");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3244|       |
 3245|     52|done:
 3246|     52|    FUNC_LEAVE_NOAPI_TAG(ret_value)
  ------------------
  |  | 1593|     52|    ;                                                                                                        \
  |  | 1594|     52|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1595|     52|    H5AC_tag(prev_tag, NULL);                                                                                \
  |  | 1596|     52|    return (ret_value);                                                                                      \
  |  | 1597|     52|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 3247|     52|} /* end H5D__flush_real() */
H5D_get_create_plist:
 3573|     37|{
 3574|     37|    H5P_genplist_t *dcpl_plist;        /* Dataset's DCPL */
 3575|     37|    H5P_genplist_t *new_plist;         /* Copy of dataset's DCPL */
 3576|     37|    H5O_layout_t    copied_layout;     /* Layout to tweak */
 3577|     37|    H5O_fill_t      copied_fill = {0}; /* Fill value to tweak */
 3578|     37|    H5O_efl_t       copied_efl;        /* External file list to tweak */
 3579|     37|    H5T_t          *dst_type    = NULL;
 3580|     37|    H5T_t          *tmp_type    = NULL;
 3581|     37|    hid_t           new_dcpl_id = FAIL;
  ------------------
  |  |  284|     37|#define FAIL    (-1)
  ------------------
 3582|     37|    hid_t           ret_value   = H5I_INVALID_HID; /* Return value */
  ------------------
  |  |   75|     37|#define H5I_INVALID_HID (-1)
  ------------------
 3583|       |
 3584|     37|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     37|    {                                                                                                        \
  |  | 1392|     37|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     37|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     37|                                                                                                             \
  |  |  |  | 1267|     37|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     37|        {
  ------------------
 3585|       |
 3586|       |    /* Check args */
 3587|     37|    if (NULL == (dcpl_plist = (H5P_genplist_t *)H5I_object(dset->shared->dcpl_id)))
  ------------------
  |  Branch (3587:9): [True: 0, False: 37]
  ------------------
 3588|      0|        HGOTO_ERROR(H5E_DATASET, H5E_BADTYPE, FAIL, "can't get property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3589|       |
 3590|       |    /* Copy the creation property list */
 3591|     37|    if ((new_dcpl_id = H5P_copy_plist(dcpl_plist, true)) < 0)
  ------------------
  |  Branch (3591:9): [True: 0, False: 37]
  ------------------
 3592|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "unable to copy the creation property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3593|     37|    if (NULL == (new_plist = (H5P_genplist_t *)H5I_object(new_dcpl_id)))
  ------------------
  |  Branch (3593:9): [True: 0, False: 37]
  ------------------
 3594|      0|        HGOTO_ERROR(H5E_DATASET, H5E_BADTYPE, FAIL, "can't get property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3595|       |
 3596|       |    /* Retrieve any object creation properties */
 3597|     37|    if (H5O_get_create_plist(&dset->oloc, new_plist) < 0)
  ------------------
  |  Branch (3597:9): [True: 0, False: 37]
  ------------------
 3598|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't get object creation info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3599|       |
 3600|       |    /* Get the layout property */
 3601|     37|    if (H5P_peek(new_plist, H5D_CRT_LAYOUT_NAME, &copied_layout) < 0)
  ------------------
  |  |   42|     37|#define H5D_CRT_LAYOUT_NAME            "layout"           /* Storage layout */
  ------------------
  |  Branch (3601:9): [True: 0, False: 37]
  ------------------
 3602|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't get layout");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3603|       |
 3604|       |    /* Reset layout values set when dataset is created */
 3605|     37|    copied_layout.ops = NULL;
 3606|     37|    switch (copied_layout.type) {
 3607|     37|        case H5D_COMPACT:
  ------------------
  |  Branch (3607:9): [True: 37, False: 0]
  ------------------
 3608|     37|            copied_layout.storage.u.compact.buf = H5MM_xfree(copied_layout.storage.u.compact.buf);
 3609|     37|            memset(&copied_layout.storage.u.compact, 0, sizeof(copied_layout.storage.u.compact));
 3610|     37|            break;
 3611|       |
 3612|      0|        case H5D_CONTIGUOUS:
  ------------------
  |  Branch (3612:9): [True: 0, False: 37]
  ------------------
 3613|      0|            copied_layout.storage.u.contig.addr = HADDR_UNDEF;
  ------------------
  |  |  336|      0|#define HADDR_UNDEF         UINT64_MAX
  ------------------
 3614|      0|            copied_layout.storage.u.contig.size = 0;
 3615|      0|            break;
 3616|       |
 3617|      0|        case H5D_CHUNKED:
  ------------------
  |  Branch (3617:9): [True: 0, False: 37]
  ------------------
 3618|       |            /* Reset chunk size */
 3619|      0|            copied_layout.u.chunk.size = 0;
 3620|       |
 3621|       |            /* Reset index info, if the chunk ops are set */
 3622|      0|            if (copied_layout.storage.u.chunk.ops)
  ------------------
  |  Branch (3622:17): [True: 0, False: 0]
  ------------------
 3623|       |                /* Reset address and pointer of the array struct for the chunked storage index */
 3624|      0|                if (H5D_chunk_idx_reset(&copied_layout.storage.u.chunk, true) < 0)
  ------------------
  |  Branch (3624:21): [True: 0, False: 0]
  ------------------
 3625|      0|                    HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3626|      0|                                "unable to reset chunked storage index in dest");
 3627|       |
 3628|       |            /* Reset chunk index ops */
 3629|      0|            copied_layout.storage.u.chunk.ops = NULL;
 3630|      0|            break;
 3631|       |
 3632|      0|        case H5D_VIRTUAL:
  ------------------
  |  Branch (3632:9): [True: 0, False: 37]
  ------------------
 3633|      0|            copied_layout.storage.u.virt.serial_list_hobjid.addr = HADDR_UNDEF;
  ------------------
  |  |  336|      0|#define HADDR_UNDEF         UINT64_MAX
  ------------------
 3634|      0|            copied_layout.storage.u.virt.serial_list_hobjid.idx  = 0;
 3635|      0|            break;
 3636|       |
 3637|      0|        case H5D_LAYOUT_ERROR:
  ------------------
  |  Branch (3637:9): [True: 0, False: 37]
  ------------------
 3638|      0|        case H5D_NLAYOUTS:
  ------------------
  |  Branch (3638:9): [True: 0, False: 37]
  ------------------
 3639|      0|        default:
  ------------------
  |  Branch (3639:9): [True: 0, False: 37]
  ------------------
 3640|      0|            assert(0 && "Unknown layout type!");
 3641|     37|    } /* end switch */
 3642|       |
 3643|       |    /* Set back the (possibly modified) layout property to property list */
 3644|     37|    if (H5P_poke(new_plist, H5D_CRT_LAYOUT_NAME, &copied_layout) < 0)
  ------------------
  |  |   42|     37|#define H5D_CRT_LAYOUT_NAME            "layout"           /* Storage layout */
  ------------------
  |  Branch (3644:9): [True: 0, False: 37]
  ------------------
 3645|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "unable to set layout");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3646|       |
 3647|       |    /* Get the fill value property */
 3648|     37|    if (H5P_peek(new_plist, H5D_CRT_FILL_VALUE_NAME, &copied_fill) < 0)
  ------------------
  |  |   43|     37|#define H5D_CRT_FILL_VALUE_NAME        "fill_value"       /* Fill value */
  ------------------
  |  Branch (3648:9): [True: 0, False: 37]
  ------------------
 3649|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't get fill value");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3650|       |
 3651|       |    /* Check if there is a fill value, but no type yet */
 3652|     37|    if (copied_fill.buf != NULL && copied_fill.type == NULL) {
  ------------------
  |  Branch (3652:9): [True: 9, False: 28]
  |  Branch (3652:36): [True: 9, False: 0]
  ------------------
 3653|      9|        H5T_path_t *tpath; /* Conversion information*/
 3654|       |
 3655|       |        /* Copy the dataset type into the fill value message */
 3656|      9|        if (NULL == (copied_fill.type = H5T_copy(dset->shared->type, H5T_COPY_TRANSIENT)))
  ------------------
  |  Branch (3656:13): [True: 0, False: 9]
  ------------------
 3657|      0|            HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to copy dataset datatype for fill value");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3658|       |
 3659|       |        /* Set up type conversion function */
 3660|      9|        if (NULL == (tpath = H5T_path_find(dset->shared->type, copied_fill.type)))
  ------------------
  |  Branch (3660:13): [True: 0, False: 9]
  ------------------
 3661|      0|            HGOTO_ERROR(H5E_DATASET, H5E_UNSUPPORTED, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3662|      9|                        "unable to convert between src and dest data types");
 3663|       |
 3664|       |        /* Convert disk form of fill value into memory form */
 3665|      9|        if (!H5T_path_noop(tpath)) {
  ------------------
  |  Branch (3665:13): [True: 9, False: 0]
  ------------------
 3666|      9|            uint8_t *bkg_buf = NULL; /* Background conversion buffer */
 3667|      9|            size_t   bkg_size;       /* Size of background buffer */
 3668|       |
 3669|      9|            dst_type = copied_fill.type;
 3670|      9|            if (H5T_detect_class(dst_type, H5T_VLEN, false) > 0 ||
  ------------------
  |  Branch (3670:17): [True: 0, False: 9]
  ------------------
 3671|      9|                H5T_detect_class(dst_type, H5T_REFERENCE, false) > 0) {
  ------------------
  |  Branch (3671:17): [True: 9, False: 0]
  ------------------
 3672|      9|                if (NULL == (tmp_type = H5T_copy(dst_type, H5T_COPY_TRANSIENT)))
  ------------------
  |  Branch (3672:21): [True: 0, False: 9]
  ------------------
 3673|      0|                    HGOTO_ERROR(H5E_DATASET, H5E_CANTCOPY, FAIL, "unable to copy fill value datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3674|      9|                dst_type = tmp_type;
 3675|      9|            }
 3676|       |
 3677|       |            /* Allocate a background buffer */
 3678|      9|            bkg_size = MAX(H5T_GET_SIZE(copied_fill.type), H5T_GET_SIZE(dset->shared->type));
  ------------------
  |  |  300|      9|#define MAX(a, b)        (((a) > (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (300:27): [True: 0, False: 9]
  |  |  ------------------
  ------------------
 3679|      9|            if (H5T_path_bkg(tpath) && NULL == (bkg_buf = H5FL_BLK_CALLOC(type_conv, bkg_size)))
  ------------------
  |  |  149|      0|#define H5FL_BLK_CALLOC(t, size) (uint8_t *)H5FL_blk_calloc(&(H5FL_BLK_NAME(t)), (size))
  |  |  ------------------
  |  |  |  |  131|      0|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
  |  Branch (3679:17): [True: 0, False: 9]
  |  Branch (3679:40): [True: 0, False: 0]
  ------------------
 3680|      0|                HGOTO_ERROR(H5E_DATASET, H5E_CANTALLOC, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3681|       |
 3682|       |            /* Convert fill value */
 3683|      9|            if (H5T_convert(tpath, dset->shared->type, dst_type, (size_t)1, (size_t)0, (size_t)0,
  ------------------
  |  Branch (3683:17): [True: 0, False: 9]
  ------------------
 3684|      9|                            copied_fill.buf, bkg_buf) < 0) {
 3685|      0|                if (bkg_buf)
  ------------------
  |  Branch (3685:21): [True: 0, False: 0]
  ------------------
 3686|      0|                    bkg_buf = H5FL_BLK_FREE(type_conv, bkg_buf);
  ------------------
  |  |  152|      0|#define H5FL_BLK_FREE(t, blk) (uint8_t *)H5FL_blk_free(&(H5FL_BLK_NAME(t)), blk)
  |  |  ------------------
  |  |  |  |  131|      0|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
 3687|      0|                HGOTO_ERROR(H5E_DATASET, H5E_CANTCONVERT, FAIL, "datatype conversion failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3688|      0|            } /* end if */
 3689|       |
 3690|       |            /* Release local resources */
 3691|      9|            if (bkg_buf)
  ------------------
  |  Branch (3691:17): [True: 0, False: 9]
  ------------------
 3692|      0|                bkg_buf = H5FL_BLK_FREE(type_conv, bkg_buf);
  ------------------
  |  |  152|      0|#define H5FL_BLK_FREE(t, blk) (uint8_t *)H5FL_blk_free(&(H5FL_BLK_NAME(t)), blk)
  |  |  ------------------
  |  |  |  |  131|      0|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
 3693|      9|        } /* end if */
 3694|      9|    }     /* end if */
 3695|       |
 3696|       |    /* Set back the (possibly modified) fill value property to property list */
 3697|     37|    if (H5P_poke(new_plist, H5D_CRT_FILL_VALUE_NAME, &copied_fill) < 0)
  ------------------
  |  |   43|     37|#define H5D_CRT_FILL_VALUE_NAME        "fill_value"       /* Fill value */
  ------------------
  |  Branch (3697:9): [True: 0, False: 37]
  ------------------
 3698|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "unable to set fill value");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3699|       |
 3700|       |    /* Get the fill value property */
 3701|     37|    if (H5P_peek(new_plist, H5D_CRT_EXT_FILE_LIST_NAME, &copied_efl) < 0)
  ------------------
  |  |   45|     37|#define H5D_CRT_EXT_FILE_LIST_NAME     "efl"              /* External file list */
  ------------------
  |  Branch (3701:9): [True: 0, False: 37]
  ------------------
 3702|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't get external file list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3703|       |
 3704|       |    /* Reset efl name_offset and heap_addr, these are the values when the dataset is created */
 3705|     37|    if (copied_efl.slot) {
  ------------------
  |  Branch (3705:9): [True: 0, False: 37]
  ------------------
 3706|      0|        unsigned u;
 3707|       |
 3708|      0|        copied_efl.heap_addr = HADDR_UNDEF;
  ------------------
  |  |  336|      0|#define HADDR_UNDEF         UINT64_MAX
  ------------------
 3709|      0|        for (u = 0; u < copied_efl.nused; u++)
  ------------------
  |  Branch (3709:21): [True: 0, False: 0]
  ------------------
 3710|      0|            copied_efl.slot[u].name_offset = 0;
 3711|      0|    } /* end if */
 3712|       |
 3713|       |    /* Set back the (possibly modified) external file list property to property list */
 3714|     37|    if (H5P_poke(new_plist, H5D_CRT_EXT_FILE_LIST_NAME, &copied_efl) < 0)
  ------------------
  |  |   45|     37|#define H5D_CRT_EXT_FILE_LIST_NAME     "efl"              /* External file list */
  ------------------
  |  Branch (3714:9): [True: 0, False: 37]
  ------------------
 3715|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "unable to set external file list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3716|       |
 3717|       |    /* Set the return value */
 3718|     37|    ret_value = new_dcpl_id;
 3719|       |
 3720|     37|done:
 3721|     37|    if (tmp_type && (H5T_close(tmp_type) < 0))
  ------------------
  |  Branch (3721:9): [True: 9, False: 28]
  |  Branch (3721:21): [True: 0, False: 9]
  ------------------
 3722|      0|        HDONE_ERROR(H5E_DATASET, H5E_CANTCLOSEOBJ, FAIL, "unable to close temporary datatype");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3723|       |
 3724|     37|    if (ret_value < 0) {
  ------------------
  |  Branch (3724:9): [True: 0, False: 37]
  ------------------
 3725|      0|        if (new_dcpl_id > 0)
  ------------------
  |  Branch (3725:13): [True: 0, False: 0]
  ------------------
 3726|      0|            if (H5I_dec_app_ref(new_dcpl_id) < 0)
  ------------------
  |  Branch (3726:17): [True: 0, False: 0]
  ------------------
 3727|      0|                HDONE_ERROR(H5E_DATASET, H5E_CANTDEC, FAIL, "unable to close temporary object");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3728|       |
 3729|      0|        if (copied_fill.type && (H5T_close_real(copied_fill.type) < 0))
  ------------------
  |  Branch (3729:13): [True: 0, False: 0]
  |  Branch (3729:33): [True: 0, False: 0]
  ------------------
 3730|      0|            HDONE_ERROR(H5E_DATASET, H5E_CANTFREE, FAIL, "Can't free temporary datatype");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3731|      0|    }
 3732|       |
 3733|     37|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     37|    ;                                                                                                        \
  |  | 1573|     37|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     37|    return (ret_value);                                                                                      \
  |  | 1575|     37|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 3734|     37|} /* end H5D_get_create_plist() */
H5D__get_space:
 3868|     40|{
 3869|     40|    H5S_t *space     = NULL;
 3870|     40|    hid_t  ret_value = H5I_INVALID_HID;
  ------------------
  |  |   75|     40|#define H5I_INVALID_HID (-1)
  ------------------
 3871|       |
 3872|     40|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     40|    {                                                                                                        \
  |  | 1461|     40|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     40|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     40|                                                                                                             \
  |  |  |  | 1267|     40|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     40|        {
  ------------------
 3873|       |
 3874|       |    /* If the layout is virtual, update the extent */
 3875|     40|    if (dset->shared->layout.type == H5D_VIRTUAL)
  ------------------
  |  Branch (3875:9): [True: 0, False: 40]
  ------------------
 3876|      0|        if (H5D__virtual_set_extent_unlim(dset) < 0)
  ------------------
  |  Branch (3876:13): [True: 0, False: 0]
  ------------------
 3877|      0|            HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to update virtual dataset extent");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3878|       |
 3879|       |    /* Read the dataspace message and return a dataspace object */
 3880|     40|    if (NULL == (space = H5S_copy(dset->shared->space, false, true)))
  ------------------
  |  Branch (3880:9): [True: 0, False: 40]
  ------------------
 3881|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to get dataspace");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3882|       |
 3883|       |    /* Create an ID */
 3884|     40|    if ((ret_value = H5I_register(H5I_DATASPACE, space, true)) < 0)
  ------------------
  |  Branch (3884:9): [True: 0, False: 40]
  ------------------
 3885|      0|        HGOTO_ERROR(H5E_ID, H5E_CANTREGISTER, FAIL, "unable to register dataspace");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3886|       |
 3887|     40|done:
 3888|     40|    if (ret_value < 0)
  ------------------
  |  Branch (3888:9): [True: 0, False: 40]
  ------------------
 3889|      0|        if (space != NULL)
  ------------------
  |  Branch (3889:13): [True: 0, False: 0]
  ------------------
 3890|      0|            if (H5S_close(space) < 0)
  ------------------
  |  Branch (3890:17): [True: 0, False: 0]
  ------------------
 3891|      0|                HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, FAIL, "unable to release dataspace");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3892|       |
 3893|     40|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     40|    ;                                                                                                        \
  |  | 1573|     40|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     40|    return (ret_value);                                                                                      \
  |  | 1575|     40|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 3894|     40|} /* end H5D__get_space() */
H5D__get_type:
 3908|     37|{
 3909|     37|    H5T_t *dt        = NULL;
 3910|     37|    hid_t  ret_value = FAIL;
  ------------------
  |  |  284|     37|#define FAIL    (-1)
  ------------------
 3911|       |
 3912|     37|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     37|    {                                                                                                        \
  |  | 1461|     37|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     37|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     37|                                                                                                             \
  |  |  |  | 1267|     37|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     37|        {
  ------------------
 3913|       |
 3914|       |    /* Patch the datatype's "top level" file pointer */
 3915|     37|    if (H5T_patch_file(dset->shared->type, dset->oloc.file) < 0)
  ------------------
  |  Branch (3915:9): [True: 0, False: 37]
  ------------------
 3916|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to patch datatype's file pointer");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3917|       |
 3918|       |    /* Copy the dataset's datatype */
 3919|     37|    if (NULL == (dt = H5T_copy_reopen(dset->shared->type)))
  ------------------
  |  Branch (3919:9): [True: 0, False: 37]
  ------------------
 3920|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to copy datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3921|       |
 3922|       |    /* Mark any datatypes as being in memory now */
 3923|     37|    if (H5T_set_loc(dt, NULL, H5T_LOC_MEMORY) < 0)
  ------------------
  |  Branch (3923:9): [True: 0, False: 37]
  ------------------
 3924|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3925|       |
 3926|       |    /* Lock copied type */
 3927|     37|    if (H5T_lock(dt, false) < 0)
  ------------------
  |  Branch (3927:9): [True: 0, False: 37]
  ------------------
 3928|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to lock transient datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3929|       |
 3930|       |    /* Create an ID */
 3931|     37|    if (H5T_is_named(dt)) {
  ------------------
  |  Branch (3931:9): [True: 0, False: 37]
  ------------------
 3932|       |        /* If this is a committed datatype, we need to recreate the
 3933|       |         * two-level IDs, where the VOL object is a copy of the
 3934|       |         * returned datatype.
 3935|       |         */
 3936|      0|        if ((ret_value = H5VL_wrap_register(H5I_DATATYPE, dt, true)) < 0)
  ------------------
  |  Branch (3936:13): [True: 0, False: 0]
  ------------------
 3937|      0|            HGOTO_ERROR(H5E_ID, H5E_CANTREGISTER, FAIL, "unable to register datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3938|      0|    } /* end if */
 3939|     37|    else if ((ret_value = H5I_register(H5I_DATATYPE, dt, true)) < 0)
  ------------------
  |  Branch (3939:14): [True: 0, False: 37]
  ------------------
 3940|      0|        HGOTO_ERROR(H5E_ID, H5E_CANTREGISTER, FAIL, "unable to register datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3941|       |
 3942|     37|done:
 3943|     37|    if (ret_value < 0)
  ------------------
  |  Branch (3943:9): [True: 0, False: 37]
  ------------------
 3944|      0|        if (dt && H5T_close(dt) < 0)
  ------------------
  |  Branch (3944:13): [True: 0, False: 0]
  |  Branch (3944:19): [True: 0, False: 0]
  ------------------
 3945|      0|            HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, FAIL, "unable to release datatype");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3946|       |
 3947|     37|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     37|    ;                                                                                                        \
  |  | 1573|     37|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     37|    return (ret_value);                                                                                      \
  |  | 1575|     37|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 3948|     37|} /* end H5D__get_type() */
H5Dint.c:H5D__close_cb:
  289|     52|{
  290|     52|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     52|#define SUCCEED 0
  ------------------
  291|       |
  292|     52|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     52|    {                                                                                                        \
  |  | 1461|     52|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     52|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     52|                                                                                                             \
  |  |  |  | 1267|     52|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     52|        {
  ------------------
  293|       |
  294|       |    /* Sanity check */
  295|     52|    assert(dset_vol_obj);
  296|       |
  297|       |    /* Close the dataset */
  298|     52|    if (H5VL_dataset_close(dset_vol_obj, H5P_DATASET_XFER_DEFAULT, request) < 0)
  ------------------
  |  |  160|     52|#define H5P_DATASET_XFER_DEFAULT (H5OPEN H5P_LST_DATASET_XFER_ID_g)
  ------------------
  |  Branch (298:9): [True: 0, False: 52]
  ------------------
  299|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CLOSEERROR, FAIL, "unable to close dataset");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  300|       |
  301|     52|done:
  302|       |    /* Free the VOL object */
  303|     52|    if (H5VL_free_object(dset_vol_obj) < 0)
  ------------------
  |  Branch (303:9): [True: 0, False: 52]
  ------------------
  304|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTDEC, FAIL, "unable to free VOL object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  305|       |
  306|     52|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     52|    ;                                                                                                        \
  |  | 1573|     52|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     52|    return (ret_value);                                                                                      \
  |  | 1575|     52|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  307|     52|} /* end H5D__close_cb() */
H5Dint.c:H5D__new:
  422|     55|{
  423|     55|    H5D_shared_t   *new_dset = NULL;  /* New dataset object */
  424|     55|    H5P_genplist_t *plist;            /* Property list created */
  425|     55|    H5D_shared_t   *ret_value = NULL; /* Return value */
  426|       |
  427|     55|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     55|    {                                                                                                        \
  |  | 1461|     55|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     55|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     55|                                                                                                             \
  |  |  |  | 1267|     55|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     55|        {
  ------------------
  428|       |
  429|       |    /* Allocate new shared dataset structure */
  430|     55|    if (NULL == (new_dset = H5FL_MALLOC(H5D_shared_t)))
  ------------------
  |  |   75|     55|#define H5FL_MALLOC(t) (t *)H5FL_reg_malloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|     55|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (430:9): [True: 0, False: 55]
  ------------------
  431|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  432|       |
  433|       |    /* Copy the default dataset information */
  434|     55|    H5MM_memcpy(new_dset, &H5D_def_dset, sizeof(H5D_shared_t));
  ------------------
  |  |   41|     55|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  435|       |
  436|       |    /* If we are using the default dataset creation property list, during creation
  437|       |     * don't bother to copy it, just increment the reference count
  438|       |     */
  439|     55|    if (!vl_type && creating && dcpl_id == H5P_DATASET_CREATE_DEFAULT) {
  ------------------
  |  |  152|      0|#define H5P_DATASET_CREATE_DEFAULT (H5OPEN H5P_LST_DATASET_CREATE_ID_g)
  ------------------
  |  Branch (439:9): [True: 55, False: 0]
  |  Branch (439:21): [True: 0, False: 55]
  |  Branch (439:33): [True: 0, False: 0]
  ------------------
  440|      0|        if (H5I_inc_ref(dcpl_id, false) < 0)
  ------------------
  |  Branch (440:13): [True: 0, False: 0]
  ------------------
  441|      0|            HGOTO_ERROR(H5E_DATASET, H5E_CANTINC, NULL, "can't increment default DCPL ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  442|      0|        new_dset->dcpl_id = dcpl_id;
  443|      0|    } /* end if */
  444|     55|    else {
  445|       |        /* Get the property list */
  446|     55|        if (NULL == (plist = (H5P_genplist_t *)H5I_object(dcpl_id)))
  ------------------
  |  Branch (446:13): [True: 0, False: 55]
  ------------------
  447|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "not a property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  448|       |
  449|     55|        new_dset->dcpl_id = H5P_copy_plist(plist, false);
  450|     55|    } /* end else */
  451|       |
  452|     55|    if (!vl_type && creating && dapl_id == H5P_DATASET_ACCESS_DEFAULT) {
  ------------------
  |  |  156|      0|#define H5P_DATASET_ACCESS_DEFAULT (H5OPEN H5P_LST_DATASET_ACCESS_ID_g)
  ------------------
  |  Branch (452:9): [True: 55, False: 0]
  |  Branch (452:21): [True: 0, False: 55]
  |  Branch (452:33): [True: 0, False: 0]
  ------------------
  453|      0|        if (H5I_inc_ref(dapl_id, false) < 0)
  ------------------
  |  Branch (453:13): [True: 0, False: 0]
  ------------------
  454|      0|            HGOTO_ERROR(H5E_DATASET, H5E_CANTINC, NULL, "can't increment default DAPL ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  455|      0|        new_dset->dapl_id = dapl_id;
  456|      0|    } /* end if */
  457|     55|    else {
  458|       |        /* Get the property list */
  459|     55|        if (NULL == (plist = (H5P_genplist_t *)H5I_object(dapl_id)))
  ------------------
  |  Branch (459:13): [True: 0, False: 55]
  ------------------
  460|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "not a property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  461|       |
  462|     55|        new_dset->dapl_id = H5P_copy_plist(plist, false);
  463|     55|    } /* end else */
  464|       |
  465|       |    /* Set return value */
  466|     55|    ret_value = new_dset;
  467|       |
  468|     55|done:
  469|     55|    if (ret_value == NULL)
  ------------------
  |  Branch (469:9): [True: 0, False: 55]
  ------------------
  470|      0|        if (new_dset != NULL) {
  ------------------
  |  Branch (470:13): [True: 0, False: 0]
  ------------------
  471|      0|            if (new_dset->dcpl_id != 0 && H5I_dec_ref(new_dset->dcpl_id) < 0)
  ------------------
  |  Branch (471:17): [True: 0, False: 0]
  |  Branch (471:43): [True: 0, False: 0]
  ------------------
  472|      0|                HDONE_ERROR(H5E_DATASET, H5E_CANTDEC, NULL, "can't decrement temporary datatype ID");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  473|      0|            if (new_dset->dapl_id != 0 && H5I_dec_ref(new_dset->dapl_id) < 0)
  ------------------
  |  Branch (473:17): [True: 0, False: 0]
  |  Branch (473:43): [True: 0, False: 0]
  ------------------
  474|      0|                HDONE_ERROR(H5E_DATASET, H5E_CANTDEC, NULL, "can't decrement temporary datatype ID");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  475|      0|            new_dset = H5FL_FREE(H5D_shared_t, new_dset);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  476|      0|        } /* end if */
  477|       |
  478|     55|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     55|    ;                                                                                                        \
  |  | 1573|     55|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     55|    return (ret_value);                                                                                      \
  |  | 1575|     55|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  479|     55|} /* end H5D__new() */
H5Dint.c:H5D__build_file_prefix:
 1057|    110|{
 1058|    110|    const char *prefix   = NULL;     /* prefix used to look for the file               */
 1059|    110|    char       *filepath = NULL;     /* absolute path of directory the HDF5 file is in */
 1060|    110|    size_t      filepath_len;        /* length of file path                            */
 1061|    110|    size_t      prefix_len;          /* length of prefix                               */
 1062|    110|    size_t      file_prefix_len;     /* length of expanded prefix                      */
 1063|    110|    herr_t      ret_value = SUCCEED; /* Return value                                   */
  ------------------
  |  |  283|    110|#define SUCCEED 0
  ------------------
 1064|       |
 1065|    110|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    110|    {                                                                                                        \
  |  | 1461|    110|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    110|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    110|                                                                                                             \
  |  |  |  | 1267|    110|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    110|        {
  ------------------
 1066|       |
 1067|       |    /* Sanity checks */
 1068|    110|    assert(dset);
 1069|    110|    assert(dset->oloc.file);
 1070|    110|    filepath = H5F_EXTPATH(dset->oloc.file);
  ------------------
  |  |  112|    110|#define H5F_EXTPATH(F)                   (H5F_get_extpath(F))
  ------------------
 1071|    110|    assert(filepath);
 1072|       |
 1073|       |    /* XXX: Future thread-safety note - getenv is not required
 1074|       |     *      to be reentrant.
 1075|       |     */
 1076|    110|    if (H5F_PREFIX_VDS == prefix_type) {
  ------------------
  |  Branch (1076:9): [True: 55, False: 55]
  ------------------
 1077|     55|        prefix = H5D_prefix_vds_env;
 1078|       |
 1079|     55|        if (prefix == NULL || *prefix == '\0') {
  ------------------
  |  Branch (1079:13): [True: 55, False: 0]
  |  Branch (1079:31): [True: 0, False: 0]
  ------------------
 1080|     55|            if (H5CX_get_vds_prefix(&prefix) < 0)
  ------------------
  |  Branch (1080:17): [True: 0, False: 55]
  ------------------
 1081|      0|                HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't get the prefix for vds file");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1082|     55|        }
 1083|     55|    }
 1084|     55|    else if (H5F_PREFIX_EFILE == prefix_type) {
  ------------------
  |  Branch (1084:14): [True: 55, False: 0]
  ------------------
 1085|     55|        prefix = H5D_prefix_ext_env;
 1086|       |
 1087|     55|        if (prefix == NULL || *prefix == '\0') {
  ------------------
  |  Branch (1087:13): [True: 55, False: 0]
  |  Branch (1087:31): [True: 0, False: 0]
  ------------------
 1088|     55|            if (H5CX_get_ext_file_prefix(&prefix) < 0)
  ------------------
  |  Branch (1088:17): [True: 0, False: 55]
  ------------------
 1089|      0|                HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't get the prefix for the external file");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1090|     55|        }
 1091|     55|    }
 1092|      0|    else
 1093|      0|        HGOTO_ERROR(H5E_DATASET, H5E_BADTYPE, FAIL, "prefix name is not sensible");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1094|       |
 1095|       |    /* Prefix has to be checked for NULL / empty string again because the
 1096|       |     * code above might have updated it.
 1097|       |     */
 1098|    110|    if (prefix == NULL || *prefix == '\0' || strcmp(prefix, ".") == 0) {
  ------------------
  |  Branch (1098:9): [True: 110, False: 0]
  |  Branch (1098:27): [True: 0, False: 0]
  |  Branch (1098:46): [True: 0, False: 0]
  ------------------
 1099|       |        /* filename is interpreted as relative to the current directory,
 1100|       |         * does not need to be expanded
 1101|       |         */
 1102|    110|        *file_prefix = NULL;
 1103|    110|    } /* end if */
 1104|      0|    else {
 1105|      0|        if (strncmp(prefix, "${ORIGIN}", strlen("${ORIGIN}")) == 0) {
  ------------------
  |  Branch (1105:13): [True: 0, False: 0]
  ------------------
 1106|       |            /* Replace ${ORIGIN} at beginning of prefix by directory of HDF5 file */
 1107|      0|            filepath_len    = strlen(filepath);
 1108|      0|            prefix_len      = strlen(prefix);
 1109|      0|            file_prefix_len = filepath_len + prefix_len - strlen("${ORIGIN}") + 1;
 1110|       |
 1111|      0|            if (NULL == (*file_prefix = (char *)H5MM_malloc(file_prefix_len)))
  ------------------
  |  |   38|      0|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  |  Branch (1111:17): [True: 0, False: 0]
  ------------------
 1112|      0|                HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "unable to allocate buffer");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1113|      0|            snprintf(*file_prefix, file_prefix_len, "%s%s", filepath, prefix + strlen("${ORIGIN}"));
 1114|      0|        } /* end if */
 1115|      0|        else {
 1116|      0|            if (NULL == (*file_prefix = (char *)H5MM_strdup(prefix)))
  ------------------
  |  Branch (1116:17): [True: 0, False: 0]
  ------------------
 1117|      0|                HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1118|      0|        } /* end else */
 1119|      0|    }     /* end else */
 1120|       |
 1121|    110|done:
 1122|    110|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    110|    ;                                                                                                        \
  |  | 1573|    110|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    110|    return (ret_value);                                                                                      \
  |  | 1575|    110|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1123|    110|} /* H5D__build_file_prefix() */
H5Dint.c:H5D__append_flush_setup:
 1600|     52|{
 1601|     52|    herr_t ret_value = SUCCEED; /* return value */
  ------------------
  |  |  283|     52|#define SUCCEED 0
  ------------------
 1602|       |
 1603|     52|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     52|    {                                                                                                        \
  |  | 1461|     52|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     52|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     52|                                                                                                             \
  |  |  |  | 1267|     52|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     52|        {
  ------------------
 1604|       |
 1605|       |    /* Check args */
 1606|     52|    assert(dset);
 1607|     52|    assert(dset->shared);
 1608|       |
 1609|       |    /* Set default append flush values */
 1610|     52|    memset(&dset->shared->append_flush, 0, sizeof(dset->shared->append_flush));
 1611|       |
 1612|       |    /* If the dataset is chunked and there is a non-default DAPL */
 1613|     52|    if (dapl_id != H5P_DATASET_ACCESS_DEFAULT && dset->shared->layout.type == H5D_CHUNKED) {
  ------------------
  |  |  156|    104|#define H5P_DATASET_ACCESS_DEFAULT (H5OPEN H5P_LST_DATASET_ACCESS_ID_g)
  ------------------
  |  Branch (1613:9): [True: 0, False: 52]
  |  Branch (1613:50): [True: 0, False: 0]
  ------------------
 1614|      0|        H5P_genplist_t *dapl; /* data access property list object pointer */
 1615|       |
 1616|       |        /* Get dataset access property list */
 1617|      0|        if (NULL == (dapl = (H5P_genplist_t *)H5I_object(dapl_id)))
  ------------------
  |  Branch (1617:13): [True: 0, False: 0]
  ------------------
 1618|      0|            HGOTO_ERROR(H5E_ID, H5E_BADID, FAIL, "can't find object for dapl ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1619|       |
 1620|       |        /* Check if append flush property exists */
 1621|      0|        if (H5P_exist_plist(dapl, H5D_ACS_APPEND_FLUSH_NAME) > 0) {
  ------------------
  |  |   55|      0|#define H5D_ACS_APPEND_FLUSH_NAME         "append_flush"         /* Append flush actions */
  ------------------
  |  Branch (1621:13): [True: 0, False: 0]
  ------------------
 1622|      0|            H5D_append_flush_t info;
 1623|       |
 1624|       |            /* Get append flush property */
 1625|      0|            if (H5P_get(dapl, H5D_ACS_APPEND_FLUSH_NAME, &info) < 0)
  ------------------
  |  |   55|      0|#define H5D_ACS_APPEND_FLUSH_NAME         "append_flush"         /* Append flush actions */
  ------------------
  |  Branch (1625:17): [True: 0, False: 0]
  ------------------
 1626|      0|                HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, FAIL, "can't get append flush info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1627|      0|            if (info.ndims > 0) {
  ------------------
  |  Branch (1627:17): [True: 0, False: 0]
  ------------------
 1628|      0|                hsize_t  curr_dims[H5S_MAX_RANK]; /* current dimension sizes */
 1629|      0|                hsize_t  max_dims[H5S_MAX_RANK];  /* current dimension sizes */
 1630|      0|                int      rank;                    /* dataspace # of dimensions */
 1631|      0|                unsigned u;                       /* local index variable */
 1632|       |
 1633|       |                /* Get dataset rank */
 1634|      0|                if ((rank = H5S_get_simple_extent_dims(dset->shared->space, curr_dims, max_dims)) < 0)
  ------------------
  |  Branch (1634:21): [True: 0, False: 0]
  ------------------
 1635|      0|                    HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't get dataset dimensions");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1636|      0|                if (info.ndims != (unsigned)rank)
  ------------------
  |  Branch (1636:21): [True: 0, False: 0]
  ------------------
 1637|      0|                    HGOTO_ERROR(H5E_DATASET, H5E_BADVALUE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1638|      0|                                "boundary dimension rank does not match dataset rank");
 1639|       |
 1640|       |                /* Validate boundary sizes */
 1641|      0|                for (u = 0; u < info.ndims; u++)
  ------------------
  |  Branch (1641:29): [True: 0, False: 0]
  ------------------
 1642|      0|                    if (info.boundary[u] != 0) /* when a non-zero boundary is set */
  ------------------
  |  Branch (1642:25): [True: 0, False: 0]
  ------------------
 1643|       |                        /* the dimension is extendible? */
 1644|      0|                        if (max_dims[u] != H5S_UNLIMITED && max_dims[u] == curr_dims[u])
  ------------------
  |  |   48|      0|#define H5S_UNLIMITED HSIZE_UNDEF /**< Value for 'unlimited' dimensions */
  |  |  ------------------
  |  |  |  |  322|      0|#define HSIZE_UNDEF        UINT64_MAX
  |  |  ------------------
  ------------------
  |  Branch (1644:29): [True: 0, False: 0]
  |  Branch (1644:61): [True: 0, False: 0]
  ------------------
 1645|      0|                            break;
 1646|       |
 1647|       |                /* At least one boundary dimension is not extendible */
 1648|      0|                if (u != info.ndims)
  ------------------
  |  Branch (1648:21): [True: 0, False: 0]
  ------------------
 1649|      0|                    HGOTO_ERROR(H5E_DATASET, H5E_BADVALUE, FAIL, "boundary dimension is not valid");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1650|       |
 1651|       |                /* Copy append flush settings */
 1652|      0|                dset->shared->append_flush.ndims = info.ndims;
 1653|      0|                dset->shared->append_flush.func  = info.func;
 1654|      0|                dset->shared->append_flush.udata = info.udata;
 1655|      0|                H5MM_memcpy(dset->shared->append_flush.boundary, info.boundary, sizeof(info.boundary));
  ------------------
  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
 1656|      0|            } /* end if */
 1657|      0|        }     /* end if */
 1658|      0|    }         /* end if */
 1659|       |
 1660|     52|done:
 1661|     52|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     52|    ;                                                                                                        \
  |  | 1573|     52|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     52|    return (ret_value);                                                                                      \
  |  | 1575|     52|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1662|     52|} /* H5D__append_flush_setup() */
H5Dint.c:H5D__open_oid:
 1674|     55|{
 1675|     55|    H5P_genplist_t *plist;                     /* Property list */
 1676|     55|    H5O_fill_t     *fill_prop = NULL;          /* Pointer to dataset's fill value info */
 1677|     55|    unsigned        alloc_time_state;          /* Allocation time state */
 1678|     55|    htri_t          msg_exists;                /* Whether a particular type of message exists */
 1679|     55|    bool            layout_init       = false; /* Flag to indicate that chunk information was initialized */
 1680|     55|    bool            must_init_storage = false;
 1681|     55|    bool            fill_init         = false;   /* Flag to indicate that fill information was initialized */
 1682|     55|    herr_t          ret_value         = SUCCEED; /* Return value */
  ------------------
  |  |  283|     55|#define SUCCEED 0
  ------------------
 1683|       |
 1684|     55|    FUNC_ENTER_PACKAGE_TAG(dataset->oloc.addr)
  ------------------
  |  | 1473|     55|    {                                                                                                        \
  |  | 1474|     55|        haddr_t prev_tag = HADDR_UNDEF;                                                                      \
  |  |  ------------------
  |  |  |  |  336|     55|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  | 1475|     55|                                                                                                             \
  |  | 1476|     55|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     55|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     55|                                                                                                             \
  |  |  |  | 1267|     55|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1477|     55|        H5AC_tag(tag, &prev_tag);                                                                            \
  |  | 1478|     55|        {
  ------------------
 1685|       |
 1686|       |    /* check args */
 1687|     55|    assert(dataset);
 1688|       |
 1689|       |    /* (Set the 'vl_type' parameter to false since it doesn't matter from here) */
 1690|     55|    if (NULL == (dataset->shared = H5D__new(H5P_DATASET_CREATE_DEFAULT, dapl_id, false, false)))
  ------------------
  |  |  152|     55|#define H5P_DATASET_CREATE_DEFAULT (H5OPEN H5P_LST_DATASET_CREATE_ID_g)
  ------------------
  |  Branch (1690:9): [True: 0, False: 55]
  ------------------
 1691|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1692|       |
 1693|       |    /* Open the dataset object */
 1694|     55|    if (H5O_open(&(dataset->oloc)) < 0)
  ------------------
  |  Branch (1694:9): [True: 0, False: 55]
  ------------------
 1695|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTOPENOBJ, FAIL, "unable to open");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1696|       |
 1697|       |    /* Get the type and space */
 1698|     55|    if (NULL == (dataset->shared->type = (H5T_t *)H5O_msg_read(&(dataset->oloc), H5O_DTYPE_ID, NULL)))
  ------------------
  |  |  209|     55|#define H5O_DTYPE_ID       0x0003 /* Datatype Message.  */
  ------------------
  |  Branch (1698:9): [True: 3, False: 52]
  ------------------
 1699|      3|        HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to load type info from dataset header");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1700|       |
 1701|     52|    if (H5T_set_loc(dataset->shared->type, H5F_VOL_OBJ(dataset->oloc.file), H5T_LOC_DISK) < 0)
  ------------------
  |  |  167|     52|#define H5F_VOL_OBJ(F)                 (H5F_get_vol_obj(F))
  ------------------
  |  Branch (1701:9): [True: 0, False: 52]
  ------------------
 1702|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1703|       |
 1704|     52|    if (NULL == (dataset->shared->space = H5S_read(&(dataset->oloc))))
  ------------------
  |  Branch (1704:9): [True: 0, False: 52]
  ------------------
 1705|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to load dataspace info from dataset header");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1706|       |
 1707|       |    /* Cache the dataset's dataspace info */
 1708|     52|    if (H5D__cache_dataspace_info(dataset) < 0)
  ------------------
  |  Branch (1708:9): [True: 0, False: 52]
  ------------------
 1709|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTCOPY, FAIL, "can't cache dataspace info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1710|       |
 1711|       |    /* Get a datatype ID for the dataset's datatype */
 1712|     52|    if ((dataset->shared->type_id = H5I_register(H5I_DATATYPE, dataset->shared->type, false)) < 0)
  ------------------
  |  Branch (1712:9): [True: 0, False: 52]
  ------------------
 1713|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTREGISTER, FAIL, "unable to register type");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1714|       |
 1715|       |    /* Get dataset creation property list object */
 1716|     52|    if (NULL == (plist = (H5P_genplist_t *)H5I_object(dataset->shared->dcpl_id)))
  ------------------
  |  Branch (1716:9): [True: 0, False: 52]
  ------------------
 1717|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "can't get dataset creation property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1718|       |
 1719|       |    /* Get the layout/pline/efl message information */
 1720|     52|    if (H5D__layout_oh_read(dataset, dapl_id, plist) < 0)
  ------------------
  |  Branch (1720:9): [True: 0, False: 52]
  ------------------
 1721|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't get layout/pline/efl info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1722|       |
 1723|       |    /* Indicate that the layout information was initialized */
 1724|     52|    layout_init = true;
 1725|       |
 1726|       |    /* Set up flush append property */
 1727|     52|    if (H5D__append_flush_setup(dataset, dapl_id))
  ------------------
  |  Branch (1727:9): [True: 0, False: 52]
  ------------------
 1728|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "unable to set up flush append property");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1729|       |
 1730|       |    /* Point at dataset's copy, to cache it for later */
 1731|     52|    fill_prop = &dataset->shared->dcpl_cache.fill;
 1732|       |
 1733|       |    /* Try to get the new fill value message from the object header */
 1734|     52|    if ((msg_exists = H5O_msg_exists(&(dataset->oloc), H5O_FILL_NEW_ID)) < 0)
  ------------------
  |  |  211|     52|#define H5O_FILL_NEW_ID    0x0005 /* Fill Value Message. (New)  */
  ------------------
  |  Branch (1734:9): [True: 0, False: 52]
  ------------------
 1735|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't check if message exists");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1736|     52|    if (msg_exists) {
  ------------------
  |  Branch (1736:9): [True: 52, False: 0]
  ------------------
 1737|     52|        if (NULL == H5O_msg_read(&(dataset->oloc), H5O_FILL_NEW_ID, fill_prop))
  ------------------
  |  |  211|     52|#define H5O_FILL_NEW_ID    0x0005 /* Fill Value Message. (New)  */
  ------------------
  |  Branch (1737:13): [True: 0, False: 52]
  ------------------
 1738|      0|            HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't retrieve message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1739|       |
 1740|       |        /* Indicate that the fill information was initialized */
 1741|     52|        fill_init = true;
 1742|     52|    } /* end if */
 1743|      0|    else {
 1744|       |        /* For backward compatibility, try to retrieve the old fill value message */
 1745|      0|        if ((msg_exists = H5O_msg_exists(&(dataset->oloc), H5O_FILL_ID)) < 0)
  ------------------
  |  |  210|      0|#define H5O_FILL_ID        0x0004 /* Fill Value Message. (Old)  */
  ------------------
  |  Branch (1745:13): [True: 0, False: 0]
  ------------------
 1746|      0|            HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't check if message exists");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1747|      0|        if (msg_exists) {
  ------------------
  |  Branch (1747:13): [True: 0, False: 0]
  ------------------
 1748|      0|            if (NULL == H5O_msg_read(&(dataset->oloc), H5O_FILL_ID, fill_prop))
  ------------------
  |  |  210|      0|#define H5O_FILL_ID        0x0004 /* Fill Value Message. (Old)  */
  ------------------
  |  Branch (1748:17): [True: 0, False: 0]
  ------------------
 1749|      0|                HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't retrieve message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1750|       |
 1751|       |            /* Indicate that the fill information was initialized */
 1752|      0|            fill_init = true;
 1753|      0|        } /* end if */
 1754|      0|        else {
 1755|       |            /* Set the space allocation time appropriately, based on the type of dataset storage */
 1756|      0|            switch (dataset->shared->layout.type) {
 1757|      0|                case H5D_COMPACT:
  ------------------
  |  Branch (1757:17): [True: 0, False: 0]
  ------------------
 1758|      0|                    fill_prop->alloc_time = H5D_ALLOC_TIME_EARLY;
 1759|      0|                    break;
 1760|       |
 1761|      0|                case H5D_CONTIGUOUS:
  ------------------
  |  Branch (1761:17): [True: 0, False: 0]
  ------------------
 1762|      0|                    fill_prop->alloc_time = H5D_ALLOC_TIME_LATE;
 1763|      0|                    break;
 1764|       |
 1765|      0|                case H5D_CHUNKED:
  ------------------
  |  Branch (1765:17): [True: 0, False: 0]
  ------------------
 1766|      0|                    fill_prop->alloc_time = H5D_ALLOC_TIME_INCR;
 1767|      0|                    break;
 1768|       |
 1769|      0|                case H5D_VIRTUAL:
  ------------------
  |  Branch (1769:17): [True: 0, False: 0]
  ------------------
 1770|      0|                    fill_prop->alloc_time = H5D_ALLOC_TIME_INCR;
 1771|      0|                    break;
 1772|       |
 1773|      0|                case H5D_LAYOUT_ERROR:
  ------------------
  |  Branch (1773:17): [True: 0, False: 0]
  ------------------
 1774|      0|                case H5D_NLAYOUTS:
  ------------------
  |  Branch (1774:17): [True: 0, False: 0]
  ------------------
 1775|      0|                default:
  ------------------
  |  Branch (1775:17): [True: 0, False: 0]
  ------------------
 1776|      0|                    HGOTO_ERROR(H5E_DATASET, H5E_UNSUPPORTED, FAIL, "not implemented yet");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1777|      0|            } /* end switch */
 1778|      0|        }     /* end else */
 1779|       |
 1780|       |        /* If "old" fill value size is 0 (undefined), map it to -1 */
 1781|      0|        if (fill_prop->size == 0)
  ------------------
  |  Branch (1781:13): [True: 0, False: 0]
  ------------------
 1782|      0|            fill_prop->size = (ssize_t)-1;
 1783|      0|    } /* end if */
 1784|     52|    alloc_time_state = 0;
 1785|     52|    if ((dataset->shared->layout.type == H5D_COMPACT && fill_prop->alloc_time == H5D_ALLOC_TIME_EARLY) ||
  ------------------
  |  Branch (1785:10): [True: 52, False: 0]
  |  Branch (1785:57): [True: 52, False: 0]
  ------------------
 1786|     52|        (dataset->shared->layout.type == H5D_CONTIGUOUS && fill_prop->alloc_time == H5D_ALLOC_TIME_LATE) ||
  ------------------
  |  Branch (1786:10): [True: 0, False: 0]
  |  Branch (1786:60): [True: 0, False: 0]
  ------------------
 1787|     52|        (dataset->shared->layout.type == H5D_CHUNKED && fill_prop->alloc_time == H5D_ALLOC_TIME_INCR) ||
  ------------------
  |  Branch (1787:10): [True: 0, False: 0]
  |  Branch (1787:57): [True: 0, False: 0]
  ------------------
 1788|     52|        (dataset->shared->layout.type == H5D_VIRTUAL && fill_prop->alloc_time == H5D_ALLOC_TIME_INCR))
  ------------------
  |  Branch (1788:10): [True: 0, False: 0]
  |  Branch (1788:57): [True: 0, False: 0]
  ------------------
 1789|     52|        alloc_time_state = 1;
 1790|       |
 1791|       |    /* Check if there is a fill value, but no type yet */
 1792|     52|    if (fill_prop->buf != NULL && fill_prop->type == NULL) {
  ------------------
  |  Branch (1792:9): [True: 9, False: 43]
  |  Branch (1792:35): [True: 9, False: 0]
  ------------------
 1793|      9|        H5T_t *tmp_type; /* Temporary pointer to dataset's datatype */
 1794|       |
 1795|       |        /* Copy the dataset type into the fill value message */
 1796|      9|        if (NULL == (tmp_type = H5T_copy(dataset->shared->type, H5T_COPY_TRANSIENT)))
  ------------------
  |  Branch (1796:13): [True: 0, False: 9]
  ------------------
 1797|      0|            HGOTO_ERROR(H5E_DATASET, H5E_CANTCOPY, FAIL, "unable to copy dataset datatype for fill value");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1798|       |
 1799|       |        /* Check if conversion is necessary on fill buffer, and if fill-value
 1800|       |         * buffer is too small to hold the result.
 1801|       |         */
 1802|      9|        if (!H5T_noop_conv(dataset->shared->type, tmp_type)) {
  ------------------
  |  Branch (1802:13): [True: 9, False: 0]
  ------------------
 1803|      9|            size_t bkg_size = MAX(H5T_GET_SIZE(tmp_type), H5T_GET_SIZE(dataset->shared->type));
  ------------------
  |  |  300|      9|#define MAX(a, b)        (((a) > (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (300:27): [True: 0, False: 9]
  |  |  ------------------
  ------------------
 1804|       |
 1805|      9|            assert(fill_prop->size >= 0);
 1806|      9|            if ((size_t)fill_prop->size < bkg_size) {
  ------------------
  |  Branch (1806:17): [True: 0, False: 9]
  ------------------
 1807|      0|                if (H5T_close_real(tmp_type) < 0)
  ------------------
  |  Branch (1807:21): [True: 0, False: 0]
  ------------------
 1808|      0|                    HDONE_ERROR(H5E_DATASET, H5E_CANTFREE, FAIL, "Can't free temporary datatype");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1809|      0|                HGOTO_ERROR(H5E_DATASET, H5E_BADVALUE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1810|      0|                            "fill value size doesn't match dataset's datatype size");
 1811|      0|            }
 1812|      9|        }
 1813|       |
 1814|      9|        if (H5T_close_real(tmp_type) < 0)
  ------------------
  |  Branch (1814:13): [True: 0, False: 9]
  ------------------
 1815|      0|            HGOTO_ERROR(H5E_DATASET, H5E_CANTFREE, FAIL, "Can't free temporary datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1816|      9|    }
 1817|       |
 1818|       |    /* Set revised fill value properties, if they are different from the defaults */
 1819|     52|    if (H5P_fill_value_cmp(&H5D_def_dset.dcpl_cache.fill, fill_prop, sizeof(H5O_fill_t))) {
  ------------------
  |  Branch (1819:9): [True: 52, False: 0]
  ------------------
 1820|     52|        if (H5P_set(plist, H5D_CRT_FILL_VALUE_NAME, fill_prop) < 0)
  ------------------
  |  |   43|     52|#define H5D_CRT_FILL_VALUE_NAME        "fill_value"       /* Fill value */
  ------------------
  |  Branch (1820:13): [True: 0, False: 52]
  ------------------
 1821|      0|            HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "can't set fill value");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1822|     52|        if (H5P_set(plist, H5D_CRT_ALLOC_TIME_STATE_NAME, &alloc_time_state) < 0)
  ------------------
  |  |   44|     52|#define H5D_CRT_ALLOC_TIME_STATE_NAME  "alloc_time_state" /* Space allocation time state */
  ------------------
  |  Branch (1822:13): [True: 0, False: 52]
  ------------------
 1823|      0|            HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "can't set allocation time state");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1824|     52|    } /* end if */
 1825|       |
 1826|       |    /*
 1827|       |     * Make sure all storage is properly initialized.
 1828|       |     * This is important only for parallel I/O where the space must
 1829|       |     * be fully allocated before I/O can happen.
 1830|       |     *
 1831|       |     * Storage will be initialized here if either the VFD being used
 1832|       |     * has set the H5FD_FEAT_ALLOCATE_EARLY flag to indicate that it
 1833|       |     * wishes to force early space allocation OR a parallel VFD is
 1834|       |     * being used and the dataset in question doesn't have any filters
 1835|       |     * applied to it. If filters are applied to the dataset, collective
 1836|       |     * I/O will be required when writing to the dataset, so we don't
 1837|       |     * need to initialize storage here, as the collective I/O process
 1838|       |     * will coordinate that.
 1839|       |     */
 1840|     52|    must_init_storage = (H5F_INTENT(dataset->oloc.file) & H5F_ACC_RDWR) &&
  ------------------
  |  |  109|     52|#define H5F_INTENT(F)                    (H5F_get_intent(F))
  ------------------
                  must_init_storage = (H5F_INTENT(dataset->oloc.file) & H5F_ACC_RDWR) &&
  ------------------
  |  |   49|     52|#define H5F_ACC_RDWR   (H5CHECK H5OPEN 0x0001u) /**< Open for read and write    */
  ------------------
  |  Branch (1840:25): [True: 0, False: 52]
  ------------------
 1841|     52|                        !(*dataset->shared->layout.ops->is_space_alloc)(&dataset->shared->layout.storage);
  ------------------
  |  Branch (1841:25): [True: 0, False: 0]
  ------------------
 1842|     52|    must_init_storage = must_init_storage && (H5F_HAS_FEATURE(dataset->oloc.file, H5FD_FEAT_ALLOCATE_EARLY) ||
  ------------------
  |  |  125|      0|#define H5F_HAS_FEATURE(F, FL)           (H5F_has_feature(F, FL))
  |  |  ------------------
  |  |  |  Branch (125:42): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  |  Branch (1842:25): [True: 0, False: 52]
  ------------------
 1843|      0|                                              (H5F_HAS_FEATURE(dataset->oloc.file, H5FD_FEAT_HAS_MPI) &&
  ------------------
  |  |  125|      0|#define H5F_HAS_FEATURE(F, FL)           (H5F_has_feature(F, FL))
  |  |  ------------------
  |  |  |  Branch (125:42): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1844|      0|                                               dataset->shared->dcpl_cache.pline.nused == 0));
  ------------------
  |  Branch (1844:48): [True: 0, False: 0]
  ------------------
 1845|       |
 1846|     52|    if (must_init_storage && (H5D__alloc_storage(dataset, H5D_ALLOC_OPEN, false, NULL) < 0))
  ------------------
  |  Branch (1846:9): [True: 0, False: 52]
  |  Branch (1846:30): [True: 0, False: 0]
  ------------------
 1847|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to initialize file storage");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1848|       |
 1849|     55|done:
 1850|     55|    if (ret_value < 0) {
  ------------------
  |  Branch (1850:9): [True: 3, False: 52]
  ------------------
 1851|      3|        if (H5_addr_defined(dataset->oloc.addr) && H5O_close(&(dataset->oloc), NULL) < 0)
  ------------------
  |  |  449|      6|#define H5_addr_defined(X)       ((X) != HADDR_UNDEF)
  |  |  ------------------
  |  |  |  |  336|      3|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  |  |  Branch (449:34): [True: 3, False: 0]
  |  |  ------------------
  ------------------
  |  Branch (1851:52): [True: 0, False: 3]
  ------------------
 1852|      0|            HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, FAIL, "unable to release object header");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1853|      3|        if (dataset->shared) {
  ------------------
  |  Branch (1853:13): [True: 3, False: 0]
  ------------------
 1854|      3|            if (fill_init)
  ------------------
  |  Branch (1854:17): [True: 0, False: 3]
  ------------------
 1855|      0|                H5O_msg_reset(H5O_FILL_ID, fill_prop);
  ------------------
  |  |  210|      0|#define H5O_FILL_ID        0x0004 /* Fill Value Message. (Old)  */
  ------------------
 1856|      3|            if (layout_init)
  ------------------
  |  Branch (1856:17): [True: 0, False: 3]
  ------------------
 1857|      0|                if (dataset->shared->layout.ops->dest && (dataset->shared->layout.ops->dest)(dataset) < 0)
  ------------------
  |  Branch (1857:21): [True: 0, False: 0]
  |  Branch (1857:58): [True: 0, False: 0]
  ------------------
 1858|      0|                    HDONE_ERROR(H5E_DATASET, H5E_CANTRELEASE, FAIL, "unable to destroy layout info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1859|      3|            if (dataset->shared->space && H5S_close(dataset->shared->space) < 0)
  ------------------
  |  Branch (1859:17): [True: 0, False: 3]
  |  Branch (1859:43): [True: 0, False: 0]
  ------------------
 1860|      0|                HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, FAIL, "unable to release dataspace");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1861|      3|            if (dataset->shared->type) {
  ------------------
  |  Branch (1861:17): [True: 0, False: 3]
  ------------------
 1862|      0|                if (dataset->shared->type_id > 0) {
  ------------------
  |  Branch (1862:21): [True: 0, False: 0]
  ------------------
 1863|      0|                    if (H5I_dec_ref(dataset->shared->type_id) < 0)
  ------------------
  |  Branch (1863:25): [True: 0, False: 0]
  ------------------
 1864|      0|                        HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, FAIL, "unable to release datatype");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1865|      0|                } /* end if */
 1866|      0|                else {
 1867|      0|                    if (H5T_close_real(dataset->shared->type) < 0)
  ------------------
  |  Branch (1867:25): [True: 0, False: 0]
  ------------------
 1868|      0|                        HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, FAIL, "unable to release datatype");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1869|      0|                } /* end else */
 1870|      0|            }     /* end if */
 1871|      3|        }         /* end if */
 1872|      3|    }             /* end if */
 1873|       |
 1874|     55|    FUNC_LEAVE_NOAPI_TAG(ret_value)
  ------------------
  |  | 1593|     55|    ;                                                                                                        \
  |  | 1594|     55|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1595|     55|    H5AC_tag(prev_tag, NULL);                                                                                \
  |  | 1596|     55|    return (ret_value);                                                                                      \
  |  | 1597|     55|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1875|     52|} /* end H5D__open_oid() */
H5Dint.c:H5D__cache_dataspace_info:
  566|     52|{
  567|     52|    int      sndims;              /* Signed number of dimensions of dataspace rank */
  568|     52|    unsigned u;                   /* Local index value */
  569|     52|    herr_t   ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     52|#define SUCCEED 0
  ------------------
  570|       |
  571|     52|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     52|    {                                                                                                        \
  |  | 1461|     52|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     52|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     52|                                                                                                             \
  |  |  |  | 1267|     52|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     52|        {
  ------------------
  572|       |
  573|       |    /* Sanity checking */
  574|     52|    assert(dset);
  575|       |
  576|       |    /* Cache info for dataset's dataspace */
  577|     52|    if ((sndims = H5S_get_simple_extent_dims(dset->shared->space, dset->shared->curr_dims,
  ------------------
  |  Branch (577:9): [True: 0, False: 52]
  ------------------
  578|     52|                                             dset->shared->max_dims)) < 0)
  579|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't cache dataspace dimensions");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  580|     52|    dset->shared->ndims = (unsigned)sndims;
  581|       |
  582|       |    /* Compute the initial 'power2up' values */
  583|    153|    for (u = 0; u < dset->shared->ndims; u++) {
  ------------------
  |  Branch (583:17): [True: 101, False: 52]
  ------------------
  584|    101|        hsize_t scaled_power2up; /* Scaled value, rounded to next power of 2 */
  585|       |
  586|    101|        if (!(scaled_power2up = H5VM_power2up(dset->shared->curr_dims[u])))
  ------------------
  |  Branch (586:13): [True: 0, False: 101]
  ------------------
  587|      0|            HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "unable to get the next power of 2");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  588|    101|        dset->shared->curr_power2up[u] = scaled_power2up;
  589|    101|    }
  590|       |
  591|     52|done:
  592|     52|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     52|    ;                                                                                                        \
  |  | 1573|     52|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     52|    return (ret_value);                                                                                      \
  |  | 1575|     52|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  593|     52|} /* end H5D__cache_dataspace_info() */

H5D__read:
   78|     31|{
   79|     31|    H5D_io_info_t io_info;                    /* Dataset I/O info  for multi dsets */
   80|     31|    H5S_t        *orig_mem_space_local;       /* Local buffer for orig_mem_space */
   81|     31|    H5S_t       **orig_mem_space = NULL;      /* If not NULL, ptr to an array of dataspaces       */
   82|       |                                              /* containing the original memory spaces contained  */
   83|       |                                              /* in dset_info.  This is needed in order to        */
   84|       |                                              /* restore the original state of  dset_info if we   */
   85|       |                                              /* replaced any mem spaces with equivalents         */
   86|       |                                              /* projected to a rank equal to that of file_space. */
   87|       |                                              /*                                                  */
   88|       |                                              /* This field is only used if                       */
   89|       |                                              /* H5S_select_shape_same() returns true when        */
   90|       |                                              /* comparing at least one mem_space and data_space, */
   91|       |                                              /* and the mem_space has a different rank.          */
   92|       |                                              /*                                                  */
   93|       |                                              /* Note that this is a temporary variable - the     */
   94|       |                                              /* projected memory space is stored in dset_info,   */
   95|       |                                              /* and will be freed when that structure is         */
   96|       |                                              /* freed. */
   97|     31|    H5D_storage_t  store_local;               /* Local buffer for store */
   98|     31|    H5D_storage_t *store      = &store_local; /* Union of EFL and chunk pointer in file space */
   99|     31|    size_t         io_op_init = 0;            /* Number I/O ops that have been initialized */
  100|     31|    size_t         io_skipped =
  101|     31|        0;            /* Number I/O ops that have been skipped (due to the dataset not being allocated) */
  102|     31|    size_t i;         /* Local index variable */
  103|     31|    char   fake_char; /* Temporary variable for NULL buffer pointers */
  104|     31|    herr_t ret_value = SUCCEED; /* Return value	*/
  ------------------
  |  |  283|     31|#define SUCCEED 0
  ------------------
  105|       |
  106|     31|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     31|    {                                                                                                        \
  |  | 1392|     31|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     31|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     31|                                                                                                             \
  |  |  |  | 1267|     31|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     31|        {
  ------------------
  107|       |
  108|       |#ifdef H5_HAVE_PARALLEL
  109|       |    /* Reset the actual io mode properties to the default values in case
  110|       |     * the DXPL (if it's non-default) was previously used in a collective
  111|       |     * I/O operation.
  112|       |     */
  113|       |    if (!H5CX_is_def_dxpl()) {
  114|       |        H5CX_set_mpio_actual_chunk_opt(H5D_MPIO_NO_CHUNK_OPTIMIZATION);
  115|       |        H5CX_set_mpio_actual_io_mode(H5D_MPIO_NO_COLLECTIVE);
  116|       |    } /* end if */
  117|       |#endif
  118|       |
  119|       |    /* Init io_info */
  120|     31|    if (H5D__ioinfo_init(count, H5D_IO_OP_READ, dset_info, &io_info) < 0)
  ------------------
  |  Branch (120:9): [True: 0, False: 31]
  ------------------
  121|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "can't initialize I/O info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  122|       |
  123|       |    /* Allocate store buffer if necessary */
  124|     31|    if (count > 1)
  ------------------
  |  Branch (124:9): [True: 0, False: 31]
  ------------------
  125|      0|        if (NULL == (store = (H5D_storage_t *)H5MM_malloc(count * sizeof(H5D_storage_t))))
  ------------------
  |  |   38|      0|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  |  Branch (125:13): [True: 0, False: 0]
  ------------------
  126|      0|            HGOTO_ERROR(H5E_DATASET, H5E_CANTALLOC, FAIL, "couldn't allocate dset storage info array buffer");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  127|       |
  128|       |#ifdef H5_HAVE_PARALLEL
  129|       |    /* Check for non-MPI-based VFD.  Only need to check first dataset since all
  130|       |     * share the same file. */
  131|       |    if (!(H5F_HAS_FEATURE(dset_info[0].dset->oloc.file, H5FD_FEAT_HAS_MPI))) {
  132|       |        H5FD_mpio_xfer_t io_xfer_mode; /* MPI I/O transfer mode */
  133|       |
  134|       |        /* Get I/O transfer mode */
  135|       |        if (H5CX_get_io_xfer_mode(&io_xfer_mode) < 0)
  136|       |            HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't get MPI-I/O transfer mode");
  137|       |
  138|       |        /* Collective access is not permissible without a MPI based VFD */
  139|       |        if (io_xfer_mode == H5FD_MPIO_COLLECTIVE)
  140|       |            HGOTO_ERROR(H5E_DATASET, H5E_UNSUPPORTED, FAIL, "collective access for MPI-based drivers only");
  141|       |    }  /* end if */
  142|       |#endif /*H5_HAVE_PARALLEL*/
  143|       |
  144|       |    /* Iterate over all dsets and construct I/O information necessary to do I/O */
  145|     62|    for (i = 0; i < count; i++) {
  ------------------
  |  Branch (145:17): [True: 31, False: 31]
  ------------------
  146|     31|        haddr_t prev_tag = HADDR_UNDEF;
  ------------------
  |  |  336|     31|#define HADDR_UNDEF         UINT64_MAX
  ------------------
  147|       |
  148|       |        /* Check args */
  149|     31|        if (NULL == dset_info[i].dset)
  ------------------
  |  Branch (149:13): [True: 0, False: 31]
  ------------------
  150|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a dataset");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  151|     31|        if (NULL == dset_info[i].dset->oloc.file)
  ------------------
  |  Branch (151:13): [True: 0, False: 31]
  ------------------
  152|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a file");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  153|       |
  154|       |        /* Set metadata tagging with dset oheader addr */
  155|     31|        H5AC_tag(dset_info[i].dset->oloc.addr, &prev_tag);
  156|       |
  157|       |        /* Set up datatype info for operation */
  158|     31|        if (H5D__typeinfo_init(&io_info, &(dset_info[i]), dset_info[i].mem_type) < 0)
  ------------------
  |  Branch (158:13): [True: 0, False: 31]
  ------------------
  159|      0|            HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to set up type info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  160|       |
  161|       |        /* Make certain that the number of elements in each selection is the same, and cache nelmts in
  162|       |         * dset_info */
  163|     31|        dset_info[i].nelmts = H5S_GET_SELECT_NPOINTS(dset_info[i].mem_space);
  ------------------
  |  |  165|     31|#define H5S_GET_SELECT_NPOINTS(S)               (H5S_get_select_npoints(S))
  ------------------
  164|     31|        if (dset_info[i].nelmts != H5S_GET_SELECT_NPOINTS(dset_info[i].file_space))
  ------------------
  |  |  165|     31|#define H5S_GET_SELECT_NPOINTS(S)               (H5S_get_select_npoints(S))
  ------------------
  |  Branch (164:13): [True: 0, False: 31]
  ------------------
  165|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  166|     31|                        "src and dest dataspaces have different number of elements selected");
  167|       |
  168|       |        /* Check for a NULL buffer */
  169|     31|        if (NULL == dset_info[i].buf.vp) {
  ------------------
  |  Branch (169:13): [True: 0, False: 31]
  ------------------
  170|       |            /* Check for any elements selected (which is invalid) */
  171|      0|            if (dset_info[i].nelmts > 0)
  ------------------
  |  Branch (171:17): [True: 0, False: 0]
  ------------------
  172|      0|                HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no output buffer");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  173|       |
  174|       |            /* If the buffer is nil, and 0 element is selected, make a fake buffer. */
  175|      0|            dset_info[i].buf.vp = &fake_char;
  176|      0|        } /* end if */
  177|       |
  178|       |        /* Make sure that both selections have their extents set */
  179|     31|        if (!(H5S_has_extent(dset_info[i].file_space)))
  ------------------
  |  Branch (179:13): [True: 0, False: 31]
  ------------------
  180|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "file dataspace does not have extent set");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  181|     31|        if (!(H5S_has_extent(dset_info[i].mem_space)))
  ------------------
  |  Branch (181:13): [True: 0, False: 31]
  ------------------
  182|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "memory dataspace does not have extent set");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  183|       |
  184|       |        /* H5S_select_shape_same() has been modified to accept topologically identical
  185|       |         * selections with different rank as having the same shape (if the most
  186|       |         * rapidly changing coordinates match up), but the I/O code still has
  187|       |         * difficulties with the notion.
  188|       |         *
  189|       |         * To solve this, check if H5S_select_shape_same() returns true
  190|       |         * and the ranks of the mem and file spaces are different.  If so,
  191|       |         * construct a new mem space that is equivalent to the old mem space, and
  192|       |         * use that instead.
  193|       |         *
  194|       |         * Note that in general, this requires us to touch up the memory buffer as
  195|       |         * well.
  196|       |         */
  197|     31|        if (dset_info[i].nelmts > 0 &&
  ------------------
  |  Branch (197:13): [True: 31, False: 0]
  ------------------
  198|     31|            true == H5S_SELECT_SHAPE_SAME(dset_info[i].mem_space, dset_info[i].file_space) &&
  ------------------
  |  |  192|     62|#define H5S_SELECT_SHAPE_SAME(S1, S2)             (H5S_select_shape_same(S1, S2))
  ------------------
  |  Branch (198:13): [True: 31, False: 0]
  ------------------
  199|     31|            H5S_GET_EXTENT_NDIMS(dset_info[i].mem_space) != H5S_GET_EXTENT_NDIMS(dset_info[i].file_space)) {
  ------------------
  |  |  163|     31|#define H5S_GET_EXTENT_NDIMS(S)                 (H5S_get_simple_extent_ndims(S))
  ------------------
                          H5S_GET_EXTENT_NDIMS(dset_info[i].mem_space) != H5S_GET_EXTENT_NDIMS(dset_info[i].file_space)) {
  ------------------
  |  |  163|     31|#define H5S_GET_EXTENT_NDIMS(S)                 (H5S_get_simple_extent_ndims(S))
  ------------------
  |  Branch (199:13): [True: 0, False: 31]
  ------------------
  200|      0|            ptrdiff_t buf_adj = 0;
  201|       |
  202|       |            /* Allocate original memory space buffer if necessary */
  203|      0|            if (!orig_mem_space) {
  ------------------
  |  Branch (203:17): [True: 0, False: 0]
  ------------------
  204|      0|                if (count > 1) {
  ------------------
  |  Branch (204:21): [True: 0, False: 0]
  ------------------
  205|       |                    /* Allocate buffer */
  206|      0|                    if (NULL == (orig_mem_space = (H5S_t **)H5MM_calloc(count * sizeof(H5S_t *))))
  ------------------
  |  |   36|      0|#define H5MM_calloc(Z) calloc(1, Z)
  ------------------
  |  Branch (206:25): [True: 0, False: 0]
  ------------------
  207|      0|                        HGOTO_ERROR(H5E_DATASET, H5E_CANTALLOC, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  208|      0|                                    "couldn't allocate original memory space array buffer");
  209|      0|                }
  210|      0|                else
  211|       |                    /* Use local buffer */
  212|      0|                    orig_mem_space = &orig_mem_space_local;
  213|      0|            }
  214|       |
  215|       |            /* Save original memory space */
  216|      0|            orig_mem_space[i]      = dset_info[i].mem_space;
  217|      0|            dset_info[i].mem_space = NULL;
  218|       |
  219|       |            /* Attempt to construct projected dataspace for memory dataspace */
  220|      0|            if (H5S_select_construct_projection(orig_mem_space[i], &dset_info[i].mem_space,
  ------------------
  |  Branch (220:17): [True: 0, False: 0]
  ------------------
  221|      0|                                                (unsigned)H5S_GET_EXTENT_NDIMS(dset_info[i].file_space),
  ------------------
  |  |  163|      0|#define H5S_GET_EXTENT_NDIMS(S)                 (H5S_get_simple_extent_ndims(S))
  ------------------
  222|      0|                                                (hsize_t)dset_info[i].type_info.dst_type_size, &buf_adj) < 0)
  223|      0|                HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  224|      0|                            "unable to construct projected memory dataspace");
  225|      0|            assert(dset_info[i].mem_space);
  226|       |
  227|       |            /* Adjust the buffer by the given amount */
  228|      0|            dset_info[i].buf.vp = (void *)(((uint8_t *)dset_info[i].buf.vp) + buf_adj);
  229|      0|        } /* end if */
  230|       |
  231|       |        /* Set up I/O operation */
  232|     31|        if (H5D__dset_ioinfo_init(dset_info[i].dset, &(dset_info[i]), &(store[i])) < 0)
  ------------------
  |  Branch (232:13): [True: 0, False: 31]
  ------------------
  233|      0|            HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to set up I/O operation");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  234|       |
  235|       |        /* Check if any filters are applied to the dataset */
  236|     31|        if (dset_info[i].dset->shared->dcpl_cache.pline.nused > 0)
  ------------------
  |  Branch (236:13): [True: 0, False: 31]
  ------------------
  237|      0|            io_info.filtered_count++;
  238|       |
  239|       |        /* If space hasn't been allocated and not using external storage,
  240|       |         * return fill value to buffer if fill time is upon allocation, or
  241|       |         * do nothing if fill time is never.  If the dataset is compact and
  242|       |         * fill time is NEVER, there is no way to tell whether part of data
  243|       |         * has been overwritten.  So just proceed in reading.
  244|       |         */
  245|     31|        if (dset_info[i].nelmts > 0 && dset_info[i].dset->shared->dcpl_cache.efl.nused == 0 &&
  ------------------
  |  Branch (245:13): [True: 31, False: 0]
  |  Branch (245:40): [True: 31, False: 0]
  ------------------
  246|     31|            !(*dset_info[i].dset->shared->layout.ops->is_space_alloc)(
  ------------------
  |  Branch (246:13): [True: 0, False: 31]
  ------------------
  247|     31|                &dset_info[i].dset->shared->layout.storage) &&
  248|     31|            !(dset_info[i].dset->shared->layout.ops->is_data_cached &&
  ------------------
  |  Branch (248:15): [True: 0, False: 0]
  ------------------
  249|      0|              (*dset_info[i].dset->shared->layout.ops->is_data_cached)(dset_info[i].dset->shared))) {
  ------------------
  |  Branch (249:15): [True: 0, False: 0]
  ------------------
  250|      0|            H5D_fill_value_t fill_status; /* Whether/How the fill value is defined */
  251|       |
  252|       |            /* Retrieve dataset's fill-value properties */
  253|      0|            if (H5P_is_fill_value_defined(&dset_info[i].dset->shared->dcpl_cache.fill, &fill_status) < 0)
  ------------------
  |  Branch (253:17): [True: 0, False: 0]
  ------------------
  254|      0|                HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, FAIL, "can't tell if fill value defined");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  255|       |
  256|       |            /* Should be impossible, but check anyway... */
  257|      0|            if (fill_status == H5D_FILL_VALUE_UNDEFINED &&
  ------------------
  |  Branch (257:17): [True: 0, False: 0]
  ------------------
  258|      0|                (dset_info[i].dset->shared->dcpl_cache.fill.fill_time == H5D_FILL_TIME_ALLOC ||
  ------------------
  |  Branch (258:18): [True: 0, False: 0]
  ------------------
  259|      0|                 dset_info[i].dset->shared->dcpl_cache.fill.fill_time == H5D_FILL_TIME_IFSET))
  ------------------
  |  Branch (259:18): [True: 0, False: 0]
  ------------------
  260|      0|                HGOTO_ERROR(H5E_DATASET, H5E_READERROR, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  261|      0|                            "read failed: dataset doesn't exist, no data can be read");
  262|       |
  263|       |            /* If we're never going to fill this dataset, just leave the junk in the user's buffer */
  264|      0|            if (dset_info[i].dset->shared->dcpl_cache.fill.fill_time != H5D_FILL_TIME_NEVER)
  ------------------
  |  Branch (264:17): [True: 0, False: 0]
  ------------------
  265|       |                /* Go fill the user's selection with the dataset's fill value */
  266|      0|                if (H5D__fill(dset_info[i].dset->shared->dcpl_cache.fill.buf, dset_info[i].dset->shared->type,
  ------------------
  |  Branch (266:21): [True: 0, False: 0]
  ------------------
  267|      0|                              dset_info[i].buf.vp, dset_info[i].type_info.mem_type,
  268|      0|                              dset_info[i].mem_space) < 0)
  269|      0|                    HGOTO_ERROR(H5E_DATASET, H5E_READERROR, FAIL, "filling buf failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  270|       |
  271|       |            /* No need to perform any more I/O for this dataset */
  272|      0|            dset_info[i].skip_io = true;
  273|      0|            io_skipped           = io_skipped + 1;
  274|      0|        } /* end if */
  275|     31|        else {
  276|       |            /* Sanity check that space is allocated, if there are elements */
  277|     31|            if (dset_info[i].nelmts > 0)
  ------------------
  |  Branch (277:17): [True: 31, False: 0]
  ------------------
  278|     31|                assert(
  279|     31|                    (*dset_info[i].dset->shared->layout.ops->is_space_alloc)(
  280|     31|                        &dset_info[i].dset->shared->layout.storage) ||
  281|     31|                    (dset_info[i].dset->shared->layout.ops->is_data_cached &&
  282|     31|                     (*dset_info[i].dset->shared->layout.ops->is_data_cached)(dset_info[i].dset->shared)) ||
  283|     31|                    dset_info[i].dset->shared->dcpl_cache.efl.nused > 0 ||
  284|     31|                    dset_info[i].dset->shared->layout.type == H5D_COMPACT);
  285|       |
  286|     31|            dset_info[i].skip_io = false;
  287|     31|        }
  288|       |
  289|       |        /* Call storage method's I/O initialization routine */
  290|     31|        if (dset_info[i].layout_ops.io_init &&
  ------------------
  |  Branch (290:13): [True: 31, False: 0]
  ------------------
  291|     31|            (dset_info[i].layout_ops.io_init)(&io_info, &(dset_info[i])) < 0)
  ------------------
  |  Branch (291:13): [True: 0, False: 31]
  ------------------
  292|      0|            HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "can't initialize I/O info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  293|     31|        io_op_init++;
  294|       |
  295|       |        /* Reset metadata tagging */
  296|     31|        H5AC_tag(prev_tag, NULL);
  297|     31|    } /* end of for loop */
  298|       |
  299|     31|    assert(io_op_init == count);
  300|       |
  301|       |    /* If no datasets have I/O, we're done */
  302|     31|    if (io_skipped == count)
  ------------------
  |  Branch (302:9): [True: 0, False: 31]
  ------------------
  303|      0|        HGOTO_DONE(SUCCEED);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  304|       |
  305|       |    /* Perform second phase of type info initialization */
  306|     31|    if (H5D__typeinfo_init_phase2(&io_info) < 0)
  ------------------
  |  Branch (306:9): [True: 0, False: 31]
  ------------------
  307|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to set up type info (second phase)");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  308|       |
  309|       |#ifdef H5_HAVE_PARALLEL
  310|       |    /* Adjust I/O info for any parallel or selection I/O */
  311|       |    if (H5D__ioinfo_adjust(&io_info) < 0)
  312|       |        HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL,
  313|       |                    "unable to adjust I/O info for parallel or selection I/O");
  314|       |#endif /* H5_HAVE_PARALLEL */
  315|       |
  316|       |    /* Perform third phase of type info initialization */
  317|     31|    if (H5D__typeinfo_init_phase3(&io_info) < 0)
  ------------------
  |  Branch (317:9): [True: 0, False: 31]
  ------------------
  318|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to set up type info (third phase)");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  319|       |
  320|     31|    H5CX_set_no_selection_io_cause(io_info.no_selection_io_cause);
  321|       |
  322|       |    /* If multi dataset I/O callback is not provided, perform read IO via
  323|       |     * single-dset path with looping */
  324|     31|    if (io_info.md_io_ops.multi_read_md) {
  ------------------
  |  Branch (324:9): [True: 0, False: 31]
  ------------------
  325|       |        /* Create sel_pieces array if any pieces are selected */
  326|      0|        if (io_info.piece_count > 0) {
  ------------------
  |  Branch (326:13): [True: 0, False: 0]
  ------------------
  327|      0|            assert(!io_info.sel_pieces);
  328|      0|            assert(io_info.pieces_added == 0);
  329|       |
  330|       |            /* Allocate sel_pieces array */
  331|      0|            if (NULL ==
  ------------------
  |  Branch (331:17): [True: 0, False: 0]
  ------------------
  332|      0|                (io_info.sel_pieces = H5MM_malloc(io_info.piece_count * sizeof(io_info.sel_pieces[0]))))
  ------------------
  |  |   38|      0|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  333|      0|                HGOTO_ERROR(H5E_DATASET, H5E_CANTALLOC, FAIL, "unable to allocate array of selected pieces");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  334|      0|        }
  335|       |
  336|       |        /* MDIO-specific second phase initialization */
  337|      0|        for (i = 0; i < count; i++) {
  ------------------
  |  Branch (337:21): [True: 0, False: 0]
  ------------------
  338|       |            /* Check for skipped I/O */
  339|      0|            if (dset_info[i].skip_io)
  ------------------
  |  Branch (339:17): [True: 0, False: 0]
  ------------------
  340|      0|                continue;
  341|       |
  342|      0|            if (dset_info[i].layout_ops.mdio_init) {
  ------------------
  |  Branch (342:17): [True: 0, False: 0]
  ------------------
  343|      0|                haddr_t prev_tag = HADDR_UNDEF;
  ------------------
  |  |  336|      0|#define HADDR_UNDEF         UINT64_MAX
  ------------------
  344|       |
  345|       |                /* Set metadata tagging with dset oheader addr */
  346|      0|                H5AC_tag(dset_info[i].dset->oloc.addr, &prev_tag);
  347|       |
  348|       |                /* Make second phase IO init call */
  349|      0|                if ((dset_info[i].layout_ops.mdio_init)(&io_info, &(dset_info[i])) < 0)
  ------------------
  |  Branch (349:21): [True: 0, False: 0]
  ------------------
  350|      0|                    HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "can't populate array of selected pieces");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  351|       |
  352|       |                /* Reset metadata tagging */
  353|      0|                H5AC_tag(prev_tag, NULL);
  354|      0|            }
  355|      0|        }
  356|       |
  357|       |        /* Invoke correct "high level" I/O routine */
  358|      0|        if ((*io_info.md_io_ops.multi_read_md)(&io_info) < 0)
  ------------------
  |  Branch (358:13): [True: 0, False: 0]
  ------------------
  359|      0|            HGOTO_ERROR(H5E_DATASET, H5E_READERROR, FAIL, "can't read data");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  360|      0|    } /* end if */
  361|     31|    else {
  362|     31|        haddr_t prev_tag = HADDR_UNDEF;
  ------------------
  |  |  336|     31|#define HADDR_UNDEF         UINT64_MAX
  ------------------
  363|       |
  364|       |        /* Allocate selection I/O parameter arrays if necessary */
  365|     31|        if (!H5D_LAYOUT_CB_PERFORM_IO(&io_info) && io_info.piece_count > 0) {
  ------------------
  |  |   71|     62|    (((IO_INFO)->use_select_io == H5D_SELECTION_IO_MODE_OFF) ||                                              \
  |  |  ------------------
  |  |  |  Branch (71:6): [True: 31, False: 0]
  |  |  ------------------
  |  |   72|     62|     ((IO_INFO)->count == 1 && (IO_INFO)->max_tconv_type_size == 0))
  |  |  ------------------
  |  |  |  Branch (72:7): [True: 0, False: 0]
  |  |  |  Branch (72:32): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  |  Branch (365:52): [True: 0, False: 0]
  ------------------
  366|      0|            if (NULL == (io_info.mem_spaces = H5MM_malloc(io_info.piece_count * sizeof(H5S_t *))))
  ------------------
  |  |   38|      0|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  |  Branch (366:17): [True: 0, False: 0]
  ------------------
  367|      0|                HGOTO_ERROR(H5E_RESOURCE, H5E_CANTALLOC, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  368|      0|                            "memory allocation failed for memory space list");
  369|      0|            if (NULL == (io_info.file_spaces = H5MM_malloc(io_info.piece_count * sizeof(H5S_t *))))
  ------------------
  |  |   38|      0|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  |  Branch (369:17): [True: 0, False: 0]
  ------------------
  370|      0|                HGOTO_ERROR(H5E_RESOURCE, H5E_CANTALLOC, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  371|      0|                            "memory allocation failed for file space list");
  372|      0|            if (NULL == (io_info.addrs = H5MM_malloc(io_info.piece_count * sizeof(haddr_t))))
  ------------------
  |  |   38|      0|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  |  Branch (372:17): [True: 0, False: 0]
  ------------------
  373|      0|                HGOTO_ERROR(H5E_RESOURCE, H5E_CANTALLOC, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  374|      0|                            "memory allocation failed for piece address list");
  375|      0|            if (NULL == (io_info.element_sizes = H5MM_malloc(io_info.piece_count * sizeof(size_t))))
  ------------------
  |  |   38|      0|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  |  Branch (375:17): [True: 0, False: 0]
  ------------------
  376|      0|                HGOTO_ERROR(H5E_RESOURCE, H5E_CANTALLOC, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  377|      0|                            "memory allocation failed for element size list");
  378|      0|            if (NULL == (io_info.rbufs = H5MM_malloc(io_info.piece_count * sizeof(void *))))
  ------------------
  |  |   38|      0|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  |  Branch (378:17): [True: 0, False: 0]
  ------------------
  379|      0|                HGOTO_ERROR(H5E_RESOURCE, H5E_CANTALLOC, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  380|      0|                            "memory allocation failed for read buffer list");
  381|      0|            if (io_info.max_tconv_type_size > 0)
  ------------------
  |  Branch (381:17): [True: 0, False: 0]
  ------------------
  382|      0|                if (NULL ==
  ------------------
  |  Branch (382:21): [True: 0, False: 0]
  ------------------
  383|      0|                    (io_info.sel_pieces = H5MM_malloc(io_info.piece_count * sizeof(io_info.sel_pieces[0]))))
  ------------------
  |  |   38|      0|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  384|      0|                    HGOTO_ERROR(H5E_RESOURCE, H5E_CANTALLOC, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  385|      0|                                "unable to allocate array of selected pieces");
  386|      0|        }
  387|       |
  388|       |        /* Loop with serial & single-dset read IO path */
  389|     62|        for (i = 0; i < count; i++) {
  ------------------
  |  Branch (389:21): [True: 31, False: 31]
  ------------------
  390|       |            /* Check for skipped I/O */
  391|     31|            if (dset_info[i].skip_io)
  ------------------
  |  Branch (391:17): [True: 0, False: 31]
  ------------------
  392|      0|                continue;
  393|       |
  394|       |            /* Set metadata tagging with dset object header addr */
  395|     31|            H5AC_tag(dset_info[i].dset->oloc.addr, &prev_tag);
  396|       |
  397|       |            /* Invoke correct "high level" I/O routine */
  398|     31|            if ((*dset_info[i].io_ops.multi_read)(&io_info, &dset_info[i]) < 0) {
  ------------------
  |  Branch (398:17): [True: 0, False: 31]
  ------------------
  399|       |                /* Reset metadata tagging */
  400|      0|                H5AC_tag(prev_tag, NULL);
  401|       |
  402|      0|                HGOTO_ERROR(H5E_DATASET, H5E_READERROR, FAIL, "can't read data");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  403|      0|            }
  404|       |
  405|       |            /* Reset metadata tagging */
  406|     31|            H5AC_tag(prev_tag, NULL);
  407|     31|        }
  408|       |
  409|       |        /* Make final selection I/O call if the multi_read callbacks did not perform the actual I/O
  410|       |         * (if using selection I/O and either multi dataset or type conversion) */
  411|     31|        if (!H5D_LAYOUT_CB_PERFORM_IO(&io_info)) {
  ------------------
  |  |   71|     31|    (((IO_INFO)->use_select_io == H5D_SELECTION_IO_MODE_OFF) ||                                              \
  |  |  ------------------
  |  |  |  Branch (71:6): [True: 31, False: 0]
  |  |  ------------------
  |  |   72|     31|     ((IO_INFO)->count == 1 && (IO_INFO)->max_tconv_type_size == 0))
  |  |  ------------------
  |  |  |  Branch (72:7): [True: 0, False: 0]
  |  |  |  Branch (72:32): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  412|       |            /* Check for type conversion */
  413|      0|            if (io_info.max_tconv_type_size > 0) {
  ------------------
  |  Branch (413:17): [True: 0, False: 0]
  ------------------
  414|       |                /* Type conversion pathway */
  415|      0|                if (H5D__scatgath_read_select(&io_info) < 0)
  ------------------
  |  Branch (415:21): [True: 0, False: 0]
  ------------------
  416|      0|                    HGOTO_ERROR(H5E_DATASET, H5E_READERROR, FAIL, "type conversion selection read failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  417|      0|            }
  418|      0|            else {
  419|       |                /* Call selection I/O directly */
  420|      0|                H5_CHECK_OVERFLOW(io_info.pieces_added, size_t, uint32_t);
  421|      0|                if (H5F_shared_select_read(io_info.f_sh, H5FD_MEM_DRAW, (uint32_t)io_info.pieces_added,
  ------------------
  |  Branch (421:21): [True: 0, False: 0]
  ------------------
  422|      0|                                           io_info.mem_spaces, io_info.file_spaces, io_info.addrs,
  423|      0|                                           io_info.element_sizes, io_info.rbufs) < 0)
  424|      0|                    HGOTO_ERROR(H5E_DATASET, H5E_READERROR, FAIL, "selection read failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  425|      0|            }
  426|      0|        }
  427|       |
  428|       |#ifdef H5_HAVE_PARALLEL
  429|       |        /* Report the actual I/O mode to the application if appropriate */
  430|       |        if (io_info.using_mpi_vfd) {
  431|       |            H5FD_mpio_xfer_t xfer_mode; /* Parallel transfer for this request */
  432|       |
  433|       |            /* Get the parallel I/O transfer mode */
  434|       |            if (H5CX_get_io_xfer_mode(&xfer_mode) < 0)
  435|       |                HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't get MPI-I/O transfer mode");
  436|       |
  437|       |            /* Only report the collective I/O mode if we're actually performing collective I/O */
  438|       |            if (xfer_mode == H5FD_MPIO_COLLECTIVE) {
  439|       |                H5CX_set_mpio_actual_io_mode(io_info.actual_io_mode);
  440|       |
  441|       |                /* If we did selection I/O, report that we used "link chunk" mode, since that's the most
  442|       |                 * analogous to what selection I/O does */
  443|       |                if (io_info.use_select_io == H5D_SELECTION_IO_MODE_ON)
  444|       |                    H5CX_set_mpio_actual_chunk_opt(H5D_MPIO_LINK_CHUNK);
  445|       |            }
  446|       |        }
  447|       |#endif /* H5_HAVE_PARALLEL */
  448|     31|    }
  449|       |
  450|     31|done:
  451|       |    /* Shut down the I/O op information */
  452|     62|    for (i = 0; i < io_op_init; i++)
  ------------------
  |  Branch (452:17): [True: 31, False: 31]
  ------------------
  453|     31|        if (dset_info[i].layout_ops.io_term &&
  ------------------
  |  Branch (453:13): [True: 0, False: 31]
  ------------------
  454|     31|            (*dset_info[i].layout_ops.io_term)(&io_info, &(dset_info[i])) < 0)
  ------------------
  |  Branch (454:13): [True: 0, False: 0]
  ------------------
  455|      0|            HDONE_ERROR(H5E_DATASET, H5E_CANTCLOSEOBJ, FAIL, "unable to shut down I/O op info");
  ------------------
  |  |   55|     31|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  456|       |
  457|       |    /* Shut down datatype info for operation */
  458|     31|    if (H5D__typeinfo_term(&io_info) < 0)
  ------------------
  |  Branch (458:9): [True: 0, False: 31]
  ------------------
  459|      0|        HDONE_ERROR(H5E_DATASET, H5E_CANTCLOSEOBJ, FAIL, "unable to shut down type info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  460|       |
  461|       |    /* Discard projected mem spaces and restore originals */
  462|     31|    if (orig_mem_space) {
  ------------------
  |  Branch (462:9): [True: 0, False: 31]
  ------------------
  463|      0|        for (i = 0; i < count; i++)
  ------------------
  |  Branch (463:21): [True: 0, False: 0]
  ------------------
  464|      0|            if (orig_mem_space[i]) {
  ------------------
  |  Branch (464:17): [True: 0, False: 0]
  ------------------
  465|      0|                if (H5S_close(dset_info[i].mem_space) < 0)
  ------------------
  |  Branch (465:21): [True: 0, False: 0]
  ------------------
  466|      0|                    HDONE_ERROR(H5E_DATASET, H5E_CANTCLOSEOBJ, FAIL,
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  467|      0|                                "unable to shut down projected memory dataspace");
  468|      0|                dset_info[i].mem_space = orig_mem_space[i];
  469|      0|            }
  470|       |
  471|       |        /* Free orig_mem_space array if it was allocated */
  472|      0|        if (orig_mem_space != &orig_mem_space_local)
  ------------------
  |  Branch (472:13): [True: 0, False: 0]
  ------------------
  473|      0|            H5MM_free(orig_mem_space);
  ------------------
  |  |   37|      0|#define H5MM_free(Z)   free(Z)
  ------------------
  474|      0|    }
  475|       |
  476|       |    /* Free global piece array */
  477|     31|    H5MM_xfree(io_info.sel_pieces);
  478|       |
  479|       |    /* Free selection I/O arrays */
  480|     31|    H5MM_xfree(io_info.mem_spaces);
  481|     31|    H5MM_xfree(io_info.file_spaces);
  482|     31|    H5MM_xfree(io_info.addrs);
  483|     31|    H5MM_xfree(io_info.element_sizes);
  484|     31|    H5MM_xfree(io_info.rbufs);
  485|       |
  486|       |    /* Free store array if it was allocated */
  487|     31|    if (store != &store_local)
  ------------------
  |  Branch (487:9): [True: 0, False: 31]
  ------------------
  488|      0|        H5MM_free(store);
  ------------------
  |  |   37|      0|#define H5MM_free(Z)   free(Z)
  ------------------
  489|       |
  490|     31|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     31|    ;                                                                                                        \
  |  | 1573|     31|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     31|    return (ret_value);                                                                                      \
  |  | 1575|     31|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  491|     31|} /* end H5D__read() */
H5Dio.c:H5D__ioinfo_init:
  930|     31|{
  931|     31|    H5D_selection_io_mode_t selection_io_mode;
  932|       |
  933|     31|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     31|    {                                                                                                        \
  |  | 1467|     31|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     31|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     31|        {
  ------------------
  934|       |
  935|       |    /* Check args */
  936|     31|    assert(count > 0);
  937|     31|    assert(dset_info);
  938|     31|    assert(dset_info[0].dset->oloc.file);
  939|     31|    assert(io_info);
  940|       |
  941|       |    /* Zero out struct */
  942|     31|    memset(io_info, 0, sizeof(*io_info));
  943|       |
  944|       |    /* Set up simple fields */
  945|     31|    io_info->op_type = op_type;
  946|     31|    io_info->f_sh    = count > 0 ? H5F_SHARED(dset_info[0].dset->oloc.file) : NULL;
  ------------------
  |  |  113|     31|#define H5F_SHARED(F)                    (H5F_get_shared(F))
  ------------------
  |  Branch (946:24): [True: 31, False: 0]
  ------------------
  947|     31|    io_info->count   = count;
  948|       |
  949|       |    /* Start without multi-dataset I/O ops. If we're not using the collective
  950|       |     * I/O path then we will call the single dataset callbacks in a loop. */
  951|       |
  952|       |    /* Use provided dset_info */
  953|     31|    io_info->dsets_info = dset_info;
  954|       |
  955|       |    /* Start with selection I/O mode from property list.  If enabled, layout callback will turn it off if it
  956|       |     * is not supported by the layout.  Handling of H5D_SELECTION_IO_MODE_AUTO occurs in H5D__ioinfo_adjust.
  957|       |     */
  958|     31|    H5CX_get_selection_io_mode(&selection_io_mode);
  959|     31|    io_info->use_select_io = selection_io_mode;
  960|       |
  961|       |    /* Record no selection I/O cause if it was disabled by the API */
  962|     31|    if (selection_io_mode == H5D_SELECTION_IO_MODE_OFF)
  ------------------
  |  Branch (962:9): [True: 0, False: 31]
  ------------------
  963|      0|        io_info->no_selection_io_cause = H5D_SEL_IO_DISABLE_BY_API;
  ------------------
  |  |  504|      0|    (0x0001u) /**< Selection I/O was not performed because                                                   \
  ------------------
  964|       |
  965|       |#ifdef H5_HAVE_PARALLEL
  966|       |
  967|       |    /* Determine if the file was opened with an MPI VFD */
  968|       |    if (count > 0)
  969|       |        io_info->using_mpi_vfd = H5F_HAS_FEATURE(dset_info[0].dset->oloc.file, H5FD_FEAT_HAS_MPI);
  970|       |#endif /* H5_HAVE_PARALLEL */
  971|       |
  972|       |    /* Check if we could potentially use in-place type conversion */
  973|     31|    if (op_type == H5D_IO_OP_READ)
  ------------------
  |  Branch (973:9): [True: 31, False: 0]
  ------------------
  974|       |        /* Always on for read (modulo other restrictions that are handled in layout callbacks) */
  975|     31|        io_info->may_use_in_place_tconv = true;
  976|      0|    else
  977|       |        /* Only enable in-place type conversion if we're allowed to modify the write buffer */
  978|      0|        H5CX_get_modify_write_buf(&io_info->may_use_in_place_tconv);
  979|       |
  980|     31|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     31|    ;                                                                                                        \
  |  | 1573|     31|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     31|    return (ret_value);                                                                                      \
  |  | 1575|     31|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  981|     31|} /* end H5D__ioinfo_init() */
H5Dio.c:H5D__dset_ioinfo_init:
  994|     31|{
  995|     31|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     31|    {                                                                                                        \
  |  | 1467|     31|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     31|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     31|        {
  ------------------
  996|       |
  997|       |    /* check args */
  998|     31|    assert(dset);
  999|     31|    assert(dset->oloc.file);
 1000|     31|    assert(dset_info->type_info.tpath);
 1001|       |
 1002|       |    /* Set up "normal" I/O fields */
 1003|     31|    dset_info->dset  = dset;
 1004|     31|    dset_info->store = store;
 1005|       |
 1006|       |    /* Set I/O operations to initial values */
 1007|     31|    dset_info->layout_ops = *dset->shared->layout.ops;
 1008|       |
 1009|       |    /* Set the "high-level" I/O operations for the dataset */
 1010|     31|    dset_info->io_ops.multi_read  = dset->shared->layout.ops->ser_read;
 1011|     31|    dset_info->io_ops.multi_write = dset->shared->layout.ops->ser_write;
 1012|       |
 1013|       |    /* Set the I/O operations for reading/writing single blocks on disk */
 1014|     31|    if (dset_info->type_info.is_xform_noop && dset_info->type_info.is_conv_noop) {
  ------------------
  |  Branch (1014:9): [True: 31, False: 0]
  |  Branch (1014:47): [True: 22, False: 9]
  ------------------
 1015|       |        /*
 1016|       |         * If there is no data transform or type conversion then read directly
 1017|       |         * into the application's buffer.
 1018|       |         * This saves at least one mem-to-mem copy.
 1019|       |         */
 1020|     22|        dset_info->io_ops.single_read  = H5D__select_read;
 1021|     22|        dset_info->io_ops.single_write = H5D__select_write;
 1022|     22|    } /* end if */
 1023|      9|    else {
 1024|       |        /*
 1025|       |         * This is the general case (type conversion, usually).
 1026|       |         */
 1027|      9|        dset_info->io_ops.single_read  = H5D__scatgath_read;
 1028|      9|        dset_info->io_ops.single_write = H5D__scatgath_write;
 1029|      9|    } /* end else */
 1030|       |
 1031|     31|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     31|    ;                                                                                                        \
  |  | 1573|     31|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     31|    return (ret_value);                                                                                      \
  |  | 1575|     31|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1032|     31|} /* end H5D__dset_ioinfo_init() */
H5Dio.c:H5D__typeinfo_init:
 1046|     31|{
 1047|     31|    H5D_type_info_t  *type_info;
 1048|     31|    const H5D_t      *dset;
 1049|     31|    H5Z_data_xform_t *data_transform;      /* Data transform info */
 1050|     31|    herr_t            ret_value = SUCCEED; /* Return value	*/
  ------------------
  |  |  283|     31|#define SUCCEED 0
  ------------------
 1051|       |
 1052|     31|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     31|    {                                                                                                        \
  |  | 1461|     31|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     31|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     31|                                                                                                             \
  |  |  |  | 1267|     31|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     31|        {
  ------------------
 1053|       |
 1054|       |    /* Check args */
 1055|     31|    assert(io_info);
 1056|     31|    assert(dset_info);
 1057|     31|    assert(mem_type);
 1058|       |
 1059|       |    /* Set convenience pointers */
 1060|     31|    type_info = &dset_info->type_info;
 1061|     31|    dset      = dset_info->dset;
 1062|     31|    assert(dset);
 1063|       |
 1064|       |    /* Patch the top level file pointer for dt->shared->u.vlen.f if needed */
 1065|     31|    if (H5T_patch_vlen_file(dset->shared->type, H5F_VOL_OBJ(dset->oloc.file)) < 0)
  ------------------
  |  |  167|     31|#define H5F_VOL_OBJ(F)                 (H5F_get_vol_obj(F))
  ------------------
  |  Branch (1065:9): [True: 0, False: 31]
  ------------------
 1066|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTOPENOBJ, FAIL, "can't patch VL datatype file pointer");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1067|       |
 1068|       |    /* Initialize type info safely */
 1069|     31|    memset(type_info, 0, sizeof(*type_info));
 1070|       |
 1071|       |    /* Get the memory & dataset datatypes */
 1072|     31|    type_info->mem_type  = mem_type;
 1073|     31|    type_info->dset_type = dset->shared->type;
 1074|       |
 1075|     31|    if (io_info->op_type == H5D_IO_OP_WRITE) {
  ------------------
  |  Branch (1075:9): [True: 0, False: 31]
  ------------------
 1076|      0|        type_info->src_type = mem_type;
 1077|      0|        type_info->dst_type = dset->shared->type;
 1078|      0|    } /* end if */
 1079|     31|    else {
 1080|     31|        type_info->src_type = dset->shared->type;
 1081|     31|        type_info->dst_type = mem_type;
 1082|     31|    } /* end else */
 1083|       |
 1084|       |    /* Locate the type conversion function and dataspace conversion
 1085|       |     * functions, and set up the element numbering information. If a data
 1086|       |     * type conversion is necessary then register datatype IDs. Data type
 1087|       |     * conversion is necessary if the user has set the `need_bkg' to a high
 1088|       |     * enough value in xfer_parms since turning off datatype conversion also
 1089|       |     * turns off background preservation.
 1090|       |     */
 1091|     31|    if (NULL == (type_info->tpath = H5T_path_find(type_info->src_type, type_info->dst_type)))
  ------------------
  |  Branch (1091:9): [True: 0, False: 31]
  ------------------
 1092|      0|        HGOTO_ERROR(H5E_DATASET, H5E_UNSUPPORTED, FAIL, "unable to convert between src and dest datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1093|       |
 1094|       |    /* Retrieve info from API context */
 1095|     31|    if (H5CX_get_data_transform(&data_transform) < 0)
  ------------------
  |  Branch (1095:9): [True: 0, False: 31]
  ------------------
 1096|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't get data transform info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1097|       |
 1098|       |    /* Precompute some useful information */
 1099|     31|    type_info->src_type_size = H5T_get_size(type_info->src_type);
 1100|     31|    type_info->dst_type_size = H5T_get_size(type_info->dst_type);
 1101|     31|    type_info->is_conv_noop  = H5T_path_noop(type_info->tpath);
 1102|     31|    type_info->is_xform_noop = H5Z_xform_noop(data_transform);
 1103|     31|    if (type_info->is_xform_noop && type_info->is_conv_noop) {
  ------------------
  |  Branch (1103:9): [True: 31, False: 0]
  |  Branch (1103:37): [True: 22, False: 9]
  ------------------
 1104|     22|        type_info->cmpd_subset = NULL;
 1105|     22|        type_info->need_bkg    = H5T_BKG_NO;
 1106|     22|    } /* end if */
 1107|      9|    else {
 1108|      9|        H5T_bkg_t bkgr_buf_type; /* Background buffer type */
 1109|       |
 1110|       |        /* Get info from API context */
 1111|      9|        if (H5CX_get_bkgr_buf_type(&bkgr_buf_type) < 0)
  ------------------
  |  Branch (1111:13): [True: 0, False: 9]
  ------------------
 1112|      0|            HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't retrieve background buffer type");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1113|       |
 1114|       |        /* Check if the datatypes are compound subsets of one another */
 1115|      9|        type_info->cmpd_subset = H5T_path_compound_subset(type_info->tpath);
 1116|       |
 1117|       |        /* Update io_info->max_tconv_type_size */
 1118|      9|        io_info->max_tconv_type_size =
 1119|      9|            MAX3(io_info->max_tconv_type_size, type_info->src_type_size, type_info->dst_type_size);
  ------------------
  |  |  302|      9|#define MAX3(a, b, c)    MAX(a, MAX(b, c))
  |  |  ------------------
  |  |  |  |  300|     18|#define MAX(a, b)        (((a) > (b)) ? (a) : (b))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (300:27): [True: 0, False: 9]
  |  |  |  |  |  Branch (300:35): [True: 0, False: 9]
  |  |  |  |  |  Branch (300:48): [True: 0, False: 9]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1120|       |
 1121|       |        /* Check if we need a background buffer */
 1122|      9|        if ((io_info->op_type == H5D_IO_OP_WRITE) && H5T_detect_class(dset->shared->type, H5T_VLEN, false))
  ------------------
  |  Branch (1122:13): [True: 0, False: 9]
  |  Branch (1122:54): [True: 0, False: 0]
  ------------------
 1123|      0|            type_info->need_bkg = H5T_BKG_YES;
 1124|      9|        else {
 1125|      9|            H5T_bkg_t path_bkg; /* Type conversion's background info */
 1126|       |
 1127|      9|            if ((path_bkg = H5T_path_bkg(type_info->tpath))) {
  ------------------
  |  Branch (1127:17): [True: 0, False: 9]
  ------------------
 1128|       |                /* Retrieve the bkgr buffer property */
 1129|      0|                type_info->need_bkg = bkgr_buf_type;
 1130|      0|                type_info->need_bkg = MAX(path_bkg, type_info->need_bkg);
  ------------------
  |  |  300|      0|#define MAX(a, b)        (((a) > (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (300:27): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1131|      0|            } /* end if */
 1132|      9|            else
 1133|      9|                type_info->need_bkg = H5T_BKG_NO; /*never needed even if app says yes*/
 1134|      9|        }                                         /* end else */
 1135|      9|    }                                             /* end else */
 1136|       |
 1137|     31|done:
 1138|     31|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     31|    ;                                                                                                        \
  |  | 1573|     31|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     31|    return (ret_value);                                                                                      \
  |  | 1575|     31|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1139|     31|} /* end H5D__typeinfo_init() */
H5Dio.c:H5D__typeinfo_init_phase2:
 1157|     31|{
 1158|     31|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     31|#define SUCCEED 0
  ------------------
 1159|       |
 1160|     31|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     31|    {                                                                                                        \
  |  | 1461|     31|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     31|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     31|                                                                                                             \
  |  |  |  | 1267|     31|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     31|        {
  ------------------
 1161|       |
 1162|       |    /* Check args */
 1163|     31|    assert(io_info);
 1164|       |
 1165|       |    /* If selection I/O mode is default (auto), enable it here if the VFD supports it (it will be turned off
 1166|       |     * later if something else conflicts), otherwise disable it */
 1167|     31|    if (io_info->use_select_io == H5D_SELECTION_IO_MODE_DEFAULT) {
  ------------------
  |  Branch (1167:9): [True: 0, False: 31]
  ------------------
 1168|      0|        if (H5F_has_vector_select_io(io_info->dsets_info[0].dset->oloc.file,
  ------------------
  |  Branch (1168:13): [True: 0, False: 0]
  ------------------
 1169|      0|                                     io_info->op_type == H5D_IO_OP_WRITE))
 1170|      0|            io_info->use_select_io = H5D_SELECTION_IO_MODE_ON;
 1171|      0|        else {
 1172|      0|            io_info->use_select_io = H5D_SELECTION_IO_MODE_OFF;
 1173|      0|            io_info->no_selection_io_cause |= H5D_SEL_IO_DEFAULT_OFF;
  ------------------
  |  |  531|      0|    (0x0200u) /**< Selection I/O was not performed because the                                               \
  ------------------
 1174|      0|        }
 1175|      0|    }
 1176|       |
 1177|       |    /* If we're doing type conversion and we might be doing selection I/O, check if the buffers are large
 1178|       |     * enough to handle the whole I/O */
 1179|     31|    if (io_info->max_tconv_type_size && io_info->use_select_io != H5D_SELECTION_IO_MODE_OFF) {
  ------------------
  |  Branch (1179:9): [True: 9, False: 22]
  |  Branch (1179:41): [True: 0, False: 9]
  ------------------
 1180|      0|        size_t max_temp_buf; /* Maximum temporary buffer size */
 1181|      0|        size_t i;            /* Local index variable */
 1182|       |
 1183|       |        /* Collective I/O, conversion buffer must be large enough for entire I/O (for now) */
 1184|       |
 1185|       |        /* Calculate size of background buffer (tconv buf size was calculated in layout io_init callbacks)
 1186|       |         */
 1187|      0|        for (i = 0; i < io_info->count; i++) {
  ------------------
  |  Branch (1187:21): [True: 0, False: 0]
  ------------------
 1188|      0|            H5D_type_info_t *type_info = &io_info->dsets_info[i].type_info;
 1189|       |
 1190|       |            /* Check for background buffer */
 1191|      0|            if (type_info->need_bkg) {
  ------------------
  |  Branch (1191:17): [True: 0, False: 0]
  ------------------
 1192|       |                /* Add size of this dataset's background buffer to the global background buffer size
 1193|       |                 */
 1194|      0|                io_info->bkg_buf_size += io_info->dsets_info[i].nelmts * type_info->dst_type_size;
 1195|       |
 1196|       |                /* Check if we need to fill the background buffer with the destination contents */
 1197|      0|                if (type_info->need_bkg == H5T_BKG_YES)
  ------------------
  |  Branch (1197:21): [True: 0, False: 0]
  ------------------
 1198|      0|                    io_info->must_fill_bkg = true;
 1199|      0|            }
 1200|      0|        }
 1201|       |
 1202|       |        /* Get max temp buffer size from API context */
 1203|      0|        if (H5CX_get_max_temp_buf(&max_temp_buf) < 0)
  ------------------
  |  Branch (1203:13): [True: 0, False: 0]
  ------------------
 1204|      0|            HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't retrieve max. temp. buf size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1205|       |
 1206|       |        /* Check if the needed type conversion or background buffer size is too big */
 1207|      0|        if (io_info->tconv_buf_size > max_temp_buf) {
  ------------------
  |  Branch (1207:13): [True: 0, False: 0]
  ------------------
 1208|      0|            io_info->use_select_io = H5D_SELECTION_IO_MODE_OFF;
 1209|      0|            io_info->no_selection_io_cause |= H5D_SEL_IO_TCONV_BUF_TOO_SMALL;
  ------------------
  |  |  525|      0|    (0x0080u) /**< Selection I/O was not performed because the                                               \
  ------------------
 1210|      0|            io_info->tconv_buf_size = 0;
 1211|      0|            io_info->bkg_buf_size   = 0;
 1212|      0|            io_info->must_fill_bkg  = false;
 1213|      0|        }
 1214|      0|        if (io_info->bkg_buf_size > max_temp_buf) {
  ------------------
  |  Branch (1214:13): [True: 0, False: 0]
  ------------------
 1215|      0|            io_info->use_select_io = H5D_SELECTION_IO_MODE_OFF;
 1216|      0|            io_info->no_selection_io_cause |= H5D_SEL_IO_BKG_BUF_TOO_SMALL;
  ------------------
  |  |  528|      0|    (0x0100u) /**< Selection I/O was not performed because the                                               \
  ------------------
 1217|      0|            io_info->tconv_buf_size = 0;
 1218|      0|            io_info->bkg_buf_size   = 0;
 1219|      0|            io_info->must_fill_bkg  = false;
 1220|      0|        }
 1221|      0|    }
 1222|       |
 1223|     31|done:
 1224|     31|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     31|    ;                                                                                                        \
  |  | 1573|     31|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     31|    return (ret_value);                                                                                      \
  |  | 1575|     31|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1225|     31|} /* end H5D__typeinfo_init_phase2() */
H5Dio.c:H5D__typeinfo_init_phase3:
 1367|     31|{
 1368|     31|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     31|#define SUCCEED 0
  ------------------
 1369|       |
 1370|     31|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     31|    {                                                                                                        \
  |  | 1461|     31|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     31|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     31|                                                                                                             \
  |  |  |  | 1267|     31|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     31|        {
  ------------------
 1371|       |
 1372|       |    /* check args */
 1373|     31|    assert(io_info);
 1374|       |
 1375|       |    /* Check if we need to allocate a shared type conversion buffer */
 1376|     31|    if (io_info->max_tconv_type_size) {
  ------------------
  |  Branch (1376:9): [True: 9, False: 22]
  ------------------
 1377|      9|        void *tconv_buf; /* Temporary conversion buffer pointer */
 1378|      9|        void *bkgr_buf;  /* Background conversion buffer pointer */
 1379|       |
 1380|       |        /* Get provided buffers from API context */
 1381|      9|        if (H5CX_get_tconv_buf(&tconv_buf) < 0)
  ------------------
  |  Branch (1381:13): [True: 0, False: 9]
  ------------------
 1382|      0|            HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't retrieve temp. conversion buffer pointer");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1383|      9|        if (H5CX_get_bkgr_buf(&bkgr_buf) < 0)
  ------------------
  |  Branch (1383:13): [True: 0, False: 9]
  ------------------
 1384|      0|            HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1385|      9|                        "can't retrieve background conversion buffer pointer");
 1386|       |
 1387|       |        /* Check if we're doing selection I/O */
 1388|      9|        if (io_info->use_select_io == H5D_SELECTION_IO_MODE_ON) {
  ------------------
  |  Branch (1388:13): [True: 0, False: 9]
  ------------------
 1389|       |            /* Selection I/O, conversion buffers must be large enough for entire I/O (for now) */
 1390|       |
 1391|       |            /* Allocate global type conversion buffer (if any, could be none if datasets in this
 1392|       |             * I/O have 0 elements selected) */
 1393|       |            /* Allocating large buffers here will blow out all other type conversion buffers
 1394|       |             * on the free list.  Should we change this to a regular malloc?  Would require
 1395|       |             * keeping track of which version of free() to call. -NAF */
 1396|      0|            if (io_info->tconv_buf_size > 0) {
  ------------------
  |  Branch (1396:17): [True: 0, False: 0]
  ------------------
 1397|      0|                if (NULL == (io_info->tconv_buf = H5FL_BLK_MALLOC(type_conv, io_info->tconv_buf_size)))
  ------------------
  |  |  146|      0|#define H5FL_BLK_MALLOC(t, size) (uint8_t *)H5FL_blk_malloc(&(H5FL_BLK_NAME(t)), (size))
  |  |  ------------------
  |  |  |  |  131|      0|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
  |  Branch (1397:21): [True: 0, False: 0]
  ------------------
 1398|      0|                    HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1399|      0|                                "memory allocation failed for type conversion");
 1400|      0|                io_info->tconv_buf_allocated = true;
 1401|      0|            }
 1402|       |
 1403|       |            /* Allocate global background buffer (if any) */
 1404|      0|            if (io_info->bkg_buf_size > 0) {
  ------------------
  |  Branch (1404:17): [True: 0, False: 0]
  ------------------
 1405|      0|                if (NULL == (io_info->bkg_buf = H5FL_BLK_MALLOC(type_conv, io_info->bkg_buf_size)))
  ------------------
  |  |  146|      0|#define H5FL_BLK_MALLOC(t, size) (uint8_t *)H5FL_blk_malloc(&(H5FL_BLK_NAME(t)), (size))
  |  |  ------------------
  |  |  |  |  131|      0|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
  |  Branch (1405:21): [True: 0, False: 0]
  ------------------
 1406|      0|                    HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1407|      0|                                "memory allocation failed for type conversion");
 1408|      0|                io_info->bkg_buf_allocated = true;
 1409|      0|            }
 1410|      0|        }
 1411|      9|        else {
 1412|       |            /* No selection I/O, only need to make sure it's big enough for one element */
 1413|      9|            size_t max_temp_buf; /* Maximum temporary buffer size */
 1414|      9|            size_t target_size;  /* Desired buffer size	*/
 1415|      9|            size_t i;
 1416|       |
 1417|       |            /* Make sure selection I/O is disabled (DEFAULT should have been handled by now) */
 1418|      9|            assert(io_info->use_select_io == H5D_SELECTION_IO_MODE_OFF);
 1419|       |
 1420|       |            /* Get max buffer size from API context */
 1421|      9|            if (H5CX_get_max_temp_buf(&max_temp_buf) < 0)
  ------------------
  |  Branch (1421:17): [True: 0, False: 9]
  ------------------
 1422|      0|                HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't retrieve max. temp. buf size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1423|       |
 1424|       |            /* Set up datatype conversion/background buffers */
 1425|      9|            target_size = max_temp_buf;
 1426|       |
 1427|       |            /* If the buffer is too small to hold even one element (in the dataset with the largest , try to
 1428|       |             * make it bigger */
 1429|      9|            if (target_size < io_info->max_tconv_type_size) {
  ------------------
  |  Branch (1429:17): [True: 0, False: 9]
  ------------------
 1430|      0|                bool default_buffer_info; /* Whether the buffer information are the defaults */
 1431|       |
 1432|       |                /* Detect if we have all default settings for buffers */
 1433|      0|                default_buffer_info =
 1434|      0|                    (bool)((H5D_TEMP_BUF_SIZE == max_temp_buf) && (NULL == tconv_buf) && (NULL == bkgr_buf));
  ------------------
  |  |  113|      0|#define H5D_TEMP_BUF_SIZE (1024 * 1024)
  ------------------
  |  Branch (1434:28): [True: 0, False: 0]
  |  Branch (1434:67): [True: 0, False: 0]
  |  Branch (1434:90): [True: 0, False: 0]
  ------------------
 1435|       |
 1436|       |                /* Check if we are using the default buffer info */
 1437|      0|                if (default_buffer_info)
  ------------------
  |  Branch (1437:21): [True: 0, False: 0]
  ------------------
 1438|       |                    /* OK to get bigger for library default settings */
 1439|      0|                    target_size = io_info->max_tconv_type_size;
 1440|      0|                else
 1441|       |                    /* Don't get bigger than the application has requested */
 1442|      0|                    HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "temporary buffer max size is too small");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1443|      0|            } /* end if */
 1444|       |
 1445|       |            /* Get a temporary buffer for type conversion unless the app has already
 1446|       |             * supplied one through the xfer properties. Instead of allocating a
 1447|       |             * buffer which is the exact size, we allocate the target size. This
 1448|       |             * buffer is shared among all datasets in the operation. */
 1449|      9|            if (NULL == (io_info->tconv_buf = (uint8_t *)tconv_buf)) {
  ------------------
  |  Branch (1449:17): [True: 9, False: 0]
  ------------------
 1450|       |                /* Allocate temporary buffer */
 1451|      9|                if (NULL == (io_info->tconv_buf = H5FL_BLK_MALLOC(type_conv, target_size)))
  ------------------
  |  |  146|      9|#define H5FL_BLK_MALLOC(t, size) (uint8_t *)H5FL_blk_malloc(&(H5FL_BLK_NAME(t)), (size))
  |  |  ------------------
  |  |  |  |  131|      9|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
  |  Branch (1451:21): [True: 0, False: 9]
  ------------------
 1452|      0|                    HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1453|      9|                                "memory allocation failed for type conversion");
 1454|      9|                io_info->tconv_buf_allocated = true;
 1455|      9|            } /* end if */
 1456|       |
 1457|       |            /* Iterate over datasets */
 1458|     18|            for (i = 0; i < io_info->count; i++) {
  ------------------
  |  Branch (1458:25): [True: 9, False: 9]
  ------------------
 1459|      9|                H5D_type_info_t *type_info = &io_info->dsets_info[i].type_info;
 1460|       |
 1461|       |                /* Compute the number of elements that will fit into buffer */
 1462|      9|                type_info->request_nelmts =
 1463|      9|                    target_size / MAX(type_info->src_type_size, type_info->dst_type_size);
  ------------------
  |  |  300|      9|#define MAX(a, b)        (((a) > (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (300:27): [True: 0, False: 9]
  |  |  ------------------
  ------------------
 1464|       |
 1465|       |                /* Check if we need a background buffer and one hasn't been allocated yet */
 1466|      9|                if (type_info->need_bkg && (NULL == io_info->bkg_buf) &&
  ------------------
  |  Branch (1466:21): [True: 0, False: 9]
  |  Branch (1466:44): [True: 0, False: 0]
  ------------------
 1467|      9|                    (NULL == (io_info->bkg_buf = (uint8_t *)bkgr_buf))) {
  ------------------
  |  Branch (1467:21): [True: 0, False: 0]
  ------------------
 1468|       |                    /* Allocate background buffer with the same size as the type conversion buffer.  We can do
 1469|       |                     * this since the number of elements that fit in the type conversion buffer will never be
 1470|       |                     * larger than the number that could fit in a background buffer of equal size, since the
 1471|       |                     * tconv element size is max(src, dst) and the bkg element size is dst */
 1472|      0|                    if (NULL == (io_info->bkg_buf = H5FL_BLK_MALLOC(type_conv, target_size)))
  ------------------
  |  |  146|      0|#define H5FL_BLK_MALLOC(t, size) (uint8_t *)H5FL_blk_malloc(&(H5FL_BLK_NAME(t)), (size))
  |  |  ------------------
  |  |  |  |  131|      0|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
  |  Branch (1472:25): [True: 0, False: 0]
  ------------------
 1473|      0|                        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1474|      0|                                    "memory allocation failed for background conversion");
 1475|      0|                    io_info->bkg_buf_allocated = true;
 1476|      0|                }
 1477|      9|            }
 1478|      9|        }
 1479|      9|    }
 1480|       |
 1481|     31|done:
 1482|     31|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     31|    ;                                                                                                        \
  |  | 1573|     31|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     31|    return (ret_value);                                                                                      \
  |  | 1575|     31|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1483|     31|} /* end H5D__typeinfo_init_phase3() */
H5Dio.c:H5D__typeinfo_term:
 1496|     31|{
 1497|     31|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     31|    {                                                                                                        \
  |  | 1467|     31|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     31|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     31|        {
  ------------------
 1498|       |
 1499|       |    /* Check for releasing datatype conversion & background buffers */
 1500|     31|    if (io_info->tconv_buf_allocated) {
  ------------------
  |  Branch (1500:9): [True: 9, False: 22]
  ------------------
 1501|      9|        assert(io_info->tconv_buf);
 1502|      9|        (void)H5FL_BLK_FREE(type_conv, io_info->tconv_buf);
  ------------------
  |  |  152|      9|#define H5FL_BLK_FREE(t, blk) (uint8_t *)H5FL_blk_free(&(H5FL_BLK_NAME(t)), blk)
  |  |  ------------------
  |  |  |  |  131|      9|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
 1503|      9|    } /* end if */
 1504|     31|    if (io_info->bkg_buf_allocated) {
  ------------------
  |  Branch (1504:9): [True: 0, False: 31]
  ------------------
 1505|      0|        assert(io_info->bkg_buf);
 1506|      0|        (void)H5FL_BLK_FREE(type_conv, io_info->bkg_buf);
  ------------------
  |  |  152|      0|#define H5FL_BLK_FREE(t, blk) (uint8_t *)H5FL_blk_free(&(H5FL_BLK_NAME(t)), blk)
  |  |  ------------------
  |  |  |  |  131|      0|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
 1507|      0|    } /* end if */
 1508|       |
 1509|     31|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     31|    ;                                                                                                        \
  |  | 1573|     31|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     31|    return (ret_value);                                                                                      \
  |  | 1575|     31|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1510|     31|} /* end H5D__typeinfo_term() */

H5D__layout_oh_read:
  570|     52|{
  571|     52|    htri_t msg_exists;              /* Whether a particular type of message exists */
  572|     52|    bool   pline_copied  = false;   /* Flag to indicate that dcpl_cache.pline's message was copied */
  573|     52|    bool   layout_copied = false;   /* Flag to indicate that layout message was copied */
  574|     52|    bool   efl_copied    = false;   /* Flag to indicate that the EFL message was copied */
  575|     52|    herr_t ret_value     = SUCCEED; /* Return value */
  ------------------
  |  |  283|     52|#define SUCCEED 0
  ------------------
  576|       |
  577|     52|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     52|    {                                                                                                        \
  |  | 1461|     52|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     52|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     52|                                                                                                             \
  |  |  |  | 1267|     52|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     52|        {
  ------------------
  578|       |
  579|       |    /* Sanity checking */
  580|     52|    assert(dataset);
  581|     52|    assert(plist);
  582|       |
  583|       |    /* Get the optional filters message */
  584|     52|    if ((msg_exists = H5O_msg_exists(&(dataset->oloc), H5O_PLINE_ID)) < 0)
  ------------------
  |  |  217|     52|#define H5O_PLINE_ID       0x000b /* Filter pipeline message.  */
  ------------------
  |  Branch (584:9): [True: 0, False: 52]
  ------------------
  585|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't check if message exists");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  586|     52|    if (msg_exists) {
  ------------------
  |  Branch (586:9): [True: 0, False: 52]
  ------------------
  587|       |        /* Retrieve the I/O pipeline message */
  588|      0|        if (NULL == H5O_msg_read(&(dataset->oloc), H5O_PLINE_ID, &dataset->shared->dcpl_cache.pline))
  ------------------
  |  |  217|      0|#define H5O_PLINE_ID       0x000b /* Filter pipeline message.  */
  ------------------
  |  Branch (588:13): [True: 0, False: 0]
  ------------------
  589|      0|            HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't retrieve message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  590|      0|        pline_copied = true;
  591|       |        /* Set the I/O pipeline info in the property list */
  592|      0|        if (H5P_set(plist, H5O_CRT_PIPELINE_NAME, &dataset->shared->dcpl_cache.pline) < 0)
  ------------------
  |  |   99|      0|#define H5O_CRT_PIPELINE_NAME         "pline"               /* Filter pipeline */
  ------------------
  |  Branch (592:13): [True: 0, False: 0]
  ------------------
  593|      0|            HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "can't set pipeline");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  594|      0|    } /* end if */
  595|       |
  596|       |    /*
  597|       |     * Get the raw data layout info.  It's actually stored in two locations:
  598|       |     * the storage message of the dataset (dataset->storage) and certain
  599|       |     * values are copied to the dataset create plist so the user can query
  600|       |     * them.
  601|       |     */
  602|     52|    if (NULL == H5O_msg_read(&(dataset->oloc), H5O_LAYOUT_ID, &(dataset->shared->layout)))
  ------------------
  |  |  214|     52|#define H5O_LAYOUT_ID      0x0008 /* Data Layout Message.  */
  ------------------
  |  Branch (602:9): [True: 0, False: 52]
  ------------------
  603|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to read data layout message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  604|     52|    layout_copied = true;
  605|       |
  606|       |    /* Check for external file list message (which might not exist) */
  607|     52|    if ((msg_exists = H5O_msg_exists(&(dataset->oloc), H5O_EFL_ID)) < 0)
  ------------------
  |  |  213|     52|#define H5O_EFL_ID         0x0007 /* External File List Message  */
  ------------------
  |  Branch (607:9): [True: 0, False: 52]
  ------------------
  608|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't check if message exists");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  609|     52|    if (msg_exists) {
  ------------------
  |  Branch (609:9): [True: 0, False: 52]
  ------------------
  610|       |        /* Retrieve the EFL  message */
  611|      0|        if (NULL == H5O_msg_read(&(dataset->oloc), H5O_EFL_ID, &dataset->shared->dcpl_cache.efl))
  ------------------
  |  |  213|      0|#define H5O_EFL_ID         0x0007 /* External File List Message  */
  ------------------
  |  Branch (611:13): [True: 0, False: 0]
  ------------------
  612|      0|            HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't retrieve message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  613|      0|        efl_copied = true;
  614|       |
  615|       |        /* Set the EFL info in the property list */
  616|      0|        if (H5P_set(plist, H5D_CRT_EXT_FILE_LIST_NAME, &dataset->shared->dcpl_cache.efl) < 0)
  ------------------
  |  |   45|      0|#define H5D_CRT_EXT_FILE_LIST_NAME     "efl"              /* External file list */
  ------------------
  |  Branch (616:13): [True: 0, False: 0]
  ------------------
  617|      0|            HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "can't set external file list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  618|       |
  619|       |        /* Set the dataset's I/O operations */
  620|      0|        dataset->shared->layout.ops = H5D_LOPS_EFL;
  621|      0|    } /* end if */
  622|       |
  623|       |    /* Sanity check that the layout operations are set up */
  624|     52|    assert(dataset->shared->layout.ops);
  625|       |
  626|       |    /* Initialize the layout information for the dataset */
  627|     52|    if (dataset->shared->layout.ops->init &&
  ------------------
  |  Branch (627:9): [True: 52, False: 0]
  ------------------
  628|     52|        (dataset->shared->layout.ops->init)(dataset->oloc.file, dataset, dapl_id) < 0)
  ------------------
  |  Branch (628:9): [True: 0, False: 52]
  ------------------
  629|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to initialize layout information");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  630|       |
  631|       |    /* Adjust chunk dimensions to omit datatype size (in last dimension) for creation property */
  632|     52|    if (H5D_CHUNKED == dataset->shared->layout.type)
  ------------------
  |  Branch (632:9): [True: 0, False: 52]
  ------------------
  633|      0|        dataset->shared->layout.u.chunk.ndims--;
  634|       |
  635|       |    /* Copy layout to the DCPL */
  636|     52|    if (H5P_set(plist, H5D_CRT_LAYOUT_NAME, &dataset->shared->layout) < 0)
  ------------------
  |  |   42|     52|#define H5D_CRT_LAYOUT_NAME            "layout"           /* Storage layout */
  ------------------
  |  Branch (636:9): [True: 0, False: 52]
  ------------------
  637|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "can't set layout");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  638|       |
  639|       |    /* Set chunk sizes */
  640|     52|    if (H5D_CHUNKED == dataset->shared->layout.type)
  ------------------
  |  Branch (640:9): [True: 0, False: 52]
  ------------------
  641|      0|        if (H5D__chunk_set_sizes(dataset) < 0)
  ------------------
  |  Branch (641:13): [True: 0, False: 0]
  ------------------
  642|      0|            HGOTO_ERROR(H5E_DATASET, H5E_BADVALUE, FAIL, "unable to set chunk sizes");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  643|       |
  644|     52|done:
  645|     52|    if (ret_value < 0) {
  ------------------
  |  Branch (645:9): [True: 0, False: 52]
  ------------------
  646|      0|        if (pline_copied)
  ------------------
  |  Branch (646:13): [True: 0, False: 0]
  ------------------
  647|      0|            if (H5O_msg_reset(H5O_PLINE_ID, &dataset->shared->dcpl_cache.pline) < 0)
  ------------------
  |  |  217|      0|#define H5O_PLINE_ID       0x000b /* Filter pipeline message.  */
  ------------------
  |  Branch (647:17): [True: 0, False: 0]
  ------------------
  648|      0|                HDONE_ERROR(H5E_DATASET, H5E_CANTRESET, FAIL, "unable to reset pipeline info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  649|      0|        if (layout_copied)
  ------------------
  |  Branch (649:13): [True: 0, False: 0]
  ------------------
  650|      0|            if (H5O_msg_reset(H5O_LAYOUT_ID, &dataset->shared->layout) < 0)
  ------------------
  |  |  214|      0|#define H5O_LAYOUT_ID      0x0008 /* Data Layout Message.  */
  ------------------
  |  Branch (650:17): [True: 0, False: 0]
  ------------------
  651|      0|                HDONE_ERROR(H5E_DATASET, H5E_CANTRESET, FAIL, "unable to reset layout info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  652|      0|        if (efl_copied)
  ------------------
  |  Branch (652:13): [True: 0, False: 0]
  ------------------
  653|      0|            if (H5O_msg_reset(H5O_EFL_ID, &dataset->shared->dcpl_cache.efl) < 0)
  ------------------
  |  |  213|      0|#define H5O_EFL_ID         0x0007 /* External File List Message  */
  ------------------
  |  Branch (653:17): [True: 0, False: 0]
  ------------------
  654|      0|                HDONE_ERROR(H5E_DATASET, H5E_CANTRESET, FAIL, "unable to reset efl message");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  655|      0|    }
  656|     52|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     52|    ;                                                                                                        \
  |  | 1573|     52|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     52|    return (ret_value);                                                                                      \
  |  | 1575|     52|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  657|     52|} /* end H5D__layout_oh_read() */

H5Doh.c:H5O__dset_isa:
  162|     99|{
  163|     99|    htri_t exists;           /* Flag if header message of interest exists */
  164|     99|    htri_t ret_value = true; /* Return value */
  165|       |
  166|     99|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     99|    {                                                                                                        \
  |  | 1461|     99|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     99|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     99|                                                                                                             \
  |  |  |  | 1267|     99|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     99|        {
  ------------------
  167|       |
  168|     99|    assert(oh);
  169|       |
  170|       |    /* Datatype */
  171|     99|    if ((exists = H5O_msg_exists_oh(oh, H5O_DTYPE_ID)) < 0)
  ------------------
  |  |  209|     99|#define H5O_DTYPE_ID       0x0003 /* Datatype Message.  */
  ------------------
  |  Branch (171:9): [True: 0, False: 99]
  ------------------
  172|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to read object header");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  173|     99|    else if (!exists)
  ------------------
  |  Branch (173:14): [True: 0, False: 99]
  ------------------
  174|      0|        HGOTO_DONE(false);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  175|       |
  176|       |    /* Layout */
  177|     99|    if ((exists = H5O_msg_exists_oh(oh, H5O_SDSPACE_ID)) < 0)
  ------------------
  |  |  207|     99|#define H5O_SDSPACE_ID     0x0001 /* Dataspace Message. */
  ------------------
  |  Branch (177:9): [True: 0, False: 99]
  ------------------
  178|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to read object header");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  179|     99|    else if (!exists)
  ------------------
  |  Branch (179:14): [True: 1, False: 98]
  ------------------
  180|      1|        HGOTO_DONE(false);
  ------------------
  |  |   91|      1|    do {                                                                                                     \
  |  |   92|      1|        ret_value = ret_val;                                                                                 \
  |  |   93|      1|        goto done;                                                                                           \
  |  |   94|      1|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  181|       |
  182|     99|done:
  183|     99|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     99|    ;                                                                                                        \
  |  | 1573|     99|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     99|    return (ret_value);                                                                                      \
  |  | 1575|     99|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  184|     99|} /* end H5O__dset_isa() */
H5Doh.c:H5O__dset_open:
  198|      9|{
  199|      9|    H5D_t *dset = NULL;      /* Dataset opened */
  200|      9|    hid_t  dapl_id;          /* dapl to use to open this dataset */
  201|      9|    void  *ret_value = NULL; /* Return value */
  202|       |
  203|      9|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      9|    {                                                                                                        \
  |  | 1461|      9|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      9|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      9|                                                                                                             \
  |  |  |  | 1267|      9|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      9|        {
  ------------------
  204|       |
  205|      9|    assert(obj_loc);
  206|       |
  207|      9|    *opened_type = H5I_DATASET;
  208|       |
  209|       |    /* Get the LAPL (which is a superclass of DAPLs) from the API context, but
  210|       |     * if it's the default link access property list or a custom link access
  211|       |     * property list but not a dataset access property list, use the default
  212|       |     * dataset access property list instead.  (Since LAPLs don't have the
  213|       |     * additional properties that DAPLs have)
  214|       |     */
  215|      9|    dapl_id = H5CX_get_lapl();
  216|      9|    if (dapl_id == H5P_LINK_ACCESS_DEFAULT)
  ------------------
  |  |  208|      9|#define H5P_LINK_ACCESS_DEFAULT (H5OPEN H5P_LST_LINK_ACCESS_ID_g)
  ------------------
  |  Branch (216:9): [True: 0, False: 9]
  ------------------
  217|      0|        dapl_id = H5P_DATASET_ACCESS_DEFAULT;
  ------------------
  |  |  156|      0|#define H5P_DATASET_ACCESS_DEFAULT (H5OPEN H5P_LST_DATASET_ACCESS_ID_g)
  ------------------
  218|      9|    else {
  219|      9|        htri_t is_lapl, is_dapl; /* Class of LAPL from API context */
  220|       |
  221|       |        /* Check class of LAPL from API context */
  222|      9|        if ((is_lapl = H5P_isa_class(dapl_id, H5P_LINK_ACCESS)) < 0)
  ------------------
  |  |  128|      9|#define H5P_LINK_ACCESS (H5OPEN H5P_CLS_LINK_ACCESS_ID_g)
  ------------------
  |  Branch (222:13): [True: 0, False: 9]
  ------------------
  223|      0|            HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, NULL, "unable to get LAPL status");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  224|      9|        if ((is_dapl = H5P_isa_class(dapl_id, H5P_DATASET_ACCESS)) < 0)
  ------------------
  |  |   72|      9|#define H5P_DATASET_ACCESS (H5OPEN H5P_CLS_DATASET_ACCESS_ID_g)
  ------------------
  |  Branch (224:13): [True: 0, False: 9]
  ------------------
  225|      0|            HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, NULL, "unable to get DAPL status");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  226|       |
  227|       |        /* Switch to default DAPL if not an actual DAPL in the API context */
  228|      9|        if (!is_dapl && is_lapl)
  ------------------
  |  Branch (228:13): [True: 0, False: 9]
  |  Branch (228:25): [True: 0, False: 0]
  ------------------
  229|      0|            dapl_id = H5P_DATASET_ACCESS_DEFAULT;
  ------------------
  |  |  156|      0|#define H5P_DATASET_ACCESS_DEFAULT (H5OPEN H5P_LST_DATASET_ACCESS_ID_g)
  ------------------
  230|      9|    } /* end else */
  231|       |
  232|       |    /* Open the dataset */
  233|      9|    if (NULL == (dset = H5D_open(obj_loc, dapl_id)))
  ------------------
  |  Branch (233:9): [True: 0, False: 9]
  ------------------
  234|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTOPENOBJ, NULL, "unable to open dataset");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  235|       |
  236|      9|    ret_value = (void *)dset;
  237|       |
  238|      9|done:
  239|      9|    if (NULL == ret_value)
  ------------------
  |  Branch (239:9): [True: 0, False: 9]
  ------------------
  240|      0|        if (dset && H5D_close(dset) < 0)
  ------------------
  |  Branch (240:13): [True: 0, False: 0]
  |  Branch (240:21): [True: 0, False: 0]
  ------------------
  241|      0|            HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, NULL, "unable to release dataset");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  242|       |
  243|      9|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      9|    ;                                                                                                        \
  |  | 1573|      9|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      9|    return (ret_value);                                                                                      \
  |  | 1575|      9|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  244|      9|} /* end H5O__dset_open() */

H5D__scatter_mem:
  287|      9|{
  288|      9|    uint8_t       *buf       = (uint8_t *)_buf; /* Get local copies for address arithmetic */
  289|      9|    const uint8_t *tscat_buf = (const uint8_t *)_tscat_buf;
  290|      9|    hsize_t       *off       = NULL;    /* Pointer to sequence offsets */
  291|      9|    size_t        *len       = NULL;    /* Pointer to sequence lengths */
  292|      9|    size_t         curr_len;            /* Length of bytes left to process in sequence */
  293|      9|    size_t         nseq;                /* Number of sequences generated */
  294|      9|    size_t         curr_seq;            /* Current sequence being processed */
  295|      9|    size_t         nelem;               /* Number of elements used in sequences */
  296|      9|    size_t         dxpl_vec_size;       /* Vector length from API context's DXPL */
  297|      9|    size_t         vec_size;            /* Vector length */
  298|      9|    herr_t         ret_value = SUCCEED; /* Number of elements scattered */
  ------------------
  |  |  283|      9|#define SUCCEED 0
  ------------------
  299|       |
  300|      9|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      9|    {                                                                                                        \
  |  | 1461|      9|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      9|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      9|                                                                                                             \
  |  |  |  | 1267|      9|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      9|        {
  ------------------
  301|       |
  302|       |    /* Check args */
  303|      9|    assert(tscat_buf);
  304|      9|    assert(iter);
  305|      9|    assert(nelmts > 0);
  306|      9|    assert(buf);
  307|       |
  308|       |    /* Get info from API context */
  309|      9|    if (H5CX_get_vec_size(&dxpl_vec_size) < 0)
  ------------------
  |  Branch (309:9): [True: 0, False: 9]
  ------------------
  310|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't retrieve I/O vector size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  311|       |
  312|       |    /* Allocate the vector I/O arrays */
  313|      9|    if (dxpl_vec_size > H5D_IO_VECTOR_SIZE)
  ------------------
  |  |  116|      9|#define H5D_IO_VECTOR_SIZE 1024
  ------------------
  |  Branch (313:9): [True: 0, False: 9]
  ------------------
  314|      0|        vec_size = dxpl_vec_size;
  315|      9|    else
  316|      9|        vec_size = H5D_IO_VECTOR_SIZE;
  ------------------
  |  |  116|      9|#define H5D_IO_VECTOR_SIZE 1024
  ------------------
  317|      9|    if (NULL == (len = H5FL_SEQ_MALLOC(size_t, vec_size)))
  ------------------
  |  |  282|      9|#define H5FL_SEQ_MALLOC(t, elem) (t *)H5FL_seq_malloc(&(H5FL_SEQ_NAME(t)), (elem))
  |  |  ------------------
  |  |  |  |  266|      9|#define H5FL_SEQ_NAME(t) H5_##t##_seq_free_list
  |  |  ------------------
  ------------------
  |  Branch (317:9): [True: 0, False: 9]
  ------------------
  318|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTALLOC, FAIL, "can't allocate I/O length vector array");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  319|      9|    if (NULL == (off = H5FL_SEQ_MALLOC(hsize_t, vec_size)))
  ------------------
  |  |  282|      9|#define H5FL_SEQ_MALLOC(t, elem) (t *)H5FL_seq_malloc(&(H5FL_SEQ_NAME(t)), (elem))
  |  |  ------------------
  |  |  |  |  266|      9|#define H5FL_SEQ_NAME(t) H5_##t##_seq_free_list
  |  |  ------------------
  ------------------
  |  Branch (319:9): [True: 0, False: 9]
  ------------------
  320|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTALLOC, FAIL, "can't allocate I/O offset vector array");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  321|       |
  322|       |    /* Loop until all elements are written */
  323|     18|    while (nelmts > 0) {
  ------------------
  |  Branch (323:12): [True: 9, False: 9]
  ------------------
  324|       |        /* Get list of sequences for selection to write */
  325|      9|        if (H5S_SELECT_ITER_GET_SEQ_LIST(iter, vec_size, nelmts, &nseq, &nelem, off, len) < 0)
  ------------------
  |  |  186|      9|    (H5S_select_iter_get_seq_list(ITER, MAXSEQ, MAXBYTES, NSEQ, NBYTES, OFF, LEN))
  ------------------
  |  Branch (325:13): [True: 0, False: 9]
  ------------------
  326|      0|            HGOTO_ERROR(H5E_INTERNAL, H5E_UNSUPPORTED, 0, "sequence length generation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  327|       |
  328|       |        /* Loop, while sequences left to process */
  329|     18|        for (curr_seq = 0; curr_seq < nseq; curr_seq++) {
  ------------------
  |  Branch (329:28): [True: 9, False: 9]
  ------------------
  330|       |            /* Get the number of bytes in sequence */
  331|      9|            curr_len = len[curr_seq];
  332|       |
  333|      9|            H5MM_memcpy(buf + off[curr_seq], tscat_buf, curr_len);
  ------------------
  |  |   41|      9|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  334|       |
  335|       |            /* Advance offset in destination buffer */
  336|      9|            tscat_buf += curr_len;
  337|      9|        } /* end for */
  338|       |
  339|       |        /* Decrement number of elements left to process */
  340|      9|        nelmts -= nelem;
  341|      9|    } /* end while */
  342|       |
  343|      9|done:
  344|       |    /* Release resources, if allocated */
  345|      9|    if (len)
  ------------------
  |  Branch (345:9): [True: 9, False: 0]
  ------------------
  346|      9|        len = H5FL_SEQ_FREE(size_t, len);
  ------------------
  |  |  288|      9|#define H5FL_SEQ_FREE(t, obj) (t *)H5FL_seq_free(&(H5FL_SEQ_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |  266|      9|#define H5FL_SEQ_NAME(t) H5_##t##_seq_free_list
  |  |  ------------------
  ------------------
  347|      9|    if (off)
  ------------------
  |  Branch (347:9): [True: 9, False: 0]
  ------------------
  348|      9|        off = H5FL_SEQ_FREE(hsize_t, off);
  ------------------
  |  |  288|      9|#define H5FL_SEQ_FREE(t, obj) (t *)H5FL_seq_free(&(H5FL_SEQ_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |  266|      9|#define H5FL_SEQ_NAME(t) H5_##t##_seq_free_list
  |  |  ------------------
  ------------------
  349|       |
  350|      9|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      9|    ;                                                                                                        \
  |  | 1573|      9|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      9|    return (ret_value);                                                                                      \
  |  | 1575|      9|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  351|      9|} /* H5D__scatter_mem() */
H5D__scatgath_read:
  446|      9|{
  447|      9|    void           *buf;                    /* Local pointer to application buffer */
  448|      9|    void           *tmp_buf;                /* Buffer to use for type conversion */
  449|      9|    H5S_sel_iter_t *mem_iter       = NULL;  /* Memory selection iteration info*/
  450|      9|    bool            mem_iter_init  = false; /* Memory selection iteration info has been initialized */
  451|      9|    H5S_sel_iter_t *bkg_iter       = NULL;  /* Background iteration info*/
  452|      9|    bool            bkg_iter_init  = false; /* Background iteration info has been initialized */
  453|      9|    H5S_sel_iter_t *file_iter      = NULL;  /* File selection iteration info*/
  454|      9|    bool            file_iter_init = false; /* File selection iteration info has been initialized */
  455|      9|    hsize_t         smine_start;            /* Strip mine start loc	*/
  456|      9|    size_t          smine_nelmts;           /* Elements per strip	*/
  457|      9|    bool            in_place_tconv;         /* Whether to perform in-place type_conversion */
  458|      9|    herr_t          ret_value = SUCCEED;    /* Return value		*/
  ------------------
  |  |  283|      9|#define SUCCEED 0
  ------------------
  459|       |
  460|      9|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      9|    {                                                                                                        \
  |  | 1461|      9|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      9|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      9|                                                                                                             \
  |  |  |  | 1267|      9|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      9|        {
  ------------------
  461|       |
  462|       |    /* Sanity check */
  463|      9|    assert(io_info);
  464|      9|    assert(dset_info);
  465|      9|    assert(dset_info->mem_space);
  466|      9|    assert(dset_info->file_space);
  467|      9|    assert(dset_info->buf.vp);
  468|       |
  469|       |    /* Set buf pointer */
  470|      9|    buf = dset_info->buf.vp;
  471|       |
  472|       |    /* Check for NOOP read */
  473|      9|    if (dset_info->nelmts == 0)
  ------------------
  |  Branch (473:9): [True: 0, False: 9]
  ------------------
  474|      0|        HGOTO_DONE(SUCCEED);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  475|       |
  476|       |    /* Check for in-place type conversion */
  477|      9|    in_place_tconv = dset_info->layout_io_info.contig_piece_info &&
  ------------------
  |  Branch (477:22): [True: 0, False: 9]
  ------------------
  478|      9|                     dset_info->layout_io_info.contig_piece_info->in_place_tconv;
  ------------------
  |  Branch (478:22): [True: 0, False: 0]
  ------------------
  479|       |
  480|       |    /* Check if we should disable in-place type conversion for performance.  Do so if we can use the optimized
  481|       |     * compound read function, if this is not a selection I/O operation (so we have normal size conversion
  482|       |     * buffers), and the either entire I/O operation can fit in the type conversion buffer or we need to use a
  483|       |     * background buffer (and therefore could not do the I/O in one operation with in-place conversion
  484|       |     * anyways). */
  485|      9|    if (in_place_tconv && H5D__SCATGATH_USE_CMPD_OPT_READ(dset_info, false) &&
  ------------------
  |  |   35|      9|    ((DSET_INFO)->type_info.cmpd_subset && H5T_SUBSET_FALSE != (DSET_INFO)->type_info.cmpd_subset->subset && \
  |  |  ------------------
  |  |  |  Branch (35:6): [True: 0, False: 0]
  |  |  |  Branch (35:44): [True: 0, False: 0]
  |  |  ------------------
  |  |   36|      9|     !(IN_PLACE_TCONV))
  |  |  ------------------
  |  |  |  Branch (36:6): [Folded - Ignored]
  |  |  ------------------
  ------------------
  |  Branch (485:9): [True: 0, False: 9]
  ------------------
  486|      9|        (io_info->use_select_io != H5D_SELECTION_IO_MODE_ON) &&
  ------------------
  |  Branch (486:9): [True: 0, False: 0]
  ------------------
  487|      9|        (dset_info->type_info.need_bkg || (dset_info->nelmts <= dset_info->type_info.request_nelmts)))
  ------------------
  |  Branch (487:10): [True: 0, False: 0]
  |  Branch (487:43): [True: 0, False: 0]
  ------------------
  488|      0|        in_place_tconv = false;
  489|       |
  490|       |    /* Allocate the iterators */
  491|      9|    if (NULL == (mem_iter = H5FL_MALLOC(H5S_sel_iter_t)))
  ------------------
  |  |   75|      9|#define H5FL_MALLOC(t) (t *)H5FL_reg_malloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|      9|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (491:9): [True: 0, False: 9]
  ------------------
  492|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTALLOC, FAIL, "can't allocate memory iterator");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  493|      9|    if (NULL == (bkg_iter = H5FL_MALLOC(H5S_sel_iter_t)))
  ------------------
  |  |   75|      9|#define H5FL_MALLOC(t) (t *)H5FL_reg_malloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|      9|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (493:9): [True: 0, False: 9]
  ------------------
  494|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTALLOC, FAIL, "can't allocate background iterator");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  495|      9|    if (NULL == (file_iter = H5FL_MALLOC(H5S_sel_iter_t)))
  ------------------
  |  |   75|      9|#define H5FL_MALLOC(t) (t *)H5FL_reg_malloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|      9|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (495:9): [True: 0, False: 9]
  ------------------
  496|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTALLOC, FAIL, "can't allocate file iterator");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  497|       |
  498|       |    /* Figure out the strip mine size. */
  499|      9|    if (H5S_select_iter_init(file_iter, dset_info->file_space, dset_info->type_info.src_type_size,
  ------------------
  |  Branch (499:9): [True: 0, False: 9]
  ------------------
  500|      9|                             H5S_SEL_ITER_GET_SEQ_LIST_SORTED) < 0)
  ------------------
  |  |   57|      9|    0x0001 /**< Retrieve elements from iterator in increasing offset order, for                              \
  ------------------
  501|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to initialize file selection information");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  502|      9|    file_iter_init = true; /*file selection iteration info has been initialized */
  503|      9|    if (H5S_select_iter_init(mem_iter, dset_info->mem_space, dset_info->type_info.dst_type_size, 0) < 0)
  ------------------
  |  Branch (503:9): [True: 0, False: 9]
  ------------------
  504|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to initialize memory selection information");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  505|      9|    mem_iter_init = true; /*file selection iteration info has been initialized */
  506|      9|    if (H5S_select_iter_init(bkg_iter, dset_info->mem_space, dset_info->type_info.dst_type_size, 0) < 0)
  ------------------
  |  Branch (506:9): [True: 0, False: 9]
  ------------------
  507|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to initialize background selection information");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  508|      9|    bkg_iter_init = true; /*file selection iteration info has been initialized */
  509|       |
  510|       |    /* Start strip mining... */
  511|     18|    for (smine_start = 0; smine_start < dset_info->nelmts; smine_start += smine_nelmts) {
  ------------------
  |  Branch (511:27): [True: 9, False: 9]
  ------------------
  512|      9|        size_t n; /* Elements operated on */
  513|       |
  514|      9|        assert(H5S_SELECT_ITER_NELMTS(file_iter) == (dset_info->nelmts - smine_start));
  515|       |
  516|       |        /* Determine strip mine size. First check if we're doing in-place type conversion */
  517|      9|        if (in_place_tconv) {
  ------------------
  |  Branch (517:13): [True: 0, False: 9]
  ------------------
  518|       |            /* If this is not a selection I/O operation and there is a background buffer, we cannot exceed
  519|       |             * request_nelmts.  It could be part of a selection I/O operation if this read is used to fill in
  520|       |             * a nonexistent chunk */
  521|      0|            assert(!H5D__SCATGATH_USE_CMPD_OPT_READ(dset_info, in_place_tconv));
  522|      0|            if (dset_info->type_info.need_bkg && (io_info->use_select_io != H5D_SELECTION_IO_MODE_ON))
  ------------------
  |  Branch (522:17): [True: 0, False: 0]
  |  Branch (522:50): [True: 0, False: 0]
  ------------------
  523|      0|                smine_nelmts =
  524|      0|                    (size_t)MIN(dset_info->type_info.request_nelmts, (dset_info->nelmts - smine_start));
  ------------------
  |  |  293|      0|#define MIN(a, b)        (((a) < (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (293:27): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  525|      0|            else {
  526|      0|                assert(smine_start == 0);
  527|      0|                smine_nelmts = dset_info->nelmts;
  528|      0|            }
  529|       |
  530|       |            /* Calculate buffer position in user buffer */
  531|      0|            tmp_buf = (uint8_t *)buf + dset_info->layout_io_info.contig_piece_info->buf_off +
  532|      0|                      (smine_start * dset_info->type_info.dst_type_size);
  533|      0|        }
  534|      9|        else {
  535|       |            /* Do type conversion using intermediate buffer */
  536|      9|            tmp_buf = io_info->tconv_buf;
  537|       |
  538|       |            /* Go figure out how many elements to read from the file */
  539|      9|            smine_nelmts =
  540|      9|                (size_t)MIN(dset_info->type_info.request_nelmts, (dset_info->nelmts - smine_start));
  ------------------
  |  |  293|      9|#define MIN(a, b)        (((a) < (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (293:27): [True: 0, False: 9]
  |  |  ------------------
  ------------------
  541|      9|        }
  542|       |
  543|       |        /*
  544|       |         * Gather the data from disk into the datatype conversion
  545|       |         * buffer. Also gather data from application to background buffer
  546|       |         * if necessary.
  547|       |         */
  548|       |
  549|       |        /* Fill background buffer here unless we will use H5D__compound_opt_read().  Must do this before
  550|       |         * the read so the read buffer doesn't get wiped out if we're using in-place type conversion */
  551|      9|        if ((H5T_BKG_YES == dset_info->type_info.need_bkg) &&
  ------------------
  |  Branch (551:13): [True: 0, False: 9]
  ------------------
  552|      9|            !H5D__SCATGATH_USE_CMPD_OPT_READ(dset_info, in_place_tconv)) {
  ------------------
  |  |   35|      0|    ((DSET_INFO)->type_info.cmpd_subset && H5T_SUBSET_FALSE != (DSET_INFO)->type_info.cmpd_subset->subset && \
  |  |  ------------------
  |  |  |  Branch (35:6): [True: 0, False: 0]
  |  |  |  Branch (35:44): [True: 0, False: 0]
  |  |  ------------------
  |  |   36|      0|     !(IN_PLACE_TCONV))
  |  |  ------------------
  |  |  |  Branch (36:6): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  553|      0|            n = H5D__gather_mem(buf, bkg_iter, smine_nelmts, io_info->bkg_buf /*out*/);
  554|      0|            if (n != smine_nelmts)
  ------------------
  |  Branch (554:17): [True: 0, False: 0]
  ------------------
  555|      0|                HGOTO_ERROR(H5E_IO, H5E_READERROR, FAIL, "mem gather failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  556|      0|        }
  557|       |
  558|       |        /*
  559|       |         * Gather data
  560|       |         */
  561|      9|        n = H5D__gather_file(io_info, dset_info, file_iter, smine_nelmts, tmp_buf /*out*/);
  562|      9|        if (n != smine_nelmts)
  ------------------
  |  Branch (562:13): [True: 0, False: 9]
  ------------------
  563|      0|            HGOTO_ERROR(H5E_IO, H5E_READERROR, FAIL, "file gather failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  564|       |
  565|       |        /* If the source and destination are compound types and subset of each other
  566|       |         * and no conversion is needed, copy the data directly into user's buffer and
  567|       |         * bypass the rest of steps.
  568|       |         */
  569|      9|        if (H5D__SCATGATH_USE_CMPD_OPT_READ(dset_info, in_place_tconv)) {
  ------------------
  |  |   35|      9|    ((DSET_INFO)->type_info.cmpd_subset && H5T_SUBSET_FALSE != (DSET_INFO)->type_info.cmpd_subset->subset && \
  |  |  ------------------
  |  |  |  Branch (35:6): [True: 0, False: 9]
  |  |  |  Branch (35:44): [True: 0, False: 0]
  |  |  ------------------
  |  |   36|      9|     !(IN_PLACE_TCONV))
  |  |  ------------------
  |  |  |  Branch (36:6): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  570|      0|            if (H5D__compound_opt_read(smine_nelmts, mem_iter, &dset_info->type_info, tmp_buf, buf /*out*/) <
  ------------------
  |  Branch (570:17): [True: 0, False: 0]
  ------------------
  571|      0|                0)
  572|      0|                HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "datatype conversion failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  573|      0|        } /* end if */
  574|      9|        else {
  575|       |            /*
  576|       |             * Perform datatype conversion.
  577|       |             */
  578|      9|            if (H5T_convert(dset_info->type_info.tpath, dset_info->type_info.src_type,
  ------------------
  |  Branch (578:17): [True: 0, False: 9]
  ------------------
  579|      9|                            dset_info->type_info.dst_type, smine_nelmts, (size_t)0, (size_t)0, tmp_buf,
  580|      9|                            io_info->bkg_buf) < 0)
  581|      0|                HGOTO_ERROR(H5E_DATASET, H5E_CANTCONVERT, FAIL, "datatype conversion failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  582|       |
  583|       |            /* Do the data transform after the conversion (since we're using type mem_type) */
  584|      9|            if (!dset_info->type_info.is_xform_noop) {
  ------------------
  |  Branch (584:17): [True: 0, False: 9]
  ------------------
  585|      0|                H5Z_data_xform_t *data_transform; /* Data transform info */
  586|       |
  587|       |                /* Retrieve info from API context */
  588|      0|                if (H5CX_get_data_transform(&data_transform) < 0)
  ------------------
  |  Branch (588:21): [True: 0, False: 0]
  ------------------
  589|      0|                    HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't get data transform info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  590|       |
  591|      0|                if (H5Z_xform_eval(data_transform, tmp_buf, smine_nelmts, dset_info->type_info.mem_type) < 0)
  ------------------
  |  Branch (591:21): [True: 0, False: 0]
  ------------------
  592|      0|                    HGOTO_ERROR(H5E_DATASET, H5E_BADVALUE, FAIL, "Error performing data transform");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  593|      0|            }
  594|       |
  595|       |            /* Scatter the data into memory if this was not an in-place conversion */
  596|      9|            if (!in_place_tconv)
  ------------------
  |  Branch (596:17): [True: 9, False: 0]
  ------------------
  597|      9|                if (H5D__scatter_mem(tmp_buf, mem_iter, smine_nelmts, buf /*out*/) < 0)
  ------------------
  |  Branch (597:21): [True: 0, False: 9]
  ------------------
  598|      0|                    HGOTO_ERROR(H5E_DATASET, H5E_READERROR, FAIL, "scatter failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  599|      9|        } /* end else */
  600|      9|    }     /* end for */
  601|       |
  602|      9|done:
  603|       |    /* Release selection iterators */
  604|      9|    if (file_iter_init && H5S_SELECT_ITER_RELEASE(file_iter) < 0)
  ------------------
  |  |  187|      9|#define H5S_SELECT_ITER_RELEASE(ITER) (H5S_select_iter_release(ITER))
  ------------------
  |  Branch (604:9): [True: 9, False: 0]
  |  Branch (604:27): [True: 0, False: 9]
  ------------------
  605|      0|        HDONE_ERROR(H5E_DATASET, H5E_CANTFREE, FAIL, "Can't release selection iterator");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  606|      9|    if (file_iter)
  ------------------
  |  Branch (606:9): [True: 9, False: 0]
  ------------------
  607|      9|        file_iter = H5FL_FREE(H5S_sel_iter_t, file_iter);
  ------------------
  |  |   81|      9|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      9|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  608|      9|    if (mem_iter_init && H5S_SELECT_ITER_RELEASE(mem_iter) < 0)
  ------------------
  |  |  187|      9|#define H5S_SELECT_ITER_RELEASE(ITER) (H5S_select_iter_release(ITER))
  ------------------
  |  Branch (608:9): [True: 9, False: 0]
  |  Branch (608:26): [True: 0, False: 9]
  ------------------
  609|      0|        HDONE_ERROR(H5E_DATASET, H5E_CANTFREE, FAIL, "Can't release selection iterator");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  610|      9|    if (mem_iter)
  ------------------
  |  Branch (610:9): [True: 9, False: 0]
  ------------------
  611|      9|        mem_iter = H5FL_FREE(H5S_sel_iter_t, mem_iter);
  ------------------
  |  |   81|      9|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      9|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  612|      9|    if (bkg_iter_init && H5S_SELECT_ITER_RELEASE(bkg_iter) < 0)
  ------------------
  |  |  187|      9|#define H5S_SELECT_ITER_RELEASE(ITER) (H5S_select_iter_release(ITER))
  ------------------
  |  Branch (612:9): [True: 9, False: 0]
  |  Branch (612:26): [True: 0, False: 9]
  ------------------
  613|      0|        HDONE_ERROR(H5E_DATASET, H5E_CANTFREE, FAIL, "Can't release selection iterator");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  614|      9|    if (bkg_iter)
  ------------------
  |  Branch (614:9): [True: 9, False: 0]
  ------------------
  615|      9|        bkg_iter = H5FL_FREE(H5S_sel_iter_t, bkg_iter);
  ------------------
  |  |   81|      9|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      9|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  616|       |
  617|      9|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      9|    ;                                                                                                        \
  |  | 1573|      9|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      9|    return (ret_value);                                                                                      \
  |  | 1575|      9|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  618|      9|} /* end H5D__scatgath_read() */
H5Dscatgath.c:H5D__gather_file:
  193|      9|{
  194|      9|    H5D_io_info_t      tmp_io_info;           /* Temporary I/O info object */
  195|      9|    H5D_dset_io_info_t tmp_dset_info;         /* Temporary I/O info object */
  196|      9|    hsize_t           *off = NULL;            /* Pointer to sequence offsets */
  197|      9|    hsize_t            mem_off;               /* Offset in memory */
  198|      9|    size_t             mem_curr_seq;          /* "Current sequence" in memory */
  199|      9|    size_t             dset_curr_seq;         /* "Current sequence" in dataset */
  200|      9|    size_t            *len = NULL;            /* Pointer to sequence lengths */
  201|      9|    size_t             orig_mem_len, mem_len; /* Length of sequence in memory */
  202|      9|    size_t             nseq;                  /* Number of sequences generated */
  203|      9|    size_t             nelem;                 /* Number of elements used in sequences */
  204|      9|    size_t             dxpl_vec_size;         /* Vector length from API context's DXPL */
  205|      9|    size_t             vec_size;              /* Vector length */
  206|      9|    size_t             ret_value = nelmts;    /* Return value */
  207|       |
  208|      9|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      9|    {                                                                                                        \
  |  | 1461|      9|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      9|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      9|                                                                                                             \
  |  |  |  | 1267|      9|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      9|        {
  ------------------
  209|       |
  210|       |    /* Check args */
  211|      9|    assert(_io_info);
  212|      9|    assert(_dset_info);
  213|      9|    assert(_dset_info->dset);
  214|      9|    assert(_dset_info->store);
  215|      9|    assert(iter);
  216|      9|    assert(nelmts > 0);
  217|      9|    assert(_buf);
  218|       |
  219|       |    /* Set up temporary I/O info object */
  220|      9|    H5MM_memcpy(&tmp_io_info, _io_info, sizeof(*_io_info));
  ------------------
  |  |   41|      9|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  221|      9|    H5MM_memcpy(&tmp_dset_info, _dset_info, sizeof(*_dset_info));
  ------------------
  |  |   41|      9|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  222|      9|    tmp_io_info.op_type    = H5D_IO_OP_READ;
  223|      9|    tmp_dset_info.buf.vp   = _buf;
  224|      9|    tmp_io_info.dsets_info = &tmp_dset_info;
  225|       |
  226|       |    /* Get info from API context */
  227|      9|    if (H5CX_get_vec_size(&dxpl_vec_size) < 0)
  ------------------
  |  Branch (227:9): [True: 0, False: 9]
  ------------------
  228|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, 0, "can't retrieve I/O vector size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  229|       |
  230|       |    /* Allocate the vector I/O arrays */
  231|      9|    if (dxpl_vec_size > H5D_IO_VECTOR_SIZE)
  ------------------
  |  |  116|      9|#define H5D_IO_VECTOR_SIZE 1024
  ------------------
  |  Branch (231:9): [True: 0, False: 9]
  ------------------
  232|      0|        vec_size = dxpl_vec_size;
  233|      9|    else
  234|      9|        vec_size = H5D_IO_VECTOR_SIZE;
  ------------------
  |  |  116|      9|#define H5D_IO_VECTOR_SIZE 1024
  ------------------
  235|      9|    if (NULL == (len = H5FL_SEQ_MALLOC(size_t, vec_size)))
  ------------------
  |  |  282|      9|#define H5FL_SEQ_MALLOC(t, elem) (t *)H5FL_seq_malloc(&(H5FL_SEQ_NAME(t)), (elem))
  |  |  ------------------
  |  |  |  |  266|      9|#define H5FL_SEQ_NAME(t) H5_##t##_seq_free_list
  |  |  ------------------
  ------------------
  |  Branch (235:9): [True: 0, False: 9]
  ------------------
  236|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTALLOC, 0, "can't allocate I/O length vector array");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  237|      9|    if (NULL == (off = H5FL_SEQ_MALLOC(hsize_t, vec_size)))
  ------------------
  |  |  282|      9|#define H5FL_SEQ_MALLOC(t, elem) (t *)H5FL_seq_malloc(&(H5FL_SEQ_NAME(t)), (elem))
  |  |  ------------------
  |  |  |  |  266|      9|#define H5FL_SEQ_NAME(t) H5_##t##_seq_free_list
  |  |  ------------------
  ------------------
  |  Branch (237:9): [True: 0, False: 9]
  ------------------
  238|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTALLOC, 0, "can't allocate I/O offset vector array");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  239|       |
  240|       |    /* Loop until all elements are read */
  241|     18|    while (nelmts > 0) {
  ------------------
  |  Branch (241:12): [True: 9, False: 9]
  ------------------
  242|       |        /* Get list of sequences for selection to read */
  243|      9|        if (H5S_SELECT_ITER_GET_SEQ_LIST(iter, vec_size, nelmts, &nseq, &nelem, off, len) < 0)
  ------------------
  |  |  186|      9|    (H5S_select_iter_get_seq_list(ITER, MAXSEQ, MAXBYTES, NSEQ, NBYTES, OFF, LEN))
  ------------------
  |  Branch (243:13): [True: 0, False: 9]
  ------------------
  244|      0|            HGOTO_ERROR(H5E_INTERNAL, H5E_UNSUPPORTED, 0, "sequence length generation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  245|       |
  246|       |        /* Reset the current sequence information */
  247|      9|        mem_curr_seq = dset_curr_seq = 0;
  248|      9|        orig_mem_len = mem_len = nelem * iter->elmt_size;
  249|      9|        mem_off                = 0;
  250|       |
  251|       |        /* Read sequence list in */
  252|      9|        if ((*tmp_dset_info.layout_ops.readvv)(&tmp_io_info, &tmp_dset_info, nseq, &dset_curr_seq, len, off,
  ------------------
  |  Branch (252:13): [True: 0, False: 9]
  ------------------
  253|      9|                                               (size_t)1, &mem_curr_seq, &mem_len, &mem_off) < 0)
  254|      0|            HGOTO_ERROR(H5E_DATASPACE, H5E_READERROR, 0, "read error");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  255|       |
  256|       |        /* Update buffer */
  257|      9|        tmp_dset_info.buf.vp = (uint8_t *)tmp_dset_info.buf.vp + orig_mem_len;
  258|       |
  259|       |        /* Decrement number of elements left to process */
  260|      9|        nelmts -= nelem;
  261|      9|    } /* end while */
  262|       |
  263|      9|done:
  264|       |    /* Release resources, if allocated */
  265|      9|    if (len)
  ------------------
  |  Branch (265:9): [True: 9, False: 0]
  ------------------
  266|      9|        len = H5FL_SEQ_FREE(size_t, len);
  ------------------
  |  |  288|      9|#define H5FL_SEQ_FREE(t, obj) (t *)H5FL_seq_free(&(H5FL_SEQ_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |  266|      9|#define H5FL_SEQ_NAME(t) H5_##t##_seq_free_list
  |  |  ------------------
  ------------------
  267|      9|    if (off)
  ------------------
  |  Branch (267:9): [True: 9, False: 0]
  ------------------
  268|      9|        off = H5FL_SEQ_FREE(hsize_t, off);
  ------------------
  |  |  288|      9|#define H5FL_SEQ_FREE(t, obj) (t *)H5FL_seq_free(&(H5FL_SEQ_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |  266|      9|#define H5FL_SEQ_NAME(t) H5_##t##_seq_free_list
  |  |  ------------------
  ------------------
  269|       |
  270|      9|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      9|    ;                                                                                                        \
  |  | 1573|      9|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      9|    return (ret_value);                                                                                      \
  |  | 1575|      9|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  271|      9|} /* H5D__gather_file() */

H5D__select_read:
  452|     22|{
  453|     22|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     22|#define SUCCEED 0
  ------------------
  454|       |
  455|     22|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     22|    {                                                                                                        \
  |  | 1461|     22|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     22|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     22|                                                                                                             \
  |  |  |  | 1267|     22|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     22|        {
  ------------------
  456|       |
  457|       |    /* Call generic selection operation */
  458|     22|    if (H5D__select_io(io_info, dset_info, dset_info->type_info.src_type_size) < 0)
  ------------------
  |  Branch (458:9): [True: 0, False: 22]
  ------------------
  459|      0|        HGOTO_ERROR(H5E_DATASPACE, H5E_READERROR, FAIL, "read error");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  460|       |
  461|     22|done:
  462|     22|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     22|    ;                                                                                                        \
  |  | 1573|     22|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     22|    return (ret_value);                                                                                      \
  |  | 1575|     22|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  463|     22|} /* end H5D__select_read() */
H5Dselect.c:H5D__select_io:
   76|     22|{
   77|     22|    H5S_sel_iter_t *mem_iter       = NULL;  /* Memory selection iteration info */
   78|     22|    bool            mem_iter_init  = false; /* Memory selection iteration info has been initialized */
   79|     22|    H5S_sel_iter_t *file_iter      = NULL;  /* File selection iteration info */
   80|     22|    bool            file_iter_init = false; /* File selection iteration info has been initialized */
   81|     22|    hsize_t        *mem_off        = NULL;  /* Pointer to sequence offsets in memory */
   82|     22|    hsize_t        *file_off       = NULL;  /* Pointer to sequence offsets in the file */
   83|     22|    size_t         *mem_len        = NULL;  /* Pointer to sequence lengths in memory */
   84|     22|    size_t         *file_len       = NULL;  /* Pointer to sequence lengths in the file */
   85|     22|    size_t          curr_mem_seq;           /* Current memory sequence to operate on */
   86|     22|    size_t          curr_file_seq;          /* Current file sequence to operate on */
   87|     22|    size_t          mem_nseq;               /* Number of sequences generated in the file */
   88|     22|    size_t          file_nseq;              /* Number of sequences generated in memory */
   89|     22|    size_t          dxpl_vec_size;          /* Vector length from API context's DXPL */
   90|     22|    size_t          vec_size;               /* Vector length */
   91|     22|    ssize_t         tmp_file_len;           /* Temporary number of bytes in file sequence */
   92|     22|    size_t          nelmts;                 /* Number of elements to process */
   93|     22|    herr_t          ret_value = SUCCEED;    /* Return value */
  ------------------
  |  |  283|     22|#define SUCCEED 0
  ------------------
   94|       |
   95|     22|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     22|    {                                                                                                        \
  |  | 1461|     22|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     22|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     22|                                                                                                             \
  |  |  |  | 1267|     22|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     22|        {
  ------------------
   96|       |
   97|       |    /* Check args */
   98|     22|    assert(io_info);
   99|     22|    assert(dset_info->dset);
  100|     22|    assert(dset_info->store);
  101|     22|    assert(dset_info->buf.vp);
  102|       |
  103|     22|    if (elmt_size == 0)
  ------------------
  |  Branch (103:9): [True: 0, False: 22]
  ------------------
  104|      0|        HGOTO_ERROR(H5E_DATASPACE, H5E_BADVALUE, FAIL, "invalid elmt_size of 0");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  105|       |
  106|       |    /* Initialize nelmts */
  107|     22|    nelmts = dset_info->nelmts;
  108|       |
  109|       |    /* Check for only one element in selection */
  110|     22|    if (nelmts == 1) {
  ------------------
  |  Branch (110:9): [True: 0, False: 22]
  ------------------
  111|      0|        hsize_t single_mem_off;  /* Offset in memory */
  112|      0|        hsize_t single_file_off; /* Offset in the file */
  113|      0|        size_t  single_mem_len;  /* Length in memory */
  114|      0|        size_t  single_file_len; /* Length in the file */
  115|       |
  116|       |        /* Get offset of first element in selections */
  117|      0|        if (H5S_SELECT_OFFSET(dset_info->file_space, &single_file_off) < 0)
  ------------------
  |  |  171|      0|#define H5S_SELECT_OFFSET(S, OFFSET)            (H5S_get_select_offset(S, OFFSET))
  ------------------
  |  Branch (117:13): [True: 0, False: 0]
  ------------------
  118|      0|            HGOTO_ERROR(H5E_INTERNAL, H5E_UNSUPPORTED, FAIL, "can't retrieve file selection offset");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  119|      0|        if (H5S_SELECT_OFFSET(dset_info->mem_space, &single_mem_off) < 0)
  ------------------
  |  |  171|      0|#define H5S_SELECT_OFFSET(S, OFFSET)            (H5S_get_select_offset(S, OFFSET))
  ------------------
  |  Branch (119:13): [True: 0, False: 0]
  ------------------
  120|      0|            HGOTO_ERROR(H5E_INTERNAL, H5E_UNSUPPORTED, FAIL, "can't retrieve memory selection offset");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  121|       |
  122|       |        /* Set up necessary information for I/O operation */
  123|      0|        file_nseq = mem_nseq = 1;
  124|      0|        curr_mem_seq = curr_file_seq = 0;
  125|      0|        single_file_off *= elmt_size;
  126|      0|        single_mem_off *= elmt_size;
  127|      0|        single_file_len = single_mem_len = elmt_size;
  128|       |
  129|       |        /* Perform I/O on memory and file sequences */
  130|      0|        if (io_info->op_type == H5D_IO_OP_READ) {
  ------------------
  |  Branch (130:13): [True: 0, False: 0]
  ------------------
  131|      0|            if ((tmp_file_len = (*dset_info->layout_ops.readvv)(
  ------------------
  |  Branch (131:17): [True: 0, False: 0]
  ------------------
  132|      0|                     io_info, dset_info, file_nseq, &curr_file_seq, &single_file_len, &single_file_off,
  133|      0|                     mem_nseq, &curr_mem_seq, &single_mem_len, &single_mem_off)) < 0)
  134|      0|                HGOTO_ERROR(H5E_DATASPACE, H5E_READERROR, FAIL, "read error");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  135|      0|        } /* end if */
  136|      0|        else {
  137|      0|            assert(io_info->op_type == H5D_IO_OP_WRITE);
  138|      0|            if ((tmp_file_len = (*dset_info->layout_ops.writevv)(
  ------------------
  |  Branch (138:17): [True: 0, False: 0]
  ------------------
  139|      0|                     io_info, dset_info, file_nseq, &curr_file_seq, &single_file_len, &single_file_off,
  140|      0|                     mem_nseq, &curr_mem_seq, &single_mem_len, &single_mem_off)) < 0)
  141|      0|                HGOTO_ERROR(H5E_DATASPACE, H5E_WRITEERROR, FAIL, "write error");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  142|      0|        } /* end else */
  143|       |
  144|       |        /* Decrement number of elements left to process */
  145|      0|        assert(((size_t)tmp_file_len % elmt_size) == 0);
  146|      0|    } /* end if */
  147|     22|    else {
  148|     22|        size_t mem_nelem;  /* Number of elements used in memory sequences */
  149|     22|        size_t file_nelem; /* Number of elements used in file sequences */
  150|       |
  151|       |        /* Get info from API context */
  152|     22|        if (H5CX_get_vec_size(&dxpl_vec_size) < 0)
  ------------------
  |  Branch (152:13): [True: 0, False: 22]
  ------------------
  153|      0|            HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't retrieve I/O vector size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  154|       |
  155|       |        /* Allocate the vector I/O arrays */
  156|     22|        if (dxpl_vec_size > H5D_IO_VECTOR_SIZE)
  ------------------
  |  |  116|     22|#define H5D_IO_VECTOR_SIZE 1024
  ------------------
  |  Branch (156:13): [True: 0, False: 22]
  ------------------
  157|      0|            vec_size = dxpl_vec_size;
  158|     22|        else
  159|     22|            vec_size = H5D_IO_VECTOR_SIZE;
  ------------------
  |  |  116|     22|#define H5D_IO_VECTOR_SIZE 1024
  ------------------
  160|     22|        if (NULL == (mem_len = H5FL_SEQ_MALLOC(size_t, vec_size)))
  ------------------
  |  |  282|     22|#define H5FL_SEQ_MALLOC(t, elem) (t *)H5FL_seq_malloc(&(H5FL_SEQ_NAME(t)), (elem))
  |  |  ------------------
  |  |  |  |  266|     22|#define H5FL_SEQ_NAME(t) H5_##t##_seq_free_list
  |  |  ------------------
  ------------------
  |  Branch (160:13): [True: 0, False: 22]
  ------------------
  161|      0|            HGOTO_ERROR(H5E_DATASET, H5E_CANTALLOC, FAIL, "can't allocate I/O length vector array");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  162|     22|        if (NULL == (mem_off = H5FL_SEQ_MALLOC(hsize_t, vec_size)))
  ------------------
  |  |  282|     22|#define H5FL_SEQ_MALLOC(t, elem) (t *)H5FL_seq_malloc(&(H5FL_SEQ_NAME(t)), (elem))
  |  |  ------------------
  |  |  |  |  266|     22|#define H5FL_SEQ_NAME(t) H5_##t##_seq_free_list
  |  |  ------------------
  ------------------
  |  Branch (162:13): [True: 0, False: 22]
  ------------------
  163|      0|            HGOTO_ERROR(H5E_DATASET, H5E_CANTALLOC, FAIL, "can't allocate I/O offset vector array");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  164|     22|        if (NULL == (file_len = H5FL_SEQ_MALLOC(size_t, vec_size)))
  ------------------
  |  |  282|     22|#define H5FL_SEQ_MALLOC(t, elem) (t *)H5FL_seq_malloc(&(H5FL_SEQ_NAME(t)), (elem))
  |  |  ------------------
  |  |  |  |  266|     22|#define H5FL_SEQ_NAME(t) H5_##t##_seq_free_list
  |  |  ------------------
  ------------------
  |  Branch (164:13): [True: 0, False: 22]
  ------------------
  165|      0|            HGOTO_ERROR(H5E_DATASET, H5E_CANTALLOC, FAIL, "can't allocate I/O length vector array");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  166|     22|        if (NULL == (file_off = H5FL_SEQ_MALLOC(hsize_t, vec_size)))
  ------------------
  |  |  282|     22|#define H5FL_SEQ_MALLOC(t, elem) (t *)H5FL_seq_malloc(&(H5FL_SEQ_NAME(t)), (elem))
  |  |  ------------------
  |  |  |  |  266|     22|#define H5FL_SEQ_NAME(t) H5_##t##_seq_free_list
  |  |  ------------------
  ------------------
  |  Branch (166:13): [True: 0, False: 22]
  ------------------
  167|      0|            HGOTO_ERROR(H5E_DATASET, H5E_CANTALLOC, FAIL, "can't allocate I/O offset vector array");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  168|       |
  169|       |        /* Allocate the iterators */
  170|     22|        if (NULL == (mem_iter = H5FL_MALLOC(H5S_sel_iter_t)))
  ------------------
  |  |   75|     22|#define H5FL_MALLOC(t) (t *)H5FL_reg_malloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|     22|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (170:13): [True: 0, False: 22]
  ------------------
  171|      0|            HGOTO_ERROR(H5E_DATASET, H5E_CANTALLOC, FAIL, "can't allocate memory iterator");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  172|     22|        if (NULL == (file_iter = H5FL_MALLOC(H5S_sel_iter_t)))
  ------------------
  |  |   75|     22|#define H5FL_MALLOC(t) (t *)H5FL_reg_malloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|     22|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (172:13): [True: 0, False: 22]
  ------------------
  173|      0|            HGOTO_ERROR(H5E_DATASET, H5E_CANTALLOC, FAIL, "can't allocate file iterator");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  174|       |
  175|       |        /* Initialize file iterator */
  176|     22|        if (H5S_select_iter_init(file_iter, dset_info->file_space, elmt_size,
  ------------------
  |  Branch (176:13): [True: 0, False: 22]
  ------------------
  177|     22|                                 H5S_SEL_ITER_GET_SEQ_LIST_SORTED) < 0)
  ------------------
  |  |   57|     22|    0x0001 /**< Retrieve elements from iterator in increasing offset order, for                              \
  ------------------
  178|      0|            HGOTO_ERROR(H5E_DATASPACE, H5E_CANTINIT, FAIL, "unable to initialize selection iterator");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  179|     22|        file_iter_init = 1; /* File selection iteration info has been initialized */
  180|       |
  181|       |        /* Initialize memory iterator */
  182|     22|        if (H5S_select_iter_init(mem_iter, dset_info->mem_space, elmt_size, 0) < 0)
  ------------------
  |  Branch (182:13): [True: 0, False: 22]
  ------------------
  183|      0|            HGOTO_ERROR(H5E_DATASPACE, H5E_CANTINIT, FAIL, "unable to initialize selection iterator");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  184|     22|        mem_iter_init = 1; /* Memory selection iteration info has been initialized */
  185|       |
  186|       |        /* Initialize sequence counts */
  187|     22|        curr_mem_seq = curr_file_seq = 0;
  188|     22|        mem_nseq = file_nseq = 0;
  189|       |
  190|       |        /* Loop, until all bytes are processed */
  191|     44|        while (nelmts > 0) {
  ------------------
  |  Branch (191:16): [True: 22, False: 22]
  ------------------
  192|       |            /* Check if more file sequences are needed */
  193|     22|            if (curr_file_seq >= file_nseq) {
  ------------------
  |  Branch (193:17): [True: 22, False: 0]
  ------------------
  194|       |                /* Get sequences for file selection */
  195|     22|                if (H5S_SELECT_ITER_GET_SEQ_LIST(file_iter, vec_size, nelmts, &file_nseq, &file_nelem,
  ------------------
  |  |  186|     22|    (H5S_select_iter_get_seq_list(ITER, MAXSEQ, MAXBYTES, NSEQ, NBYTES, OFF, LEN))
  ------------------
  |  Branch (195:21): [True: 0, False: 22]
  ------------------
  196|     22|                                                 file_off, file_len) < 0)
  197|      0|                    HGOTO_ERROR(H5E_INTERNAL, H5E_UNSUPPORTED, FAIL, "sequence length generation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  198|       |
  199|       |                /* Start at the beginning of the sequences again */
  200|     22|                curr_file_seq = 0;
  201|     22|            } /* end if */
  202|       |
  203|       |            /* Check if more memory sequences are needed */
  204|     22|            if (curr_mem_seq >= mem_nseq) {
  ------------------
  |  Branch (204:17): [True: 22, False: 0]
  ------------------
  205|       |                /* Get sequences for memory selection */
  206|     22|                if (H5S_SELECT_ITER_GET_SEQ_LIST(mem_iter, vec_size, nelmts, &mem_nseq, &mem_nelem, mem_off,
  ------------------
  |  |  186|     22|    (H5S_select_iter_get_seq_list(ITER, MAXSEQ, MAXBYTES, NSEQ, NBYTES, OFF, LEN))
  ------------------
  |  Branch (206:21): [True: 0, False: 22]
  ------------------
  207|     22|                                                 mem_len) < 0)
  208|      0|                    HGOTO_ERROR(H5E_INTERNAL, H5E_UNSUPPORTED, FAIL, "sequence length generation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  209|       |
  210|       |                /* Start at the beginning of the sequences again */
  211|     22|                curr_mem_seq = 0;
  212|     22|            } /* end if */
  213|       |
  214|       |            /* Perform I/O on memory and file sequences */
  215|     22|            if (io_info->op_type == H5D_IO_OP_READ) {
  ------------------
  |  Branch (215:17): [True: 22, False: 0]
  ------------------
  216|     22|                if ((tmp_file_len = (*dset_info->layout_ops.readvv)(
  ------------------
  |  Branch (216:21): [True: 0, False: 22]
  ------------------
  217|     22|                         io_info, dset_info, file_nseq, &curr_file_seq, file_len, file_off, mem_nseq,
  218|     22|                         &curr_mem_seq, mem_len, mem_off)) < 0)
  219|      0|                    HGOTO_ERROR(H5E_DATASPACE, H5E_READERROR, FAIL, "read error");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  220|     22|            } /* end if */
  221|      0|            else {
  222|      0|                assert(io_info->op_type == H5D_IO_OP_WRITE);
  223|      0|                if ((tmp_file_len = (*dset_info->layout_ops.writevv)(
  ------------------
  |  Branch (223:21): [True: 0, False: 0]
  ------------------
  224|      0|                         io_info, dset_info, file_nseq, &curr_file_seq, file_len, file_off, mem_nseq,
  225|      0|                         &curr_mem_seq, mem_len, mem_off)) < 0)
  226|      0|                    HGOTO_ERROR(H5E_DATASPACE, H5E_WRITEERROR, FAIL, "write error");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  227|      0|            } /* end else */
  228|       |
  229|       |            /* Decrement number of elements left to process */
  230|     22|            assert(((size_t)tmp_file_len % elmt_size) == 0);
  231|     22|            nelmts -= ((size_t)tmp_file_len / elmt_size);
  232|     22|        } /* end while */
  233|     22|    }     /* end else */
  234|       |
  235|     22|done:
  236|       |    /* Release selection iterators */
  237|     22|    if (file_iter_init && H5S_SELECT_ITER_RELEASE(file_iter) < 0)
  ------------------
  |  |  187|     22|#define H5S_SELECT_ITER_RELEASE(ITER) (H5S_select_iter_release(ITER))
  ------------------
  |  Branch (237:9): [True: 22, False: 0]
  |  Branch (237:27): [True: 0, False: 22]
  ------------------
  238|      0|        HDONE_ERROR(H5E_DATASET, H5E_CANTRELEASE, FAIL, "unable to release selection iterator");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  239|     22|    if (file_iter)
  ------------------
  |  Branch (239:9): [True: 22, False: 0]
  ------------------
  240|     22|        file_iter = H5FL_FREE(H5S_sel_iter_t, file_iter);
  ------------------
  |  |   81|     22|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|     22|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  241|     22|    if (mem_iter_init && H5S_SELECT_ITER_RELEASE(mem_iter) < 0)
  ------------------
  |  |  187|     22|#define H5S_SELECT_ITER_RELEASE(ITER) (H5S_select_iter_release(ITER))
  ------------------
  |  Branch (241:9): [True: 22, False: 0]
  |  Branch (241:26): [True: 0, False: 22]
  ------------------
  242|      0|        HDONE_ERROR(H5E_DATASET, H5E_CANTRELEASE, FAIL, "unable to release selection iterator");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  243|     22|    if (mem_iter)
  ------------------
  |  Branch (243:9): [True: 22, False: 0]
  ------------------
  244|     22|        mem_iter = H5FL_FREE(H5S_sel_iter_t, mem_iter);
  ------------------
  |  |   81|     22|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|     22|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  245|       |
  246|       |    /* Release vector arrays, if allocated */
  247|     22|    if (file_len)
  ------------------
  |  Branch (247:9): [True: 22, False: 0]
  ------------------
  248|     22|        file_len = H5FL_SEQ_FREE(size_t, file_len);
  ------------------
  |  |  288|     22|#define H5FL_SEQ_FREE(t, obj) (t *)H5FL_seq_free(&(H5FL_SEQ_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |  266|     22|#define H5FL_SEQ_NAME(t) H5_##t##_seq_free_list
  |  |  ------------------
  ------------------
  249|     22|    if (file_off)
  ------------------
  |  Branch (249:9): [True: 22, False: 0]
  ------------------
  250|     22|        file_off = H5FL_SEQ_FREE(hsize_t, file_off);
  ------------------
  |  |  288|     22|#define H5FL_SEQ_FREE(t, obj) (t *)H5FL_seq_free(&(H5FL_SEQ_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |  266|     22|#define H5FL_SEQ_NAME(t) H5_##t##_seq_free_list
  |  |  ------------------
  ------------------
  251|     22|    if (mem_len)
  ------------------
  |  Branch (251:9): [True: 22, False: 0]
  ------------------
  252|     22|        mem_len = H5FL_SEQ_FREE(size_t, mem_len);
  ------------------
  |  |  288|     22|#define H5FL_SEQ_FREE(t, obj) (t *)H5FL_seq_free(&(H5FL_SEQ_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |  266|     22|#define H5FL_SEQ_NAME(t) H5_##t##_seq_free_list
  |  |  ------------------
  ------------------
  253|     22|    if (mem_off)
  ------------------
  |  Branch (253:9): [True: 22, False: 0]
  ------------------
  254|     22|        mem_off = H5FL_SEQ_FREE(hsize_t, mem_off);
  ------------------
  |  |  288|     22|#define H5FL_SEQ_FREE(t, obj) (t *)H5FL_seq_free(&(H5FL_SEQ_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |  266|     22|#define H5FL_SEQ_NAME(t) H5_##t##_seq_free_list
  |  |  ------------------
  ------------------
  255|       |
  256|     22|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     22|    ;                                                                                                        \
  |  | 1573|     22|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     22|    return (ret_value);                                                                                      \
  |  | 1575|     22|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  257|     22|} /* end H5D__select_io() */

H5Eget_class_name:
  164|  1.72k|{
  165|  1.72k|    H5E_cls_t *cls;            /* Pointer to error class */
  166|  1.72k|    ssize_t    ret_value = -1; /* Return value */
  167|       |
  168|  3.45k|    FUNC_ENTER_API((-1))
  ------------------
  |  | 1300|  1.72k|    {                                                                                                        \
  |  | 1301|  1.72k|        {                                                                                                    \
  |  | 1302|  1.72k|            bool api_ctx_pushed = false;                                                                     \
  |  | 1303|  1.72k|                                                                                                             \
  |  | 1304|  1.72k|            FUNC_ENTER_API_COMMON                                                                            \
  |  |  ------------------
  |  |  |  | 1281|  1.72k|    FUNC_ENTER_COMMON(H5_IS_API(__func__));                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1265|  1.72k|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  | 1266|  1.72k|                                                                                                             \
  |  |  |  |  |  | 1267|  1.72k|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  ------------------
  |  |  |  | 1282|  1.72k|    FUNC_ENTER_API_THREADSAFE;
  |  |  ------------------
  |  | 1305|  1.72k|            FUNC_ENTER_API_INIT(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1286|  1.72k|    if (H5_UNLIKELY(!H5_INIT_GLOBAL && !H5_TERM_GLOBAL)) {                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|  1.72k|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 1.72k]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 1.72k]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1287|      0|        if (H5_UNLIKELY(H5_init_library() < 0))                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      0|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1288|      0|            HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, err, "library initialization failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1289|      0|    }
  |  |  ------------------
  |  | 1306|  1.72k|            FUNC_ENTER_API_PUSH(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1293|  1.72k|    if (H5_UNLIKELY(H5CX_push() < 0))                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|  1.72k|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 1.72k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1294|  1.72k|        HGOTO_ERROR(H5E_FUNC, H5E_CANTSET, err, "can't set API context");                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1295|  1.72k|    else                                                                                                     \
  |  |  |  | 1296|  1.72k|        api_ctx_pushed = true;
  |  |  ------------------
  |  | 1307|  1.72k|            /* Clear thread error stack entering public functions */                                         \
  |  | 1308|  1.72k|            H5E_clear_stack();                                                                               \
  |  | 1309|  1.72k|            {
  ------------------
  169|       |
  170|       |    /* Get the error class */
  171|  3.45k|    if (NULL == (cls = (H5E_cls_t *)H5I_object_verify(class_id, H5I_ERROR_CLASS)))
  ------------------
  |  Branch (171:9): [True: 0, False: 1.72k]
  ------------------
  172|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, (-1), "not a error class ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  173|       |
  174|       |    /* Retrieve the class name */
  175|  1.72k|    if ((ret_value = H5E__get_class_name(cls, name, size)) < 0)
  ------------------
  |  Branch (175:9): [True: 0, False: 1.72k]
  ------------------
  176|      0|        HGOTO_ERROR(H5E_ERROR, H5E_CANTGET, (-1), "can't get error class name");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  177|       |
  178|  1.72k|done:
  179|  1.72k|    FUNC_LEAVE_API(ret_value)
  ------------------
  |  | 1509|  1.72k|    ;                                                                                                        \
  |  | 1510|  1.72k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1511|  1.72k|    if (H5_LIKELY(api_ctx_pushed)) {                                                                         \
  |  |  ------------------
  |  |  |  |  167|  1.72k|#define H5_LIKELY(expression)   __builtin_expect(!!(expression), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (167:33): [True: 1.72k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1512|  1.72k|        (void)H5CX_pop(true);                                                                                \
  |  | 1513|  1.72k|        api_ctx_pushed = false;                                                                              \
  |  | 1514|  1.72k|    }                                                                                                        \
  |  | 1515|  1.72k|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|  1.72k|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 0, False: 1.72k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1516|  1.72k|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1517|  1.72k|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1518|  1.72k|    return (ret_value);                                                                                      \
  |  | 1519|  1.72k|    }                                                                                                        \
  |  | 1520|  1.72k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  180|  1.72k|} /* end H5Eget_class_name() */
H5Eget_msg:
  263|  3.45k|{
  264|  3.45k|    H5E_msg_t *msg;            /* Pointer to error message */
  265|  3.45k|    ssize_t    ret_value = -1; /* Return value */
  266|       |
  267|  6.90k|    FUNC_ENTER_API_NOCLEAR((-1))
  ------------------
  |  | 1316|  3.45k|    {                                                                                                        \
  |  | 1317|  3.45k|        {                                                                                                    \
  |  | 1318|  3.45k|            bool api_ctx_pushed = false;                                                                     \
  |  | 1319|  3.45k|                                                                                                             \
  |  | 1320|  3.45k|            FUNC_ENTER_API_COMMON                                                                            \
  |  |  ------------------
  |  |  |  | 1281|  3.45k|    FUNC_ENTER_COMMON(H5_IS_API(__func__));                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1265|  3.45k|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  | 1266|  3.45k|                                                                                                             \
  |  |  |  |  |  | 1267|  3.45k|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  ------------------
  |  |  |  | 1282|  3.45k|    FUNC_ENTER_API_THREADSAFE;
  |  |  ------------------
  |  | 1321|  3.45k|            FUNC_ENTER_API_INIT(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1286|  3.45k|    if (H5_UNLIKELY(!H5_INIT_GLOBAL && !H5_TERM_GLOBAL)) {                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|  3.45k|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 3.45k]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 3.45k]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1287|      0|        if (H5_UNLIKELY(H5_init_library() < 0))                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      0|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1288|      0|            HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, err, "library initialization failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1289|      0|    }
  |  |  ------------------
  |  | 1322|  3.45k|            FUNC_ENTER_API_PUSH(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1293|  3.45k|    if (H5_UNLIKELY(H5CX_push() < 0))                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|  3.45k|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 3.45k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1294|  3.45k|        HGOTO_ERROR(H5E_FUNC, H5E_CANTSET, err, "can't set API context");                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1295|  3.45k|    else                                                                                                     \
  |  |  |  | 1296|  3.45k|        api_ctx_pushed = true;
  |  |  ------------------
  |  | 1323|  3.45k|            {
  ------------------
  268|       |
  269|       |    /* Get the message object */
  270|  6.90k|    if (NULL == (msg = (H5E_msg_t *)H5I_object_verify(msg_id, H5I_ERROR_MSG)))
  ------------------
  |  Branch (270:9): [True: 0, False: 3.45k]
  ------------------
  271|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, (-1), "not a error message ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  272|       |
  273|       |    /* Get the message's text */
  274|  3.45k|    if ((ret_value = H5E__get_msg(msg, type, msg_str, size)) < 0)
  ------------------
  |  Branch (274:9): [True: 0, False: 3.45k]
  ------------------
  275|      0|        HGOTO_ERROR(H5E_ERROR, H5E_CANTGET, (-1), "can't get error message text");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  276|       |
  277|  3.45k|done:
  278|  3.45k|    FUNC_LEAVE_API(ret_value)
  ------------------
  |  | 1509|  3.45k|    ;                                                                                                        \
  |  | 1510|  3.45k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1511|  3.45k|    if (H5_LIKELY(api_ctx_pushed)) {                                                                         \
  |  |  ------------------
  |  |  |  |  167|  3.45k|#define H5_LIKELY(expression)   __builtin_expect(!!(expression), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (167:33): [True: 3.45k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1512|  3.45k|        (void)H5CX_pop(true);                                                                                \
  |  | 1513|  3.45k|        api_ctx_pushed = false;                                                                              \
  |  | 1514|  3.45k|    }                                                                                                        \
  |  | 1515|  3.45k|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|  3.45k|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 0, False: 3.45k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1516|  3.45k|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1517|  3.45k|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1518|  3.45k|    return (ret_value);                                                                                      \
  |  | 1519|  3.45k|    }                                                                                                        \
  |  | 1520|  3.45k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  279|  3.45k|} /* end H5Eget_msg() */
H5Eget_current_stack:
  327|    178|{
  328|    178|    H5E_stack_t *stk;                         /* Error stack */
  329|    178|    hid_t        ret_value = H5I_INVALID_HID; /* Return value */
  ------------------
  |  |   75|    178|#define H5I_INVALID_HID (-1)
  ------------------
  330|       |
  331|       |    /* Don't clear the error stack! :-) */
  332|    356|    FUNC_ENTER_API_NOCLEAR(H5I_INVALID_HID)
  ------------------
  |  | 1316|    178|    {                                                                                                        \
  |  | 1317|    178|        {                                                                                                    \
  |  | 1318|    178|            bool api_ctx_pushed = false;                                                                     \
  |  | 1319|    178|                                                                                                             \
  |  | 1320|    178|            FUNC_ENTER_API_COMMON                                                                            \
  |  |  ------------------
  |  |  |  | 1281|    178|    FUNC_ENTER_COMMON(H5_IS_API(__func__));                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1265|    178|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  | 1266|    178|                                                                                                             \
  |  |  |  |  |  | 1267|    178|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  ------------------
  |  |  |  | 1282|    178|    FUNC_ENTER_API_THREADSAFE;
  |  |  ------------------
  |  | 1321|    178|            FUNC_ENTER_API_INIT(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1286|    178|    if (H5_UNLIKELY(!H5_INIT_GLOBAL && !H5_TERM_GLOBAL)) {                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|    178|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 178]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 178]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1287|      0|        if (H5_UNLIKELY(H5_init_library() < 0))                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      0|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1288|      0|            HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, err, "library initialization failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1289|      0|    }
  |  |  ------------------
  |  | 1322|    178|            FUNC_ENTER_API_PUSH(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1293|    178|    if (H5_UNLIKELY(H5CX_push() < 0))                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|    178|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 178]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1294|    178|        HGOTO_ERROR(H5E_FUNC, H5E_CANTSET, err, "can't set API context");                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1295|    178|    else                                                                                                     \
  |  |  |  | 1296|    178|        api_ctx_pushed = true;
  |  |  ------------------
  |  | 1323|    178|            {
  ------------------
  333|       |
  334|       |    /* Get the current stack */
  335|    356|    if (NULL == (stk = H5E__get_current_stack()))
  ------------------
  |  Branch (335:9): [True: 0, False: 178]
  ------------------
  336|      0|        HGOTO_ERROR(H5E_ERROR, H5E_CANTCREATE, H5I_INVALID_HID, "can't create error stack");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  337|       |
  338|       |    /* Register the stack */
  339|    178|    if ((ret_value = H5I_register(H5I_ERROR_STACK, stk, true)) < 0)
  ------------------
  |  Branch (339:9): [True: 0, False: 178]
  ------------------
  340|      0|        HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, H5I_INVALID_HID, "can't create error stack");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  341|       |
  342|    178|done:
  343|    178|    FUNC_LEAVE_API(ret_value)
  ------------------
  |  | 1509|    178|    ;                                                                                                        \
  |  | 1510|    178|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1511|    178|    if (H5_LIKELY(api_ctx_pushed)) {                                                                         \
  |  |  ------------------
  |  |  |  |  167|    178|#define H5_LIKELY(expression)   __builtin_expect(!!(expression), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (167:33): [True: 178, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1512|    178|        (void)H5CX_pop(true);                                                                                \
  |  | 1513|    178|        api_ctx_pushed = false;                                                                              \
  |  | 1514|    178|    }                                                                                                        \
  |  | 1515|    178|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|    178|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 0, False: 178]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1516|    178|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1517|    178|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1518|    178|    return (ret_value);                                                                                      \
  |  | 1519|    178|    }                                                                                                        \
  |  | 1520|    178|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  344|    178|} /* end H5Eget_current_stack() */
H5Eclose_stack:
  395|    178|{
  396|    178|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    178|#define SUCCEED 0
  ------------------
  397|       |
  398|    356|    FUNC_ENTER_API(FAIL)
  ------------------
  |  | 1300|    178|    {                                                                                                        \
  |  | 1301|    178|        {                                                                                                    \
  |  | 1302|    178|            bool api_ctx_pushed = false;                                                                     \
  |  | 1303|    178|                                                                                                             \
  |  | 1304|    178|            FUNC_ENTER_API_COMMON                                                                            \
  |  |  ------------------
  |  |  |  | 1281|    178|    FUNC_ENTER_COMMON(H5_IS_API(__func__));                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1265|    178|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  | 1266|    178|                                                                                                             \
  |  |  |  |  |  | 1267|    178|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  ------------------
  |  |  |  | 1282|    178|    FUNC_ENTER_API_THREADSAFE;
  |  |  ------------------
  |  | 1305|    178|            FUNC_ENTER_API_INIT(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1286|    178|    if (H5_UNLIKELY(!H5_INIT_GLOBAL && !H5_TERM_GLOBAL)) {                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|    178|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 178]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 178]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1287|      0|        if (H5_UNLIKELY(H5_init_library() < 0))                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      0|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1288|      0|            HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, err, "library initialization failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1289|      0|    }
  |  |  ------------------
  |  | 1306|    178|            FUNC_ENTER_API_PUSH(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1293|    178|    if (H5_UNLIKELY(H5CX_push() < 0))                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|    178|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 178]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1294|    178|        HGOTO_ERROR(H5E_FUNC, H5E_CANTSET, err, "can't set API context");                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1295|    178|    else                                                                                                     \
  |  |  |  | 1296|    178|        api_ctx_pushed = true;
  |  |  ------------------
  |  | 1307|    178|            /* Clear thread error stack entering public functions */                                         \
  |  | 1308|    178|            H5E_clear_stack();                                                                               \
  |  | 1309|    178|            {
  ------------------
  399|       |
  400|    356|    if (H5E_DEFAULT != stack_id) {
  ------------------
  |  |   25|    178|#define H5E_DEFAULT 0 /* (hid_t) */
  ------------------
  |  Branch (400:9): [True: 178, False: 0]
  ------------------
  401|       |        /* Check arguments */
  402|    178|        if (H5I_ERROR_STACK != H5I_get_type(stack_id))
  ------------------
  |  Branch (402:13): [True: 0, False: 178]
  ------------------
  403|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a error stack ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  404|       |
  405|       |        /*
  406|       |         * Decrement the counter on the error stack.  It will be freed if the count
  407|       |         * reaches zero.
  408|       |         */
  409|    178|        if (H5I_dec_app_ref(stack_id) < 0)
  ------------------
  |  Branch (409:13): [True: 0, False: 178]
  ------------------
  410|      0|            HGOTO_ERROR(H5E_ERROR, H5E_CANTDEC, FAIL, "unable to decrement ref count on error stack");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  411|    178|    } /* end if */
  412|       |
  413|    178|done:
  414|    178|    FUNC_LEAVE_API(ret_value)
  ------------------
  |  | 1509|    178|    ;                                                                                                        \
  |  | 1510|    178|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1511|    178|    if (H5_LIKELY(api_ctx_pushed)) {                                                                         \
  |  |  ------------------
  |  |  |  |  167|    178|#define H5_LIKELY(expression)   __builtin_expect(!!(expression), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (167:33): [True: 178, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1512|    178|        (void)H5CX_pop(true);                                                                                \
  |  | 1513|    178|        api_ctx_pushed = false;                                                                              \
  |  | 1514|    178|    }                                                                                                        \
  |  | 1515|    178|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|    178|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 0, False: 178]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1516|    178|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1517|    178|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1518|    178|    return (ret_value);                                                                                      \
  |  | 1519|    178|    }                                                                                                        \
  |  | 1520|    178|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  415|    356|} /* end H5Eclose_stack() */
H5Ewalk2:
  660|    178|{
  661|    178|    H5E_stack_t  *estack;              /* Error stack to operate on */
  662|    178|    H5E_walk_op_t op;                  /* Operator for walking error stack */
  663|    178|    herr_t        ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    178|#define SUCCEED 0
  ------------------
  664|       |
  665|       |    /* Don't clear the error stack! :-) */
  666|    356|    FUNC_ENTER_API_NOCLEAR(FAIL)
  ------------------
  |  | 1316|    178|    {                                                                                                        \
  |  | 1317|    178|        {                                                                                                    \
  |  | 1318|    178|            bool api_ctx_pushed = false;                                                                     \
  |  | 1319|    178|                                                                                                             \
  |  | 1320|    178|            FUNC_ENTER_API_COMMON                                                                            \
  |  |  ------------------
  |  |  |  | 1281|    178|    FUNC_ENTER_COMMON(H5_IS_API(__func__));                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1265|    178|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  | 1266|    178|                                                                                                             \
  |  |  |  |  |  | 1267|    178|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  ------------------
  |  |  |  | 1282|    178|    FUNC_ENTER_API_THREADSAFE;
  |  |  ------------------
  |  | 1321|    178|            FUNC_ENTER_API_INIT(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1286|    178|    if (H5_UNLIKELY(!H5_INIT_GLOBAL && !H5_TERM_GLOBAL)) {                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|    178|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 178]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 178]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1287|      0|        if (H5_UNLIKELY(H5_init_library() < 0))                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      0|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1288|      0|            HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, err, "library initialization failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1289|      0|    }
  |  |  ------------------
  |  | 1322|    178|            FUNC_ENTER_API_PUSH(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1293|    178|    if (H5_UNLIKELY(H5CX_push() < 0))                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|    178|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 178]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1294|    178|        HGOTO_ERROR(H5E_FUNC, H5E_CANTSET, err, "can't set API context");                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1295|    178|    else                                                                                                     \
  |  |  |  | 1296|    178|        api_ctx_pushed = true;
  |  |  ------------------
  |  | 1323|    178|            {
  ------------------
  667|       |
  668|       |    /* Need to check for errors */
  669|    356|    if (err_stack == H5E_DEFAULT) {
  ------------------
  |  |   25|    178|#define H5E_DEFAULT 0 /* (hid_t) */
  ------------------
  |  Branch (669:9): [True: 0, False: 178]
  ------------------
  670|      0|        if (NULL == (estack = H5E__get_my_stack()))
  ------------------
  |  |   55|      0|#define H5E__get_my_stack() (H5E_stack_g + 0)
  ------------------
  |  Branch (670:13): [True: 0, False: 0]
  ------------------
  671|      0|            HGOTO_ERROR(H5E_ERROR, H5E_CANTGET, FAIL, "can't get current error stack");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  672|      0|    } /* end if */
  673|    178|    else {
  674|       |        /* Only clear the error stack if it's not the default stack */
  675|    178|        H5E_clear_stack();
  676|       |
  677|    178|        if (NULL == (estack = (H5E_stack_t *)H5I_object_verify(err_stack, H5I_ERROR_STACK)))
  ------------------
  |  Branch (677:13): [True: 0, False: 178]
  ------------------
  678|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a error stack ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  679|    178|    } /* end else */
  680|       |
  681|       |    /* Walk the error stack */
  682|    178|    op.vers    = 2;
  683|    178|    op.u.func2 = stack_func;
  684|    178|    if ((ret_value = H5E__walk(estack, direction, &op, client_data)) < 0)
  ------------------
  |  Branch (684:9): [True: 0, False: 178]
  ------------------
  685|      0|        HERROR(H5E_ERROR, H5E_CANTLIST, "can't walk error stack");
  ------------------
  |  |   30|      0|    do {                                                                                                     \
  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |   32|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  686|       |
  687|    178|done:
  688|    178|    FUNC_LEAVE_API(ret_value)
  ------------------
  |  | 1509|    178|    ;                                                                                                        \
  |  | 1510|    178|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1511|    178|    if (H5_LIKELY(api_ctx_pushed)) {                                                                         \
  |  |  ------------------
  |  |  |  |  167|    178|#define H5_LIKELY(expression)   __builtin_expect(!!(expression), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (167:33): [True: 178, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1512|    178|        (void)H5CX_pop(true);                                                                                \
  |  | 1513|    178|        api_ctx_pushed = false;                                                                              \
  |  | 1514|    178|    }                                                                                                        \
  |  | 1515|    178|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|    178|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 0, False: 178]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1516|    178|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1517|    178|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1518|    178|    return (ret_value);                                                                                      \
  |  | 1519|    178|    }                                                                                                        \
  |  | 1520|    178|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  689|    178|} /* end H5Ewalk2() */
H5Eget_auto2:
  705|     17|{
  706|     17|    H5E_stack_t  *estack;              /* Error stack to operate on */
  707|     17|    H5E_auto_op_t op;                  /* Error stack function */
  708|     17|    herr_t        ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     17|#define SUCCEED 0
  ------------------
  709|       |
  710|       |    /* Don't clear the error stack! :-) */
  711|     34|    FUNC_ENTER_API_NOCLEAR(FAIL)
  ------------------
  |  | 1316|     17|    {                                                                                                        \
  |  | 1317|     17|        {                                                                                                    \
  |  | 1318|     17|            bool api_ctx_pushed = false;                                                                     \
  |  | 1319|     17|                                                                                                             \
  |  | 1320|     17|            FUNC_ENTER_API_COMMON                                                                            \
  |  |  ------------------
  |  |  |  | 1281|     17|    FUNC_ENTER_COMMON(H5_IS_API(__func__));                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1265|     17|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  | 1266|     17|                                                                                                             \
  |  |  |  |  |  | 1267|     17|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  ------------------
  |  |  |  | 1282|     17|    FUNC_ENTER_API_THREADSAFE;
  |  |  ------------------
  |  | 1321|     17|            FUNC_ENTER_API_INIT(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1286|     17|    if (H5_UNLIKELY(!H5_INIT_GLOBAL && !H5_TERM_GLOBAL)) {                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     17|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 17]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 17]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1287|      0|        if (H5_UNLIKELY(H5_init_library() < 0))                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      0|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1288|      0|            HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, err, "library initialization failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1289|      0|    }
  |  |  ------------------
  |  | 1322|     17|            FUNC_ENTER_API_PUSH(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1293|     17|    if (H5_UNLIKELY(H5CX_push() < 0))                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     17|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 17]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1294|     17|        HGOTO_ERROR(H5E_FUNC, H5E_CANTSET, err, "can't set API context");                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1295|     17|    else                                                                                                     \
  |  |  |  | 1296|     17|        api_ctx_pushed = true;
  |  |  ------------------
  |  | 1323|     17|            {
  ------------------
  712|       |
  713|     34|    if (estack_id == H5E_DEFAULT) {
  ------------------
  |  |   25|     17|#define H5E_DEFAULT 0 /* (hid_t) */
  ------------------
  |  Branch (713:9): [True: 17, False: 0]
  ------------------
  714|     17|        if (NULL == (estack = H5E__get_my_stack()))
  ------------------
  |  |   55|     17|#define H5E__get_my_stack() (H5E_stack_g + 0)
  ------------------
  |  Branch (714:13): [True: 0, False: 17]
  ------------------
  715|      0|            HGOTO_ERROR(H5E_ERROR, H5E_CANTGET, FAIL, "can't get current error stack");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  716|     17|    } /* end if */
  717|      0|    else {
  718|       |        /* Only clear the error stack if it's not the default stack */
  719|      0|        H5E_clear_stack();
  720|       |
  721|      0|        if (NULL == (estack = (H5E_stack_t *)H5I_object_verify(estack_id, H5I_ERROR_STACK)))
  ------------------
  |  Branch (721:13): [True: 0, False: 0]
  ------------------
  722|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a error stack ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  723|      0|    } /* end else */
  724|       |
  725|       |    /* Get the automatic error reporting information */
  726|     17|    if (H5E__get_auto(estack, &op, client_data) < 0)
  ------------------
  |  Branch (726:9): [True: 0, False: 17]
  ------------------
  727|      0|        HGOTO_ERROR(H5E_ERROR, H5E_CANTGET, FAIL, "can't get automatic error info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  728|       |
  729|       |#ifndef H5_NO_DEPRECATED_SYMBOLS
  730|       |    /* Fail if the printing function isn't the default(user-set) and set through H5Eset_auto1 */
  731|       |    if (!op.is_default && op.vers == 1)
  732|       |        HGOTO_ERROR(H5E_ERROR, H5E_CANTGET, FAIL, "wrong API function, H5Eset_auto1 has been called");
  733|       |#endif /* H5_NO_DEPRECATED_SYMBOLS */
  734|       |
  735|     17|    if (func)
  ------------------
  |  Branch (735:9): [True: 17, False: 0]
  ------------------
  736|     17|        *func = op.func2;
  737|       |
  738|     17|done:
  739|     17|    FUNC_LEAVE_API(ret_value)
  ------------------
  |  | 1509|     17|    ;                                                                                                        \
  |  | 1510|     17|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1511|     17|    if (H5_LIKELY(api_ctx_pushed)) {                                                                         \
  |  |  ------------------
  |  |  |  |  167|     17|#define H5_LIKELY(expression)   __builtin_expect(!!(expression), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (167:33): [True: 17, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1512|     17|        (void)H5CX_pop(true);                                                                                \
  |  | 1513|     17|        api_ctx_pushed = false;                                                                              \
  |  | 1514|     17|    }                                                                                                        \
  |  | 1515|     17|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|     17|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 0, False: 17]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1516|     17|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1517|     17|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1518|     17|    return (ret_value);                                                                                      \
  |  | 1519|     17|    }                                                                                                        \
  |  | 1520|     17|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  740|     17|} /* end H5Eget_auto2() */
H5Eset_auto2:
  763|    102|{
  764|    102|    H5E_stack_t  *estack;              /* Error stack to operate on */
  765|    102|    H5E_auto_op_t op;                  /* Error stack operator */
  766|    102|    herr_t        ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    102|#define SUCCEED 0
  ------------------
  767|       |
  768|       |    /* Don't clear the error stack! :-) */
  769|    204|    FUNC_ENTER_API_NOCLEAR(FAIL)
  ------------------
  |  | 1316|    102|    {                                                                                                        \
  |  | 1317|    102|        {                                                                                                    \
  |  | 1318|    102|            bool api_ctx_pushed = false;                                                                     \
  |  | 1319|    102|                                                                                                             \
  |  | 1320|    102|            FUNC_ENTER_API_COMMON                                                                            \
  |  |  ------------------
  |  |  |  | 1281|    102|    FUNC_ENTER_COMMON(H5_IS_API(__func__));                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1265|    102|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  | 1266|    102|                                                                                                             \
  |  |  |  |  |  | 1267|    102|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  ------------------
  |  |  |  | 1282|    102|    FUNC_ENTER_API_THREADSAFE;
  |  |  ------------------
  |  | 1321|    102|            FUNC_ENTER_API_INIT(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1286|    102|    if (H5_UNLIKELY(!H5_INIT_GLOBAL && !H5_TERM_GLOBAL)) {                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|    103|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 1, False: 101]
  |  |  |  |  |  |  |  Branch (168:53): [True: 1, False: 101]
  |  |  |  |  |  |  |  Branch (168:53): [True: 1, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1287|      1|        if (H5_UNLIKELY(H5_init_library() < 0))                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      1|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 1]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1288|      1|            HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, err, "library initialization failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1289|      1|    }
  |  |  ------------------
  |  | 1322|    102|            FUNC_ENTER_API_PUSH(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1293|    102|    if (H5_UNLIKELY(H5CX_push() < 0))                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|    102|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 102]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1294|    102|        HGOTO_ERROR(H5E_FUNC, H5E_CANTSET, err, "can't set API context");                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1295|    102|    else                                                                                                     \
  |  |  |  | 1296|    102|        api_ctx_pushed = true;
  |  |  ------------------
  |  | 1323|    102|            {
  ------------------
  770|       |
  771|    204|    if (estack_id == H5E_DEFAULT) {
  ------------------
  |  |   25|    102|#define H5E_DEFAULT 0 /* (hid_t) */
  ------------------
  |  Branch (771:9): [True: 102, False: 0]
  ------------------
  772|    102|        if (NULL == (estack = H5E__get_my_stack()))
  ------------------
  |  |   55|    102|#define H5E__get_my_stack() (H5E_stack_g + 0)
  ------------------
  |  Branch (772:13): [True: 0, False: 102]
  ------------------
  773|      0|            HGOTO_ERROR(H5E_ERROR, H5E_CANTGET, FAIL, "can't get current error stack");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  774|    102|    } /* end if */
  775|      0|    else {
  776|       |        /* Only clear the error stack if it's not the default stack */
  777|      0|        H5E_clear_stack();
  778|       |
  779|      0|        if (NULL == (estack = (H5E_stack_t *)H5I_object_verify(estack_id, H5I_ERROR_STACK)))
  ------------------
  |  Branch (779:13): [True: 0, False: 0]
  ------------------
  780|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a error stack ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  781|      0|    } /* end else */
  782|       |
  783|       |#ifndef H5_NO_DEPRECATED_SYMBOLS
  784|       |    /* Get the automatic error reporting information */
  785|       |    if (H5E__get_auto(estack, &op, NULL) < 0)
  786|       |        HGOTO_ERROR(H5E_ERROR, H5E_CANTGET, FAIL, "can't get automatic error info");
  787|       |
  788|       |    /* Set the automatic error reporting information */
  789|       |    if (func != op.func2_default)
  790|       |        op.is_default = false;
  791|       |    else
  792|       |        op.is_default = true;
  793|       |
  794|       |    op.vers = 2;
  795|       |#endif /* H5_NO_DEPRECATED_SYMBOLS */
  796|       |
  797|       |    /* Set the automatic error reporting function */
  798|    102|    op.func2 = func;
  799|       |
  800|    102|    if (H5E__set_auto(estack, &op, client_data) < 0)
  ------------------
  |  Branch (800:9): [True: 0, False: 102]
  ------------------
  801|      0|        HGOTO_ERROR(H5E_ERROR, H5E_CANTSET, FAIL, "can't set automatic error info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  802|       |
  803|    102|done:
  804|    102|    FUNC_LEAVE_API(ret_value)
  ------------------
  |  | 1509|    102|    ;                                                                                                        \
  |  | 1510|    102|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1511|    102|    if (H5_LIKELY(api_ctx_pushed)) {                                                                         \
  |  |  ------------------
  |  |  |  |  167|    102|#define H5_LIKELY(expression)   __builtin_expect(!!(expression), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (167:33): [True: 102, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1512|    102|        (void)H5CX_pop(true);                                                                                \
  |  | 1513|    102|        api_ctx_pushed = false;                                                                              \
  |  | 1514|    102|    }                                                                                                        \
  |  | 1515|    102|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|    102|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 0, False: 102]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1516|    102|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1517|    102|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1518|    102|    return (ret_value);                                                                                      \
  |  | 1519|    102|    }                                                                                                        \
  |  | 1520|    102|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  805|    102|} /* end H5Eset_auto2() */

H5ES_init:
  135|      1|{
  136|      1|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  137|       |
  138|      1|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      1|    {                                                                                                        \
  |  | 1392|      1|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      1|        {
  ------------------
  139|       |
  140|       |    /* Initialize the ID group for the event set IDs */
  141|      1|    if (H5I_register_type(H5I_EVENTSET_CLS) < 0)
  ------------------
  |  Branch (141:9): [True: 0, False: 1]
  ------------------
  142|      0|        HGOTO_ERROR(H5E_EVENTSET, H5E_CANTINIT, FAIL, "unable to initialize interface");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  143|       |
  144|      1|done:
  145|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  146|      1|}
H5ES_term_package:
  161|      1|{
  162|      1|    int n = 0;
  163|       |
  164|      1|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      1|    {                                                                                                        \
  |  | 1425|      1|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      1|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      1|        {
  ------------------
  165|       |
  166|       |    /* Destroy the event set ID group */
  167|      1|    n += (H5I_dec_type_ref(H5I_EVENTSET) > 0);
  168|       |
  169|      1|    FUNC_LEAVE_NOAPI(n)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  170|      1|} /* end H5ES_term_package() */

H5E_init:
  173|      1|{
  174|      1|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  175|       |
  176|      1|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      1|    {                                                                                                        \
  |  | 1392|      1|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      1|        {
  ------------------
  177|       |
  178|       |    /* Initialize the ID group for the error class IDs */
  179|      1|    if (H5I_register_type(H5I_ERRCLS_CLS) < 0)
  ------------------
  |  Branch (179:9): [True: 0, False: 1]
  ------------------
  180|      0|        HGOTO_ERROR(H5E_ID, H5E_CANTINIT, FAIL, "unable to initialize ID group");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  181|       |
  182|       |    /* Initialize the ID group for the major error IDs */
  183|      1|    if (H5I_register_type(H5I_ERRMSG_CLS) < 0)
  ------------------
  |  Branch (183:9): [True: 0, False: 1]
  ------------------
  184|      0|        HGOTO_ERROR(H5E_ID, H5E_CANTINIT, FAIL, "unable to initialize ID group");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  185|       |
  186|       |    /* Initialize the ID group for the error stacks */
  187|      1|    if (H5I_register_type(H5I_ERRSTK_CLS) < 0)
  ------------------
  |  Branch (187:9): [True: 0, False: 1]
  ------------------
  188|      0|        HGOTO_ERROR(H5E_ID, H5E_CANTINIT, FAIL, "unable to initialize ID group");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  189|       |
  190|      1|#ifndef H5_HAVE_THREADSAFE
  191|      1|    H5E_stack_g[0].nused = 0;
  192|      1|    H5E__set_default_auto(H5E_stack_g);
  193|      1|#endif /* H5_HAVE_THREADSAFE */
  194|       |
  195|       |    /* Register the HDF5 error class */
  196|      1|    if ((H5E_ERR_CLS_g = H5I_register(H5I_ERROR_CLASS, &H5E_err_cls_s, false)) < 0)
  ------------------
  |  Branch (196:9): [True: 0, False: 1]
  ------------------
  197|      0|        HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  198|       |
  199|       |/* Include the automatically generated error code initialization */
  200|    180|#include "H5Einit.h"
  ------------------
  |  |    1|       |/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  |  |    2|       | * Copyright by The HDF Group.                                               *
  |  |    3|       | * All rights reserved.                                                      *
  |  |    4|       | *                                                                           *
  |  |    5|       | * This file is part of HDF5.  The full HDF5 copyright notice, including     *
  |  |    6|       | * terms governing use, modification, and redistribution, is contained in    *
  |  |    7|       | * the COPYING file, which can be found at the root of the source code       *
  |  |    8|       | * distribution tree, or in https://www.hdfgroup.org/licenses.               *
  |  |    9|       | * If you do not have access to either file, you may request a copy from     *
  |  |   10|       | * help@hdfgroup.org.                                                        *
  |  |   11|       | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
  |  |   12|       |
  |  |   13|       |/* Generated automatically by bin/make_err -- do not edit */
  |  |   14|       |/* Add new errors to H5err.txt file */
  |  |   15|       |
  |  |   16|      1|#ifndef H5Einit_H
  |  |   17|      1|#define H5Einit_H
  |  |   18|       |
  |  |   19|       |/*********************/
  |  |   20|       |/* Major error codes */
  |  |   21|       |/*********************/
  |  |   22|       |
  |  |   23|       |/* H5E_ARGS */
  |  |   24|      1|assert(H5I_INVALID_HID == H5E_ARGS_g);
  |  |   25|      1|if((H5E_ARGS_g = H5I_register(H5I_ERROR_MSG, &H5E_ARGS_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (25:4): [True: 0, False: 1]
  |  |  ------------------
  |  |   26|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   27|       |
  |  |   28|       |/* Remember first major error code ID */
  |  |   29|      1|assert(H5E_first_maj_id_g==H5I_INVALID_HID);
  |  |   30|      1|H5E_first_maj_id_g = H5E_ARGS_g;
  |  |   31|       |
  |  |   32|       |/* H5E_ATTR */
  |  |   33|      1|assert(H5I_INVALID_HID == H5E_ATTR_g);
  |  |   34|      1|if((H5E_ATTR_g = H5I_register(H5I_ERROR_MSG, &H5E_ATTR_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (34:4): [True: 0, False: 1]
  |  |  ------------------
  |  |   35|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   36|       |/* H5E_BTREE */
  |  |   37|      1|assert(H5I_INVALID_HID == H5E_BTREE_g);
  |  |   38|      1|if((H5E_BTREE_g = H5I_register(H5I_ERROR_MSG, &H5E_BTREE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (38:4): [True: 0, False: 1]
  |  |  ------------------
  |  |   39|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   40|       |/* H5E_CACHE */
  |  |   41|      1|assert(H5I_INVALID_HID == H5E_CACHE_g);
  |  |   42|      1|if((H5E_CACHE_g = H5I_register(H5I_ERROR_MSG, &H5E_CACHE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (42:4): [True: 0, False: 1]
  |  |  ------------------
  |  |   43|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   44|       |/* H5E_CONTEXT */
  |  |   45|      1|assert(H5I_INVALID_HID == H5E_CONTEXT_g);
  |  |   46|      1|if((H5E_CONTEXT_g = H5I_register(H5I_ERROR_MSG, &H5E_CONTEXT_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (46:4): [True: 0, False: 1]
  |  |  ------------------
  |  |   47|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   48|       |/* H5E_DATASET */
  |  |   49|      1|assert(H5I_INVALID_HID == H5E_DATASET_g);
  |  |   50|      1|if((H5E_DATASET_g = H5I_register(H5I_ERROR_MSG, &H5E_DATASET_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (50:4): [True: 0, False: 1]
  |  |  ------------------
  |  |   51|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   52|       |/* H5E_DATASPACE */
  |  |   53|      1|assert(H5I_INVALID_HID == H5E_DATASPACE_g);
  |  |   54|      1|if((H5E_DATASPACE_g = H5I_register(H5I_ERROR_MSG, &H5E_DATASPACE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (54:4): [True: 0, False: 1]
  |  |  ------------------
  |  |   55|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   56|       |/* H5E_DATATYPE */
  |  |   57|      1|assert(H5I_INVALID_HID == H5E_DATATYPE_g);
  |  |   58|      1|if((H5E_DATATYPE_g = H5I_register(H5I_ERROR_MSG, &H5E_DATATYPE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (58:4): [True: 0, False: 1]
  |  |  ------------------
  |  |   59|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   60|       |/* H5E_EARRAY */
  |  |   61|      1|assert(H5I_INVALID_HID == H5E_EARRAY_g);
  |  |   62|      1|if((H5E_EARRAY_g = H5I_register(H5I_ERROR_MSG, &H5E_EARRAY_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (62:4): [True: 0, False: 1]
  |  |  ------------------
  |  |   63|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   64|       |/* H5E_EFL */
  |  |   65|      1|assert(H5I_INVALID_HID == H5E_EFL_g);
  |  |   66|      1|if((H5E_EFL_g = H5I_register(H5I_ERROR_MSG, &H5E_EFL_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (66:4): [True: 0, False: 1]
  |  |  ------------------
  |  |   67|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   68|       |/* H5E_ERROR */
  |  |   69|      1|assert(H5I_INVALID_HID == H5E_ERROR_g);
  |  |   70|      1|if((H5E_ERROR_g = H5I_register(H5I_ERROR_MSG, &H5E_ERROR_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (70:4): [True: 0, False: 1]
  |  |  ------------------
  |  |   71|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   72|       |/* H5E_EVENTSET */
  |  |   73|      1|assert(H5I_INVALID_HID == H5E_EVENTSET_g);
  |  |   74|      1|if((H5E_EVENTSET_g = H5I_register(H5I_ERROR_MSG, &H5E_EVENTSET_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (74:4): [True: 0, False: 1]
  |  |  ------------------
  |  |   75|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   76|       |/* H5E_FARRAY */
  |  |   77|      1|assert(H5I_INVALID_HID == H5E_FARRAY_g);
  |  |   78|      1|if((H5E_FARRAY_g = H5I_register(H5I_ERROR_MSG, &H5E_FARRAY_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (78:4): [True: 0, False: 1]
  |  |  ------------------
  |  |   79|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   80|       |/* H5E_FILE */
  |  |   81|      1|assert(H5I_INVALID_HID == H5E_FILE_g);
  |  |   82|      1|if((H5E_FILE_g = H5I_register(H5I_ERROR_MSG, &H5E_FILE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (82:4): [True: 0, False: 1]
  |  |  ------------------
  |  |   83|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   84|       |/* H5E_FSPACE */
  |  |   85|      1|assert(H5I_INVALID_HID == H5E_FSPACE_g);
  |  |   86|      1|if((H5E_FSPACE_g = H5I_register(H5I_ERROR_MSG, &H5E_FSPACE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (86:4): [True: 0, False: 1]
  |  |  ------------------
  |  |   87|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   88|       |/* H5E_FUNC */
  |  |   89|      1|assert(H5I_INVALID_HID == H5E_FUNC_g);
  |  |   90|      1|if((H5E_FUNC_g = H5I_register(H5I_ERROR_MSG, &H5E_FUNC_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (90:4): [True: 0, False: 1]
  |  |  ------------------
  |  |   91|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   92|       |/* H5E_HEAP */
  |  |   93|      1|assert(H5I_INVALID_HID == H5E_HEAP_g);
  |  |   94|      1|if((H5E_HEAP_g = H5I_register(H5I_ERROR_MSG, &H5E_HEAP_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (94:4): [True: 0, False: 1]
  |  |  ------------------
  |  |   95|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   96|       |/* H5E_ID */
  |  |   97|      1|assert(H5I_INVALID_HID == H5E_ID_g);
  |  |   98|      1|if((H5E_ID_g = H5I_register(H5I_ERROR_MSG, &H5E_ID_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (98:4): [True: 0, False: 1]
  |  |  ------------------
  |  |   99|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  100|       |/* H5E_INTERNAL */
  |  |  101|      1|assert(H5I_INVALID_HID == H5E_INTERNAL_g);
  |  |  102|      1|if((H5E_INTERNAL_g = H5I_register(H5I_ERROR_MSG, &H5E_INTERNAL_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (102:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  103|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  104|       |/* H5E_IO */
  |  |  105|      1|assert(H5I_INVALID_HID == H5E_IO_g);
  |  |  106|      1|if((H5E_IO_g = H5I_register(H5I_ERROR_MSG, &H5E_IO_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (106:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  107|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  108|       |/* H5E_LIB */
  |  |  109|      1|assert(H5I_INVALID_HID == H5E_LIB_g);
  |  |  110|      1|if((H5E_LIB_g = H5I_register(H5I_ERROR_MSG, &H5E_LIB_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (110:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  111|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  112|       |/* H5E_LINK */
  |  |  113|      1|assert(H5I_INVALID_HID == H5E_LINK_g);
  |  |  114|      1|if((H5E_LINK_g = H5I_register(H5I_ERROR_MSG, &H5E_LINK_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (114:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  115|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  116|       |/* H5E_MAP */
  |  |  117|      1|assert(H5I_INVALID_HID == H5E_MAP_g);
  |  |  118|      1|if((H5E_MAP_g = H5I_register(H5I_ERROR_MSG, &H5E_MAP_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (118:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  119|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  120|       |/* H5E_NONE_MAJOR */
  |  |  121|      1|assert(H5I_INVALID_HID == H5E_NONE_MAJOR_g);
  |  |  122|      1|if((H5E_NONE_MAJOR_g = H5I_register(H5I_ERROR_MSG, &H5E_NONE_MAJOR_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (122:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  123|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  124|       |/* H5E_OHDR */
  |  |  125|      1|assert(H5I_INVALID_HID == H5E_OHDR_g);
  |  |  126|      1|if((H5E_OHDR_g = H5I_register(H5I_ERROR_MSG, &H5E_OHDR_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (126:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  127|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  128|       |/* H5E_PAGEBUF */
  |  |  129|      1|assert(H5I_INVALID_HID == H5E_PAGEBUF_g);
  |  |  130|      1|if((H5E_PAGEBUF_g = H5I_register(H5I_ERROR_MSG, &H5E_PAGEBUF_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (130:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  131|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  132|       |/* H5E_PLINE */
  |  |  133|      1|assert(H5I_INVALID_HID == H5E_PLINE_g);
  |  |  134|      1|if((H5E_PLINE_g = H5I_register(H5I_ERROR_MSG, &H5E_PLINE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (134:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  135|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  136|       |/* H5E_PLIST */
  |  |  137|      1|assert(H5I_INVALID_HID == H5E_PLIST_g);
  |  |  138|      1|if((H5E_PLIST_g = H5I_register(H5I_ERROR_MSG, &H5E_PLIST_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (138:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  139|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  140|       |/* H5E_PLUGIN */
  |  |  141|      1|assert(H5I_INVALID_HID == H5E_PLUGIN_g);
  |  |  142|      1|if((H5E_PLUGIN_g = H5I_register(H5I_ERROR_MSG, &H5E_PLUGIN_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (142:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  143|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  144|       |/* H5E_REFERENCE */
  |  |  145|      1|assert(H5I_INVALID_HID == H5E_REFERENCE_g);
  |  |  146|      1|if((H5E_REFERENCE_g = H5I_register(H5I_ERROR_MSG, &H5E_REFERENCE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (146:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  147|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  148|       |/* H5E_RESOURCE */
  |  |  149|      1|assert(H5I_INVALID_HID == H5E_RESOURCE_g);
  |  |  150|      1|if((H5E_RESOURCE_g = H5I_register(H5I_ERROR_MSG, &H5E_RESOURCE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (150:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  151|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  152|       |/* H5E_RS */
  |  |  153|      1|assert(H5I_INVALID_HID == H5E_RS_g);
  |  |  154|      1|if((H5E_RS_g = H5I_register(H5I_ERROR_MSG, &H5E_RS_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (154:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  155|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  156|       |/* H5E_SLIST */
  |  |  157|      1|assert(H5I_INVALID_HID == H5E_SLIST_g);
  |  |  158|      1|if((H5E_SLIST_g = H5I_register(H5I_ERROR_MSG, &H5E_SLIST_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (158:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  159|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  160|       |/* H5E_SOHM */
  |  |  161|      1|assert(H5I_INVALID_HID == H5E_SOHM_g);
  |  |  162|      1|if((H5E_SOHM_g = H5I_register(H5I_ERROR_MSG, &H5E_SOHM_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (162:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  163|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  164|       |/* H5E_STORAGE */
  |  |  165|      1|assert(H5I_INVALID_HID == H5E_STORAGE_g);
  |  |  166|      1|if((H5E_STORAGE_g = H5I_register(H5I_ERROR_MSG, &H5E_STORAGE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (166:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  167|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  168|       |/* H5E_SYM */
  |  |  169|      1|assert(H5I_INVALID_HID == H5E_SYM_g);
  |  |  170|      1|if((H5E_SYM_g = H5I_register(H5I_ERROR_MSG, &H5E_SYM_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (170:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  171|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  172|       |/* H5E_TST */
  |  |  173|      1|assert(H5I_INVALID_HID == H5E_TST_g);
  |  |  174|      1|if((H5E_TST_g = H5I_register(H5I_ERROR_MSG, &H5E_TST_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (174:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  175|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  176|       |/* H5E_VFL */
  |  |  177|      1|assert(H5I_INVALID_HID == H5E_VFL_g);
  |  |  178|      1|if((H5E_VFL_g = H5I_register(H5I_ERROR_MSG, &H5E_VFL_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (178:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  179|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  180|       |/* H5E_VOL */
  |  |  181|      1|assert(H5I_INVALID_HID == H5E_VOL_g);
  |  |  182|      1|if((H5E_VOL_g = H5I_register(H5I_ERROR_MSG, &H5E_VOL_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (182:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  183|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  184|       |
  |  |  185|       |/* Remember last major error code ID */
  |  |  186|      1|assert(H5E_last_maj_id_g==H5I_INVALID_HID);
  |  |  187|      1|H5E_last_maj_id_g = H5E_VOL_g;
  |  |  188|       |
  |  |  189|       |
  |  |  190|       |/*********************/
  |  |  191|       |/* Minor error codes */
  |  |  192|       |/*********************/
  |  |  193|       |
  |  |  194|       |
  |  |  195|       |/* Argument errors */
  |  |  196|       |/* H5E_BADRANGE */
  |  |  197|      1|assert(H5I_INVALID_HID == H5E_BADRANGE_g);
  |  |  198|      1|if((H5E_BADRANGE_g = H5I_register(H5I_ERROR_MSG, &H5E_BADRANGE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (198:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  199|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  200|       |
  |  |  201|       |/* Remember first minor error code ID */
  |  |  202|      1|assert(H5E_first_min_id_g==H5I_INVALID_HID);
  |  |  203|      1|H5E_first_min_id_g = H5E_BADRANGE_g;
  |  |  204|       |
  |  |  205|       |/* H5E_BADTYPE */
  |  |  206|      1|assert(H5I_INVALID_HID == H5E_BADTYPE_g);
  |  |  207|      1|if((H5E_BADTYPE_g = H5I_register(H5I_ERROR_MSG, &H5E_BADTYPE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (207:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  208|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  209|       |/* H5E_BADVALUE */
  |  |  210|      1|assert(H5I_INVALID_HID == H5E_BADVALUE_g);
  |  |  211|      1|if((H5E_BADVALUE_g = H5I_register(H5I_ERROR_MSG, &H5E_BADVALUE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (211:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  212|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  213|       |/* H5E_UNINITIALIZED */
  |  |  214|      1|assert(H5I_INVALID_HID == H5E_UNINITIALIZED_g);
  |  |  215|      1|if((H5E_UNINITIALIZED_g = H5I_register(H5I_ERROR_MSG, &H5E_UNINITIALIZED_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (215:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  216|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  217|       |/* H5E_UNSUPPORTED */
  |  |  218|      1|assert(H5I_INVALID_HID == H5E_UNSUPPORTED_g);
  |  |  219|      1|if((H5E_UNSUPPORTED_g = H5I_register(H5I_ERROR_MSG, &H5E_UNSUPPORTED_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (219:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  220|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  221|       |
  |  |  222|       |/* Asynchronous operation errors */
  |  |  223|       |/* H5E_CANTCANCEL */
  |  |  224|      1|assert(H5I_INVALID_HID == H5E_CANTCANCEL_g);
  |  |  225|      1|if((H5E_CANTCANCEL_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTCANCEL_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (225:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  226|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  227|       |/* H5E_CANTWAIT */
  |  |  228|      1|assert(H5I_INVALID_HID == H5E_CANTWAIT_g);
  |  |  229|      1|if((H5E_CANTWAIT_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTWAIT_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (229:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  230|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  231|       |
  |  |  232|       |/* B-tree related errors */
  |  |  233|       |/* H5E_CANTDECODE */
  |  |  234|      1|assert(H5I_INVALID_HID == H5E_CANTDECODE_g);
  |  |  235|      1|if((H5E_CANTDECODE_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTDECODE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (235:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  236|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  237|       |/* H5E_CANTENCODE */
  |  |  238|      1|assert(H5I_INVALID_HID == H5E_CANTENCODE_g);
  |  |  239|      1|if((H5E_CANTENCODE_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTENCODE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (239:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  240|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  241|       |/* H5E_CANTFIND */
  |  |  242|      1|assert(H5I_INVALID_HID == H5E_CANTFIND_g);
  |  |  243|      1|if((H5E_CANTFIND_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTFIND_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (243:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  244|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  245|       |/* H5E_CANTINSERT */
  |  |  246|      1|assert(H5I_INVALID_HID == H5E_CANTINSERT_g);
  |  |  247|      1|if((H5E_CANTINSERT_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTINSERT_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (247:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  248|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  249|       |/* H5E_CANTLIST */
  |  |  250|      1|assert(H5I_INVALID_HID == H5E_CANTLIST_g);
  |  |  251|      1|if((H5E_CANTLIST_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTLIST_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (251:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  252|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  253|       |/* H5E_CANTMODIFY */
  |  |  254|      1|assert(H5I_INVALID_HID == H5E_CANTMODIFY_g);
  |  |  255|      1|if((H5E_CANTMODIFY_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTMODIFY_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (255:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  256|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  257|       |/* H5E_CANTREDISTRIBUTE */
  |  |  258|      1|assert(H5I_INVALID_HID == H5E_CANTREDISTRIBUTE_g);
  |  |  259|      1|if((H5E_CANTREDISTRIBUTE_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTREDISTRIBUTE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (259:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  260|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  261|       |/* H5E_CANTREMOVE */
  |  |  262|      1|assert(H5I_INVALID_HID == H5E_CANTREMOVE_g);
  |  |  263|      1|if((H5E_CANTREMOVE_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTREMOVE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (263:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  264|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  265|       |/* H5E_CANTSPLIT */
  |  |  266|      1|assert(H5I_INVALID_HID == H5E_CANTSPLIT_g);
  |  |  267|      1|if((H5E_CANTSPLIT_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTSPLIT_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (267:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  268|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  269|       |/* H5E_CANTSWAP */
  |  |  270|      1|assert(H5I_INVALID_HID == H5E_CANTSWAP_g);
  |  |  271|      1|if((H5E_CANTSWAP_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTSWAP_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (271:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  272|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  273|       |/* H5E_EXISTS */
  |  |  274|      1|assert(H5I_INVALID_HID == H5E_EXISTS_g);
  |  |  275|      1|if((H5E_EXISTS_g = H5I_register(H5I_ERROR_MSG, &H5E_EXISTS_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (275:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  276|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  277|       |/* H5E_NOTFOUND */
  |  |  278|      1|assert(H5I_INVALID_HID == H5E_NOTFOUND_g);
  |  |  279|      1|if((H5E_NOTFOUND_g = H5I_register(H5I_ERROR_MSG, &H5E_NOTFOUND_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (279:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  280|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  281|       |
  |  |  282|       |/* Cache related errors */
  |  |  283|       |/* H5E_CANTCLEAN */
  |  |  284|      1|assert(H5I_INVALID_HID == H5E_CANTCLEAN_g);
  |  |  285|      1|if((H5E_CANTCLEAN_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTCLEAN_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (285:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  286|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  287|       |/* H5E_CANTCORK */
  |  |  288|      1|assert(H5I_INVALID_HID == H5E_CANTCORK_g);
  |  |  289|      1|if((H5E_CANTCORK_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTCORK_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (289:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  290|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  291|       |/* H5E_CANTDEPEND */
  |  |  292|      1|assert(H5I_INVALID_HID == H5E_CANTDEPEND_g);
  |  |  293|      1|if((H5E_CANTDEPEND_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTDEPEND_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (293:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  294|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  295|       |/* H5E_CANTDIRTY */
  |  |  296|      1|assert(H5I_INVALID_HID == H5E_CANTDIRTY_g);
  |  |  297|      1|if((H5E_CANTDIRTY_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTDIRTY_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (297:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  298|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  299|       |/* H5E_CANTEXPUNGE */
  |  |  300|      1|assert(H5I_INVALID_HID == H5E_CANTEXPUNGE_g);
  |  |  301|      1|if((H5E_CANTEXPUNGE_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTEXPUNGE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (301:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  302|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  303|       |/* H5E_CANTFLUSH */
  |  |  304|      1|assert(H5I_INVALID_HID == H5E_CANTFLUSH_g);
  |  |  305|      1|if((H5E_CANTFLUSH_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTFLUSH_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (305:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  306|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  307|       |/* H5E_CANTINS */
  |  |  308|      1|assert(H5I_INVALID_HID == H5E_CANTINS_g);
  |  |  309|      1|if((H5E_CANTINS_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTINS_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (309:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  310|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  311|       |/* H5E_CANTLOAD */
  |  |  312|      1|assert(H5I_INVALID_HID == H5E_CANTLOAD_g);
  |  |  313|      1|if((H5E_CANTLOAD_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTLOAD_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (313:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  314|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  315|       |/* H5E_CANTMARKCLEAN */
  |  |  316|      1|assert(H5I_INVALID_HID == H5E_CANTMARKCLEAN_g);
  |  |  317|      1|if((H5E_CANTMARKCLEAN_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTMARKCLEAN_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (317:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  318|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  319|       |/* H5E_CANTMARKDIRTY */
  |  |  320|      1|assert(H5I_INVALID_HID == H5E_CANTMARKDIRTY_g);
  |  |  321|      1|if((H5E_CANTMARKDIRTY_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTMARKDIRTY_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (321:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  322|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  323|       |/* H5E_CANTMARKSERIALIZED */
  |  |  324|      1|assert(H5I_INVALID_HID == H5E_CANTMARKSERIALIZED_g);
  |  |  325|      1|if((H5E_CANTMARKSERIALIZED_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTMARKSERIALIZED_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (325:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  326|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  327|       |/* H5E_CANTMARKUNSERIALIZED */
  |  |  328|      1|assert(H5I_INVALID_HID == H5E_CANTMARKUNSERIALIZED_g);
  |  |  329|      1|if((H5E_CANTMARKUNSERIALIZED_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTMARKUNSERIALIZED_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (329:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  330|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  331|       |/* H5E_CANTNOTIFY */
  |  |  332|      1|assert(H5I_INVALID_HID == H5E_CANTNOTIFY_g);
  |  |  333|      1|if((H5E_CANTNOTIFY_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTNOTIFY_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (333:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  334|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  335|       |/* H5E_CANTPIN */
  |  |  336|      1|assert(H5I_INVALID_HID == H5E_CANTPIN_g);
  |  |  337|      1|if((H5E_CANTPIN_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTPIN_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (337:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  338|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  339|       |/* H5E_CANTPROTECT */
  |  |  340|      1|assert(H5I_INVALID_HID == H5E_CANTPROTECT_g);
  |  |  341|      1|if((H5E_CANTPROTECT_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTPROTECT_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (341:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  342|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  343|       |/* H5E_CANTRESIZE */
  |  |  344|      1|assert(H5I_INVALID_HID == H5E_CANTRESIZE_g);
  |  |  345|      1|if((H5E_CANTRESIZE_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTRESIZE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (345:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  346|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  347|       |/* H5E_CANTSERIALIZE */
  |  |  348|      1|assert(H5I_INVALID_HID == H5E_CANTSERIALIZE_g);
  |  |  349|      1|if((H5E_CANTSERIALIZE_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTSERIALIZE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (349:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  350|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  351|       |/* H5E_CANTTAG */
  |  |  352|      1|assert(H5I_INVALID_HID == H5E_CANTTAG_g);
  |  |  353|      1|if((H5E_CANTTAG_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTTAG_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (353:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  354|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  355|       |/* H5E_CANTUNCORK */
  |  |  356|      1|assert(H5I_INVALID_HID == H5E_CANTUNCORK_g);
  |  |  357|      1|if((H5E_CANTUNCORK_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTUNCORK_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (357:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  358|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  359|       |/* H5E_CANTUNDEPEND */
  |  |  360|      1|assert(H5I_INVALID_HID == H5E_CANTUNDEPEND_g);
  |  |  361|      1|if((H5E_CANTUNDEPEND_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTUNDEPEND_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (361:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  362|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  363|       |/* H5E_CANTUNPIN */
  |  |  364|      1|assert(H5I_INVALID_HID == H5E_CANTUNPIN_g);
  |  |  365|      1|if((H5E_CANTUNPIN_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTUNPIN_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (365:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  366|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  367|       |/* H5E_CANTUNPROTECT */
  |  |  368|      1|assert(H5I_INVALID_HID == H5E_CANTUNPROTECT_g);
  |  |  369|      1|if((H5E_CANTUNPROTECT_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTUNPROTECT_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (369:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  370|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  371|       |/* H5E_CANTUNSERIALIZE */
  |  |  372|      1|assert(H5I_INVALID_HID == H5E_CANTUNSERIALIZE_g);
  |  |  373|      1|if((H5E_CANTUNSERIALIZE_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTUNSERIALIZE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (373:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  374|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  375|       |/* H5E_LOGGING */
  |  |  376|      1|assert(H5I_INVALID_HID == H5E_LOGGING_g);
  |  |  377|      1|if((H5E_LOGGING_g = H5I_register(H5I_ERROR_MSG, &H5E_LOGGING_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (377:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  378|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  379|       |/* H5E_NOTCACHED */
  |  |  380|      1|assert(H5I_INVALID_HID == H5E_NOTCACHED_g);
  |  |  381|      1|if((H5E_NOTCACHED_g = H5I_register(H5I_ERROR_MSG, &H5E_NOTCACHED_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (381:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  382|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  383|       |/* H5E_PROTECT */
  |  |  384|      1|assert(H5I_INVALID_HID == H5E_PROTECT_g);
  |  |  385|      1|if((H5E_PROTECT_g = H5I_register(H5I_ERROR_MSG, &H5E_PROTECT_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (385:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  386|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  387|       |/* H5E_SYSTEM */
  |  |  388|      1|assert(H5I_INVALID_HID == H5E_SYSTEM_g);
  |  |  389|      1|if((H5E_SYSTEM_g = H5I_register(H5I_ERROR_MSG, &H5E_SYSTEM_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (389:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  390|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  391|       |
  |  |  392|       |/* Dataspace errors */
  |  |  393|       |/* H5E_BADSELECT */
  |  |  394|      1|assert(H5I_INVALID_HID == H5E_BADSELECT_g);
  |  |  395|      1|if((H5E_BADSELECT_g = H5I_register(H5I_ERROR_MSG, &H5E_BADSELECT_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (395:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  396|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  397|       |/* H5E_CANTAPPEND */
  |  |  398|      1|assert(H5I_INVALID_HID == H5E_CANTAPPEND_g);
  |  |  399|      1|if((H5E_CANTAPPEND_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTAPPEND_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (399:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  400|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  401|       |/* H5E_CANTCLIP */
  |  |  402|      1|assert(H5I_INVALID_HID == H5E_CANTCLIP_g);
  |  |  403|      1|if((H5E_CANTCLIP_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTCLIP_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (403:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  404|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  405|       |/* H5E_CANTCOMPARE */
  |  |  406|      1|assert(H5I_INVALID_HID == H5E_CANTCOMPARE_g);
  |  |  407|      1|if((H5E_CANTCOMPARE_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTCOMPARE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (407:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  408|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  409|       |/* H5E_CANTCOUNT */
  |  |  410|      1|assert(H5I_INVALID_HID == H5E_CANTCOUNT_g);
  |  |  411|      1|if((H5E_CANTCOUNT_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTCOUNT_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (411:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  412|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  413|       |/* H5E_CANTNEXT */
  |  |  414|      1|assert(H5I_INVALID_HID == H5E_CANTNEXT_g);
  |  |  415|      1|if((H5E_CANTNEXT_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTNEXT_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (415:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  416|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  417|       |/* H5E_CANTSELECT */
  |  |  418|      1|assert(H5I_INVALID_HID == H5E_CANTSELECT_g);
  |  |  419|      1|if((H5E_CANTSELECT_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTSELECT_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (419:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  420|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  421|       |/* H5E_INCONSISTENTSTATE */
  |  |  422|      1|assert(H5I_INVALID_HID == H5E_INCONSISTENTSTATE_g);
  |  |  423|      1|if((H5E_INCONSISTENTSTATE_g = H5I_register(H5I_ERROR_MSG, &H5E_INCONSISTENTSTATE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (423:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  424|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  425|       |
  |  |  426|       |/* Generic low-level file I/O errors */
  |  |  427|       |/* H5E_CLOSEERROR */
  |  |  428|      1|assert(H5I_INVALID_HID == H5E_CLOSEERROR_g);
  |  |  429|      1|if((H5E_CLOSEERROR_g = H5I_register(H5I_ERROR_MSG, &H5E_CLOSEERROR_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (429:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  430|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  431|       |/* H5E_FCNTL */
  |  |  432|      1|assert(H5I_INVALID_HID == H5E_FCNTL_g);
  |  |  433|      1|if((H5E_FCNTL_g = H5I_register(H5I_ERROR_MSG, &H5E_FCNTL_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (433:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  434|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  435|       |/* H5E_OVERFLOW */
  |  |  436|      1|assert(H5I_INVALID_HID == H5E_OVERFLOW_g);
  |  |  437|      1|if((H5E_OVERFLOW_g = H5I_register(H5I_ERROR_MSG, &H5E_OVERFLOW_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (437:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  438|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  439|       |/* H5E_READERROR */
  |  |  440|      1|assert(H5I_INVALID_HID == H5E_READERROR_g);
  |  |  441|      1|if((H5E_READERROR_g = H5I_register(H5I_ERROR_MSG, &H5E_READERROR_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (441:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  442|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  443|       |/* H5E_SEEKERROR */
  |  |  444|      1|assert(H5I_INVALID_HID == H5E_SEEKERROR_g);
  |  |  445|      1|if((H5E_SEEKERROR_g = H5I_register(H5I_ERROR_MSG, &H5E_SEEKERROR_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (445:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  446|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  447|       |/* H5E_WRITEERROR */
  |  |  448|      1|assert(H5I_INVALID_HID == H5E_WRITEERROR_g);
  |  |  449|      1|if((H5E_WRITEERROR_g = H5I_register(H5I_ERROR_MSG, &H5E_WRITEERROR_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (449:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  450|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  451|       |
  |  |  452|       |/* File accessibility errors */
  |  |  453|       |/* H5E_BADFILE */
  |  |  454|      1|assert(H5I_INVALID_HID == H5E_BADFILE_g);
  |  |  455|      1|if((H5E_BADFILE_g = H5I_register(H5I_ERROR_MSG, &H5E_BADFILE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (455:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  456|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  457|       |/* H5E_CANTCLOSEFILE */
  |  |  458|      1|assert(H5I_INVALID_HID == H5E_CANTCLOSEFILE_g);
  |  |  459|      1|if((H5E_CANTCLOSEFILE_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTCLOSEFILE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (459:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  460|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  461|       |/* H5E_CANTCREATE */
  |  |  462|      1|assert(H5I_INVALID_HID == H5E_CANTCREATE_g);
  |  |  463|      1|if((H5E_CANTCREATE_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTCREATE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (463:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  464|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  465|       |/* H5E_CANTDELETEFILE */
  |  |  466|      1|assert(H5I_INVALID_HID == H5E_CANTDELETEFILE_g);
  |  |  467|      1|if((H5E_CANTDELETEFILE_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTDELETEFILE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (467:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  468|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  469|       |/* H5E_CANTLOCKFILE */
  |  |  470|      1|assert(H5I_INVALID_HID == H5E_CANTLOCKFILE_g);
  |  |  471|      1|if((H5E_CANTLOCKFILE_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTLOCKFILE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (471:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  472|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  473|       |/* H5E_CANTOPENFILE */
  |  |  474|      1|assert(H5I_INVALID_HID == H5E_CANTOPENFILE_g);
  |  |  475|      1|if((H5E_CANTOPENFILE_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTOPENFILE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (475:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  476|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  477|       |/* H5E_CANTUNLOCKFILE */
  |  |  478|      1|assert(H5I_INVALID_HID == H5E_CANTUNLOCKFILE_g);
  |  |  479|      1|if((H5E_CANTUNLOCKFILE_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTUNLOCKFILE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (479:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  480|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  481|       |/* H5E_FILEEXISTS */
  |  |  482|      1|assert(H5I_INVALID_HID == H5E_FILEEXISTS_g);
  |  |  483|      1|if((H5E_FILEEXISTS_g = H5I_register(H5I_ERROR_MSG, &H5E_FILEEXISTS_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (483:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  484|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  485|       |/* H5E_FILEOPEN */
  |  |  486|      1|assert(H5I_INVALID_HID == H5E_FILEOPEN_g);
  |  |  487|      1|if((H5E_FILEOPEN_g = H5I_register(H5I_ERROR_MSG, &H5E_FILEOPEN_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (487:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  488|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  489|       |/* H5E_MOUNT */
  |  |  490|      1|assert(H5I_INVALID_HID == H5E_MOUNT_g);
  |  |  491|      1|if((H5E_MOUNT_g = H5I_register(H5I_ERROR_MSG, &H5E_MOUNT_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (491:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  492|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  493|       |/* H5E_NOTHDF5 */
  |  |  494|      1|assert(H5I_INVALID_HID == H5E_NOTHDF5_g);
  |  |  495|      1|if((H5E_NOTHDF5_g = H5I_register(H5I_ERROR_MSG, &H5E_NOTHDF5_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (495:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  496|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  497|       |/* H5E_TRUNCATED */
  |  |  498|      1|assert(H5I_INVALID_HID == H5E_TRUNCATED_g);
  |  |  499|      1|if((H5E_TRUNCATED_g = H5I_register(H5I_ERROR_MSG, &H5E_TRUNCATED_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (499:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  500|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  501|       |/* H5E_UNMOUNT */
  |  |  502|      1|assert(H5I_INVALID_HID == H5E_UNMOUNT_g);
  |  |  503|      1|if((H5E_UNMOUNT_g = H5I_register(H5I_ERROR_MSG, &H5E_UNMOUNT_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (503:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  504|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  505|       |
  |  |  506|       |/* Free space errors */
  |  |  507|       |/* H5E_CANTMERGE */
  |  |  508|      1|assert(H5I_INVALID_HID == H5E_CANTMERGE_g);
  |  |  509|      1|if((H5E_CANTMERGE_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTMERGE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (509:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  510|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  511|       |/* H5E_CANTREVIVE */
  |  |  512|      1|assert(H5I_INVALID_HID == H5E_CANTREVIVE_g);
  |  |  513|      1|if((H5E_CANTREVIVE_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTREVIVE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (513:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  514|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  515|       |/* H5E_CANTSHRINK */
  |  |  516|      1|assert(H5I_INVALID_HID == H5E_CANTSHRINK_g);
  |  |  517|      1|if((H5E_CANTSHRINK_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTSHRINK_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (517:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  518|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  519|       |
  |  |  520|       |/* Function entry/exit interface errors */
  |  |  521|       |/* H5E_ALREADYINIT */
  |  |  522|      1|assert(H5I_INVALID_HID == H5E_ALREADYINIT_g);
  |  |  523|      1|if((H5E_ALREADYINIT_g = H5I_register(H5I_ERROR_MSG, &H5E_ALREADYINIT_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (523:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  524|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  525|       |/* H5E_CANTINIT */
  |  |  526|      1|assert(H5I_INVALID_HID == H5E_CANTINIT_g);
  |  |  527|      1|if((H5E_CANTINIT_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTINIT_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (527:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  528|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  529|       |/* H5E_CANTRELEASE */
  |  |  530|      1|assert(H5I_INVALID_HID == H5E_CANTRELEASE_g);
  |  |  531|      1|if((H5E_CANTRELEASE_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTRELEASE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (531:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  532|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  533|       |
  |  |  534|       |/* Group related errors */
  |  |  535|       |/* H5E_CANTCLOSEOBJ */
  |  |  536|      1|assert(H5I_INVALID_HID == H5E_CANTCLOSEOBJ_g);
  |  |  537|      1|if((H5E_CANTCLOSEOBJ_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTCLOSEOBJ_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (537:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  538|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  539|       |/* H5E_CANTOPENOBJ */
  |  |  540|      1|assert(H5I_INVALID_HID == H5E_CANTOPENOBJ_g);
  |  |  541|      1|if((H5E_CANTOPENOBJ_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTOPENOBJ_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (541:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  542|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  543|       |/* H5E_COMPLEN */
  |  |  544|      1|assert(H5I_INVALID_HID == H5E_COMPLEN_g);
  |  |  545|      1|if((H5E_COMPLEN_g = H5I_register(H5I_ERROR_MSG, &H5E_COMPLEN_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (545:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  546|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  547|       |/* H5E_PATH */
  |  |  548|      1|assert(H5I_INVALID_HID == H5E_PATH_g);
  |  |  549|      1|if((H5E_PATH_g = H5I_register(H5I_ERROR_MSG, &H5E_PATH_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (549:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  550|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  551|       |
  |  |  552|       |/* Heap errors */
  |  |  553|       |/* H5E_CANTATTACH */
  |  |  554|      1|assert(H5I_INVALID_HID == H5E_CANTATTACH_g);
  |  |  555|      1|if((H5E_CANTATTACH_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTATTACH_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (555:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  556|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  557|       |/* H5E_CANTCOMPUTE */
  |  |  558|      1|assert(H5I_INVALID_HID == H5E_CANTCOMPUTE_g);
  |  |  559|      1|if((H5E_CANTCOMPUTE_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTCOMPUTE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (559:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  560|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  561|       |/* H5E_CANTEXTEND */
  |  |  562|      1|assert(H5I_INVALID_HID == H5E_CANTEXTEND_g);
  |  |  563|      1|if((H5E_CANTEXTEND_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTEXTEND_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (563:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  564|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  565|       |/* H5E_CANTOPERATE */
  |  |  566|      1|assert(H5I_INVALID_HID == H5E_CANTOPERATE_g);
  |  |  567|      1|if((H5E_CANTOPERATE_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTOPERATE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (567:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  568|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  569|       |/* H5E_CANTRESTORE */
  |  |  570|      1|assert(H5I_INVALID_HID == H5E_CANTRESTORE_g);
  |  |  571|      1|if((H5E_CANTRESTORE_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTRESTORE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (571:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  572|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  573|       |/* H5E_CANTUPDATE */
  |  |  574|      1|assert(H5I_INVALID_HID == H5E_CANTUPDATE_g);
  |  |  575|      1|if((H5E_CANTUPDATE_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTUPDATE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (575:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  576|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  577|       |
  |  |  578|       |/* Object ID related errors */
  |  |  579|       |/* H5E_BADGROUP */
  |  |  580|      1|assert(H5I_INVALID_HID == H5E_BADGROUP_g);
  |  |  581|      1|if((H5E_BADGROUP_g = H5I_register(H5I_ERROR_MSG, &H5E_BADGROUP_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (581:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  582|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  583|       |/* H5E_BADID */
  |  |  584|      1|assert(H5I_INVALID_HID == H5E_BADID_g);
  |  |  585|      1|if((H5E_BADID_g = H5I_register(H5I_ERROR_MSG, &H5E_BADID_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (585:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  586|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  587|       |/* H5E_CANTDEC */
  |  |  588|      1|assert(H5I_INVALID_HID == H5E_CANTDEC_g);
  |  |  589|      1|if((H5E_CANTDEC_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTDEC_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (589:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  590|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  591|       |/* H5E_CANTINC */
  |  |  592|      1|assert(H5I_INVALID_HID == H5E_CANTINC_g);
  |  |  593|      1|if((H5E_CANTINC_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTINC_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (593:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  594|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  595|       |/* H5E_CANTREGISTER */
  |  |  596|      1|assert(H5I_INVALID_HID == H5E_CANTREGISTER_g);
  |  |  597|      1|if((H5E_CANTREGISTER_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTREGISTER_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (597:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  598|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  599|       |/* H5E_NOIDS */
  |  |  600|      1|assert(H5I_INVALID_HID == H5E_NOIDS_g);
  |  |  601|      1|if((H5E_NOIDS_g = H5I_register(H5I_ERROR_MSG, &H5E_NOIDS_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (601:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  602|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  603|       |
  |  |  604|       |/* Link related errors */
  |  |  605|       |/* H5E_CANTMOVE */
  |  |  606|      1|assert(H5I_INVALID_HID == H5E_CANTMOVE_g);
  |  |  607|      1|if((H5E_CANTMOVE_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTMOVE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (607:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  608|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  609|       |/* H5E_CANTSORT */
  |  |  610|      1|assert(H5I_INVALID_HID == H5E_CANTSORT_g);
  |  |  611|      1|if((H5E_CANTSORT_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTSORT_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (611:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  612|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  613|       |/* H5E_NLINKS */
  |  |  614|      1|assert(H5I_INVALID_HID == H5E_NLINKS_g);
  |  |  615|      1|if((H5E_NLINKS_g = H5I_register(H5I_ERROR_MSG, &H5E_NLINKS_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (615:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  616|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  617|       |/* H5E_NOTREGISTERED */
  |  |  618|      1|assert(H5I_INVALID_HID == H5E_NOTREGISTERED_g);
  |  |  619|      1|if((H5E_NOTREGISTERED_g = H5I_register(H5I_ERROR_MSG, &H5E_NOTREGISTERED_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (619:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  620|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  621|       |/* H5E_TRAVERSE */
  |  |  622|      1|assert(H5I_INVALID_HID == H5E_TRAVERSE_g);
  |  |  623|      1|if((H5E_TRAVERSE_g = H5I_register(H5I_ERROR_MSG, &H5E_TRAVERSE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (623:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  624|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  625|       |
  |  |  626|       |/* Map related errors */
  |  |  627|       |/* H5E_CANTPUT */
  |  |  628|      1|assert(H5I_INVALID_HID == H5E_CANTPUT_g);
  |  |  629|      1|if((H5E_CANTPUT_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTPUT_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (629:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  630|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  631|       |
  |  |  632|       |/* Parallel MPI errors */
  |  |  633|       |/* H5E_CANTGATHER */
  |  |  634|      1|assert(H5I_INVALID_HID == H5E_CANTGATHER_g);
  |  |  635|      1|if((H5E_CANTGATHER_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTGATHER_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (635:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  636|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  637|       |/* H5E_CANTRECV */
  |  |  638|      1|assert(H5I_INVALID_HID == H5E_CANTRECV_g);
  |  |  639|      1|if((H5E_CANTRECV_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTRECV_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (639:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  640|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  641|       |/* H5E_MPI */
  |  |  642|      1|assert(H5I_INVALID_HID == H5E_MPI_g);
  |  |  643|      1|if((H5E_MPI_g = H5I_register(H5I_ERROR_MSG, &H5E_MPI_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (643:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  644|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  645|       |/* H5E_MPIERRSTR */
  |  |  646|      1|assert(H5I_INVALID_HID == H5E_MPIERRSTR_g);
  |  |  647|      1|if((H5E_MPIERRSTR_g = H5I_register(H5I_ERROR_MSG, &H5E_MPIERRSTR_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (647:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  648|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  649|       |/* H5E_NO_INDEPENDENT */
  |  |  650|      1|assert(H5I_INVALID_HID == H5E_NO_INDEPENDENT_g);
  |  |  651|      1|if((H5E_NO_INDEPENDENT_g = H5I_register(H5I_ERROR_MSG, &H5E_NO_INDEPENDENT_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (651:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  652|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  653|       |
  |  |  654|       |/* No error */
  |  |  655|       |/* H5E_NONE_MINOR */
  |  |  656|      1|assert(H5I_INVALID_HID == H5E_NONE_MINOR_g);
  |  |  657|      1|if((H5E_NONE_MINOR_g = H5I_register(H5I_ERROR_MSG, &H5E_NONE_MINOR_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (657:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  658|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  659|       |
  |  |  660|       |/* Object header related errors */
  |  |  661|       |/* H5E_ALIGNMENT */
  |  |  662|      1|assert(H5I_INVALID_HID == H5E_ALIGNMENT_g);
  |  |  663|      1|if((H5E_ALIGNMENT_g = H5I_register(H5I_ERROR_MSG, &H5E_ALIGNMENT_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (663:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  664|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  665|       |/* H5E_BADITER */
  |  |  666|      1|assert(H5I_INVALID_HID == H5E_BADITER_g);
  |  |  667|      1|if((H5E_BADITER_g = H5I_register(H5I_ERROR_MSG, &H5E_BADITER_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (667:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  668|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  669|       |/* H5E_BADMESG */
  |  |  670|      1|assert(H5I_INVALID_HID == H5E_BADMESG_g);
  |  |  671|      1|if((H5E_BADMESG_g = H5I_register(H5I_ERROR_MSG, &H5E_BADMESG_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (671:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  672|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  673|       |/* H5E_CANTDELETE */
  |  |  674|      1|assert(H5I_INVALID_HID == H5E_CANTDELETE_g);
  |  |  675|      1|if((H5E_CANTDELETE_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTDELETE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (675:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  676|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  677|       |/* H5E_CANTPACK */
  |  |  678|      1|assert(H5I_INVALID_HID == H5E_CANTPACK_g);
  |  |  679|      1|if((H5E_CANTPACK_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTPACK_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (679:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  680|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  681|       |/* H5E_CANTRENAME */
  |  |  682|      1|assert(H5I_INVALID_HID == H5E_CANTRENAME_g);
  |  |  683|      1|if((H5E_CANTRENAME_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTRENAME_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (683:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  684|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  685|       |/* H5E_CANTRESET */
  |  |  686|      1|assert(H5I_INVALID_HID == H5E_CANTRESET_g);
  |  |  687|      1|if((H5E_CANTRESET_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTRESET_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (687:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  688|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  689|       |/* H5E_LINKCOUNT */
  |  |  690|      1|assert(H5I_INVALID_HID == H5E_LINKCOUNT_g);
  |  |  691|      1|if((H5E_LINKCOUNT_g = H5I_register(H5I_ERROR_MSG, &H5E_LINKCOUNT_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (691:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  692|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  693|       |/* H5E_VERSION */
  |  |  694|      1|assert(H5I_INVALID_HID == H5E_VERSION_g);
  |  |  695|      1|if((H5E_VERSION_g = H5I_register(H5I_ERROR_MSG, &H5E_VERSION_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (695:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  696|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  697|       |
  |  |  698|       |/* I/O pipeline errors */
  |  |  699|       |/* H5E_CALLBACK */
  |  |  700|      1|assert(H5I_INVALID_HID == H5E_CALLBACK_g);
  |  |  701|      1|if((H5E_CALLBACK_g = H5I_register(H5I_ERROR_MSG, &H5E_CALLBACK_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (701:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  702|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  703|       |/* H5E_CANAPPLY */
  |  |  704|      1|assert(H5I_INVALID_HID == H5E_CANAPPLY_g);
  |  |  705|      1|if((H5E_CANAPPLY_g = H5I_register(H5I_ERROR_MSG, &H5E_CANAPPLY_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (705:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  706|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  707|       |/* H5E_CANTFILTER */
  |  |  708|      1|assert(H5I_INVALID_HID == H5E_CANTFILTER_g);
  |  |  709|      1|if((H5E_CANTFILTER_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTFILTER_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (709:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  710|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  711|       |/* H5E_NOENCODER */
  |  |  712|      1|assert(H5I_INVALID_HID == H5E_NOENCODER_g);
  |  |  713|      1|if((H5E_NOENCODER_g = H5I_register(H5I_ERROR_MSG, &H5E_NOENCODER_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (713:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  714|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  715|       |/* H5E_NOFILTER */
  |  |  716|      1|assert(H5I_INVALID_HID == H5E_NOFILTER_g);
  |  |  717|      1|if((H5E_NOFILTER_g = H5I_register(H5I_ERROR_MSG, &H5E_NOFILTER_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (717:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  718|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  719|       |/* H5E_SETLOCAL */
  |  |  720|      1|assert(H5I_INVALID_HID == H5E_SETLOCAL_g);
  |  |  721|      1|if((H5E_SETLOCAL_g = H5I_register(H5I_ERROR_MSG, &H5E_SETLOCAL_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (721:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  722|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  723|       |
  |  |  724|       |/* Property list errors */
  |  |  725|       |/* H5E_CANTGET */
  |  |  726|      1|assert(H5I_INVALID_HID == H5E_CANTGET_g);
  |  |  727|      1|if((H5E_CANTGET_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTGET_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (727:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  728|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  729|       |/* H5E_CANTSET */
  |  |  730|      1|assert(H5I_INVALID_HID == H5E_CANTSET_g);
  |  |  731|      1|if((H5E_CANTSET_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTSET_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (731:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  732|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  733|       |/* H5E_DUPCLASS */
  |  |  734|      1|assert(H5I_INVALID_HID == H5E_DUPCLASS_g);
  |  |  735|      1|if((H5E_DUPCLASS_g = H5I_register(H5I_ERROR_MSG, &H5E_DUPCLASS_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (735:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  736|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  737|       |/* H5E_SETDISALLOWED */
  |  |  738|      1|assert(H5I_INVALID_HID == H5E_SETDISALLOWED_g);
  |  |  739|      1|if((H5E_SETDISALLOWED_g = H5I_register(H5I_ERROR_MSG, &H5E_SETDISALLOWED_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (739:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  740|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  741|       |
  |  |  742|       |/* Plugin errors */
  |  |  743|       |/* H5E_OPENERROR */
  |  |  744|      1|assert(H5I_INVALID_HID == H5E_OPENERROR_g);
  |  |  745|      1|if((H5E_OPENERROR_g = H5I_register(H5I_ERROR_MSG, &H5E_OPENERROR_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (745:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  746|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  747|       |
  |  |  748|       |/* Resource errors */
  |  |  749|       |/* H5E_ALREADYEXISTS */
  |  |  750|      1|assert(H5I_INVALID_HID == H5E_ALREADYEXISTS_g);
  |  |  751|      1|if((H5E_ALREADYEXISTS_g = H5I_register(H5I_ERROR_MSG, &H5E_ALREADYEXISTS_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (751:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  752|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  753|       |/* H5E_CANTALLOC */
  |  |  754|      1|assert(H5I_INVALID_HID == H5E_CANTALLOC_g);
  |  |  755|      1|if((H5E_CANTALLOC_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTALLOC_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (755:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  756|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  757|       |/* H5E_CANTCOPY */
  |  |  758|      1|assert(H5I_INVALID_HID == H5E_CANTCOPY_g);
  |  |  759|      1|if((H5E_CANTCOPY_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTCOPY_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (759:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  760|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  761|       |/* H5E_CANTFREE */
  |  |  762|      1|assert(H5I_INVALID_HID == H5E_CANTFREE_g);
  |  |  763|      1|if((H5E_CANTFREE_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTFREE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (763:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  764|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  765|       |/* H5E_CANTGC */
  |  |  766|      1|assert(H5I_INVALID_HID == H5E_CANTGC_g);
  |  |  767|      1|if((H5E_CANTGC_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTGC_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (767:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  768|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  769|       |/* H5E_CANTGETSIZE */
  |  |  770|      1|assert(H5I_INVALID_HID == H5E_CANTGETSIZE_g);
  |  |  771|      1|if((H5E_CANTGETSIZE_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTGETSIZE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (771:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  772|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  773|       |/* H5E_CANTLOCK */
  |  |  774|      1|assert(H5I_INVALID_HID == H5E_CANTLOCK_g);
  |  |  775|      1|if((H5E_CANTLOCK_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTLOCK_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (775:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  776|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  777|       |/* H5E_CANTUNLOCK */
  |  |  778|      1|assert(H5I_INVALID_HID == H5E_CANTUNLOCK_g);
  |  |  779|      1|if((H5E_CANTUNLOCK_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTUNLOCK_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (779:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  780|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  781|       |/* H5E_NOSPACE */
  |  |  782|      1|assert(H5I_INVALID_HID == H5E_NOSPACE_g);
  |  |  783|      1|if((H5E_NOSPACE_g = H5I_register(H5I_ERROR_MSG, &H5E_NOSPACE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (783:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  784|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  785|       |/* H5E_OBJOPEN */
  |  |  786|      1|assert(H5I_INVALID_HID == H5E_OBJOPEN_g);
  |  |  787|      1|if((H5E_OBJOPEN_g = H5I_register(H5I_ERROR_MSG, &H5E_OBJOPEN_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (787:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  788|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  789|       |
  |  |  790|       |/* System level errors */
  |  |  791|       |/* H5E_SYSERRSTR */
  |  |  792|      1|assert(H5I_INVALID_HID == H5E_SYSERRSTR_g);
  |  |  793|      1|if((H5E_SYSERRSTR_g = H5I_register(H5I_ERROR_MSG, &H5E_SYSERRSTR_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (793:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  794|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  795|       |
  |  |  796|       |/* Datatype conversion errors */
  |  |  797|       |/* H5E_BADSIZE */
  |  |  798|      1|assert(H5I_INVALID_HID == H5E_BADSIZE_g);
  |  |  799|      1|if((H5E_BADSIZE_g = H5I_register(H5I_ERROR_MSG, &H5E_BADSIZE_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (799:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  800|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  801|       |/* H5E_CANTCONVERT */
  |  |  802|      1|assert(H5I_INVALID_HID == H5E_CANTCONVERT_g);
  |  |  803|      1|if((H5E_CANTCONVERT_g = H5I_register(H5I_ERROR_MSG, &H5E_CANTCONVERT_msg_s, false)) < 0)
  |  |  ------------------
  |  |  |  Branch (803:4): [True: 0, False: 1]
  |  |  ------------------
  |  |  804|      0|    HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  805|       |
  |  |  806|       |/* Remember last minor error code ID */
  |  |  807|      1|assert(H5E_last_min_id_g==H5I_INVALID_HID);
  |  |  808|      1|H5E_last_min_id_g = H5E_CANTCONVERT_g;
  |  |  809|       |
  |  |  810|      1|#endif /* H5Einit_H */
  ------------------
  201|       |
  202|    180|done:
  203|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  204|    180|}
H5E_term_package:
  220|      2|{
  221|      2|    int n = 0;
  222|       |
  223|      2|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      2|    {                                                                                                        \
  |  | 1425|      2|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      2|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      2|        {
  ------------------
  224|       |
  225|      2|    int64_t ncls, nmsg, nstk;
  226|       |
  227|       |    /* Check if there are any open error stacks, classes or messages */
  228|      2|    ncls = H5I_nmembers(H5I_ERROR_CLASS);
  229|      2|    nmsg = H5I_nmembers(H5I_ERROR_MSG);
  230|      2|    nstk = H5I_nmembers(H5I_ERROR_STACK);
  231|       |
  232|      2|    if ((ncls + nmsg + nstk) > 0) {
  ------------------
  |  Branch (232:9): [True: 1, False: 1]
  ------------------
  233|       |        /* Clear the default error stack. Note that
  234|       |         * the following H5I_clear_type calls do not
  235|       |         * force the clears and will not be able to
  236|       |         * clear any error message IDs that are still
  237|       |         * in use by the default error stack unless we
  238|       |         * clear that stack manually.
  239|       |         *
  240|       |         * Error message IDs will typically still be
  241|       |         * in use by the default error stack when the
  242|       |         * application does H5E_BEGIN/END_TRY cleanup
  243|       |         * at the very end.
  244|       |         */
  245|      1|        H5E_clear_stack();
  246|       |
  247|       |        /* Clear any outstanding error stacks */
  248|      1|        if (nstk > 0)
  ------------------
  |  Branch (248:13): [True: 0, False: 1]
  ------------------
  249|      0|            (void)H5I_clear_type(H5I_ERROR_STACK, false, false);
  250|       |
  251|       |        /* Clear all the error classes */
  252|      1|        if (ncls > 0) {
  ------------------
  |  Branch (252:13): [True: 1, False: 0]
  ------------------
  253|      1|            (void)H5I_clear_type(H5I_ERROR_CLASS, false, false);
  254|       |
  255|       |            /* Reset the HDF5 error class, if its been closed */
  256|      1|            if (H5I_nmembers(H5I_ERROR_CLASS) == 0)
  ------------------
  |  Branch (256:17): [True: 1, False: 0]
  ------------------
  257|      1|                H5E_ERR_CLS_g = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  258|      1|        } /* end if */
  259|       |
  260|       |        /* Clear all the error messages */
  261|      1|        if (nmsg > 0) {
  ------------------
  |  Branch (261:13): [True: 1, False: 0]
  ------------------
  262|      1|            (void)H5I_clear_type(H5I_ERROR_MSG, false, false);
  263|       |
  264|       |            /* Reset the HDF5 error messages, if they've been closed */
  265|      1|            if (H5I_nmembers(H5I_ERROR_MSG) == 0) {
  ------------------
  |  Branch (265:17): [True: 1, False: 0]
  ------------------
  266|       |/* Include the automatically generated error code termination */
  267|      1|#include "H5Eterm.h"
  ------------------
  |  |    1|       |/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  |  |    2|       | * Copyright by The HDF Group.                                               *
  |  |    3|       | * All rights reserved.                                                      *
  |  |    4|       | *                                                                           *
  |  |    5|       | * This file is part of HDF5.  The full HDF5 copyright notice, including     *
  |  |    6|       | * terms governing use, modification, and redistribution, is contained in    *
  |  |    7|       | * the COPYING file, which can be found at the root of the source code       *
  |  |    8|       | * distribution tree, or in https://www.hdfgroup.org/licenses.               *
  |  |    9|       | * If you do not have access to either file, you may request a copy from     *
  |  |   10|       | * help@hdfgroup.org.                                                        *
  |  |   11|       | * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
  |  |   12|       |
  |  |   13|       |/* Generated automatically by bin/make_err -- do not edit */
  |  |   14|       |/* Add new errors to H5err.txt file */
  |  |   15|       |
  |  |   16|      1|#ifndef H5Eterm_H
  |  |   17|      1|#define H5Eterm_H
  |  |   18|       |
  |  |   19|       |/* Reset major error IDs */
  |  |   20|      1|    H5E_ARGS_g =
  |  |   21|      1|    H5E_ATTR_g =
  |  |   22|      1|    H5E_BTREE_g =
  |  |   23|      1|    H5E_CACHE_g =
  |  |   24|      1|    H5E_CONTEXT_g =
  |  |   25|      1|    H5E_DATASET_g =
  |  |   26|      1|    H5E_DATASPACE_g =
  |  |   27|      1|    H5E_DATATYPE_g =
  |  |   28|      1|    H5E_EARRAY_g =
  |  |   29|      1|    H5E_EFL_g =
  |  |   30|      1|    H5E_ERROR_g =
  |  |   31|      1|    H5E_EVENTSET_g =
  |  |   32|      1|    H5E_FARRAY_g =
  |  |   33|      1|    H5E_FILE_g =
  |  |   34|      1|    H5E_FSPACE_g =
  |  |   35|      1|    H5E_FUNC_g =
  |  |   36|      1|    H5E_HEAP_g =
  |  |   37|      1|    H5E_ID_g =
  |  |   38|      1|    H5E_INTERNAL_g =
  |  |   39|      1|    H5E_IO_g =
  |  |   40|      1|    H5E_LIB_g =
  |  |   41|      1|    H5E_LINK_g =
  |  |   42|      1|    H5E_MAP_g =
  |  |   43|      1|    H5E_NONE_MAJOR_g =
  |  |   44|      1|    H5E_OHDR_g =
  |  |   45|      1|    H5E_PAGEBUF_g =
  |  |   46|      1|    H5E_PLINE_g =
  |  |   47|      1|    H5E_PLIST_g =
  |  |   48|      1|    H5E_PLUGIN_g =
  |  |   49|      1|    H5E_REFERENCE_g =
  |  |   50|      1|    H5E_RESOURCE_g =
  |  |   51|      1|    H5E_RS_g =
  |  |   52|      1|    H5E_SLIST_g =
  |  |   53|      1|    H5E_SOHM_g =
  |  |   54|      1|    H5E_STORAGE_g =
  |  |   55|      1|    H5E_SYM_g =
  |  |   56|      1|    H5E_TST_g =
  |  |   57|      1|    H5E_VFL_g =
  |  |   58|      1|    H5E_VOL_g =
  |  |   59|      1|        H5I_INVALID_HID;
  |  |  ------------------
  |  |  |  |   75|      1|#define H5I_INVALID_HID (-1)
  |  |  ------------------
  |  |   60|       |
  |  |   61|      1|H5E_first_maj_id_g = H5I_INVALID_HID;
  |  |  ------------------
  |  |  |  |   75|      1|#define H5I_INVALID_HID (-1)
  |  |  ------------------
  |  |   62|      1|H5E_last_maj_id_g = H5I_INVALID_HID;
  |  |  ------------------
  |  |  |  |   75|      1|#define H5I_INVALID_HID (-1)
  |  |  ------------------
  |  |   63|       |
  |  |   64|       |
  |  |   65|       |/* Reset minor error IDs */
  |  |   66|       |
  |  |   67|       |/* ARGS: Argument errors */
  |  |   68|      1|    H5E_BADRANGE_g =
  |  |   69|      1|    H5E_BADTYPE_g =
  |  |   70|      1|    H5E_BADVALUE_g =
  |  |   71|      1|    H5E_UNINITIALIZED_g =
  |  |   72|      1|    H5E_UNSUPPORTED_g =
  |  |   73|       |
  |  |   74|       |/* ASYNC: Asynchronous operation errors */
  |  |   75|      1|    H5E_CANTCANCEL_g =
  |  |   76|      1|    H5E_CANTWAIT_g =
  |  |   77|       |
  |  |   78|       |/* BTREE: B-tree related errors */
  |  |   79|      1|    H5E_CANTDECODE_g =
  |  |   80|      1|    H5E_CANTENCODE_g =
  |  |   81|      1|    H5E_CANTFIND_g =
  |  |   82|      1|    H5E_CANTINSERT_g =
  |  |   83|      1|    H5E_CANTLIST_g =
  |  |   84|      1|    H5E_CANTMODIFY_g =
  |  |   85|      1|    H5E_CANTREDISTRIBUTE_g =
  |  |   86|      1|    H5E_CANTREMOVE_g =
  |  |   87|      1|    H5E_CANTSPLIT_g =
  |  |   88|      1|    H5E_CANTSWAP_g =
  |  |   89|      1|    H5E_EXISTS_g =
  |  |   90|      1|    H5E_NOTFOUND_g =
  |  |   91|       |
  |  |   92|       |/* CACHE: Cache related errors */
  |  |   93|      1|    H5E_CANTCLEAN_g =
  |  |   94|      1|    H5E_CANTCORK_g =
  |  |   95|      1|    H5E_CANTDEPEND_g =
  |  |   96|      1|    H5E_CANTDIRTY_g =
  |  |   97|      1|    H5E_CANTEXPUNGE_g =
  |  |   98|      1|    H5E_CANTFLUSH_g =
  |  |   99|      1|    H5E_CANTINS_g =
  |  |  100|      1|    H5E_CANTLOAD_g =
  |  |  101|      1|    H5E_CANTMARKCLEAN_g =
  |  |  102|      1|    H5E_CANTMARKDIRTY_g =
  |  |  103|      1|    H5E_CANTMARKSERIALIZED_g =
  |  |  104|      1|    H5E_CANTMARKUNSERIALIZED_g =
  |  |  105|      1|    H5E_CANTNOTIFY_g =
  |  |  106|      1|    H5E_CANTPIN_g =
  |  |  107|      1|    H5E_CANTPROTECT_g =
  |  |  108|      1|    H5E_CANTRESIZE_g =
  |  |  109|      1|    H5E_CANTSERIALIZE_g =
  |  |  110|      1|    H5E_CANTTAG_g =
  |  |  111|      1|    H5E_CANTUNCORK_g =
  |  |  112|      1|    H5E_CANTUNDEPEND_g =
  |  |  113|      1|    H5E_CANTUNPIN_g =
  |  |  114|      1|    H5E_CANTUNPROTECT_g =
  |  |  115|      1|    H5E_CANTUNSERIALIZE_g =
  |  |  116|      1|    H5E_LOGGING_g =
  |  |  117|      1|    H5E_NOTCACHED_g =
  |  |  118|      1|    H5E_PROTECT_g =
  |  |  119|      1|    H5E_SYSTEM_g =
  |  |  120|       |
  |  |  121|       |/* DSPACE: Dataspace errors */
  |  |  122|      1|    H5E_BADSELECT_g =
  |  |  123|      1|    H5E_CANTAPPEND_g =
  |  |  124|      1|    H5E_CANTCLIP_g =
  |  |  125|      1|    H5E_CANTCOMPARE_g =
  |  |  126|      1|    H5E_CANTCOUNT_g =
  |  |  127|      1|    H5E_CANTNEXT_g =
  |  |  128|      1|    H5E_CANTSELECT_g =
  |  |  129|      1|    H5E_INCONSISTENTSTATE_g =
  |  |  130|       |
  |  |  131|       |/* FILE: Generic low-level file I/O errors */
  |  |  132|      1|    H5E_CLOSEERROR_g =
  |  |  133|      1|    H5E_FCNTL_g =
  |  |  134|      1|    H5E_OVERFLOW_g =
  |  |  135|      1|    H5E_READERROR_g =
  |  |  136|      1|    H5E_SEEKERROR_g =
  |  |  137|      1|    H5E_WRITEERROR_g =
  |  |  138|       |
  |  |  139|       |/* FILEACC: File accessibility errors */
  |  |  140|      1|    H5E_BADFILE_g =
  |  |  141|      1|    H5E_CANTCLOSEFILE_g =
  |  |  142|      1|    H5E_CANTCREATE_g =
  |  |  143|      1|    H5E_CANTDELETEFILE_g =
  |  |  144|      1|    H5E_CANTLOCKFILE_g =
  |  |  145|      1|    H5E_CANTOPENFILE_g =
  |  |  146|      1|    H5E_CANTUNLOCKFILE_g =
  |  |  147|      1|    H5E_FILEEXISTS_g =
  |  |  148|      1|    H5E_FILEOPEN_g =
  |  |  149|      1|    H5E_MOUNT_g =
  |  |  150|      1|    H5E_NOTHDF5_g =
  |  |  151|      1|    H5E_TRUNCATED_g =
  |  |  152|      1|    H5E_UNMOUNT_g =
  |  |  153|       |
  |  |  154|       |/* FSPACE: Free space errors */
  |  |  155|      1|    H5E_CANTMERGE_g =
  |  |  156|      1|    H5E_CANTREVIVE_g =
  |  |  157|      1|    H5E_CANTSHRINK_g =
  |  |  158|       |
  |  |  159|       |/* FUNC: Function entry/exit interface errors */
  |  |  160|      1|    H5E_ALREADYINIT_g =
  |  |  161|      1|    H5E_CANTINIT_g =
  |  |  162|      1|    H5E_CANTRELEASE_g =
  |  |  163|       |
  |  |  164|       |/* GROUP: Group related errors */
  |  |  165|      1|    H5E_CANTCLOSEOBJ_g =
  |  |  166|      1|    H5E_CANTOPENOBJ_g =
  |  |  167|      1|    H5E_COMPLEN_g =
  |  |  168|      1|    H5E_PATH_g =
  |  |  169|       |
  |  |  170|       |/* HEAP: Heap errors */
  |  |  171|      1|    H5E_CANTATTACH_g =
  |  |  172|      1|    H5E_CANTCOMPUTE_g =
  |  |  173|      1|    H5E_CANTEXTEND_g =
  |  |  174|      1|    H5E_CANTOPERATE_g =
  |  |  175|      1|    H5E_CANTRESTORE_g =
  |  |  176|      1|    H5E_CANTUPDATE_g =
  |  |  177|       |
  |  |  178|       |/* ID: Object ID related errors */
  |  |  179|      1|    H5E_BADGROUP_g =
  |  |  180|      1|    H5E_BADID_g =
  |  |  181|      1|    H5E_CANTDEC_g =
  |  |  182|      1|    H5E_CANTINC_g =
  |  |  183|      1|    H5E_CANTREGISTER_g =
  |  |  184|      1|    H5E_NOIDS_g =
  |  |  185|       |
  |  |  186|       |/* LINK: Link related errors */
  |  |  187|      1|    H5E_CANTMOVE_g =
  |  |  188|      1|    H5E_CANTSORT_g =
  |  |  189|      1|    H5E_NLINKS_g =
  |  |  190|      1|    H5E_NOTREGISTERED_g =
  |  |  191|      1|    H5E_TRAVERSE_g =
  |  |  192|       |
  |  |  193|       |/* MAP: Map related errors */
  |  |  194|      1|    H5E_CANTPUT_g =
  |  |  195|       |
  |  |  196|       |/* MPI: Parallel MPI errors */
  |  |  197|      1|    H5E_CANTGATHER_g =
  |  |  198|      1|    H5E_CANTRECV_g =
  |  |  199|      1|    H5E_MPI_g =
  |  |  200|      1|    H5E_MPIERRSTR_g =
  |  |  201|      1|    H5E_NO_INDEPENDENT_g =
  |  |  202|       |
  |  |  203|       |/* NONE: No error */
  |  |  204|      1|    H5E_NONE_MINOR_g =
  |  |  205|       |
  |  |  206|       |/* OHDR: Object header related errors */
  |  |  207|      1|    H5E_ALIGNMENT_g =
  |  |  208|      1|    H5E_BADITER_g =
  |  |  209|      1|    H5E_BADMESG_g =
  |  |  210|      1|    H5E_CANTDELETE_g =
  |  |  211|      1|    H5E_CANTPACK_g =
  |  |  212|      1|    H5E_CANTRENAME_g =
  |  |  213|      1|    H5E_CANTRESET_g =
  |  |  214|      1|    H5E_LINKCOUNT_g =
  |  |  215|      1|    H5E_VERSION_g =
  |  |  216|       |
  |  |  217|       |/* PIPELINE: I/O pipeline errors */
  |  |  218|      1|    H5E_CALLBACK_g =
  |  |  219|      1|    H5E_CANAPPLY_g =
  |  |  220|      1|    H5E_CANTFILTER_g =
  |  |  221|      1|    H5E_NOENCODER_g =
  |  |  222|      1|    H5E_NOFILTER_g =
  |  |  223|      1|    H5E_SETLOCAL_g =
  |  |  224|       |
  |  |  225|       |/* PLIST: Property list errors */
  |  |  226|      1|    H5E_CANTGET_g =
  |  |  227|      1|    H5E_CANTSET_g =
  |  |  228|      1|    H5E_DUPCLASS_g =
  |  |  229|      1|    H5E_SETDISALLOWED_g =
  |  |  230|       |
  |  |  231|       |/* PLUGIN: Plugin errors */
  |  |  232|      1|    H5E_OPENERROR_g =
  |  |  233|       |
  |  |  234|       |/* RESOURCE: Resource errors */
  |  |  235|      1|    H5E_ALREADYEXISTS_g =
  |  |  236|      1|    H5E_CANTALLOC_g =
  |  |  237|      1|    H5E_CANTCOPY_g =
  |  |  238|      1|    H5E_CANTFREE_g =
  |  |  239|      1|    H5E_CANTGC_g =
  |  |  240|      1|    H5E_CANTGETSIZE_g =
  |  |  241|      1|    H5E_CANTLOCK_g =
  |  |  242|      1|    H5E_CANTUNLOCK_g =
  |  |  243|      1|    H5E_NOSPACE_g =
  |  |  244|      1|    H5E_OBJOPEN_g =
  |  |  245|       |
  |  |  246|       |/* SYSTEM: System level errors */
  |  |  247|      1|    H5E_SYSERRSTR_g =
  |  |  248|       |
  |  |  249|       |/* TYPECONV: Datatype conversion errors */
  |  |  250|      1|    H5E_BADSIZE_g =
  |  |  251|      1|    H5E_CANTCONVERT_g =
  |  |  252|      1|        H5I_INVALID_HID;
  |  |  ------------------
  |  |  |  |   75|      1|#define H5I_INVALID_HID (-1)
  |  |  ------------------
  |  |  253|       |
  |  |  254|      1|H5E_first_min_id_g = H5I_INVALID_HID;
  |  |  ------------------
  |  |  |  |   75|      1|#define H5I_INVALID_HID (-1)
  |  |  ------------------
  |  |  255|      1|H5E_last_min_id_g = H5I_INVALID_HID;
  |  |  ------------------
  |  |  |  |   75|      1|#define H5I_INVALID_HID (-1)
  |  |  ------------------
  |  |  256|       |
  |  |  257|       |
  |  |  258|      1|#endif /* H5Eterm_H */
  ------------------
  268|      1|            } /* end if */
  269|      1|        }     /* end if */
  270|       |
  271|      1|        n++; /*H5I*/
  272|      1|    }        /* end if */
  273|      1|    else {
  274|       |        /* Destroy the error class, message, and stack id groups */
  275|      1|        n += (H5I_dec_type_ref(H5I_ERROR_STACK) > 0);
  276|      1|        n += (H5I_dec_type_ref(H5I_ERROR_CLASS) > 0);
  277|      1|        n += (H5I_dec_type_ref(H5I_ERROR_MSG) > 0);
  278|       |
  279|      1|    } /* end else */
  280|       |
  281|      2|    FUNC_LEAVE_NOAPI(n)
  ------------------
  |  | 1572|      2|    ;                                                                                                        \
  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  282|      2|} /* end H5E_term_package() */
H5E__get_class_name:
  456|  1.72k|{
  457|  1.72k|    ssize_t len = -1; /* Length of error class's name */
  458|       |
  459|  1.72k|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|  1.72k|    {                                                                                                        \
  |  | 1467|  1.72k|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|  1.72k|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|  1.72k|        {
  ------------------
  460|       |
  461|       |    /* Check arguments */
  462|  1.72k|    assert(cls);
  463|       |
  464|       |    /* Get the class's name */
  465|  1.72k|    len = (ssize_t)strlen(cls->cls_name);
  466|       |
  467|       |    /* Set the user's buffer, if provided */
  468|  1.72k|    if (name) {
  ------------------
  |  Branch (468:9): [True: 1.72k, False: 0]
  ------------------
  469|  1.72k|        strncpy(name, cls->cls_name, size);
  470|  1.72k|        if ((size_t)len >= size)
  ------------------
  |  Branch (470:13): [True: 0, False: 1.72k]
  ------------------
  471|      0|            name[size - 1] = '\0';
  472|  1.72k|    } /* end if */
  473|       |
  474|       |    /* Return the full length */
  475|  1.72k|    FUNC_LEAVE_NOAPI(len)
  ------------------
  |  | 1572|  1.72k|    ;                                                                                                        \
  |  | 1573|  1.72k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  1.72k|    return (ret_value);                                                                                      \
  |  | 1575|  1.72k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  476|  1.72k|} /* end H5E__get_class_name() */
H5E__get_current_stack:
  620|    178|{
  621|    178|    H5E_stack_t *current_stack;      /* Pointer to the current error stack */
  622|    178|    H5E_stack_t *estack_copy = NULL; /* Pointer to new error stack to return */
  623|    178|    unsigned     u;                  /* Local index variable */
  624|    178|    H5E_stack_t *ret_value = NULL;   /* Return value */
  625|       |
  626|    178|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    178|    {                                                                                                        \
  |  | 1461|    178|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    178|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    178|                                                                                                             \
  |  |  |  | 1267|    178|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    178|        {
  ------------------
  627|       |
  628|       |    /* Get a pointer to the current error stack */
  629|    178|    if (NULL == (current_stack = H5E__get_my_stack()))
  ------------------
  |  |   55|    178|#define H5E__get_my_stack() (H5E_stack_g + 0)
  ------------------
  |  Branch (629:9): [True: 0, False: 178]
  ------------------
  630|      0|        HGOTO_ERROR(H5E_ERROR, H5E_CANTGET, NULL, "can't get current error stack");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  631|       |
  632|       |    /* Allocate a new error stack */
  633|    178|    if (NULL == (estack_copy = H5FL_CALLOC(H5E_stack_t)))
  ------------------
  |  |   78|    178|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|    178|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (633:9): [True: 0, False: 178]
  ------------------
  634|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  635|       |
  636|       |    /* Make a copy of current error stack */
  637|    178|    estack_copy->nused = current_stack->nused;
  638|  1.90k|    for (u = 0; u < current_stack->nused; u++)
  ------------------
  |  Branch (638:17): [True: 1.72k, False: 178]
  ------------------
  639|  1.72k|        if (H5E__copy_stack_entry(&estack_copy->entries[u], &current_stack->entries[u]) < 0)
  ------------------
  |  Branch (639:13): [True: 0, False: 1.72k]
  ------------------
  640|      0|            HGOTO_ERROR(H5E_ERROR, H5E_CANTSET, NULL, "can't set error entry");
  ------------------
  |  |   68|    178|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  641|       |
  642|       |    /* Copy the "automatic" error reporting information */
  643|    178|    estack_copy->auto_op   = current_stack->auto_op;
  644|    178|    estack_copy->auto_data = current_stack->auto_data;
  645|       |
  646|       |    /* Empty current error stack */
  647|    178|    H5E__clear_stack(current_stack);
  648|       |
  649|       |    /* Set the return value */
  650|    178|    ret_value = estack_copy;
  651|       |
  652|    178|done:
  653|    178|    if (ret_value == NULL)
  ------------------
  |  Branch (653:9): [True: 0, False: 178]
  ------------------
  654|      0|        if (estack_copy)
  ------------------
  |  Branch (654:13): [True: 0, False: 0]
  ------------------
  655|      0|            estack_copy = H5FL_FREE(H5E_stack_t, estack_copy);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  656|       |
  657|    178|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    178|    ;                                                                                                        \
  |  | 1573|    178|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    178|    return (ret_value);                                                                                      \
  |  | 1575|    178|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  658|    178|} /* end H5E__get_current_stack() */
H5E__set_default_auto:
  833|      1|{
  834|      1|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|      1|    {                                                                                                        \
  |  | 1467|      1|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|      1|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|      1|        {
  ------------------
  835|       |
  836|       |#ifndef H5_NO_DEPRECATED_SYMBOLS
  837|       |#ifdef H5_USE_16_API_DEFAULT
  838|       |    stk->auto_op.vers = 1;
  839|       |#else  /* H5_USE_16_API */
  840|       |    stk->auto_op.vers = 2;
  841|       |#endif /* H5_USE_16_API_DEFAULT */
  842|       |
  843|       |    stk->auto_op.func1 = stk->auto_op.func1_default = (H5E_auto1_t)H5Eprint1;
  844|       |    stk->auto_op.func2 = stk->auto_op.func2_default = (H5E_auto2_t)H5E__print2;
  845|       |    stk->auto_op.is_default                         = true;
  846|       |#else  /* H5_NO_DEPRECATED_SYMBOLS */
  847|      1|    stk->auto_op.func2 = (H5E_auto2_t)H5E__print2;
  848|      1|#endif /* H5_NO_DEPRECATED_SYMBOLS */
  849|       |
  850|      1|    stk->auto_data = NULL;
  851|       |
  852|      1|    FUNC_LEAVE_NOAPI_VOID
  ------------------
  |  | 1578|      1|    ;                                                                                                        \
  |  | 1579|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1580|      1|    return;                                                                                                  \
  |  | 1581|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  853|      1|} /* end H5E__set_default_auto() */
H5E__get_msg:
  867|  3.45k|{
  868|  3.45k|    ssize_t len = -1; /* Length of error message */
  869|       |
  870|  3.45k|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|  3.45k|    {                                                                                                        \
  |  | 1467|  3.45k|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|  3.45k|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|  3.45k|        {
  ------------------
  871|       |
  872|       |    /* Check arguments */
  873|  3.45k|    assert(msg);
  874|       |
  875|       |    /* Get the length of the message string */
  876|  3.45k|    len = (ssize_t)strlen(msg->msg);
  877|       |
  878|       |    /* Copy the message into the user's buffer, if given */
  879|  3.45k|    if (msg_str) {
  ------------------
  |  Branch (879:9): [True: 3.45k, False: 0]
  ------------------
  880|  3.45k|        strncpy(msg_str, msg->msg, size);
  881|  3.45k|        if ((size_t)len >= size)
  ------------------
  |  Branch (881:13): [True: 0, False: 3.45k]
  ------------------
  882|      0|            msg_str[size - 1] = '\0';
  883|  3.45k|    } /* end if */
  884|       |
  885|       |    /* Give the message type, if asked */
  886|  3.45k|    if (type)
  ------------------
  |  Branch (886:9): [True: 0, False: 3.45k]
  ------------------
  887|      0|        *type = msg->type;
  888|       |
  889|       |    /* Set the return value to the full length of the message */
  890|  3.45k|    FUNC_LEAVE_NOAPI(len)
  ------------------
  |  | 1572|  3.45k|    ;                                                                                                        \
  |  | 1573|  3.45k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  3.45k|    return (ret_value);                                                                                      \
  |  | 1575|  3.45k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  891|  3.45k|} /* end H5E__get_msg() */
H5E__walk:
 1232|    178|{
 1233|    178|    int    i;                        /* Local index variable */
 1234|    178|    herr_t ret_value = H5_ITER_CONT; /* Return value */
  ------------------
  |  |  362|    178|#define H5_ITER_CONT  (0)  /**< Continue iteration */
  ------------------
 1235|       |
 1236|    178|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|    178|    {                                                                                                        \
  |  | 1467|    178|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|    178|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|    178|        {
  ------------------
 1237|       |
 1238|       |    /* Sanity check */
 1239|    178|    assert(estack);
 1240|    178|    assert(op);
 1241|       |
 1242|       |    /* check args, but rather than failing use some default value */
 1243|    178|    if (direction != H5E_WALK_UPWARD && direction != H5E_WALK_DOWNWARD)
  ------------------
  |  Branch (1243:9): [True: 178, False: 0]
  |  Branch (1243:41): [True: 0, False: 178]
  ------------------
 1244|      0|        direction = H5E_WALK_UPWARD;
 1245|       |
 1246|       |    /* Walk the stack if a callback function was given */
 1247|    178|    if (op->vers == 1) {
  ------------------
  |  Branch (1247:9): [True: 0, False: 178]
  ------------------
 1248|       |#ifndef H5_NO_DEPRECATED_SYMBOLS
 1249|       |        if (op->u.func1) {
 1250|       |            H5E_error1_t old_err;
 1251|       |
 1252|       |            ret_value = SUCCEED;
 1253|       |            if (H5E_WALK_UPWARD == direction) {
 1254|       |                for (i = 0; i < (int)estack->nused && ret_value == H5_ITER_CONT; i++) {
 1255|       |                    /* Point to each error record on the stack and pass it to callback function.*/
 1256|       |                    old_err.maj_num   = estack->entries[i].err.maj_num;
 1257|       |                    old_err.min_num   = estack->entries[i].err.min_num;
 1258|       |                    old_err.file_name = estack->entries[i].err.file_name;
 1259|       |                    old_err.func_name = estack->entries[i].err.func_name;
 1260|       |                    old_err.line      = estack->entries[i].err.line;
 1261|       |                    old_err.desc      = estack->entries[i].err.desc;
 1262|       |
 1263|       |                    ret_value = (op->u.func1)(i, &old_err, client_data);
 1264|       |                } /* end for */
 1265|       |            }     /* end if */
 1266|       |            else {
 1267|       |                H5_CHECK_OVERFLOW(estack->nused - 1, size_t, int);
 1268|       |                for (i = (int)(estack->nused - 1); i >= 0 && ret_value == H5_ITER_CONT; i--) {
 1269|       |                    /* Point to each error record on the stack and pass it to callback function.*/
 1270|       |                    old_err.maj_num   = estack->entries[i].err.maj_num;
 1271|       |                    old_err.min_num   = estack->entries[i].err.min_num;
 1272|       |                    old_err.file_name = estack->entries[i].err.file_name;
 1273|       |                    old_err.func_name = estack->entries[i].err.func_name;
 1274|       |                    old_err.line      = estack->entries[i].err.line;
 1275|       |                    old_err.desc      = estack->entries[i].err.desc;
 1276|       |
 1277|       |                    ret_value = (op->u.func1)((int)(estack->nused - (size_t)(i + 1)), &old_err, client_data);
 1278|       |                } /* end for */
 1279|       |            }     /* end else */
 1280|       |
 1281|       |            if (ret_value < 0)
 1282|       |                HERROR(H5E_ERROR, H5E_CANTLIST, "can't walk error stack");
 1283|       |        } /* end if */
 1284|       |#else     /* H5_NO_DEPRECATED_SYMBOLS */
 1285|      0|        assert(0 && "version 1 error stack walk without deprecated symbols!");
 1286|      0|#endif    /* H5_NO_DEPRECATED_SYMBOLS */
 1287|      0|    }     /* end if */
 1288|    178|    else {
 1289|    178|        assert(op->vers == 2);
 1290|    178|        if (op->u.func2) {
  ------------------
  |  Branch (1290:13): [True: 178, False: 0]
  ------------------
 1291|    178|            ret_value = SUCCEED;
  ------------------
  |  |  283|    178|#define SUCCEED 0
  ------------------
 1292|    178|            if (H5E_WALK_UPWARD == direction) {
  ------------------
  |  Branch (1292:17): [True: 0, False: 178]
  ------------------
 1293|      0|                for (i = 0; i < (int)estack->nused && ret_value == H5_ITER_CONT; i++)
  ------------------
  |  |  362|      0|#define H5_ITER_CONT  (0)  /**< Continue iteration */
  ------------------
  |  Branch (1293:29): [True: 0, False: 0]
  |  Branch (1293:55): [True: 0, False: 0]
  ------------------
 1294|      0|                    ret_value = (op->u.func2)((unsigned)i, &estack->entries[i].err, client_data);
 1295|      0|            } /* end if */
 1296|    178|            else {
 1297|    178|                H5_CHECK_OVERFLOW(estack->nused - 1, size_t, int);
 1298|  1.90k|                for (i = (int)(estack->nused - 1); i >= 0 && ret_value == H5_ITER_CONT; i--)
  ------------------
  |  |  362|  1.72k|#define H5_ITER_CONT  (0)  /**< Continue iteration */
  ------------------
  |  Branch (1298:52): [True: 1.72k, False: 178]
  |  Branch (1298:62): [True: 1.72k, False: 0]
  ------------------
 1299|  1.72k|                    ret_value = (op->u.func2)((unsigned)(estack->nused - (size_t)(i + 1)),
 1300|  1.72k|                                              &estack->entries[i].err, client_data);
 1301|    178|            } /* end else */
 1302|       |
 1303|    178|            if (ret_value < 0)
  ------------------
  |  Branch (1303:17): [True: 0, False: 178]
  ------------------
 1304|      0|                HERROR(H5E_ERROR, H5E_CANTLIST, "can't walk error stack");
  ------------------
  |  |   30|      0|    do {                                                                                                     \
  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |   32|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1305|    178|        } /* end if */
 1306|    178|    }     /* end else */
 1307|       |
 1308|    178|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    178|    ;                                                                                                        \
  |  | 1573|    178|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    178|    return (ret_value);                                                                                      \
  |  | 1575|    178|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1309|    178|} /* end H5E__walk() */
H5E__get_auto:
 1325|     17|{
 1326|     17|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     17|    {                                                                                                        \
  |  | 1467|     17|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     17|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     17|        {
  ------------------
 1327|       |
 1328|     17|    assert(estack);
 1329|       |
 1330|       |    /* Retrieve the requested information */
 1331|     17|    if (op)
  ------------------
  |  Branch (1331:9): [True: 17, False: 0]
  ------------------
 1332|     17|        *op = estack->auto_op;
 1333|     17|    if (client_data)
  ------------------
  |  Branch (1333:9): [True: 16, False: 1]
  ------------------
 1334|     16|        *client_data = estack->auto_data;
 1335|       |
 1336|     17|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     17|    ;                                                                                                        \
  |  | 1573|     17|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     17|    return (ret_value);                                                                                      \
  |  | 1575|     17|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1337|     17|} /* end H5E__get_auto() */
H5E__set_auto:
 1361|    102|{
 1362|    102|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|    102|    {                                                                                                        \
  |  | 1467|    102|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|    102|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|    102|        {
  ------------------
 1363|       |
 1364|    102|    assert(estack);
 1365|       |
 1366|       |    /* Set the automatic error reporting info */
 1367|    102|    estack->auto_op   = *op;
 1368|    102|    estack->auto_data = client_data;
 1369|       |
 1370|    102|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|    102|    ;                                                                                                        \
  |  | 1573|    102|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    102|    return (ret_value);                                                                                      \
  |  | 1575|    102|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1371|    102|} /* end H5E__set_auto() */
H5E_printf_stack:
 1385|  1.73k|{
 1386|  1.73k|    va_list ap;                   /* Varargs info */
 1387|  1.73k|    bool    va_started = false;   /* Whether the variable argument list is open */
 1388|  1.73k|    herr_t  ret_value  = SUCCEED; /* Return value */
  ------------------
  |  |  283|  1.73k|#define SUCCEED 0
  ------------------
 1389|       |
 1390|       |    /*
 1391|       |     * WARNING: We cannot call HERROR() from within this function or else we
 1392|       |     *		could enter infinite recursion.  Furthermore, we also cannot
 1393|       |     *		call any other HDF5 macro or function which might call
 1394|       |     *		HERROR().  HERROR() is called by HRETURN_ERROR() which could
 1395|       |     *		be called by FUNC_ENTER().
 1396|       |     */
 1397|  1.73k|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|  1.73k|    {                                                                                                        \
  |  | 1425|  1.73k|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|  1.73k|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|  1.73k|        {
  ------------------
 1398|       |
 1399|       |    /* Sanity check */
 1400|  1.73k|    assert(maj_id >= H5E_first_maj_id_g && maj_id <= H5E_last_maj_id_g);
 1401|  1.73k|    assert(min_id >= H5E_first_min_id_g && min_id <= H5E_last_min_id_g);
 1402|  1.73k|    assert(fmt);
 1403|       |
 1404|       |    /* Note that the variable-argument parsing for the format is identical in
 1405|       |     *      the H5Epush2() routine - correct errors and make changes in both
 1406|       |     *      places. -QAK
 1407|       |     */
 1408|       |
 1409|       |    /* Start the variable-argument parsing */
 1410|  1.73k|    va_start(ap, fmt);
 1411|  1.73k|    va_started = true;
 1412|       |
 1413|       |    /* Push the error on the stack */
 1414|  1.73k|    if (H5E__push_stack(NULL, false, file, func, line, H5E_ERR_CLS_g, maj_id, min_id, fmt, &ap) < 0)
  ------------------
  |  Branch (1414:9): [True: 0, False: 1.73k]
  ------------------
 1415|      0|        HGOTO_DONE(FAIL);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1416|       |
 1417|  1.73k|done:
 1418|  1.73k|    if (va_started)
  ------------------
  |  Branch (1418:9): [True: 1.73k, False: 0]
  ------------------
 1419|  1.73k|        va_end(ap);
 1420|       |
 1421|  1.73k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  1.73k|    ;                                                                                                        \
  |  | 1573|  1.73k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  1.73k|    return (ret_value);                                                                                      \
  |  | 1575|  1.73k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1422|  1.73k|} /* end H5E_printf_stack() */
H5E__push_stack:
 1444|  1.73k|{
 1445|  1.73k|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|  1.73k|#define SUCCEED 0
  ------------------
 1446|       |
 1447|       |    /*
 1448|       |     * WARNING: We cannot call HERROR() from within this function or else we
 1449|       |     *		could enter infinite recursion.  Furthermore, we also cannot
 1450|       |     *		call any other HDF5 macro or function which might call
 1451|       |     *		HERROR().  HERROR() is called by HRETURN_ERROR() which could
 1452|       |     *		be called by FUNC_ENTER().
 1453|       |     */
 1454|  1.73k|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|  1.73k|    {                                                                                                        \
  |  | 1467|  1.73k|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|  1.73k|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|  1.73k|        {
  ------------------
 1455|       |
 1456|       |    /* Sanity check */
 1457|  1.73k|    assert(cls_id > 0);
 1458|  1.73k|    assert(maj_id > 0);
 1459|  1.73k|    assert(min_id > 0);
 1460|       |
 1461|       |    /* Check for 'default' error stack */
 1462|  1.73k|    if (estack == NULL)
  ------------------
  |  Branch (1462:9): [True: 1.73k, False: 0]
  ------------------
 1463|  1.73k|        if (NULL == (estack = H5E__get_my_stack()))
  ------------------
  |  |   55|  1.73k|#define H5E__get_my_stack() (H5E_stack_g + 0)
  ------------------
  |  Branch (1463:13): [True: 0, False: 1.73k]
  ------------------
 1464|      0|            HGOTO_DONE(FAIL);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1465|       |
 1466|       |    /*
 1467|       |     * Push the error if there's room.  Otherwise just forget it.
 1468|       |     */
 1469|  1.73k|    if (estack->nused < H5E_MAX_ENTRIES) {
  ------------------
  |  |   38|  1.73k|#define H5E_MAX_ENTRIES 32
  ------------------
  |  Branch (1469:9): [True: 1.73k, False: 0]
  ------------------
 1470|  1.73k|        estack->entries[estack->nused].app_entry = app_entry;
 1471|  1.73k|        if (H5E__set_stack_entry(&estack->entries[estack->nused].err, file, func, line, cls_id, maj_id,
  ------------------
  |  Branch (1471:13): [True: 0, False: 1.73k]
  ------------------
 1472|  1.73k|                                 min_id, fmt, ap) < 0)
 1473|      0|            HGOTO_DONE(FAIL);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1474|  1.73k|        estack->nused++;
 1475|  1.73k|    } /* end if */
 1476|       |
 1477|  1.73k|done:
 1478|  1.73k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  1.73k|    ;                                                                                                        \
  |  | 1573|  1.73k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  1.73k|    return (ret_value);                                                                                      \
  |  | 1575|  1.73k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1479|  1.73k|} /* end H5E__push_stack() */
H5E_clear_stack:
 1680|  3.81k|{
 1681|  3.81k|    H5E_stack_t *estack;              /* Error stack to clear */
 1682|  3.81k|    herr_t       ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|  3.81k|#define SUCCEED 0
  ------------------
 1683|       |
 1684|  3.81k|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|  3.81k|    {                                                                                                        \
  |  | 1392|  3.81k|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|  3.81k|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|  3.81k|                                                                                                             \
  |  |  |  | 1267|  3.81k|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|  3.81k|        {
  ------------------
 1685|       |
 1686|       |    /* Get 'default' error stack */
 1687|  3.81k|    if (NULL == (estack = H5E__get_my_stack()))
  ------------------
  |  |   55|  3.81k|#define H5E__get_my_stack() (H5E_stack_g + 0)
  ------------------
  |  Branch (1687:9): [True: 0, False: 3.81k]
  ------------------
 1688|      0|        HGOTO_ERROR(H5E_ERROR, H5E_CANTGET, FAIL, "can't get current error stack");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1689|       |
 1690|       |    /* Empty the error stack */
 1691|  3.81k|    if (H5E__clear_entries(estack, estack->nused) < 0)
  ------------------
  |  Branch (1691:9): [True: 0, False: 3.81k]
  ------------------
 1692|      0|        HGOTO_ERROR(H5E_ERROR, H5E_CANTSET, FAIL, "can't clear error stack");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1693|       |
 1694|  3.81k|done:
 1695|  3.81k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  3.81k|    ;                                                                                                        \
  |  | 1573|  3.81k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  3.81k|    return (ret_value);                                                                                      \
  |  | 1575|  3.81k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1696|  3.81k|} /* end H5E_clear_stack() */
H5E__clear_stack:
 1709|    356|{
 1710|    356|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    356|#define SUCCEED 0
  ------------------
 1711|       |
 1712|    356|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    356|    {                                                                                                        \
  |  | 1461|    356|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    356|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    356|                                                                                                             \
  |  |  |  | 1267|    356|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    356|        {
  ------------------
 1713|       |
 1714|       |    /* Check for 'default' error stack */
 1715|    356|    if (estack == NULL)
  ------------------
  |  Branch (1715:9): [True: 0, False: 356]
  ------------------
 1716|      0|        if (NULL == (estack = H5E__get_my_stack()))
  ------------------
  |  |   55|      0|#define H5E__get_my_stack() (H5E_stack_g + 0)
  ------------------
  |  Branch (1716:13): [True: 0, False: 0]
  ------------------
 1717|      0|            HGOTO_ERROR(H5E_ERROR, H5E_CANTGET, FAIL, "can't get current error stack");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1718|       |
 1719|       |    /* Empty the error stack */
 1720|    356|    if (estack->nused)
  ------------------
  |  Branch (1720:9): [True: 356, False: 0]
  ------------------
 1721|    356|        if (H5E__clear_entries(estack, estack->nused) < 0)
  ------------------
  |  Branch (1721:13): [True: 0, False: 356]
  ------------------
 1722|      0|            HGOTO_ERROR(H5E_ERROR, H5E_CANTSET, FAIL, "can't clear error stack");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1723|       |
 1724|    356|done:
 1725|    356|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    356|    ;                                                                                                        \
  |  | 1573|    356|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    356|    return (ret_value);                                                                                      \
  |  | 1575|    356|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1726|    356|} /* end H5E__clear_stack() */
H5E_dump_api_stack:
 1770|    178|{
 1771|    178|    H5E_stack_t *estack    = H5E__get_my_stack();
  ------------------
  |  |   55|    178|#define H5E__get_my_stack() (H5E_stack_g + 0)
  ------------------
 1772|    178|    herr_t       ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    178|#define SUCCEED 0
  ------------------
 1773|       |
 1774|    178|    FUNC_ENTER_NOAPI_NOERR
  ------------------
  |  | 1397|    178|    {                                                                                                        \
  |  | 1398|    178|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    178|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1399|    178|        {
  ------------------
 1775|       |
 1776|    178|    assert(estack);
 1777|       |
 1778|    178|#ifdef H5_NO_DEPRECATED_SYMBOLS
 1779|    178|    if (estack->auto_op.func2)
  ------------------
  |  Branch (1779:9): [True: 178, False: 0]
  ------------------
 1780|    178|        (void)((estack->auto_op.func2)(H5E_DEFAULT, estack->auto_data));
  ------------------
  |  |   25|    178|#define H5E_DEFAULT 0 /* (hid_t) */
  ------------------
 1781|       |#else  /* H5_NO_DEPRECATED_SYMBOLS */
 1782|       |    if (estack->auto_op.vers == 1) {
 1783|       |        if (estack->auto_op.func1)
 1784|       |            (void)((estack->auto_op.func1)(estack->auto_data));
 1785|       |    } /* end if */
 1786|       |    else {
 1787|       |        if (estack->auto_op.func2)
 1788|       |            (void)((estack->auto_op.func2)(H5E_DEFAULT, estack->auto_data));
 1789|       |    } /* end else */
 1790|       |#endif /* H5_NO_DEPRECATED_SYMBOLS */
 1791|       |
 1792|    178|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    178|    ;                                                                                                        \
  |  | 1573|    178|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    178|    return (ret_value);                                                                                      \
  |  | 1575|    178|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1793|    178|} /* end H5E_dump_api_stack() */
H5Eint.c:H5E__unregister_class:
  424|      1|{
  425|      1|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  426|       |
  427|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
  428|       |
  429|       |    /* Check arguments */
  430|      1|    assert(cls);
  431|       |
  432|       |    /* Iterate over all the messages and delete those in this error class */
  433|      1|    if (H5I_iterate(H5I_ERROR_MSG, H5E__close_msg_cb, cls, false) < 0)
  ------------------
  |  Branch (433:9): [True: 0, False: 1]
  ------------------
  434|      0|        HGOTO_ERROR(H5E_ERROR, H5E_BADITER, FAIL, "unable to free all messages in this error class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  435|       |
  436|       |    /* Free error class structure */
  437|      1|    if (H5E__free_class(cls) < 0)
  ------------------
  |  Branch (437:9): [True: 0, False: 1]
  ------------------
  438|      0|        HGOTO_ERROR(H5E_ERROR, H5E_CANTRELEASE, FAIL, "unable to free error class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  439|       |
  440|      1|done:
  441|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  442|      1|} /* end H5E__unregister_class() */
H5Eint.c:H5E__close_msg_cb:
  491|    179|{
  492|    179|    H5E_msg_t *err_msg   = (H5E_msg_t *)obj_ptr;
  493|    179|    H5E_cls_t *cls       = (H5E_cls_t *)udata;
  494|    179|    int        ret_value = H5_ITER_CONT; /* Return value */
  ------------------
  |  |  362|    179|#define H5_ITER_CONT  (0)  /**< Continue iteration */
  ------------------
  495|       |
  496|    179|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    179|    {                                                                                                        \
  |  | 1461|    179|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    179|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    179|                                                                                                             \
  |  |  |  | 1267|    179|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    179|        {
  ------------------
  497|       |
  498|       |    /* Check arguments */
  499|    179|    assert(err_msg);
  500|       |
  501|       |    /* Close the message if it is in the class being closed */
  502|    179|    if (err_msg->cls == cls) {
  ------------------
  |  Branch (502:9): [True: 179, False: 0]
  ------------------
  503|    179|        if (H5E__close_msg(err_msg, NULL) < 0)
  ------------------
  |  Branch (503:13): [True: 0, False: 179]
  ------------------
  504|      0|            HGOTO_ERROR(H5E_ERROR, H5E_CANTCLOSEOBJ, H5_ITER_ERROR, "unable to close error message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  505|    179|        if (NULL == H5I_remove(obj_id))
  ------------------
  |  Branch (505:13): [True: 0, False: 179]
  ------------------
  506|      0|            HGOTO_ERROR(H5E_ERROR, H5E_CANTREMOVE, H5_ITER_ERROR, "unable to remove error message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  507|    179|    } /* end if */
  508|       |
  509|    179|done:
  510|    179|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    179|    ;                                                                                                        \
  |  | 1573|    179|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    179|    return (ret_value);                                                                                      \
  |  | 1575|    179|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  511|    179|} /* end H5E__close_msg_cb() */
H5Eint.c:H5E__close_msg:
  549|    179|{
  550|    179|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|    179|    {                                                                                                        \
  |  | 1467|    179|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|    179|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|    179|        {
  ------------------
  551|       |
  552|       |    /* Check arguments */
  553|    179|    assert(err);
  554|       |
  555|       |    /* Free resources, if application registered this message */
  556|    179|    if (err->app_msg)
  ------------------
  |  Branch (556:9): [True: 0, False: 179]
  ------------------
  557|       |        /* Free message */
  558|      0|        H5E__free_msg(err);
  559|       |
  560|    179|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|    179|    ;                                                                                                        \
  |  | 1573|    179|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    179|    return (ret_value);                                                                                      \
  |  | 1575|    179|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  561|    179|} /* end H5E__close_msg() */
H5Eint.c:H5E__close_stack:
  709|    178|{
  710|    178|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|    178|    {                                                                                                        \
  |  | 1467|    178|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|    178|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|    178|        {
  ------------------
  711|       |
  712|       |    /* Sanity check */
  713|    178|    assert(estack);
  714|       |
  715|       |    /* Release the stack's error information */
  716|    178|    H5E__clear_stack(estack);
  717|       |
  718|       |    /* Free the stack structure */
  719|    178|    estack = H5FL_FREE(H5E_stack_t, estack);
  ------------------
  |  |   81|    178|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|    178|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  720|       |
  721|    178|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|    178|    ;                                                                                                        \
  |  | 1573|    178|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    178|    return (ret_value);                                                                                      \
  |  | 1575|    178|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  722|    178|} /* end H5E__close_stack() */
H5Eint.c:H5E__free_class:
  346|      1|{
  347|      1|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|      1|    {                                                                                                        \
  |  | 1467|      1|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|      1|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|      1|        {
  ------------------
  348|       |
  349|       |    /* Check arguments */
  350|      1|    assert(cls);
  351|       |
  352|       |    /* Free resources, if application registered this class */
  353|      1|    if (cls->app_cls) {
  ------------------
  |  Branch (353:9): [True: 0, False: 1]
  ------------------
  354|       |        /* Free error class structure */
  355|      0|        cls->cls_name = H5MM_xfree_const(cls->cls_name);
  356|      0|        cls->lib_name = H5MM_xfree_const(cls->lib_name);
  357|      0|        cls->lib_vers = H5MM_xfree_const(cls->lib_vers);
  358|      0|        cls           = H5FL_FREE(H5E_cls_t, cls);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  359|      0|    }
  360|       |
  361|      1|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  362|      1|} /* end H5E__free_class() */
H5Eint.c:H5E__copy_stack_entry:
 1492|  1.72k|{
 1493|  1.72k|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|  1.72k|#define SUCCEED 0
  ------------------
 1494|       |
 1495|  1.72k|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|  1.72k|    {                                                                                                        \
  |  | 1461|  1.72k|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|  1.72k|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|  1.72k|                                                                                                             \
  |  |  |  | 1267|  1.72k|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|  1.72k|        {
  ------------------
 1496|       |
 1497|       |    /* Sanity check */
 1498|  1.72k|    assert(dst_entry);
 1499|  1.72k|    assert(src_entry);
 1500|       |
 1501|       |    /* Shallow copy all fields */
 1502|  1.72k|    *dst_entry = *src_entry;
 1503|       |
 1504|       |    /* Deep copy application entries */
 1505|  1.72k|    if (dst_entry->app_entry) {
  ------------------
  |  Branch (1505:9): [True: 0, False: 1.72k]
  ------------------
 1506|       |        /* Note: don't waste time incrementing library internal error IDs */
 1507|      0|        if (dst_entry->err.cls_id != H5E_ERR_CLS_g)
  ------------------
  |  Branch (1507:13): [True: 0, False: 0]
  ------------------
 1508|      0|            if (H5I_inc_ref(dst_entry->err.cls_id, false) < 0)
  ------------------
  |  Branch (1508:17): [True: 0, False: 0]
  ------------------
 1509|      0|                HGOTO_ERROR(H5E_ERROR, H5E_CANTINC, FAIL, "unable to increment ref count on error class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1510|      0|        if (dst_entry->err.maj_num < H5E_first_maj_id_g || dst_entry->err.maj_num > H5E_last_maj_id_g)
  ------------------
  |  Branch (1510:13): [True: 0, False: 0]
  |  Branch (1510:60): [True: 0, False: 0]
  ------------------
 1511|      0|            if (H5I_inc_ref(dst_entry->err.maj_num, false) < 0)
  ------------------
  |  Branch (1511:17): [True: 0, False: 0]
  ------------------
 1512|      0|                HGOTO_ERROR(H5E_ERROR, H5E_CANTINC, FAIL, "unable to increment ref count on error message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1513|      0|        if (dst_entry->err.min_num < H5E_first_min_id_g || dst_entry->err.min_num > H5E_last_min_id_g)
  ------------------
  |  Branch (1513:13): [True: 0, False: 0]
  |  Branch (1513:60): [True: 0, False: 0]
  ------------------
 1514|      0|            if (H5I_inc_ref(dst_entry->err.min_num, false) < 0)
  ------------------
  |  Branch (1514:17): [True: 0, False: 0]
  ------------------
 1515|      0|                HGOTO_ERROR(H5E_ERROR, H5E_CANTINC, FAIL, "unable to increment ref count on error message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1516|       |        /* The library's 'func' & 'file' strings are statically allocated (by the compiler)
 1517|       |         * there's no need to duplicate them.
 1518|       |         */
 1519|      0|        if (NULL == (dst_entry->err.file_name = strdup(src_entry->err.file_name)))
  ------------------
  |  Branch (1519:13): [True: 0, False: 0]
  ------------------
 1520|      0|            HGOTO_ERROR(H5E_ERROR, H5E_CANTCOPY, FAIL, "unable to duplicate file name");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1521|      0|        if (NULL == (dst_entry->err.func_name = strdup(src_entry->err.func_name)))
  ------------------
  |  Branch (1521:13): [True: 0, False: 0]
  ------------------
 1522|      0|            HGOTO_ERROR(H5E_ERROR, H5E_CANTCOPY, FAIL, "unable to duplicate function name");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1523|      0|    }
 1524|  1.72k|    if (NULL == (dst_entry->err.desc = strdup(src_entry->err.desc)))
  ------------------
  |  Branch (1524:9): [True: 0, False: 1.72k]
  ------------------
 1525|      0|        HGOTO_ERROR(H5E_ERROR, H5E_CANTCOPY, FAIL, "unable to duplicate error description");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1526|       |
 1527|  1.72k|done:
 1528|  1.72k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  1.72k|    ;                                                                                                        \
  |  | 1573|  1.72k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  1.72k|    return (ret_value);                                                                                      \
  |  | 1575|  1.72k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1529|  1.72k|} /* end H5E__copy_stack_entry() */
H5Eint.c:H5E__set_stack_entry:
 1543|  1.73k|{
 1544|  1.73k|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|  1.73k|#define SUCCEED 0
  ------------------
 1545|       |
 1546|       |    /*
 1547|       |     * WARNING: We cannot call HERROR() from within this function or else we
 1548|       |     *		could enter infinite recursion.  Furthermore, we also cannot
 1549|       |     *		call any other HDF5 macro or function which might call
 1550|       |     *		HERROR().  HERROR() is called by HRETURN_ERROR() which could
 1551|       |     *		be called by FUNC_ENTER().
 1552|       |     */
 1553|  1.73k|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|  1.73k|    {                                                                                                        \
  |  | 1467|  1.73k|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|  1.73k|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|  1.73k|        {
  ------------------
 1554|       |
 1555|       |    /* Sanity check */
 1556|  1.73k|    assert(err_entry);
 1557|  1.73k|    assert(cls_id > 0);
 1558|  1.73k|    assert(maj_id > 0);
 1559|  1.73k|    assert(min_id > 0);
 1560|       |
 1561|       |    /*
 1562|       |     * Don't fail if arguments are bad.  Instead, substitute some default
 1563|       |     * value.
 1564|       |     */
 1565|  1.73k|    if (!func)
  ------------------
  |  Branch (1565:9): [True: 0, False: 1.73k]
  ------------------
 1566|      0|        func = "Unknown_Function";
 1567|  1.73k|    if (!file)
  ------------------
  |  Branch (1567:9): [True: 0, False: 1.73k]
  ------------------
 1568|      0|        file = "Unknown_File";
 1569|  1.73k|    if (!fmt)
  ------------------
  |  Branch (1569:9): [True: 0, False: 1.73k]
  ------------------
 1570|      0|        fmt = "No description given";
 1571|       |
 1572|       |    /* Set the entry fields */
 1573|       |    /* NOTE: non-library IDs have already been incremented */
 1574|  1.73k|    err_entry->cls_id  = cls_id;
 1575|  1.73k|    err_entry->maj_num = maj_id;
 1576|  1.73k|    err_entry->min_num = min_id;
 1577|       |    /* The 'func' & 'file' strings are either statically allocated (by the
 1578|       |     * compiler), for internal error messages, or have already been duplicated,
 1579|       |     * for application errors, so there's no need to duplicate them here.
 1580|       |     */
 1581|  1.73k|    err_entry->func_name = func;
 1582|  1.73k|    err_entry->file_name = file;
 1583|  1.73k|    err_entry->line      = line;
 1584|  1.73k|    if (ap) {
  ------------------
  |  Branch (1584:9): [True: 1.73k, False: 0]
  ------------------
 1585|  1.73k|        char *desc = NULL;
 1586|       |
 1587|       |        /* GCC complains about the 'fmt' parameter, but it's either from static
 1588|       |         * strings in the library, which we know are OK, or from application
 1589|       |         * error push calls, and the application should be sanity checking their
 1590|       |         * strings.
 1591|       |         */
 1592|  1.73k|        H5_GCC_CLANG_DIAG_OFF("format-nonliteral")
 1593|  1.73k|        if (HDvasprintf(&desc, fmt, *ap) < 0)
  ------------------
  |  |  877|  1.73k|#define HDvasprintf(RET, FMT, A) vasprintf(RET, FMT, A)
  ------------------
  |  Branch (1593:13): [True: 0, False: 1.73k]
  ------------------
 1594|      0|            HGOTO_DONE(FAIL);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1595|  1.73k|        H5_GCC_CLANG_DIAG_ON("format-nonliteral")
 1596|       |
 1597|  1.73k|        err_entry->desc = desc;
 1598|  1.73k|    }
 1599|      0|    else {
 1600|      0|        if (NULL == (err_entry->desc = strdup(fmt)))
  ------------------
  |  Branch (1600:13): [True: 0, False: 0]
  ------------------
 1601|      0|            HGOTO_DONE(FAIL);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1602|      0|    }
 1603|       |
 1604|  1.73k|done:
 1605|  1.73k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  1.73k|    ;                                                                                                        \
  |  | 1573|  1.73k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  1.73k|    return (ret_value);                                                                                      \
  |  | 1575|  1.73k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1606|  1.73k|} /* end H5E__set_stack_entry() */
H5Eint.c:H5E__clear_entries:
 1620|  4.16k|{
 1621|  4.16k|    unsigned u;                   /* Local index variable */
 1622|  4.16k|    herr_t   ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|  4.16k|#define SUCCEED 0
  ------------------
 1623|       |
 1624|  4.16k|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|  4.16k|    {                                                                                                        \
  |  | 1461|  4.16k|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|  4.16k|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|  4.16k|                                                                                                             \
  |  |  |  | 1267|  4.16k|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|  4.16k|        {
  ------------------
 1625|       |
 1626|       |    /* Sanity check */
 1627|  4.16k|    assert(estack);
 1628|  4.16k|    assert(estack->nused >= nentries);
 1629|       |
 1630|       |    /* Empty the error stack from the top down */
 1631|  7.63k|    for (u = 0; nentries > 0; nentries--, u++) {
  ------------------
  |  Branch (1631:17): [True: 3.46k, False: 4.16k]
  ------------------
 1632|  3.46k|        H5E_entry_t *error; /* Pointer to error stack entry to clear */
 1633|       |
 1634|  3.46k|        error = &(estack->entries[estack->nused - (u + 1)]);
 1635|       |
 1636|       |        /* Decrement the IDs to indicate that they are no longer used by this stack */
 1637|       |        /* (In reverse order that they were incremented, so that reference counts work well) */
 1638|       |        /* Note: don't decrement library internal error IDs, since they weren't incremented */
 1639|  3.46k|        if (error->err.min_num < H5E_first_min_id_g || error->err.min_num > H5E_last_min_id_g)
  ------------------
  |  Branch (1639:13): [True: 0, False: 3.46k]
  |  Branch (1639:56): [True: 0, False: 3.46k]
  ------------------
 1640|      0|            if (H5I_dec_ref(error->err.min_num) < 0)
  ------------------
  |  Branch (1640:17): [True: 0, False: 0]
  ------------------
 1641|      0|                HGOTO_ERROR(H5E_ERROR, H5E_CANTDEC, FAIL, "unable to decrement ref count on error message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1642|  3.46k|        if (error->err.maj_num < H5E_first_maj_id_g || error->err.maj_num > H5E_last_maj_id_g)
  ------------------
  |  Branch (1642:13): [True: 0, False: 3.46k]
  |  Branch (1642:56): [True: 0, False: 3.46k]
  ------------------
 1643|      0|            if (H5I_dec_ref(error->err.maj_num) < 0)
  ------------------
  |  Branch (1643:17): [True: 0, False: 0]
  ------------------
 1644|      0|                HGOTO_ERROR(H5E_ERROR, H5E_CANTDEC, FAIL, "unable to decrement ref count on error message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1645|  3.46k|        if (error->err.cls_id != H5E_ERR_CLS_g)
  ------------------
  |  Branch (1645:13): [True: 0, False: 3.46k]
  ------------------
 1646|      0|            if (H5I_dec_ref(error->err.cls_id) < 0)
  ------------------
  |  Branch (1646:17): [True: 0, False: 0]
  ------------------
 1647|      0|                HGOTO_ERROR(H5E_ERROR, H5E_CANTDEC, FAIL, "unable to decrement ref count on error class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1648|       |
 1649|       |        /* Release strings */
 1650|       |        /* The library's 'func' & 'file' strings are statically allocated (by the
 1651|       |         * compiler) and are not allocated, so there's no need to free them.
 1652|       |         */
 1653|  3.46k|        if (error->app_entry) {
  ------------------
  |  Branch (1653:13): [True: 0, False: 3.46k]
  ------------------
 1654|      0|            H5MM_xfree_const(error->err.file_name);
 1655|      0|            H5MM_xfree_const(error->err.func_name);
 1656|      0|        }
 1657|  3.46k|        error->err.file_name = NULL;
 1658|  3.46k|        error->err.func_name = NULL;
 1659|  3.46k|        error->err.desc      = (const char *)H5MM_xfree_const(error->err.desc);
 1660|  3.46k|    }
 1661|       |
 1662|       |    /* Decrement number of errors on stack */
 1663|  4.16k|    estack->nused -= u;
 1664|       |
 1665|  4.16k|done:
 1666|  4.16k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  4.16k|    ;                                                                                                        \
  |  | 1573|  4.16k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  4.16k|    return (ret_value);                                                                                      \
  |  | 1575|  4.16k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1667|  4.16k|} /* end H5E__clear_entries() */

H5Fopen:
  819|     10|{
  820|     10|    H5VL_object_t *vol_obj   = NULL;            /* File object */
  821|     10|    hid_t          ret_value = H5I_INVALID_HID; /* Return value */
  ------------------
  |  |   75|     10|#define H5I_INVALID_HID (-1)
  ------------------
  822|       |
  823|     20|    FUNC_ENTER_API(H5I_INVALID_HID)
  ------------------
  |  | 1300|     10|    {                                                                                                        \
  |  | 1301|     10|        {                                                                                                    \
  |  | 1302|     10|            bool api_ctx_pushed = false;                                                                     \
  |  | 1303|     10|                                                                                                             \
  |  | 1304|     10|            FUNC_ENTER_API_COMMON                                                                            \
  |  |  ------------------
  |  |  |  | 1281|     10|    FUNC_ENTER_COMMON(H5_IS_API(__func__));                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  ------------------
  |  |  |  | 1282|     10|    FUNC_ENTER_API_THREADSAFE;
  |  |  ------------------
  |  | 1305|     10|            FUNC_ENTER_API_INIT(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1286|     10|    if (H5_UNLIKELY(!H5_INIT_GLOBAL && !H5_TERM_GLOBAL)) {                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     10|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 10]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 10]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1287|      0|        if (H5_UNLIKELY(H5_init_library() < 0))                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      0|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1288|      0|            HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, err, "library initialization failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1289|      0|    }
  |  |  ------------------
  |  | 1306|     10|            FUNC_ENTER_API_PUSH(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1293|     10|    if (H5_UNLIKELY(H5CX_push() < 0))                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     10|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 10]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1294|     10|        HGOTO_ERROR(H5E_FUNC, H5E_CANTSET, err, "can't set API context");                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1295|     10|    else                                                                                                     \
  |  |  |  | 1296|     10|        api_ctx_pushed = true;
  |  |  ------------------
  |  | 1307|     10|            /* Clear thread error stack entering public functions */                                         \
  |  | 1308|     10|            H5E_clear_stack();                                                                               \
  |  | 1309|     10|            {
  ------------------
  824|       |
  825|       |    /* Open the file synchronously */
  826|     20|    if ((ret_value = H5F__open_api_common(filename, flags, fapl_id, NULL)) < 0)
  ------------------
  |  Branch (826:9): [True: 3, False: 7]
  ------------------
  827|      3|        HGOTO_ERROR(H5E_FILE, H5E_CANTOPENFILE, H5I_INVALID_HID, "unable to synchronously open file");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  828|       |
  829|       |    /* Get the file object */
  830|      7|    if (NULL == (vol_obj = H5VL_vol_object(ret_value)))
  ------------------
  |  Branch (830:9): [True: 0, False: 7]
  ------------------
  831|      0|        HGOTO_ERROR(H5E_FILE, H5E_BADTYPE, H5I_INVALID_HID, "invalid object identifier");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  832|       |
  833|       |    /* Perform 'post open' operation */
  834|      7|    if (H5F__post_open_api_common(vol_obj, NULL) < 0)
  ------------------
  |  Branch (834:9): [True: 0, False: 7]
  ------------------
  835|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, H5I_INVALID_HID, "'post open' operation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  836|       |
  837|     10|done:
  838|     10|    FUNC_LEAVE_API(ret_value)
  ------------------
  |  | 1509|     10|    ;                                                                                                        \
  |  | 1510|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1511|     10|    if (H5_LIKELY(api_ctx_pushed)) {                                                                         \
  |  |  ------------------
  |  |  |  |  167|     10|#define H5_LIKELY(expression)   __builtin_expect(!!(expression), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (167:33): [True: 10, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1512|     10|        (void)H5CX_pop(true);                                                                                \
  |  | 1513|     10|        api_ctx_pushed = false;                                                                              \
  |  | 1514|     10|    }                                                                                                        \
  |  | 1515|     10|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|     10|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 3, False: 7]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1516|     10|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1517|     10|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1518|     10|    return (ret_value);                                                                                      \
  |  | 1519|     10|    }                                                                                                        \
  |  | 1520|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  839|      7|} /* end H5Fopen() */
H5Fclose:
 1034|     10|{
 1035|     10|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
 1036|       |
 1037|     20|    FUNC_ENTER_API(FAIL)
  ------------------
  |  | 1300|     10|    {                                                                                                        \
  |  | 1301|     10|        {                                                                                                    \
  |  | 1302|     10|            bool api_ctx_pushed = false;                                                                     \
  |  | 1303|     10|                                                                                                             \
  |  | 1304|     10|            FUNC_ENTER_API_COMMON                                                                            \
  |  |  ------------------
  |  |  |  | 1281|     10|    FUNC_ENTER_COMMON(H5_IS_API(__func__));                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  ------------------
  |  |  |  | 1282|     10|    FUNC_ENTER_API_THREADSAFE;
  |  |  ------------------
  |  | 1305|     10|            FUNC_ENTER_API_INIT(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1286|     10|    if (H5_UNLIKELY(!H5_INIT_GLOBAL && !H5_TERM_GLOBAL)) {                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     10|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 10]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 10]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1287|      0|        if (H5_UNLIKELY(H5_init_library() < 0))                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      0|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1288|      0|            HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, err, "library initialization failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1289|      0|    }
  |  |  ------------------
  |  | 1306|     10|            FUNC_ENTER_API_PUSH(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1293|     10|    if (H5_UNLIKELY(H5CX_push() < 0))                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     10|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 10]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1294|     10|        HGOTO_ERROR(H5E_FUNC, H5E_CANTSET, err, "can't set API context");                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1295|     10|    else                                                                                                     \
  |  |  |  | 1296|     10|        api_ctx_pushed = true;
  |  |  ------------------
  |  | 1307|     10|            /* Clear thread error stack entering public functions */                                         \
  |  | 1308|     10|            H5E_clear_stack();                                                                               \
  |  | 1309|     10|            {
  ------------------
 1038|       |
 1039|       |    /* Check arguments */
 1040|     20|    if (H5I_FILE != H5I_get_type(file_id))
  ------------------
  |  Branch (1040:9): [True: 3, False: 7]
  ------------------
 1041|      3|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a file ID");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1042|       |
 1043|       |    /* Synchronously decrement reference count on ID.
 1044|       |     * When it reaches zero the file will be closed.
 1045|       |     */
 1046|      7|    if (H5I_dec_app_ref(file_id) < 0)
  ------------------
  |  Branch (1046:9): [True: 0, False: 7]
  ------------------
 1047|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTCLOSEFILE, FAIL, "decrementing file ID failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1048|       |
 1049|     10|done:
 1050|     10|    FUNC_LEAVE_API(ret_value)
  ------------------
  |  | 1509|     10|    ;                                                                                                        \
  |  | 1510|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1511|     10|    if (H5_LIKELY(api_ctx_pushed)) {                                                                         \
  |  |  ------------------
  |  |  |  |  167|     10|#define H5_LIKELY(expression)   __builtin_expect(!!(expression), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (167:33): [True: 10, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1512|     10|        (void)H5CX_pop(true);                                                                                \
  |  | 1513|     10|        api_ctx_pushed = false;                                                                              \
  |  | 1514|     10|    }                                                                                                        \
  |  | 1515|     10|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|     10|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 3, False: 7]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1516|     10|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1517|     10|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1518|     10|    return (ret_value);                                                                                      \
  |  | 1519|     10|    }                                                                                                        \
  |  | 1520|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1051|      7|} /* end H5Fclose() */
H5F.c:H5F__post_open_api_common:
  516|      7|{
  517|      7|    uint64_t supported;           /* Whether 'post open' operation is supported by VOL connector */
  518|      7|    herr_t   ret_value = SUCCEED; /* Return value     */
  ------------------
  |  |  283|      7|#define SUCCEED 0
  ------------------
  519|       |
  520|      7|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      7|    {                                                                                                        \
  |  | 1461|      7|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      7|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      7|                                                                                                             \
  |  |  |  | 1267|      7|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      7|        {
  ------------------
  521|       |
  522|       |    /* Check for 'post open' callback */
  523|      7|    supported = 0;
  524|      7|    if (H5VL_introspect_opt_query(vol_obj, H5VL_SUBCLS_FILE, H5VL_NATIVE_FILE_POST_OPEN, &supported) < 0)
  ------------------
  |  |  212|      7|#define H5VL_NATIVE_FILE_POST_OPEN 28 /* Adjust file after open, with wrapping context */
  ------------------
  |  Branch (524:9): [True: 0, False: 7]
  ------------------
  525|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "can't check for 'post open' operation");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  526|      7|    if (supported & H5VL_OPT_QUERY_SUPPORTED) {
  ------------------
  |  |  119|      7|#define H5VL_OPT_QUERY_SUPPORTED       0x0001 /**< VOL connector supports this operation */
  ------------------
  |  Branch (526:9): [True: 7, False: 0]
  ------------------
  527|      7|        H5VL_optional_args_t vol_cb_args; /* Arguments to VOL callback */
  528|       |
  529|       |        /* Set up VOL callback arguments */
  530|      7|        vol_cb_args.op_type = H5VL_NATIVE_FILE_POST_OPEN;
  ------------------
  |  |  212|      7|#define H5VL_NATIVE_FILE_POST_OPEN 28 /* Adjust file after open, with wrapping context */
  ------------------
  531|      7|        vol_cb_args.args    = NULL;
  532|       |
  533|       |        /* Make the 'post open' callback */
  534|      7|        if (H5VL_file_optional(vol_obj, &vol_cb_args, H5P_DATASET_XFER_DEFAULT, token_ptr) < 0)
  ------------------
  |  |  160|      7|#define H5P_DATASET_XFER_DEFAULT (H5OPEN H5P_LST_DATASET_XFER_ID_g)
  ------------------
  |  Branch (534:13): [True: 0, False: 7]
  ------------------
  535|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, FAIL, "unable to make file 'post open' callback");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  536|      7|    } /* end if */
  537|       |
  538|      7|done:
  539|      7|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  540|      7|} /* end H5F__post_open_api_common() */
H5F.c:H5F__open_api_common:
  745|     10|{
  746|     10|    void                 *new_file = NULL;             /* File struct for new file                 */
  747|     10|    H5P_genplist_t       *plist;                       /* Property list pointer                    */
  748|     10|    H5VL_connector_prop_t connector_prop;              /* Property for VOL connector ID & info     */
  749|     10|    hid_t                 ret_value = H5I_INVALID_HID; /* Return value                             */
  ------------------
  |  |   75|     10|#define H5I_INVALID_HID (-1)
  ------------------
  750|       |
  751|     10|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     10|    {                                                                                                        \
  |  | 1461|     10|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     10|        {
  ------------------
  752|       |
  753|       |    /* Check arguments */
  754|     10|    if (!filename || !*filename)
  ------------------
  |  Branch (754:9): [True: 0, False: 10]
  |  Branch (754:22): [True: 0, False: 10]
  ------------------
  755|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, H5I_INVALID_HID, "invalid file name");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  756|       |    /* Reject undefined flags (~H5F_ACC_PUBLIC_FLAGS) and the H5F_ACC_TRUNC & H5F_ACC_EXCL flags */
  757|     10|    if ((flags & ~H5F_ACC_PUBLIC_FLAGS) || (flags & H5F_ACC_TRUNC) || (flags & H5F_ACC_EXCL))
  ------------------
  |  |   56|     10|#define H5F_ACC_PUBLIC_FLAGS 0x007fu
  ------------------
                  if ((flags & ~H5F_ACC_PUBLIC_FLAGS) || (flags & H5F_ACC_TRUNC) || (flags & H5F_ACC_EXCL))
  ------------------
  |  |   50|     10|#define H5F_ACC_TRUNC  (H5CHECK H5OPEN 0x0002u) /**< Overwrite existing files   */
  ------------------
                  if ((flags & ~H5F_ACC_PUBLIC_FLAGS) || (flags & H5F_ACC_TRUNC) || (flags & H5F_ACC_EXCL))
  ------------------
  |  |   51|     10|#define H5F_ACC_EXCL   (H5CHECK H5OPEN 0x0004u) /**< Fail if file already exists*/
  ------------------
  |  Branch (757:9): [True: 0, False: 10]
  |  Branch (757:44): [True: 0, False: 10]
  |  Branch (757:71): [True: 0, False: 10]
  ------------------
  758|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, H5I_INVALID_HID, "invalid file open flags");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  759|       |    /* XXX (VOL MERGE): Might want to move SWMR flag checks to H5F_open() */
  760|       |    /* Asking for SWMR write access on a read-only file is invalid */
  761|     10|    if ((flags & H5F_ACC_SWMR_WRITE) && 0 == (flags & H5F_ACC_RDWR))
  ------------------
  |  |   55|     10|    (H5CHECK 0x0020u) /**< Indicate that this file is open for writing in a                                  \
  ------------------
                  if ((flags & H5F_ACC_SWMR_WRITE) && 0 == (flags & H5F_ACC_RDWR))
  ------------------
  |  |   49|      0|#define H5F_ACC_RDWR   (H5CHECK H5OPEN 0x0001u) /**< Open for read and write    */
  ------------------
  |  Branch (761:9): [True: 0, False: 10]
  |  Branch (761:41): [True: 0, False: 0]
  ------------------
  762|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTOPENFILE, H5I_INVALID_HID,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  763|     10|                    "SWMR write access on a file open for read-only access is not allowed");
  764|       |    /* Asking for SWMR read access on a non-read-only file is invalid */
  765|     10|    if ((flags & H5F_ACC_SWMR_READ) && (flags & H5F_ACC_RDWR))
  ------------------
  |  |   61|     10|    (H5CHECK 0x0040u) /**< Indicate that this file is open for reading in a                                  \
  ------------------
                  if ((flags & H5F_ACC_SWMR_READ) && (flags & H5F_ACC_RDWR))
  ------------------
  |  |   49|      0|#define H5F_ACC_RDWR   (H5CHECK H5OPEN 0x0001u) /**< Open for read and write    */
  ------------------
  |  Branch (765:9): [True: 0, False: 10]
  |  Branch (765:40): [True: 0, False: 0]
  ------------------
  766|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTOPENFILE, H5I_INVALID_HID,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  767|     10|                    "SWMR read access on a file open for read-write access is not allowed");
  768|       |
  769|       |    /* Verify access property list and set up collective metadata if appropriate */
  770|     10|    if (H5CX_set_apl(&fapl_id, H5P_CLS_FACC, H5I_INVALID_HID, true) < 0)
  ------------------
  |  |   75|     10|#define H5I_INVALID_HID (-1)
  ------------------
  |  Branch (770:9): [True: 0, False: 10]
  ------------------
  771|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTSET, H5I_INVALID_HID, "can't set access property list info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  772|       |
  773|       |    /* Get the VOL info from the fapl */
  774|     10|    if (NULL == (plist = (H5P_genplist_t *)H5I_object(fapl_id)))
  ------------------
  |  Branch (774:9): [True: 0, False: 10]
  ------------------
  775|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, H5I_INVALID_HID, "not a file access property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  776|     10|    if (H5P_peek(plist, H5F_ACS_VOL_CONN_NAME, &connector_prop) < 0)
  ------------------
  |  |  236|     10|#define H5F_ACS_VOL_CONN_NAME        "vol_connector_info" /* VOL connector ID & info */
  ------------------
  |  Branch (776:9): [True: 0, False: 10]
  ------------------
  777|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTGET, H5I_INVALID_HID, "can't get VOL connector info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  778|       |
  779|       |    /* Stash a copy of the "top-level" connector property, before any pass-through
  780|       |     *  connectors modify or unwrap it.
  781|       |     */
  782|     10|    if (H5CX_set_vol_connector_prop(&connector_prop) < 0)
  ------------------
  |  Branch (782:9): [True: 0, False: 10]
  ------------------
  783|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTSET, H5I_INVALID_HID, "can't set VOL connector info in API context");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  784|       |
  785|       |    /* Open the file through the VOL layer */
  786|     10|    if (NULL == (new_file = H5VL_file_open(&connector_prop, filename, flags, fapl_id,
  ------------------
  |  Branch (786:9): [True: 3, False: 7]
  ------------------
  787|     10|                                           H5P_DATASET_XFER_DEFAULT, token_ptr)))
  ------------------
  |  |  160|     10|#define H5P_DATASET_XFER_DEFAULT (H5OPEN H5P_LST_DATASET_XFER_ID_g)
  ------------------
  788|      3|        HGOTO_ERROR(H5E_FILE, H5E_CANTOPENFILE, H5I_INVALID_HID, "unable to open file");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  789|       |
  790|       |    /* Get an ID for the file */
  791|      7|    if ((ret_value = H5VL_register_using_vol_id(H5I_FILE, new_file, connector_prop.connector_id, true)) < 0)
  ------------------
  |  Branch (791:9): [True: 0, False: 7]
  ------------------
  792|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTREGISTER, H5I_INVALID_HID, "unable to register file handle");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  793|       |
  794|     10|done:
  795|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  796|      7|} /* end H5F__open_api_common() */

H5FD_init:
  103|      1|{
  104|      1|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  105|       |
  106|      1|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      1|    {                                                                                                        \
  |  | 1392|      1|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      1|        {
  ------------------
  107|       |
  108|      1|    if (H5I_register_type(H5I_VFL_CLS) < 0)
  ------------------
  |  Branch (108:9): [True: 0, False: 1]
  ------------------
  109|      0|        HGOTO_ERROR(H5E_VFL, H5E_CANTINIT, FAIL, "unable to initialize interface");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  110|       |
  111|       |    /* Reset the file serial numbers */
  112|      1|    H5FD_file_serial_no_g = 0;
  113|       |
  114|      1|done:
  115|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  116|      1|}
H5FD_term_package:
  135|      2|{
  136|      2|    int n = 0;
  137|       |
  138|      2|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      2|    {                                                                                                        \
  |  | 1425|      2|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      2|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      2|        {
  ------------------
  139|       |
  140|      2|    if (H5I_nmembers(H5I_VFL) > 0) {
  ------------------
  |  Branch (140:9): [True: 1, False: 1]
  ------------------
  141|      1|        (void)H5I_clear_type(H5I_VFL, false, false);
  142|      1|        n++; /*H5I*/
  143|      1|    }        /* end if */
  144|      1|    else {
  145|       |        /* Destroy the VFL driver ID group */
  146|      1|        n += (H5I_dec_type_ref(H5I_VFL) > 0);
  147|      1|    } /* end else */
  148|       |
  149|      2|    FUNC_LEAVE_NOAPI(n)
  ------------------
  |  | 1572|      2|    ;                                                                                                        \
  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  150|      2|} /* end H5FD_term_package() */
H5FD_register:
  257|      1|{
  258|      1|    const H5FD_class_t *cls   = (const H5FD_class_t *)_cls;
  259|      1|    H5FD_class_t       *saved = NULL;
  260|      1|    H5FD_mem_t          type;
  261|      1|    hid_t               ret_value = H5I_INVALID_HID; /* Return value */
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  262|       |
  263|      1|    FUNC_ENTER_NOAPI(H5I_INVALID_HID)
  ------------------
  |  | 1391|      1|    {                                                                                                        \
  |  | 1392|      1|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      1|        {
  ------------------
  264|       |
  265|       |    /* Sanity checks */
  266|      1|    assert(cls);
  267|      1|    assert(cls->open && cls->close);
  268|      1|    assert(cls->get_eoa && cls->set_eoa);
  269|      1|    assert(cls->get_eof);
  270|      1|    assert(cls->read && cls->write);
  271|      8|    for (type = H5FD_MEM_DEFAULT; type < H5FD_MEM_NTYPES; type++) {
  ------------------
  |  Branch (271:35): [True: 7, False: 1]
  ------------------
  272|      7|        assert(cls->fl_map[type] >= H5FD_MEM_NOLIST && cls->fl_map[type] < H5FD_MEM_NTYPES);
  273|      7|    }
  274|       |
  275|       |    /* Copy the class structure so the caller can reuse or free it */
  276|      1|    if (NULL == (saved = (H5FD_class_t *)H5MM_malloc(size)))
  ------------------
  |  |   38|      1|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  |  Branch (276:9): [True: 0, False: 1]
  ------------------
  277|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, H5I_INVALID_HID,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  278|      1|                    "memory allocation failed for file driver class struct");
  279|      1|    H5MM_memcpy(saved, cls, size);
  ------------------
  |  |   41|      1|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  280|       |
  281|       |    /* Create the new class ID */
  282|      1|    if ((ret_value = H5I_register(H5I_VFL, saved, app_ref)) < 0)
  ------------------
  |  Branch (282:9): [True: 0, False: 1]
  ------------------
  283|      0|        HGOTO_ERROR(H5E_ID, H5E_CANTREGISTER, H5I_INVALID_HID, "unable to register file driver ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  284|       |
  285|      1|done:
  286|      1|    if (H5I_INVALID_HID == ret_value)
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  |  Branch (286:9): [True: 0, False: 1]
  ------------------
  287|      0|        if (saved)
  ------------------
  |  Branch (287:13): [True: 0, False: 0]
  ------------------
  288|      0|            saved = (H5FD_class_t *)H5MM_xfree(saved);
  289|       |
  290|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  291|      1|} /* end H5FD_register() */
H5FD_get_class:
  397|     20|{
  398|     20|    H5FD_class_t *ret_value = NULL;
  399|       |
  400|     20|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|     20|    {                                                                                                        \
  |  | 1392|     20|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     20|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     20|                                                                                                             \
  |  |  |  | 1267|     20|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     20|        {
  ------------------
  401|       |
  402|     20|    if (H5I_VFL == H5I_get_type(id))
  ------------------
  |  Branch (402:9): [True: 10, False: 10]
  ------------------
  403|     10|        ret_value = (H5FD_class_t *)H5I_object(id);
  404|     10|    else {
  405|     10|        H5P_genplist_t *plist; /* Property list pointer */
  406|       |
  407|       |        /* Get the plist structure */
  408|     10|        if (NULL == (plist = (H5P_genplist_t *)H5I_object(id)))
  ------------------
  |  Branch (408:13): [True: 0, False: 10]
  ------------------
  409|      0|            HGOTO_ERROR(H5E_ID, H5E_BADID, NULL, "can't find object for ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  410|       |
  411|     10|        if (true == H5P_isa_class(id, H5P_FILE_ACCESS)) {
  ------------------
  |  |   64|     10|#define H5P_FILE_ACCESS (H5OPEN H5P_CLS_FILE_ACCESS_ID_g)
  ------------------
  |  Branch (411:13): [True: 10, False: 0]
  ------------------
  412|     10|            H5FD_driver_prop_t driver_prop; /* Property for driver ID & info */
  413|       |
  414|     10|            if (H5P_peek(plist, H5F_ACS_FILE_DRV_NAME, &driver_prop) < 0)
  ------------------
  |  |  235|     10|#define H5F_ACS_FILE_DRV_NAME        "vfd_info"           /* File driver ID & info */
  ------------------
  |  Branch (414:17): [True: 0, False: 10]
  ------------------
  415|      0|                HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't get driver ID & info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  416|     10|            ret_value = H5FD_get_class(driver_prop.driver_id);
  417|     10|        } /* end if */
  418|      0|        else
  419|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "not a driver id or file access property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  420|     10|    } /* end if */
  421|       |
  422|     20|done:
  423|     20|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     20|    ;                                                                                                        \
  |  | 1573|     20|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     20|    return (ret_value);                                                                                      \
  |  | 1575|     20|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  424|     20|} /* end H5FD_get_class() */
H5FD_open:
  716|     10|{
  717|     10|    H5FD_class_t          *driver;           /* VFD for file */
  718|     10|    H5FD_t                *file = NULL;      /* VFD file struct */
  719|     10|    H5FD_driver_prop_t     driver_prop;      /* Property for driver ID & info */
  720|     10|    H5P_genplist_t        *plist;            /* Property list pointer */
  721|     10|    unsigned long          driver_flags = 0; /* File-inspecific driver feature flags */
  722|     10|    H5FD_file_image_info_t file_image_info;  /* Initial file image */
  723|     10|    H5FD_t                *ret_value = NULL; /* Return value */
  724|       |
  725|     10|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|     10|    {                                                                                                        \
  |  | 1392|     10|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     10|        {
  ------------------
  726|       |
  727|       |    /* Sanity checks */
  728|     10|    if (0 == maxaddr)
  ------------------
  |  Branch (728:9): [True: 0, False: 10]
  ------------------
  729|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, NULL, "zero format address range");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  730|       |
  731|       |    /* Get file access property list */
  732|     10|    if (NULL == (plist = (H5P_genplist_t *)H5I_object(fapl_id)))
  ------------------
  |  Branch (732:9): [True: 0, False: 10]
  ------------------
  733|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "not a file access property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  734|       |
  735|       |    /* Get the VFD to open the file with */
  736|     10|    if (H5P_peek(plist, H5F_ACS_FILE_DRV_NAME, &driver_prop) < 0)
  ------------------
  |  |  235|     10|#define H5F_ACS_FILE_DRV_NAME        "vfd_info"           /* File driver ID & info */
  ------------------
  |  Branch (736:9): [True: 0, False: 10]
  ------------------
  737|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't get driver ID & info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  738|       |
  739|       |    /* Get driver info */
  740|     10|    if (NULL == (driver = (H5FD_class_t *)H5I_object(driver_prop.driver_id)))
  ------------------
  |  Branch (740:9): [True: 0, False: 10]
  ------------------
  741|      0|        HGOTO_ERROR(H5E_VFL, H5E_BADVALUE, NULL, "invalid driver ID in file access property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  742|     10|    if (NULL == driver->open)
  ------------------
  |  Branch (742:9): [True: 0, False: 10]
  ------------------
  743|      0|        HGOTO_ERROR(H5E_VFL, H5E_UNSUPPORTED, NULL, "file driver has no `open' method");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  744|       |
  745|       |    /* Query driver flag */
  746|     10|    if (H5FD_driver_query(driver, &driver_flags) < 0)
  ------------------
  |  Branch (746:9): [True: 0, False: 10]
  ------------------
  747|      0|        HGOTO_ERROR(H5E_VFL, H5E_BADVALUE, NULL, "can't query VFD flags");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  748|       |
  749|       |    /* Get initial file image info */
  750|     10|    if (H5P_peek(plist, H5F_ACS_FILE_IMAGE_INFO_NAME, &file_image_info) < 0)
  ------------------
  |  |  254|     10|    "file_image_info" /* struct containing initial file image and callback info */
  ------------------
  |  Branch (750:9): [True: 0, False: 10]
  ------------------
  751|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't get file image info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  752|       |
  753|       |    /* If an image is provided, make sure the driver supports this feature */
  754|     10|    assert(((file_image_info.buffer != NULL) && (file_image_info.size > 0)) ||
  755|     10|           ((file_image_info.buffer == NULL) && (file_image_info.size == 0)));
  756|     10|    if ((file_image_info.buffer != NULL) && !(driver_flags & H5FD_FEAT_ALLOW_FILE_IMAGE))
  ------------------
  |  |  127|      0|#define H5FD_FEAT_ALLOW_FILE_IMAGE 0x00000400
  ------------------
  |  Branch (756:9): [True: 0, False: 10]
  |  Branch (756:45): [True: 0, False: 0]
  ------------------
  757|      0|        HGOTO_ERROR(H5E_VFL, H5E_UNSUPPORTED, NULL, "file image set, but not supported.");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  758|       |
  759|       |    /* Dispatch to file driver */
  760|     10|    if (HADDR_UNDEF == maxaddr)
  ------------------
  |  |  336|     10|#define HADDR_UNDEF         UINT64_MAX
  ------------------
  |  Branch (760:9): [True: 10, False: 0]
  ------------------
  761|     10|        maxaddr = driver->maxaddr;
  762|     10|    if (NULL == (file = (driver->open)(name, flags, fapl_id, maxaddr)))
  ------------------
  |  Branch (762:9): [True: 0, False: 10]
  ------------------
  763|      0|        HGOTO_ERROR(H5E_VFL, H5E_CANTINIT, NULL, "open failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  764|       |
  765|       |    /* Set the file access flags */
  766|     10|    file->access_flags = flags;
  767|       |
  768|       |    /* Fill in public fields. We must increment the reference count on the
  769|       |     * driver ID to prevent it from being freed while this file is open.
  770|       |     */
  771|     10|    file->driver_id = driver_prop.driver_id;
  772|     10|    if (H5I_inc_ref(file->driver_id, false) < 0)
  ------------------
  |  Branch (772:9): [True: 0, False: 10]
  ------------------
  773|      0|        HGOTO_ERROR(H5E_VFL, H5E_CANTINC, NULL, "unable to increment ref count on VFL driver");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  774|     10|    file->cls     = driver;
  775|     10|    file->maxaddr = maxaddr;
  776|     10|    if (H5P_get(plist, H5F_ACS_ALIGN_THRHD_NAME, &(file->threshold)) < 0)
  ------------------
  |  |  225|     10|#define H5F_ACS_ALIGN_THRHD_NAME          "threshold"   /* Threshold for alignment */
  ------------------
  |  Branch (776:9): [True: 0, False: 10]
  ------------------
  777|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't get alignment threshold");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  778|     10|    if (H5P_get(plist, H5F_ACS_ALIGN_NAME, &(file->alignment)) < 0)
  ------------------
  |  |  226|     10|#define H5F_ACS_ALIGN_NAME                "align"       /* Alignment */
  ------------------
  |  Branch (778:9): [True: 0, False: 10]
  ------------------
  779|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't get alignment");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  780|       |
  781|       |    /* Retrieve the VFL driver feature flags */
  782|     10|    if (H5FD__query(file, &(file->feature_flags)) < 0)
  ------------------
  |  Branch (782:9): [True: 0, False: 10]
  ------------------
  783|      0|        HGOTO_ERROR(H5E_VFL, H5E_CANTINIT, NULL, "unable to query file driver");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  784|       |
  785|       |    /* Increment the global serial number & assign it to this H5FD_t object */
  786|     10|    if (++H5FD_file_serial_no_g == 0) {
  ------------------
  |  Branch (786:9): [True: 0, False: 10]
  ------------------
  787|       |        /* (Just error out if we wrap around for now...) */
  788|      0|        HGOTO_ERROR(H5E_VFL, H5E_CANTINIT, NULL, "unable to get file serial number");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  789|      0|    } /* end if */
  790|     10|    file->fileno = H5FD_file_serial_no_g;
  791|       |
  792|       |    /* Start with base address set to 0 */
  793|       |    /* (This will be changed later, when the superblock is located) */
  794|     10|    file->base_addr = 0;
  795|       |
  796|       |    /* Set return value */
  797|     10|    ret_value = file;
  798|       |
  799|     10|done:
  800|       |    /* Can't cleanup 'file' information, since we don't know what type it is */
  801|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  802|     10|} /* end H5FD_open() */
H5FD_close:
  849|     10|{
  850|     10|    const H5FD_class_t *driver;
  851|     10|    herr_t              ret_value = SUCCEED;
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
  852|       |
  853|     10|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     10|    {                                                                                                        \
  |  | 1392|     10|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     10|        {
  ------------------
  854|       |
  855|       |    /* Sanity checks */
  856|     10|    assert(file);
  857|     10|    assert(file->cls);
  858|       |
  859|       |    /* Prepare to close file by clearing all public fields */
  860|     10|    driver = file->cls;
  861|     10|    if (H5I_dec_ref(file->driver_id) < 0)
  ------------------
  |  Branch (861:9): [True: 0, False: 10]
  ------------------
  862|      0|        HGOTO_ERROR(H5E_VFL, H5E_CANTDEC, FAIL, "can't close driver ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  863|       |
  864|       |    /* Dispatch to the driver for actual close. If the driver fails to
  865|       |     * close the file then the file will be in an unusable state.
  866|       |     */
  867|     10|    assert(driver->close);
  868|     10|    if ((driver->close)(file) < 0)
  ------------------
  |  Branch (868:9): [True: 0, False: 10]
  ------------------
  869|      0|        HGOTO_ERROR(H5E_VFL, H5E_CANTCLOSEFILE, FAIL, "close failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  870|       |
  871|     10|done:
  872|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  873|     10|} /* end H5FD_close() */
H5FD_get_maxaddr:
 1275|     10|{
 1276|     10|    haddr_t ret_value = HADDR_UNDEF; /* Return value */
  ------------------
  |  |  336|     10|#define HADDR_UNDEF         UINT64_MAX
  ------------------
 1277|       |
 1278|     10|    FUNC_ENTER_NOAPI_NOERR
  ------------------
  |  | 1397|     10|    {                                                                                                        \
  |  | 1398|     10|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|     10|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1399|     10|        {
  ------------------
 1279|       |
 1280|       |    /* Sanity checks */
 1281|     10|    assert(file);
 1282|       |
 1283|       |    /* Set return value */
 1284|     10|    ret_value = file->maxaddr;
 1285|       |
 1286|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1287|     10|} /* end H5FD_get_maxaddr() */
H5FD_get_feature_flags:
 1300|     10|{
 1301|     10|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|     10|    {                                                                                                        \
  |  | 1425|     10|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|     10|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|     10|        {
  ------------------
 1302|       |
 1303|       |    /* Sanity checks */
 1304|     10|    assert(file);
 1305|     10|    assert(feature_flags);
 1306|       |
 1307|       |    /* Set feature flags to return */
 1308|     10|    *feature_flags = file->feature_flags;
 1309|       |
 1310|     10|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1311|     10|} /* end H5FD_get_feature_flags() */
H5FD_get_fs_type_map:
 1347|     10|{
 1348|     10|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
 1349|       |
 1350|     10|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     10|    {                                                                                                        \
  |  | 1392|     10|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     10|        {
  ------------------
 1351|       |
 1352|       |    /* Sanity checks */
 1353|     10|    assert(file);
 1354|     10|    assert(file->cls);
 1355|     10|    assert(type_map);
 1356|       |
 1357|       |    /* Check for VFD class providing a type map retrieval routine */
 1358|     10|    if (file->cls->get_type_map) {
  ------------------
  |  Branch (1358:9): [True: 0, False: 10]
  ------------------
 1359|       |        /* Retrieve type mapping for this file */
 1360|      0|        if ((file->cls->get_type_map)(file, type_map) < 0)
  ------------------
  |  Branch (1360:13): [True: 0, False: 0]
  ------------------
 1361|      0|            HGOTO_ERROR(H5E_VFL, H5E_CANTGET, FAIL, "driver get type map failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1362|      0|    } /* end if */
 1363|     10|    else
 1364|       |        /* Copy class's default free space type mapping */
 1365|     10|        H5MM_memcpy(type_map, file->cls->fl_map, sizeof(file->cls->fl_map));
  ------------------
  |  |   41|     10|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
 1366|       |
 1367|     10|done:
 1368|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1369|     10|} /* end H5FD_get_fs_type_map() */
H5FD_lock:
 2367|     10|{
 2368|     10|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
 2369|       |
 2370|     10|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     10|    {                                                                                                        \
  |  | 1392|     10|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     10|        {
  ------------------
 2371|       |
 2372|       |    /* Sanity checks */
 2373|     10|    assert(file);
 2374|     10|    assert(file->cls);
 2375|       |
 2376|       |    /* Dispatch to driver */
 2377|     10|    if (file->cls->lock && (file->cls->lock)(file, rw) < 0)
  ------------------
  |  Branch (2377:9): [True: 10, False: 0]
  |  Branch (2377:28): [True: 0, False: 10]
  ------------------
 2378|      0|        HGOTO_ERROR(H5E_VFL, H5E_CANTLOCKFILE, FAIL, "driver lock request failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2379|       |
 2380|     10|done:
 2381|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2382|     10|} /* end H5FD_lock() */
H5FD_get_fileno:
 2555|    142|{
 2556|    142|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|    142|    {                                                                                                        \
  |  | 1425|    142|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    142|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|    142|        {
  ------------------
 2557|       |
 2558|       |    /* Sanity checks */
 2559|    142|    assert(file);
 2560|    142|    assert(filenum);
 2561|       |
 2562|       |    /* Retrieve the file's serial number */
 2563|    142|    *filenum = file->fileno;
 2564|       |
 2565|    142|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|    142|    ;                                                                                                        \
  |  | 1573|    142|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    142|    return (ret_value);                                                                                      \
  |  | 1575|    142|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2566|    142|} /* end H5FD_get_fileno() */
H5FD_set_base_addr:
 2650|      8|{
 2651|      8|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      8|    {                                                                                                        \
  |  | 1425|      8|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      8|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      8|        {
  ------------------
 2652|       |
 2653|       |    /* Sanity checks */
 2654|      8|    assert(file);
 2655|      8|    assert(H5_addr_defined(base_addr));
 2656|       |
 2657|       |    /* Set the file's base address */
 2658|      8|    file->base_addr = base_addr;
 2659|       |
 2660|      8|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|      8|    ;                                                                                                        \
  |  | 1573|      8|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      8|    return (ret_value);                                                                                      \
  |  | 1575|      8|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2661|      8|} /* end H5FD_set_base_addr() */
H5FD_set_paged_aggr:
 2696|      7|{
 2697|      7|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      7|    {                                                                                                        \
  |  | 1425|      7|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      7|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      7|        {
  ------------------
 2698|       |
 2699|       |    /* Sanity checks */
 2700|      7|    assert(file);
 2701|       |
 2702|       |    /* Indicate whether paged aggregation for handling file space is enabled or not */
 2703|      7|    file->paged_aggr = paged;
 2704|       |
 2705|      7|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2706|      7|} /* end H5FD_set_paged_aggr() */
H5FD.c:H5FD__free_cls:
  165|      1|{
  166|      1|    herr_t ret_value = SUCCEED;
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  167|       |
  168|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
  169|       |
  170|       |    /* Sanity checks */
  171|      1|    assert(cls);
  172|       |
  173|       |    /* If the file driver has a terminate callback, call it to give the file
  174|       |     * driver a chance to free singletons or other resources which will become
  175|       |     * invalid once the class structure is freed.
  176|       |     */
  177|      1|    if (cls->terminate && cls->terminate() < 0)
  ------------------
  |  Branch (177:9): [True: 1, False: 0]
  |  Branch (177:27): [True: 0, False: 1]
  ------------------
  178|      0|        HGOTO_ERROR(H5E_VFL, H5E_CANTCLOSEOBJ, FAIL, "virtual file driver '%s' did not terminate cleanly",
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  179|      1|                    cls->name);
  180|       |
  181|      1|    H5MM_xfree(cls);
  182|       |
  183|      1|done:
  184|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  185|      1|} /* end H5FD__free_cls() */
H5FD.c:H5FD__query:
  996|     10|{
  997|     10|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
  998|       |
  999|     10|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     10|    {                                                                                                        \
  |  | 1461|     10|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     10|        {
  ------------------
 1000|       |
 1001|       |    /* Sanity checks */
 1002|     10|    assert(file);
 1003|     10|    assert(file->cls);
 1004|     10|    assert(flags);
 1005|       |
 1006|       |    /* Dispatch to driver (if available) */
 1007|     10|    if (file->cls->query) {
  ------------------
  |  Branch (1007:9): [True: 10, False: 0]
  ------------------
 1008|     10|        if ((file->cls->query)(file, flags) < 0)
  ------------------
  |  Branch (1008:13): [True: 0, False: 10]
  ------------------
 1009|      0|            HGOTO_ERROR(H5E_VFL, H5E_CANTGET, FAIL, "unable to query feature flags");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1010|     10|    }
 1011|      0|    else
 1012|      0|        *flags = 0;
 1013|       |
 1014|     10|done:
 1015|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1016|     10|} /* end H5FD_query() */

H5FD_locate_signature:
  149|     10|{
  150|     10|    haddr_t  addr = HADDR_UNDEF;
  ------------------
  |  |  336|     10|#define HADDR_UNDEF         UINT64_MAX
  ------------------
  151|     10|    haddr_t  eoa  = HADDR_UNDEF;
  ------------------
  |  |  336|     10|#define HADDR_UNDEF         UINT64_MAX
  ------------------
  152|     10|    haddr_t  eof  = HADDR_UNDEF;
  ------------------
  |  |  336|     10|#define HADDR_UNDEF         UINT64_MAX
  ------------------
  153|     10|    uint8_t  buf[H5F_SIGNATURE_LEN];
  154|     10|    unsigned n;
  155|     10|    unsigned maxpow;
  156|     10|    herr_t   ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
  157|       |
  158|     10|    FUNC_ENTER_NOAPI_NOINIT
  ------------------
  |  | 1410|     10|    {                                                                                                        \
  |  | 1411|     10|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1412|     10|        {
  ------------------
  159|       |
  160|       |    /* Sanity checks */
  161|     10|    assert(file);
  162|     10|    assert(sig_addr);
  163|       |
  164|       |    /* Find the least N such that 2^N is larger than the file size */
  165|     10|    eof  = H5FD_get_eof(file, H5FD_MEM_SUPER);
  166|     10|    eoa  = H5FD_get_eoa(file, H5FD_MEM_SUPER);
  167|     10|    addr = MAX(eof, eoa);
  ------------------
  |  |  300|     10|#define MAX(a, b)        (((a) > (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (300:27): [True: 10, False: 0]
  |  |  ------------------
  ------------------
  168|     10|    if (HADDR_UNDEF == addr)
  ------------------
  |  |  336|     10|#define HADDR_UNDEF         UINT64_MAX
  ------------------
  |  Branch (168:9): [True: 0, False: 10]
  ------------------
  169|      0|        HGOTO_ERROR(H5E_IO, H5E_CANTINIT, FAIL, "unable to obtain EOF/EOA value");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  170|    196|    for (maxpow = 0; addr; maxpow++)
  ------------------
  |  Branch (170:22): [True: 186, False: 10]
  ------------------
  171|    186|        addr >>= 1;
  172|     10|    maxpow = MAX(maxpow, 9);
  ------------------
  |  |  300|     10|#define MAX(a, b)        (((a) > (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (300:27): [True: 10, False: 0]
  |  |  ------------------
  ------------------
  173|       |
  174|       |    /* Search for the file signature at format address zero followed by
  175|       |     * powers of two larger than 9.
  176|       |     */
  177|     51|    for (n = 8; n < maxpow; n++) {
  ------------------
  |  Branch (177:17): [True: 48, False: 3]
  ------------------
  178|     48|        addr = (8 == n) ? 0 : (haddr_t)1 << n;
  ------------------
  |  Branch (178:16): [True: 10, False: 38]
  ------------------
  179|     48|        if (H5FD_set_eoa(file, H5FD_MEM_SUPER, addr + H5F_SIGNATURE_LEN) < 0)
  ------------------
  |  |  299|     48|#define H5F_SIGNATURE_LEN 8
  ------------------
  |  Branch (179:13): [True: 0, False: 48]
  ------------------
  180|      0|            HGOTO_ERROR(H5E_IO, H5E_CANTINIT, FAIL, "unable to set EOA value for file signature");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  181|     48|        if (H5FD_read(file, H5FD_MEM_SUPER, addr, (size_t)H5F_SIGNATURE_LEN, buf) < 0)
  ------------------
  |  |  299|     48|#define H5F_SIGNATURE_LEN 8
  ------------------
  |  Branch (181:13): [True: 0, False: 48]
  ------------------
  182|      0|            HGOTO_ERROR(H5E_IO, H5E_CANTINIT, FAIL, "unable to read file signature");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  183|     48|        if (!memcmp(buf, H5F_SIGNATURE, (size_t)H5F_SIGNATURE_LEN))
  ------------------
  |  |  298|     48|#define H5F_SIGNATURE     "\211HDF\r\n\032\n"
  ------------------
                      if (!memcmp(buf, H5F_SIGNATURE, (size_t)H5F_SIGNATURE_LEN))
  ------------------
  |  |  299|     48|#define H5F_SIGNATURE_LEN 8
  ------------------
  |  Branch (183:13): [True: 7, False: 41]
  ------------------
  184|      7|            break;
  185|     48|    }
  186|       |
  187|       |    /* If the signature was not found then reset the EOA value and return
  188|       |     * HADDR_UNDEF.
  189|       |     */
  190|     10|    if (n >= maxpow) {
  ------------------
  |  Branch (190:9): [True: 3, False: 7]
  ------------------
  191|      3|        if (H5FD_set_eoa(file, H5FD_MEM_SUPER, eoa) < 0)
  ------------------
  |  Branch (191:13): [True: 0, False: 3]
  ------------------
  192|      0|            HGOTO_ERROR(H5E_IO, H5E_CANTINIT, FAIL, "unable to reset EOA value");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  193|      3|        *sig_addr = HADDR_UNDEF;
  ------------------
  |  |  336|      3|#define HADDR_UNDEF         UINT64_MAX
  ------------------
  194|      3|    }
  195|      7|    else
  196|       |        /* Set return value */
  197|      7|        *sig_addr = addr;
  198|       |
  199|     10|done:
  200|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  201|     10|} /* end H5FD_locate_signature() */
H5FD_read:
  214|    218|{
  215|    218|    hid_t    dxpl_id = H5I_INVALID_HID; /* DXPL for operation */
  ------------------
  |  |   75|    218|#define H5I_INVALID_HID (-1)
  ------------------
  216|    218|    uint32_t actual_selection_io_mode;
  217|    218|    herr_t   ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    218|#define SUCCEED 0
  ------------------
  218|       |
  219|    218|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    218|    {                                                                                                        \
  |  | 1392|    218|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    218|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    218|                                                                                                             \
  |  |  |  | 1267|    218|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    218|        {
  ------------------
  220|       |
  221|       |    /* Sanity checks */
  222|    218|    assert(file);
  223|    218|    assert(file->cls);
  224|    218|    assert(buf);
  225|       |
  226|       |    /* Get proper DXPL for I/O */
  227|    218|    dxpl_id = H5CX_get_dxpl();
  228|       |
  229|    218|#ifndef H5_HAVE_PARALLEL
  230|       |    /* The no-op case
  231|       |     *
  232|       |     * Do not return early for Parallel mode since the I/O could be a
  233|       |     * collective transfer.
  234|       |     */
  235|    218|    if (0 == size)
  ------------------
  |  Branch (235:9): [True: 0, False: 218]
  ------------------
  236|      0|        HGOTO_DONE(SUCCEED);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  237|    218|#endif /* H5_HAVE_PARALLEL */
  238|       |
  239|       |    /* If the file is open for SWMR read access, allow access to data past
  240|       |     * the end of the allocated space (the 'eoa').  This is done because the
  241|       |     * eoa stored in the file's superblock might be out of sync with the
  242|       |     * objects being written within the file by the application performing
  243|       |     * SWMR write operations.
  244|       |     */
  245|    218|    if (!(file->access_flags & H5F_ACC_SWMR_READ)) {
  ------------------
  |  |   61|    218|    (H5CHECK 0x0040u) /**< Indicate that this file is open for reading in a                                  \
  ------------------
  |  Branch (245:9): [True: 218, False: 0]
  ------------------
  246|    218|        haddr_t eoa;
  247|       |
  248|    218|        if (HADDR_UNDEF == (eoa = (file->cls->get_eoa)(file, type)))
  ------------------
  |  |  336|    218|#define HADDR_UNDEF         UINT64_MAX
  ------------------
  |  Branch (248:13): [True: 0, False: 218]
  ------------------
  249|      0|            HGOTO_ERROR(H5E_VFL, H5E_CANTINIT, FAIL, "driver get_eoa request failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  250|       |
  251|    218|        if ((addr + file->base_addr + size) > eoa)
  ------------------
  |  Branch (251:13): [True: 0, False: 218]
  ------------------
  252|      0|            HGOTO_ERROR(H5E_ARGS, H5E_OVERFLOW, FAIL, "addr overflow, addr = %llu, size = %llu, eoa = %llu",
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  253|    218|                        (unsigned long long)(addr + file->base_addr), (unsigned long long)size,
  254|    218|                        (unsigned long long)eoa);
  255|    218|    }
  256|       |
  257|       |    /* Dispatch to driver */
  258|    218|    if ((file->cls->read)(file, type, dxpl_id, addr + file->base_addr, size, buf) < 0)
  ------------------
  |  Branch (258:9): [True: 0, False: 218]
  ------------------
  259|      0|        HGOTO_ERROR(H5E_VFL, H5E_READERROR, FAIL, "driver read request failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  260|       |
  261|       |    /* Set actual selection I/O, if this is a raw data operation */
  262|    218|    if (type == H5FD_MEM_DRAW) {
  ------------------
  |  Branch (262:9): [True: 3, False: 215]
  ------------------
  263|      3|        H5CX_get_actual_selection_io_mode(&actual_selection_io_mode);
  264|      3|        actual_selection_io_mode |= H5D_SCALAR_IO;
  ------------------
  |  |  561|      3|#define H5D_SCALAR_IO    (0x0001u) /**< Scalar (or legacy MPIO) I/O was performed */
  ------------------
  265|      3|        H5CX_set_actual_selection_io_mode(actual_selection_io_mode);
  266|      3|    }
  267|       |
  268|    218|done:
  269|    218|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    218|    ;                                                                                                        \
  |  | 1573|    218|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    218|    return (ret_value);                                                                                      \
  |  | 1575|    218|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  270|    218|} /* end H5FD_read() */
H5FD_set_eoa:
 2388|     72|{
 2389|     72|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     72|#define SUCCEED 0
  ------------------
 2390|       |
 2391|     72|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     72|    {                                                                                                        \
  |  | 1392|     72|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     72|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     72|                                                                                                             \
  |  |  |  | 1267|     72|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     72|        {
  ------------------
 2392|       |
 2393|     72|    assert(file && file->cls);
 2394|     72|    assert(H5_addr_defined(addr) && addr <= file->maxaddr);
 2395|       |
 2396|       |    /* Dispatch to driver, convert to absolute address */
 2397|     72|    if ((file->cls->set_eoa)(file, type, addr + file->base_addr) < 0)
  ------------------
  |  Branch (2397:9): [True: 0, False: 72]
  ------------------
 2398|      0|        HGOTO_ERROR(H5E_VFL, H5E_CANTINIT, FAIL, "driver set_eoa request failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2399|       |
 2400|     72|done:
 2401|     72|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     72|    ;                                                                                                        \
  |  | 1573|     72|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     72|    return (ret_value);                                                                                      \
  |  | 1575|     72|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2402|     72|} /* end H5FD_set_eoa() */
H5FD_get_eoa:
 2422|    214|{
 2423|    214|    haddr_t ret_value = HADDR_UNDEF; /* Return value */
  ------------------
  |  |  336|    214|#define HADDR_UNDEF         UINT64_MAX
  ------------------
 2424|       |
 2425|    214|    FUNC_ENTER_NOAPI(HADDR_UNDEF)
  ------------------
  |  | 1391|    214|    {                                                                                                        \
  |  | 1392|    214|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    214|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    214|                                                                                                             \
  |  |  |  | 1267|    214|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    214|        {
  ------------------
 2426|       |
 2427|    214|    assert(file && file->cls);
 2428|       |
 2429|       |    /* Dispatch to driver */
 2430|    214|    if (HADDR_UNDEF == (ret_value = (file->cls->get_eoa)(file, type)))
  ------------------
  |  |  336|    214|#define HADDR_UNDEF         UINT64_MAX
  ------------------
  |  Branch (2430:9): [True: 0, False: 214]
  ------------------
 2431|      0|        HGOTO_ERROR(H5E_VFL, H5E_CANTINIT, HADDR_UNDEF, "driver get_eoa request failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2432|       |
 2433|       |    /* Adjust for base address in file (convert to relative address) */
 2434|    214|    ret_value -= file->base_addr;
 2435|       |
 2436|    214|done:
 2437|    214|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    214|    ;                                                                                                        \
  |  | 1573|    214|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    214|    return (ret_value);                                                                                      \
  |  | 1575|    214|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2438|    214|} /* end H5FD_get_eoa() */
H5FD_get_eof:
 2458|     37|{
 2459|     37|    haddr_t ret_value = HADDR_UNDEF; /* Return value */
  ------------------
  |  |  336|     37|#define HADDR_UNDEF         UINT64_MAX
  ------------------
 2460|       |
 2461|     37|    FUNC_ENTER_NOAPI(HADDR_UNDEF)
  ------------------
  |  | 1391|     37|    {                                                                                                        \
  |  | 1392|     37|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     37|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     37|                                                                                                             \
  |  |  |  | 1267|     37|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     37|        {
  ------------------
 2462|       |
 2463|     37|    assert(file && file->cls);
 2464|       |
 2465|       |    /* Dispatch to driver */
 2466|     37|    if (file->cls->get_eof) {
  ------------------
  |  Branch (2466:9): [True: 37, False: 0]
  ------------------
 2467|     37|        if (HADDR_UNDEF == (ret_value = (file->cls->get_eof)(file, type)))
  ------------------
  |  |  336|     37|#define HADDR_UNDEF         UINT64_MAX
  ------------------
  |  Branch (2467:13): [True: 0, False: 37]
  ------------------
 2468|      0|            HGOTO_ERROR(H5E_VFL, H5E_CANTGET, HADDR_UNDEF, "driver get_eof request failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2469|     37|    }
 2470|      0|    else
 2471|      0|        ret_value = file->maxaddr;
 2472|       |
 2473|       |    /* Adjust for base address in file (convert to relative address)  */
 2474|     37|    ret_value -= file->base_addr;
 2475|       |
 2476|     37|done:
 2477|     37|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     37|    ;                                                                                                        \
  |  | 1573|     37|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     37|    return (ret_value);                                                                                      \
  |  | 1575|     37|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2478|     37|} /* end H5FD_get_eof() */
H5FD_driver_query:
 2494|     10|{
 2495|     10|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
 2496|       |
 2497|     10|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|     10|    {                                                                                                        \
  |  | 1425|     10|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|     10|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|     10|        {
  ------------------
 2498|       |
 2499|     10|    assert(driver);
 2500|     10|    assert(flags);
 2501|       |
 2502|       |    /* Check for the driver to query and then query it */
 2503|     10|    if (driver->query)
  ------------------
  |  Branch (2503:9): [True: 10, False: 0]
  ------------------
 2504|     10|        ret_value = (driver->query)(NULL, flags);
 2505|      0|    else
 2506|      0|        *flags = 0;
 2507|       |
 2508|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2509|     10|} /* end H5FD_driver_query() */

H5FDperform_init:
   39|      1|{
   40|      1|    hid_t ret_value = H5I_INVALID_HID; /* Return value */
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
   41|       |
   42|      1|    FUNC_ENTER_API_NOINIT
  ------------------
  |  | 1333|      1|    {                                                                                                        \
  |  | 1334|      1|        {                                                                                                    \
  |  | 1335|      1|            {                                                                                                \
  |  | 1336|      1|                FUNC_ENTER_API_COMMON                                                                        \
  |  |  ------------------
  |  |  |  | 1281|      1|    FUNC_ENTER_COMMON(H5_IS_API(__func__));                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  ------------------
  |  |  |  | 1282|      1|    FUNC_ENTER_API_THREADSAFE;
  |  |  ------------------
  |  | 1337|      1|                {
  ------------------
   43|       |
   44|       |    /* It is possible that an application will evaluate an
   45|       |     * `H5FD_*` symbol (`H5FD_FAMILY`, `H5FD_MULTI`, `H5FD_SEC2`, etc.
   46|       |     * before the library has had an opportunity to initialize. Call
   47|       |     * H5_init_library() to make sure that the library has been initialized
   48|       |     * before `init` is run.
   49|       |     */
   50|      1|    if (H5_init_library() < 0)
  ------------------
  |  Branch (50:9): [True: 0, False: 1]
  ------------------
   51|      0|        HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, H5I_INVALID_HID, "library initialization failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   52|       |
   53|      1|    ret_value = op();
   54|       |
   55|      1|done:
   56|      1|    FUNC_LEAVE_API_NOINIT(ret_value)
  ------------------
  |  | 1524|      1|    ;                                                                                                        \
  |  | 1525|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1526|      1|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|      1|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1527|      1|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1528|      1|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1529|      1|    return (ret_value);                                                                                      \
  |  | 1530|      1|    }                                                                                                        \
  |  | 1531|      1|    }                                                                                                        \
  |  | 1532|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
   57|      1|}

H5FD_sec2_init:
  201|      2|{
  202|      2|    char *lock_env_var = NULL;            /* Environment variable pointer */
  203|      2|    hid_t ret_value    = H5I_INVALID_HID; /* Return value */
  ------------------
  |  |   75|      2|#define H5I_INVALID_HID (-1)
  ------------------
  204|       |
  205|      2|    FUNC_ENTER_NOAPI_NOERR
  ------------------
  |  | 1397|      2|    {                                                                                                        \
  |  | 1398|      2|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      2|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1399|      2|        {
  ------------------
  206|       |
  207|       |    /* Check the use disabled file locks environment variable */
  208|      2|    lock_env_var = getenv(HDF5_USE_FILE_LOCKING);
  ------------------
  |  |  221|      2|#define HDF5_USE_FILE_LOCKING "HDF5_USE_FILE_LOCKING"
  ------------------
  209|      2|    if (lock_env_var && !strcmp(lock_env_var, "BEST_EFFORT"))
  ------------------
  |  Branch (209:9): [True: 0, False: 2]
  |  Branch (209:25): [True: 0, False: 0]
  ------------------
  210|      0|        ignore_disabled_file_locks_s = true; /* Override: Ignore disabled locks */
  211|      2|    else if (lock_env_var && (!strcmp(lock_env_var, "TRUE") || !strcmp(lock_env_var, "1")))
  ------------------
  |  Branch (211:14): [True: 0, False: 2]
  |  Branch (211:31): [True: 0, False: 0]
  |  Branch (211:64): [True: 0, False: 0]
  ------------------
  212|      0|        ignore_disabled_file_locks_s = false; /* Override: Don't ignore disabled locks */
  213|      2|    else
  214|      2|        ignore_disabled_file_locks_s = FAIL; /* Environment variable not set, or not set correctly */
  ------------------
  |  |  284|      2|#define FAIL    (-1)
  ------------------
  215|       |
  216|      2|    if (H5I_VFL != H5I_get_type(H5FD_SEC2_g))
  ------------------
  |  Branch (216:9): [True: 1, False: 1]
  ------------------
  217|      1|        H5FD_SEC2_g = H5FD_register(&H5FD_sec2_g, sizeof(H5FD_class_t), false);
  218|       |
  219|       |    /* Set return value */
  220|      2|    ret_value = H5FD_SEC2_g;
  221|       |
  222|      2|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      2|    ;                                                                                                        \
  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  223|      2|} /* end H5FD_sec2_init() */
H5FDsec2.c:H5FD__sec2_term:
  236|      1|{
  237|      1|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|      1|    {                                                                                                        \
  |  | 1467|      1|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|      1|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|      1|        {
  ------------------
  238|       |
  239|       |    /* Reset VFL ID */
  240|      1|    H5FD_SEC2_g = 0;
  241|       |
  242|      1|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  243|      1|} /* end H5FD__sec2_term() */
H5FDsec2.c:H5FD__sec2_open:
  287|     10|{
  288|     10|    H5FD_sec2_t *file = NULL; /* sec2 VFD info            */
  289|     10|    int          fd   = -1;   /* File descriptor          */
  290|     10|    int          o_flags;     /* Flags for open() call    */
  291|       |#ifdef H5_HAVE_WIN32_API
  292|       |    struct _BY_HANDLE_FILE_INFORMATION fileinfo;
  293|       |#endif
  294|     10|    h5_stat_t       sb;
  295|     10|    H5P_genplist_t *plist;            /* Property list pointer */
  296|     10|    H5FD_t         *ret_value = NULL; /* Return value */
  297|       |
  298|     10|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     10|    {                                                                                                        \
  |  | 1461|     10|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     10|        {
  ------------------
  299|       |
  300|       |    /* Sanity check on file offsets */
  301|     10|    HDcompile_assert(sizeof(HDoff_t) >= sizeof(size_t));
  ------------------
  |  | 1611|     10|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  ------------------
  302|       |
  303|       |    /* Check arguments */
  304|     10|    if (!name || !*name)
  ------------------
  |  Branch (304:9): [True: 0, False: 10]
  |  Branch (304:18): [True: 0, False: 10]
  ------------------
  305|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, NULL, "invalid file name");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  306|     10|    if (0 == maxaddr || HADDR_UNDEF == maxaddr)
  ------------------
  |  |  336|     10|#define HADDR_UNDEF         UINT64_MAX
  ------------------
  |  Branch (306:9): [True: 0, False: 10]
  |  Branch (306:25): [True: 0, False: 10]
  ------------------
  307|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADRANGE, NULL, "bogus maxaddr");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  308|     10|    if (ADDR_OVERFLOW(maxaddr))
  ------------------
  |  |  116|     10|#define ADDR_OVERFLOW(A) (HADDR_UNDEF == (A) || ((A) & ~(haddr_t)MAXADDR))
  |  |  ------------------
  |  |  |  |  336|     10|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  |               #define ADDR_OVERFLOW(A) (HADDR_UNDEF == (A) || ((A) & ~(haddr_t)MAXADDR))
  |  |  ------------------
  |  |  |  |  115|     10|#define MAXADDR          (((haddr_t)1 << (8 * sizeof(HDoff_t) - 1)) - 1)
  |  |  ------------------
  |  |  |  Branch (116:27): [True: 0, False: 10]
  |  |  |  Branch (116:49): [True: 0, False: 10]
  |  |  ------------------
  ------------------
  309|      0|        HGOTO_ERROR(H5E_ARGS, H5E_OVERFLOW, NULL, "bogus maxaddr");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  310|       |
  311|       |    /* Build the open flags */
  312|     10|    o_flags = (H5F_ACC_RDWR & flags) ? O_RDWR : O_RDONLY;
  ------------------
  |  |   49|     10|#define H5F_ACC_RDWR   (H5CHECK H5OPEN 0x0001u) /**< Open for read and write    */
  ------------------
  |  Branch (312:15): [True: 0, False: 10]
  ------------------
  313|     10|    if (H5F_ACC_TRUNC & flags)
  ------------------
  |  |   50|     10|#define H5F_ACC_TRUNC  (H5CHECK H5OPEN 0x0002u) /**< Overwrite existing files   */
  ------------------
  |  Branch (313:9): [True: 0, False: 10]
  ------------------
  314|      0|        o_flags |= O_TRUNC;
  315|     10|    if (H5F_ACC_CREAT & flags)
  ------------------
  |  |   53|     10|#define H5F_ACC_CREAT (H5CHECK H5OPEN 0x0010u) /**< Create non-existing files  */
  ------------------
  |  Branch (315:9): [True: 0, False: 10]
  ------------------
  316|      0|        o_flags |= O_CREAT;
  317|     10|    if (H5F_ACC_EXCL & flags)
  ------------------
  |  |   51|     10|#define H5F_ACC_EXCL   (H5CHECK H5OPEN 0x0004u) /**< Fail if file already exists*/
  ------------------
  |  Branch (317:9): [True: 0, False: 10]
  ------------------
  318|      0|        o_flags |= O_EXCL;
  319|       |
  320|       |    /* Open the file */
  321|     10|    if ((fd = HDopen(name, o_flags, H5_POSIX_CREATE_MODE_RW)) < 0) {
  ------------------
  |  |  765|     10|#define HDopen(F, ...) open(F, __VA_ARGS__)
  ------------------
  |  Branch (321:9): [True: 0, False: 10]
  ------------------
  322|      0|        int myerrno = errno;
  323|      0|        HGOTO_ERROR(
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  324|      0|            H5E_FILE, H5E_CANTOPENFILE, NULL,
  325|      0|            "unable to open file: name = '%s', errno = %d, error message = '%s', flags = %x, o_flags = %x",
  326|      0|            name, myerrno, strerror(myerrno), flags, (unsigned)o_flags);
  327|      0|    } /* end if */
  328|       |
  329|     10|    memset(&sb, 0, sizeof(h5_stat_t));
  330|     10|    if (HDfstat(fd, &sb) < 0)
  ------------------
  |  |  723|     10|#define HDfstat(F, B) fstat(F, B)
  ------------------
  |  Branch (330:9): [True: 0, False: 10]
  ------------------
  331|     10|        HSYS_GOTO_ERROR(H5E_FILE, H5E_BADFILE, NULL, "unable to fstat file");
  ------------------
  |  |  125|      0|    {                                                                                                        \
  |  |  126|      0|        int myerrno = errno;                                                                                 \
  |  |  127|      0|        /* Other projects may rely on the description format to get the errno and any changes should be      \
  |  |  128|      0|         * considered as an API change                                                                       \
  |  |  129|      0|         */                                                                                                  \
  |  |  130|      0|        HGOTO_ERROR(majorcode, minorcode, retcode, "%s, errno = %d, error message = '%s'", str, myerrno,     \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  131|      0|                    strerror(myerrno));                                                                      \
  |  |  132|      0|    }
  ------------------
  332|       |
  333|       |    /* Create the new file struct */
  334|     10|    if (NULL == (file = H5FL_CALLOC(H5FD_sec2_t)))
  ------------------
  |  |   78|     10|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|     10|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (334:9): [True: 0, False: 10]
  ------------------
  335|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "unable to allocate file struct");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  336|       |
  337|     10|    file->fd = fd;
  338|     10|    H5_CHECKED_ASSIGN(file->eof, haddr_t, sb.st_size, h5_stat_size_t);
  ------------------
  |  |  977|     10|    do {                                                                                                     \
  |  |  978|     10|        (dst) = (dsttype)(src);                                                                              \
  |  |  979|     10|    } while (0)
  |  |  ------------------
  |  |  |  Branch (979:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  339|       |#ifndef H5_HAVE_PREADWRITE
  340|       |    file->pos = HADDR_UNDEF;
  341|       |    file->op  = OP_UNKNOWN;
  342|       |#endif /* H5_HAVE_PREADWRITE */
  343|       |#ifdef H5_HAVE_WIN32_API
  344|       |    file->hFile = (HANDLE)_get_osfhandle(fd);
  345|       |    if (INVALID_HANDLE_VALUE == file->hFile)
  346|       |        HGOTO_ERROR(H5E_FILE, H5E_CANTOPENFILE, NULL, "unable to get Windows file handle");
  347|       |
  348|       |    if (!GetFileInformationByHandle((HANDLE)file->hFile, &fileinfo))
  349|       |        HGOTO_ERROR(H5E_FILE, H5E_CANTOPENFILE, NULL, "unable to get Windows file information");
  350|       |
  351|       |    file->nFileIndexHigh       = fileinfo.nFileIndexHigh;
  352|       |    file->nFileIndexLow        = fileinfo.nFileIndexLow;
  353|       |    file->dwVolumeSerialNumber = fileinfo.dwVolumeSerialNumber;
  354|       |#else  /* H5_HAVE_WIN32_API */
  355|     10|    file->device = sb.st_dev;
  356|     10|    file->inode  = sb.st_ino;
  357|     10|#endif /* H5_HAVE_WIN32_API */
  358|       |
  359|       |    /* Get the FAPL */
  360|     10|    if (NULL == (plist = (H5P_genplist_t *)H5I_object(fapl_id)))
  ------------------
  |  Branch (360:9): [True: 0, False: 10]
  ------------------
  361|      0|        HGOTO_ERROR(H5E_VFL, H5E_BADTYPE, NULL, "not a file access property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  362|       |
  363|       |    /* Check the file locking flags in the fapl */
  364|     10|    if (ignore_disabled_file_locks_s != FAIL)
  ------------------
  |  |  284|     10|#define FAIL    (-1)
  ------------------
  |  Branch (364:9): [True: 0, False: 10]
  ------------------
  365|       |        /* The environment variable was set, so use that preferentially */
  366|      0|        file->ignore_disabled_file_locks = ignore_disabled_file_locks_s;
  367|     10|    else {
  368|       |        /* Use the value in the property list */
  369|     10|        if (H5P_get(plist, H5F_ACS_IGNORE_DISABLED_FILE_LOCKS_NAME, &file->ignore_disabled_file_locks) < 0)
  ------------------
  |  |  282|     10|    "ignore_disabled_file_locks" /* whether or not we ignore "locks disabled" errors */
  ------------------
  |  Branch (369:13): [True: 0, False: 10]
  ------------------
  370|      0|            HGOTO_ERROR(H5E_VFL, H5E_CANTGET, NULL, "can't get ignore disabled file locks property");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  371|     10|    }
  372|       |
  373|       |    /* Retain a copy of the name used to open the file, for possible error reporting */
  374|     10|    strncpy(file->filename, name, sizeof(file->filename) - 1);
  375|     10|    file->filename[sizeof(file->filename) - 1] = '\0';
  376|       |
  377|       |    /* Check for non-default FAPL */
  378|     10|    if (H5P_FILE_ACCESS_DEFAULT != fapl_id) {
  ------------------
  |  |  148|     10|#define H5P_FILE_ACCESS_DEFAULT (H5OPEN H5P_LST_FILE_ACCESS_ID_g)
  ------------------
  |  Branch (378:9): [True: 0, False: 10]
  ------------------
  379|       |
  380|       |        /* This step is for h5repart tool only. If user wants to change file driver from
  381|       |         * family to one that uses single files (sec2, etc.) while using h5repart, this
  382|       |         * private property should be set so that in the later step, the library can ignore
  383|       |         * the family driver information saved in the superblock.
  384|       |         */
  385|      0|        if (H5P_exist_plist(plist, H5F_ACS_FAMILY_TO_SINGLE_NAME) > 0)
  ------------------
  |  |  242|      0|    "family_to_single" /* Whether to convert family to a single-file driver.  (private property only used by \
  ------------------
  |  Branch (385:13): [True: 0, False: 0]
  ------------------
  386|      0|            if (H5P_get(plist, H5F_ACS_FAMILY_TO_SINGLE_NAME, &file->fam_to_single) < 0)
  ------------------
  |  |  242|      0|    "family_to_single" /* Whether to convert family to a single-file driver.  (private property only used by \
  ------------------
  |  Branch (386:17): [True: 0, False: 0]
  ------------------
  387|      0|                HGOTO_ERROR(H5E_VFL, H5E_CANTGET, NULL, "can't get property of changing family to single");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  388|      0|    } /* end if */
  389|       |
  390|       |    /* Set return value */
  391|     10|    ret_value = (H5FD_t *)file;
  392|       |
  393|     10|done:
  394|     10|    if (NULL == ret_value) {
  ------------------
  |  Branch (394:9): [True: 0, False: 10]
  ------------------
  395|      0|        if (fd >= 0)
  ------------------
  |  Branch (395:13): [True: 0, False: 0]
  ------------------
  396|      0|            HDclose(fd);
  ------------------
  |  |  679|      0|#define HDclose(F) close(F)
  ------------------
  397|      0|        if (file)
  ------------------
  |  Branch (397:13): [True: 0, False: 0]
  ------------------
  398|      0|            file = H5FL_FREE(H5FD_sec2_t, file);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  399|      0|    } /* end if */
  400|       |
  401|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  402|     10|} /* end H5FD__sec2_open() */
H5FDsec2.c:H5FD__sec2_close:
  416|     10|{
  417|     10|    H5FD_sec2_t *file      = (H5FD_sec2_t *)_file;
  418|     10|    herr_t       ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
  419|       |
  420|     10|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     10|    {                                                                                                        \
  |  | 1461|     10|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     10|        {
  ------------------
  421|       |
  422|       |    /* Sanity check */
  423|     10|    assert(file);
  424|       |
  425|       |    /* Close the underlying file */
  426|     10|    if (HDclose(file->fd) < 0)
  ------------------
  |  |  679|     10|#define HDclose(F) close(F)
  ------------------
  |  Branch (426:9): [True: 0, False: 10]
  ------------------
  427|     10|        HSYS_GOTO_ERROR(H5E_IO, H5E_CANTCLOSEFILE, FAIL, "unable to close file");
  ------------------
  |  |  125|      0|    {                                                                                                        \
  |  |  126|      0|        int myerrno = errno;                                                                                 \
  |  |  127|      0|        /* Other projects may rely on the description format to get the errno and any changes should be      \
  |  |  128|      0|         * considered as an API change                                                                       \
  |  |  129|      0|         */                                                                                                  \
  |  |  130|      0|        HGOTO_ERROR(majorcode, minorcode, retcode, "%s, errno = %d, error message = '%s'", str, myerrno,     \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  131|      0|                    strerror(myerrno));                                                                      \
  |  |  132|      0|    }
  ------------------
  428|       |
  429|       |    /* Release the file info */
  430|     10|    file = H5FL_FREE(H5FD_sec2_t, file);
  ------------------
  |  |   81|     10|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|     10|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  431|       |
  432|     10|done:
  433|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  434|     10|} /* end H5FD__sec2_close() */
H5FDsec2.c:H5FD__sec2_query:
  510|     20|{
  511|     20|    const H5FD_sec2_t *file = (const H5FD_sec2_t *)_file; /* sec2 VFD info */
  512|       |
  513|     20|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     20|    {                                                                                                        \
  |  | 1467|     20|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     20|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     20|        {
  ------------------
  514|       |
  515|       |    /* Set the VFL feature flags that this driver supports */
  516|       |    /* Notice: the Mirror VFD Writer currently uses only the Sec2 driver as
  517|       |     * the underlying driver -- as such, the Mirror VFD implementation copies
  518|       |     * these feature flags as its own. Any modifications made here must be
  519|       |     * reflected in H5FDmirror.c
  520|       |     * -- JOS 2020-01-13
  521|       |     */
  522|     20|    if (flags) {
  ------------------
  |  Branch (522:9): [True: 20, False: 0]
  ------------------
  523|     20|        *flags = 0;
  524|     20|        *flags |= H5FD_FEAT_AGGREGATE_METADATA;  /* OK to aggregate metadata allocations  */
  ------------------
  |  |   59|     20|#define H5FD_FEAT_AGGREGATE_METADATA 0x00000001
  ------------------
  525|     20|        *flags |= H5FD_FEAT_ACCUMULATE_METADATA; /* OK to accumulate metadata for faster writes */
  ------------------
  |  |   75|     20|    (H5FD_FEAT_ACCUMULATE_METADATA_WRITE | H5FD_FEAT_ACCUMULATE_METADATA_READ)
  |  |  ------------------
  |  |  |  |   72|     20|#define H5FD_FEAT_ACCUMULATE_METADATA_WRITE 0x00000002
  |  |  ------------------
  |  |                   (H5FD_FEAT_ACCUMULATE_METADATA_WRITE | H5FD_FEAT_ACCUMULATE_METADATA_READ)
  |  |  ------------------
  |  |  |  |   73|     20|#define H5FD_FEAT_ACCUMULATE_METADATA_READ  0x00000004
  |  |  ------------------
  ------------------
  526|     20|        *flags |= H5FD_FEAT_DATA_SIEVE; /* OK to perform data sieving for faster raw data reads & writes    */
  ------------------
  |  |   83|     20|#define H5FD_FEAT_DATA_SIEVE 0x00000008
  ------------------
  527|     20|        *flags |= H5FD_FEAT_AGGREGATE_SMALLDATA; /* OK to aggregate "small" raw data allocations */
  ------------------
  |  |   89|     20|#define H5FD_FEAT_AGGREGATE_SMALLDATA 0x00000010
  ------------------
  528|     20|        *flags |= H5FD_FEAT_POSIX_COMPAT_HANDLE; /* get_handle callback returns a POSIX file descriptor */
  ------------------
  |  |  109|     20|#define H5FD_FEAT_POSIX_COMPAT_HANDLE 0x00000080
  ------------------
  529|     20|        *flags |=
  530|     20|            H5FD_FEAT_SUPPORTS_SWMR_IO; /* VFD supports the single-writer/multiple-readers (SWMR) pattern   */
  ------------------
  |  |  138|     20|#define H5FD_FEAT_SUPPORTS_SWMR_IO 0x00001000
  ------------------
  531|     20|        *flags |= H5FD_FEAT_DEFAULT_VFD_COMPATIBLE; /* VFD creates a file which can be opened with the default
  ------------------
  |  |  160|     20|#define H5FD_FEAT_DEFAULT_VFD_COMPATIBLE 0x00008000
  ------------------
  532|       |                                                       VFD      */
  533|       |
  534|       |        /* Check for flags that are set by h5repart */
  535|     20|        if (file && file->fam_to_single)
  ------------------
  |  Branch (535:13): [True: 10, False: 10]
  |  Branch (535:21): [True: 0, False: 10]
  ------------------
  536|      0|            *flags |= H5FD_FEAT_IGNORE_DRVRINFO; /* Ignore the driver info when file is opened (which
  ------------------
  |  |   96|      0|#define H5FD_FEAT_IGNORE_DRVRINFO 0x00000020
  ------------------
  537|       |                                                    eliminates it) */
  538|     20|    }                                            /* end if */
  539|       |
  540|     20|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     20|    ;                                                                                                        \
  |  | 1573|     20|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     20|    return (ret_value);                                                                                      \
  |  | 1575|     20|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  541|     20|} /* end H5FD__sec2_query() */
H5FDsec2.c:H5FD__sec2_get_eoa:
  556|    432|{
  557|    432|    const H5FD_sec2_t *file = (const H5FD_sec2_t *)_file;
  558|       |
  559|    432|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|    432|    {                                                                                                        \
  |  | 1467|    432|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|    432|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|    432|        {
  ------------------
  560|       |
  561|    432|    FUNC_LEAVE_NOAPI(file->eoa)
  ------------------
  |  | 1572|    432|    ;                                                                                                        \
  |  | 1573|    432|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    432|    return (ret_value);                                                                                      \
  |  | 1575|    432|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  562|    432|} /* end H5FD__sec2_get_eoa() */
H5FDsec2.c:H5FD__sec2_set_eoa:
  577|     72|{
  578|     72|    H5FD_sec2_t *file = (H5FD_sec2_t *)_file;
  579|       |
  580|     72|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     72|    {                                                                                                        \
  |  | 1467|     72|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     72|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     72|        {
  ------------------
  581|       |
  582|     72|    file->eoa = addr;
  583|       |
  584|     72|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     72|    ;                                                                                                        \
  |  | 1573|     72|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     72|    return (ret_value);                                                                                      \
  |  | 1575|     72|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  585|     72|} /* end H5FD__sec2_set_eoa() */
H5FDsec2.c:H5FD__sec2_get_eof:
  601|     37|{
  602|     37|    const H5FD_sec2_t *file = (const H5FD_sec2_t *)_file;
  603|       |
  604|     37|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     37|    {                                                                                                        \
  |  | 1467|     37|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     37|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     37|        {
  ------------------
  605|       |
  606|     37|    FUNC_LEAVE_NOAPI(file->eof)
  ------------------
  |  | 1572|     37|    ;                                                                                                        \
  |  | 1573|     37|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     37|    return (ret_value);                                                                                      \
  |  | 1575|     37|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  607|     37|} /* end H5FD__sec2_get_eof() */
H5FDsec2.c:H5FD__sec2_read:
  651|    218|{
  652|    218|    H5FD_sec2_t *file      = (H5FD_sec2_t *)_file;
  653|    218|    HDoff_t      offset    = (HDoff_t)addr;
  ------------------
  |  |  667|    218|#define HDoff_t off_t
  ------------------
  654|    218|    herr_t       ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    218|#define SUCCEED 0
  ------------------
  655|       |
  656|    218|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    218|    {                                                                                                        \
  |  | 1461|    218|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    218|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    218|                                                                                                             \
  |  |  |  | 1267|    218|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    218|        {
  ------------------
  657|       |
  658|    218|    assert(file && file->pub.cls);
  659|    218|    assert(buf);
  660|       |
  661|       |    /* Check for overflow conditions */
  662|    218|    if (!H5_addr_defined(addr))
  ------------------
  |  |  449|    218|#define H5_addr_defined(X)       ((X) != HADDR_UNDEF)
  |  |  ------------------
  |  |  |  |  336|    218|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  ------------------
  |  Branch (662:9): [True: 0, False: 218]
  ------------------
  663|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "addr undefined, addr = %llu", (unsigned long long)addr);
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  664|    218|    if (REGION_OVERFLOW(addr, size))
  ------------------
  |  |  119|    218|    (ADDR_OVERFLOW(A) || SIZE_OVERFLOW(Z) || HADDR_UNDEF == (A) + (Z) || (HDoff_t)((A) + (Z)) < (HDoff_t)(A))
  |  |  ------------------
  |  |  |  |  116|    436|#define ADDR_OVERFLOW(A) (HADDR_UNDEF == (A) || ((A) & ~(haddr_t)MAXADDR))
  |  |  |  |  ------------------
  |  |  |  |  |  |  336|    218|#define HADDR_UNDEF         UINT64_MAX
  |  |  |  |  ------------------
  |  |  |  |               #define ADDR_OVERFLOW(A) (HADDR_UNDEF == (A) || ((A) & ~(haddr_t)MAXADDR))
  |  |  |  |  ------------------
  |  |  |  |  |  |  115|    218|#define MAXADDR          (((haddr_t)1 << (8 * sizeof(HDoff_t) - 1)) - 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (116:27): [True: 0, False: 218]
  |  |  |  |  |  Branch (116:49): [True: 0, False: 218]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                   (ADDR_OVERFLOW(A) || SIZE_OVERFLOW(Z) || HADDR_UNDEF == (A) + (Z) || (HDoff_t)((A) + (Z)) < (HDoff_t)(A))
  |  |  ------------------
  |  |  |  |  117|    436|#define SIZE_OVERFLOW(Z) ((Z) & ~(hsize_t)MAXADDR)
  |  |  |  |  ------------------
  |  |  |  |  |  |  115|    218|#define MAXADDR          (((haddr_t)1 << (8 * sizeof(HDoff_t) - 1)) - 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (117:26): [True: 0, False: 218]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                   (ADDR_OVERFLOW(A) || SIZE_OVERFLOW(Z) || HADDR_UNDEF == (A) + (Z) || (HDoff_t)((A) + (Z)) < (HDoff_t)(A))
  |  |  ------------------
  |  |  |  |  336|    218|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  |  |  Branch (119:46): [True: 0, False: 218]
  |  |  |  Branch (119:74): [True: 0, False: 218]
  |  |  ------------------
  ------------------
  665|      0|        HGOTO_ERROR(H5E_ARGS, H5E_OVERFLOW, FAIL, "addr overflow, addr = %llu", (unsigned long long)addr);
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  666|       |
  667|       |#ifndef H5_HAVE_PREADWRITE
  668|       |    /* Seek to the correct location (if we don't have pread) */
  669|       |    if (addr != file->pos || OP_READ != file->op)
  670|       |        if (HDlseek(file->fd, (HDoff_t)addr, SEEK_SET) < 0)
  671|       |            HSYS_GOTO_ERROR(H5E_IO, H5E_SEEKERROR, FAIL, "unable to seek to proper position");
  672|       |#endif /* H5_HAVE_PREADWRITE */
  673|       |
  674|       |    /* Read data, being careful of interrupted system calls, partial results,
  675|       |     * and the end of the file.
  676|       |     */
  677|    435|    while (size > 0) {
  ------------------
  |  Branch (677:12): [True: 218, False: 217]
  ------------------
  678|    218|        h5_posix_io_t     bytes_in   = 0;  /* # of bytes to read       */
  ------------------
  |  |  425|    218|#define h5_posix_io_t         size_t
  ------------------
  679|    218|        h5_posix_io_ret_t bytes_read = -1; /* # of bytes actually read */
  ------------------
  |  |  426|    218|#define h5_posix_io_ret_t     ssize_t
  ------------------
  680|       |
  681|       |        /* Trying to read more bytes than the return type can handle is
  682|       |         * undefined behavior in POSIX.
  683|       |         */
  684|    218|        if (size > H5_POSIX_MAX_IO_BYTES)
  ------------------
  |  |  427|    218|#define H5_POSIX_MAX_IO_BYTES SSIZE_MAX
  ------------------
  |  Branch (684:13): [True: 0, False: 218]
  ------------------
  685|      0|            bytes_in = H5_POSIX_MAX_IO_BYTES;
  ------------------
  |  |  427|      0|#define H5_POSIX_MAX_IO_BYTES SSIZE_MAX
  ------------------
  686|    218|        else
  687|    218|            bytes_in = (h5_posix_io_t)size;
  688|       |
  689|    218|        do {
  690|    218|#ifdef H5_HAVE_PREADWRITE
  691|    218|            bytes_read = HDpread(file->fd, buf, bytes_in, offset);
  ------------------
  |  |  771|    218|#define HDpread(F, B, C, O) pread(F, B, C, O)
  ------------------
  692|    218|            if (bytes_read > 0)
  ------------------
  |  Branch (692:17): [True: 217, False: 1]
  ------------------
  693|    217|                offset += bytes_read;
  694|       |#else
  695|       |            bytes_read  = HDread(file->fd, buf, bytes_in);
  696|       |#endif /* H5_HAVE_PREADWRITE */
  697|    218|        } while (-1 == bytes_read && EINTR == errno);
  ------------------
  |  Branch (697:18): [True: 0, False: 218]
  |  Branch (697:38): [True: 0, False: 0]
  ------------------
  698|       |
  699|    218|        if (-1 == bytes_read) { /* error */
  ------------------
  |  Branch (699:13): [True: 0, False: 218]
  ------------------
  700|      0|            int    myerrno = errno;
  701|      0|            time_t mytime  = time(NULL);
  702|       |
  703|      0|            offset = HDlseek(file->fd, 0, SEEK_CUR);
  ------------------
  |  |  753|      0|#define HDlseek(F, O, W) lseek(F, O, W)
  ------------------
  704|       |
  705|      0|            HGOTO_ERROR(H5E_IO, H5E_READERROR, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  706|      0|                        "file read failed: time = %s, filename = '%s', file descriptor = %d, errno = %d, "
  707|      0|                        "error message = '%s', buf = %p, total read size = %llu, bytes this sub-read = %llu, "
  708|      0|                        "bytes actually read = %llu, offset = %llu",
  709|      0|                        ctime(&mytime), file->filename, file->fd, myerrno, strerror(myerrno), buf,
  710|      0|                        (unsigned long long)size, (unsigned long long)bytes_in,
  711|      0|                        (unsigned long long)bytes_read, (unsigned long long)offset);
  712|      0|        } /* end if */
  713|       |
  714|    218|        if (0 == bytes_read) {
  ------------------
  |  Branch (714:13): [True: 1, False: 217]
  ------------------
  715|       |            /* end of file but not end of format address space */
  716|      1|            memset(buf, 0, size);
  717|      1|            break;
  718|      1|        } /* end if */
  719|       |
  720|    217|        assert(bytes_read >= 0);
  721|    217|        assert((size_t)bytes_read <= size);
  722|       |
  723|    217|        size -= (size_t)bytes_read;
  724|    217|        addr += (haddr_t)bytes_read;
  725|    217|        buf = (char *)buf + bytes_read;
  726|    217|    } /* end while */
  727|       |
  728|       |#ifndef H5_HAVE_PREADWRITE
  729|       |    /* Update current position */
  730|       |    file->pos = addr;
  731|       |    file->op  = OP_READ;
  732|       |#endif /* H5_HAVE_PREADWRITE */
  733|       |
  734|    218|done:
  735|       |#ifndef H5_HAVE_PREADWRITE
  736|       |    if (ret_value < 0) {
  737|       |        /* Reset last file I/O information */
  738|       |        file->pos = HADDR_UNDEF;
  739|       |        file->op  = OP_UNKNOWN;
  740|       |    }  /* end if */
  741|       |#endif /* H5_HAVE_PREADWRITE */
  742|       |
  743|    218|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    218|    ;                                                                                                        \
  |  | 1573|    218|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    218|    return (ret_value);                                                                                      \
  |  | 1575|    218|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  744|    218|} /* end H5FD__sec2_read() */
H5FDsec2.c:H5FD__sec2_lock:
  933|     10|{
  934|     10|    H5FD_sec2_t *file = (H5FD_sec2_t *)_file; /* VFD file struct          */
  935|     10|    int          lock_flags;                  /* file locking flags       */
  936|     10|    herr_t       ret_value = SUCCEED;         /* Return value             */
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
  937|       |
  938|     10|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     10|    {                                                                                                        \
  |  | 1461|     10|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     10|        {
  ------------------
  939|       |
  940|     10|    assert(file);
  941|       |
  942|       |    /* Set exclusive or shared lock based on rw status */
  943|     10|    lock_flags = rw ? LOCK_EX : LOCK_SH;
  ------------------
  |  Branch (943:18): [True: 0, False: 10]
  ------------------
  944|       |
  945|       |    /* Place a non-blocking lock on the file */
  946|     10|    if (HDflock(file->fd, lock_flags | LOCK_NB) < 0) {
  ------------------
  |  |  710|     10|#define HDflock(F, L) flock(F, L)
  ------------------
  |  Branch (946:9): [True: 0, False: 10]
  ------------------
  947|      0|        if (file->ignore_disabled_file_locks && ENOSYS == errno) {
  ------------------
  |  Branch (947:13): [True: 0, False: 0]
  |  Branch (947:49): [True: 0, False: 0]
  ------------------
  948|       |            /* When errno is set to ENOSYS, the file system does not support
  949|       |             * locking, so ignore it.
  950|       |             */
  951|      0|            errno = 0;
  952|      0|        }
  953|      0|        else
  954|      0|            HSYS_GOTO_ERROR(H5E_VFL, H5E_CANTLOCKFILE, FAIL, "unable to lock file");
  ------------------
  |  |  125|      0|    {                                                                                                        \
  |  |  126|      0|        int myerrno = errno;                                                                                 \
  |  |  127|      0|        /* Other projects may rely on the description format to get the errno and any changes should be      \
  |  |  128|      0|         * considered as an API change                                                                       \
  |  |  129|      0|         */                                                                                                  \
  |  |  130|      0|        HGOTO_ERROR(majorcode, minorcode, retcode, "%s, errno = %d, error message = '%s'", str, myerrno,     \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  131|      0|                    strerror(myerrno));                                                                      \
  |  |  132|      0|    }
  ------------------
  955|      0|    }
  956|       |
  957|     10|done:
  958|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  959|     10|} /* end H5FD__sec2_lock() */

H5FL_term_package:
  166|      1|{
  167|      1|    int n = 0;
  168|       |
  169|      1|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      1|    {                                                                                                        \
  |  | 1425|      1|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      1|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      1|        {
  ------------------
  170|       |
  171|       |        /* Garbage collect any nodes on the free lists */
  172|      1|        (void)
  173|      1|    H5FL_garbage_coll();
  174|       |
  175|       |    /* Shut down the various kinds of free lists */
  176|      1|    n += H5FL__reg_term();
  177|      1|    n += H5FL__fac_term_all();
  178|      1|    n += H5FL__arr_term();
  179|      1|    n += H5FL__blk_term();
  180|       |
  181|      1|    FUNC_LEAVE_NOAPI(n)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  182|      1|} /* end H5FL_term_package() */
H5FL_reg_free:
  269|  21.2k|{
  270|  21.2k|    void *ret_value = NULL; /* Return value */
  271|       |
  272|       |    /* NOINIT OK here because this must be called after H5FL_reg_malloc/calloc
  273|       |     * -NAF */
  274|  21.2k|    FUNC_ENTER_NOAPI_NOINIT
  ------------------
  |  | 1410|  21.2k|    {                                                                                                        \
  |  | 1411|  21.2k|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|  21.2k|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|  21.2k|                                                                                                             \
  |  |  |  | 1267|  21.2k|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1412|  21.2k|        {
  ------------------
  275|       |
  276|       |    /* Double check parameters */
  277|  21.2k|    assert(head);
  278|  21.2k|    assert(obj);
  279|       |
  280|       |#ifdef H5FL_DEBUG
  281|       |    memset(obj, 255, head->size);
  282|       |#endif /* H5FL_DEBUG */
  283|       |
  284|       |    /* Make certain that the free list is initialized */
  285|  21.2k|    assert(head->init);
  286|       |
  287|       |    /* Link into the free list */
  288|  21.2k|    ((H5FL_reg_node_t *)obj)->next = head->list;
  289|       |
  290|       |    /* Point free list at the node freed */
  291|  21.2k|    head->list = (H5FL_reg_node_t *)obj;
  292|       |
  293|       |    /* Increment the number of blocks on free list */
  294|  21.2k|    head->onlist++;
  295|       |
  296|       |    /* Increment the amount of "regular" freed memory globally */
  297|  21.2k|    H5FL_reg_gc_head.mem_freed += head->size;
  298|       |
  299|       |    /* Check for exceeding free list memory use limits */
  300|       |    /* First check this particular list */
  301|  21.2k|    if (head->onlist * head->size > H5FL_reg_lst_mem_lim)
  ------------------
  |  Branch (301:9): [True: 11, False: 21.2k]
  ------------------
  302|     11|        if (H5FL__reg_gc_list(head) < 0)
  ------------------
  |  Branch (302:13): [True: 0, False: 11]
  ------------------
  303|      0|            HGOTO_ERROR(H5E_RESOURCE, H5E_CANTGC, NULL, "garbage collection failed during free");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  304|       |
  305|       |    /* Then check the global amount memory on regular free lists */
  306|  21.2k|    if (H5FL_reg_gc_head.mem_freed > H5FL_reg_glb_mem_lim)
  ------------------
  |  Branch (306:9): [True: 0, False: 21.2k]
  ------------------
  307|      0|        if (H5FL__reg_gc() < 0)
  ------------------
  |  Branch (307:13): [True: 0, False: 0]
  ------------------
  308|      0|            HGOTO_ERROR(H5E_RESOURCE, H5E_CANTGC, NULL, "garbage collection failed during free");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  309|       |
  310|  21.2k|done:
  311|  21.2k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  21.2k|    ;                                                                                                        \
  |  | 1573|  21.2k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  21.2k|    return (ret_value);                                                                                      \
  |  | 1575|  21.2k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  312|  21.2k|} /* end H5FL_reg_free() */
H5FL_reg_malloc:
  326|  21.2k|{
  327|  21.2k|    void *ret_value = NULL; /* Pointer to object to return */
  328|       |
  329|  21.2k|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|  21.2k|    {                                                                                                        \
  |  | 1392|  21.2k|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|  21.2k|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|  21.2k|                                                                                                             \
  |  |  |  | 1267|  21.2k|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|  21.2k|        {
  ------------------
  330|       |
  331|       |    /* Double check parameters */
  332|  21.2k|    assert(head);
  333|       |
  334|       |    /* Make certain the list is initialized first */
  335|  21.2k|    if (!head->init)
  ------------------
  |  Branch (335:9): [True: 53, False: 21.2k]
  ------------------
  336|     53|        if (H5FL__reg_init(head) < 0)
  ------------------
  |  Branch (336:13): [True: 0, False: 53]
  ------------------
  337|      0|            HGOTO_ERROR(H5E_RESOURCE, H5E_CANTINIT, NULL, "can't initialize 'regular' blocks");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  338|       |
  339|       |    /* Check for nodes available on the free list first */
  340|  21.2k|    if (head->list != NULL) {
  ------------------
  |  Branch (340:9): [True: 19.3k, False: 1.95k]
  ------------------
  341|       |        /* Get a pointer to the block on the free list */
  342|  19.3k|        ret_value = (void *)(head->list);
  343|       |
  344|       |        /* Remove node from free list */
  345|  19.3k|        head->list = head->list->next;
  346|       |
  347|       |        /* Decrement the number of blocks & memory on free list */
  348|  19.3k|        head->onlist--;
  349|       |
  350|       |        /* Decrement the amount of global "regular" free list memory in use */
  351|  19.3k|        H5FL_reg_gc_head.mem_freed -= (head->size);
  352|  19.3k|    } /* end if */
  353|       |    /* Otherwise allocate a node */
  354|  1.95k|    else {
  355|  1.95k|        if (NULL == (ret_value = H5FL__malloc(head->size)))
  ------------------
  |  Branch (355:13): [True: 0, False: 1.95k]
  ------------------
  356|      0|            HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  357|       |
  358|       |        /* Increment the number of blocks allocated in list */
  359|  1.95k|        head->allocated++;
  360|  1.95k|    } /* end else */
  361|       |
  362|  21.2k|done:
  363|  21.2k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  21.2k|    ;                                                                                                        \
  |  | 1573|  21.2k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  21.2k|    return (ret_value);                                                                                      \
  |  | 1575|  21.2k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  364|  21.2k|} /* end H5FL_reg_malloc() */
H5FL_reg_calloc:
  378|  11.0k|{
  379|  11.0k|    void *ret_value = NULL; /* Pointer to object to return */
  380|       |
  381|  11.0k|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|  11.0k|    {                                                                                                        \
  |  | 1392|  11.0k|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|  11.0k|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|  11.0k|                                                                                                             \
  |  |  |  | 1267|  11.0k|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|  11.0k|        {
  ------------------
  382|       |
  383|       |    /* Double check parameters */
  384|  11.0k|    assert(head);
  385|       |
  386|       |    /* Allocate the block */
  387|  11.0k|    if (NULL == (ret_value = H5FL_reg_malloc(head)))
  ------------------
  |  Branch (387:9): [True: 0, False: 11.0k]
  ------------------
  388|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  389|       |
  390|       |    /* Clear to zeros */
  391|  11.0k|    memset(ret_value, 0, head->size);
  392|       |
  393|  11.0k|done:
  394|  11.0k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  11.0k|    ;                                                                                                        \
  |  | 1573|  11.0k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  11.0k|    return (ret_value);                                                                                      \
  |  | 1575|  11.0k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  395|  11.0k|} /* end H5FL_reg_calloc() */
H5FL_blk_malloc:
  725|    945|{
  726|    945|    H5FL_blk_node_t *free_list;        /* The free list of nodes of correct size */
  727|    945|    H5FL_blk_list_t *temp;             /* Temp. ptr to the new native list allocated */
  728|    945|    void            *ret_value = NULL; /* Pointer to the block to return to the user */
  729|       |
  730|    945|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|    945|    {                                                                                                        \
  |  | 1392|    945|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    945|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    945|                                                                                                             \
  |  |  |  | 1267|    945|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    945|        {
  ------------------
  731|       |
  732|       |    /* Double check parameters */
  733|    945|    assert(head);
  734|    945|    assert(size);
  735|       |
  736|       |    /* Make certain the list is initialized first */
  737|    945|    if (!head->init)
  ------------------
  |  Branch (737:9): [True: 16, False: 929]
  ------------------
  738|     16|        if (H5FL__blk_init(head) < 0)
  ------------------
  |  Branch (738:13): [True: 0, False: 16]
  ------------------
  739|      0|            HGOTO_ERROR(H5E_RESOURCE, H5E_CANTINIT, NULL, "can't initialize 'block' list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  740|       |
  741|       |    /* check if there is a free list for blocks of this size */
  742|       |    /* and if there are any blocks available on the list */
  743|    945|    if (NULL != (free_list = H5FL__blk_find_list(&(head->head), size)) && NULL != free_list->list) {
  ------------------
  |  Branch (743:9): [True: 900, False: 45]
  |  Branch (743:75): [True: 837, False: 63]
  ------------------
  744|       |        /* Remove the first node from the free list */
  745|    837|        temp            = free_list->list;
  746|    837|        free_list->list = free_list->list->next;
  747|       |
  748|       |        /* Decrement the number of blocks & memory used on free list */
  749|    837|        free_list->onlist--;
  750|    837|        head->onlist--;
  751|    837|        head->list_mem -= size;
  752|       |
  753|       |        /* Decrement the amount of global "block" free list memory in use */
  754|    837|        H5FL_blk_gc_head.mem_freed -= size;
  755|    837|    } /* end if */
  756|       |    /* No free list available, or there are no nodes on the list, allocate a new node to give to the user */
  757|    108|    else {
  758|       |        /* Check if there was no free list for native blocks of this size */
  759|    108|        if (NULL == free_list)
  ------------------
  |  Branch (759:13): [True: 45, False: 63]
  ------------------
  760|       |            /* Create a new list node and insert it to the queue */
  761|     45|            free_list = H5FL__blk_create_list(&(head->head), size);
  762|    108|        assert(free_list);
  763|       |
  764|       |        /* Allocate new node, with room for the page info header and the actual page data */
  765|    108|        if (NULL == (temp = (H5FL_blk_list_t *)H5FL__malloc(sizeof(H5FL_blk_list_t) + size)))
  ------------------
  |  Branch (765:13): [True: 0, False: 108]
  ------------------
  766|      0|            HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed for chunk");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  767|       |
  768|       |        /* Increment the number of blocks of this size */
  769|    108|        free_list->allocated++;
  770|       |
  771|       |        /* Increment the total number of blocks allocated */
  772|    108|        head->allocated++;
  773|    108|    } /* end else */
  774|       |
  775|       |    /* Initialize the block allocated */
  776|    945|    temp->size = size;
  777|       |
  778|       |    /* Set the return value to the block itself */
  779|    945|    ret_value = ((char *)temp) + sizeof(H5FL_blk_list_t);
  780|       |
  781|    945|done:
  782|    945|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    945|    ;                                                                                                        \
  |  | 1573|    945|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    945|    return (ret_value);                                                                                      \
  |  | 1575|    945|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  783|    945|} /* end H5FL_blk_malloc() */
H5FL_blk_calloc:
  801|     20|{
  802|     20|    void *ret_value = NULL; /* Pointer to the block to return to the user */
  803|       |
  804|     20|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|     20|    {                                                                                                        \
  |  | 1392|     20|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     20|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     20|                                                                                                             \
  |  |  |  | 1267|     20|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     20|        {
  ------------------
  805|       |
  806|       |    /* Double check parameters */
  807|     20|    assert(head);
  808|     20|    assert(size);
  809|       |
  810|       |    /* Allocate the block */
  811|     20|    if (NULL == (ret_value = H5FL_blk_malloc(head, size)))
  ------------------
  |  Branch (811:9): [True: 0, False: 20]
  ------------------
  812|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  813|       |
  814|       |    /* Clear the block to zeros */
  815|     20|    memset(ret_value, 0, size);
  816|       |
  817|     20|done:
  818|     20|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     20|    ;                                                                                                        \
  |  | 1573|     20|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     20|    return (ret_value);                                                                                      \
  |  | 1575|     20|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  819|     20|} /* end H5FL_blk_calloc() */
H5FL_blk_free:
  836|    945|{
  837|    945|    H5FL_blk_node_t *free_list;        /* The free list of nodes of correct size */
  838|    945|    H5FL_blk_list_t *temp;             /* Temp. ptr to the new free list node allocated */
  839|    945|    size_t           free_size;        /* Size of the block freed */
  840|    945|    void            *ret_value = NULL; /* Return value */
  841|       |
  842|       |    /* NOINIT OK here because this must be called after H5FL_blk_malloc/calloc
  843|       |     * -NAF */
  844|    945|    FUNC_ENTER_NOAPI_NOINIT
  ------------------
  |  | 1410|    945|    {                                                                                                        \
  |  | 1411|    945|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    945|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    945|                                                                                                             \
  |  |  |  | 1267|    945|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1412|    945|        {
  ------------------
  845|       |
  846|       |    /* Double check parameters */
  847|    945|    assert(head);
  848|    945|    assert(block);
  849|       |
  850|       |    /* Get the pointer to the native block info header in front of the native block to free */
  851|    945|    temp = (H5FL_blk_list_t *)((void *)((unsigned char *)block - sizeof(H5FL_blk_list_t)));
  852|       |
  853|       |    /* Save the block's size for later */
  854|    945|    free_size = temp->size;
  855|       |
  856|       |#ifdef H5FL_DEBUG
  857|       |    memset(temp, 255, free_size + sizeof(H5FL_blk_list_t));
  858|       |#endif /* H5FL_DEBUG */
  859|       |
  860|       |    /* Check if there is a free list for native blocks of this size */
  861|    945|    if (NULL == (free_list = H5FL__blk_find_list(&(head->head), free_size)))
  ------------------
  |  Branch (861:9): [True: 0, False: 945]
  ------------------
  862|       |        /* No free list available, create a new list node and insert it to the queue */
  863|      0|        free_list = H5FL__blk_create_list(&(head->head), free_size);
  864|    945|    if (NULL == free_list)
  ------------------
  |  Branch (864:9): [True: 0, False: 945]
  ------------------
  865|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_CANTALLOC, NULL, "couldn't create new list node");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  866|       |
  867|       |    /* Prepend the free'd native block to the front of the free list */
  868|    945|    temp->next      = free_list->list; /* Note: Overwrites the size field in union */
  869|    945|    free_list->list = temp;
  870|       |
  871|       |    /* Increment the number of blocks on free list */
  872|    945|    free_list->onlist++;
  873|    945|    head->onlist++;
  874|    945|    head->list_mem += free_size;
  875|       |
  876|       |    /* Increment the amount of "block" freed memory globally */
  877|    945|    H5FL_blk_gc_head.mem_freed += free_size;
  878|       |
  879|       |    /* Check for exceeding free list memory use limits */
  880|       |    /* First check this particular list */
  881|    945|    if (head->list_mem > H5FL_blk_lst_mem_lim)
  ------------------
  |  Branch (881:9): [True: 0, False: 945]
  ------------------
  882|      0|        if (H5FL__blk_gc_list(head) < 0)
  ------------------
  |  Branch (882:13): [True: 0, False: 0]
  ------------------
  883|      0|            HGOTO_ERROR(H5E_RESOURCE, H5E_CANTGC, NULL, "garbage collection failed during free");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  884|       |
  885|       |    /* Then check the global amount memory on block free lists */
  886|    945|    if (H5FL_blk_gc_head.mem_freed > H5FL_blk_glb_mem_lim)
  ------------------
  |  Branch (886:9): [True: 0, False: 945]
  ------------------
  887|      0|        if (H5FL__blk_gc() < 0)
  ------------------
  |  Branch (887:13): [True: 0, False: 0]
  ------------------
  888|      0|            HGOTO_ERROR(H5E_RESOURCE, H5E_CANTGC, NULL, "garbage collection failed during free");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  889|       |
  890|    945|done:
  891|    945|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    945|    ;                                                                                                        \
  |  | 1573|    945|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    945|    return (ret_value);                                                                                      \
  |  | 1575|    945|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  892|    945|} /* end H5FL_blk_free() */
H5FL_blk_realloc:
  908|    318|{
  909|    318|    void *ret_value = NULL; /* Return value */
  910|       |
  911|    318|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|    318|    {                                                                                                        \
  |  | 1392|    318|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    318|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    318|                                                                                                             \
  |  |  |  | 1267|    318|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    318|        {
  ------------------
  912|       |
  913|       |    /* Double check parameters */
  914|    318|    assert(head);
  915|    318|    assert(new_size);
  916|       |
  917|       |    /* Check if we are actually re-allocating a block */
  918|    318|    if (block != NULL) {
  ------------------
  |  Branch (918:9): [True: 167, False: 151]
  ------------------
  919|    167|        H5FL_blk_list_t *temp; /* Temp. ptr to the new block node allocated */
  920|       |
  921|       |        /* Get the pointer to the chunk info header in front of the chunk to free */
  922|    167|        temp = (H5FL_blk_list_t *)((void *)((unsigned char *)block - sizeof(H5FL_blk_list_t)));
  923|       |
  924|       |        /* check if we are actually changing the size of the buffer */
  925|    167|        if (new_size != temp->size) {
  ------------------
  |  Branch (925:13): [True: 167, False: 0]
  ------------------
  926|    167|            size_t blk_size; /* Temporary block size */
  927|       |
  928|    167|            if (NULL == (ret_value = H5FL_blk_malloc(head, new_size)))
  ------------------
  |  Branch (928:17): [True: 0, False: 167]
  ------------------
  929|      0|                HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed for block");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  930|    167|            blk_size = MIN(new_size, temp->size);
  ------------------
  |  |  293|    167|#define MIN(a, b)        (((a) < (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (293:27): [True: 0, False: 167]
  |  |  ------------------
  ------------------
  931|    167|            H5MM_memcpy(ret_value, block, blk_size);
  ------------------
  |  |   41|    167|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  932|    167|            H5FL_blk_free(head, block);
  933|    167|        } /* end if */
  934|      0|        else
  935|      0|            ret_value = block;
  936|    167|    } /* end if */
  937|       |    /* Not re-allocating, just allocate a fresh block */
  938|    151|    else
  939|    151|        ret_value = H5FL_blk_malloc(head, new_size);
  940|       |
  941|    318|done:
  942|    318|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    318|    ;                                                                                                        \
  |  | 1573|    318|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    318|    return (ret_value);                                                                                      \
  |  | 1575|    318|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  943|    318|} /* end H5FL_blk_realloc() */
H5FL_arr_free:
 1187|    272|{
 1188|    272|    H5FL_arr_list_t *temp;             /* Temp. ptr to the new free list node allocated */
 1189|    272|    size_t           mem_size;         /* Size of memory being freed */
 1190|    272|    size_t           free_nelem;       /* Number of elements in node being free'd */
 1191|    272|    void            *ret_value = NULL; /* Return value */
 1192|       |
 1193|       |    /* NOINIT OK here because this must be called after H5FL_arr_malloc/calloc
 1194|       |     * -NAF */
 1195|    272|    FUNC_ENTER_NOAPI_NOINIT
  ------------------
  |  | 1410|    272|    {                                                                                                        \
  |  | 1411|    272|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    272|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    272|                                                                                                             \
  |  |  |  | 1267|    272|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1412|    272|        {
  ------------------
 1196|       |
 1197|       |    /* The H5MM_xfree code allows obj to null */
 1198|    272|    if (!obj)
  ------------------
  |  Branch (1198:9): [True: 0, False: 272]
  ------------------
 1199|      0|        HGOTO_DONE(NULL);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1200|       |
 1201|       |    /* Double check parameters */
 1202|    272|    assert(head);
 1203|       |
 1204|       |    /* Make certain that the free list is initialized */
 1205|    272|    assert(head->init);
 1206|       |
 1207|       |    /* Get the pointer to the info header in front of the block to free */
 1208|    272|    temp = (H5FL_arr_list_t *)((void *)((unsigned char *)obj - sizeof(H5FL_arr_list_t)));
 1209|       |
 1210|       |    /* Get the number of elements */
 1211|    272|    free_nelem = temp->nelem;
 1212|       |
 1213|       |    /* Double-check that there is enough room for arrays of this size */
 1214|    272|    assert((int)free_nelem <= head->maxelem);
 1215|       |
 1216|       |    /* Link into the free list */
 1217|    272|    temp->next = head->list_arr[free_nelem].list;
 1218|       |
 1219|       |    /* Point free list at the node freed */
 1220|    272|    head->list_arr[free_nelem].list = temp;
 1221|       |
 1222|       |    /* Get the size of arrays with this many elements */
 1223|    272|    mem_size = head->list_arr[free_nelem].size;
 1224|       |
 1225|       |    /* Increment the number of blocks & memory used on free list */
 1226|    272|    head->list_arr[free_nelem].onlist++;
 1227|    272|    head->list_mem += mem_size;
 1228|       |
 1229|       |    /* Increment the amount of "array" freed memory globally */
 1230|    272|    H5FL_arr_gc_head.mem_freed += mem_size;
 1231|       |
 1232|       |    /* Check for exceeding free list memory use limits */
 1233|       |    /* First check this particular list */
 1234|    272|    if (head->list_mem > H5FL_arr_lst_mem_lim)
  ------------------
  |  Branch (1234:9): [True: 0, False: 272]
  ------------------
 1235|      0|        if (H5FL__arr_gc_list(head) < 0)
  ------------------
  |  Branch (1235:13): [True: 0, False: 0]
  ------------------
 1236|      0|            HGOTO_ERROR(H5E_RESOURCE, H5E_CANTGC, NULL, "garbage collection failed during free");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1237|       |
 1238|       |    /* Then check the global amount memory on array free lists */
 1239|    272|    if (H5FL_arr_gc_head.mem_freed > H5FL_arr_glb_mem_lim)
  ------------------
  |  Branch (1239:9): [True: 0, False: 272]
  ------------------
 1240|      0|        if (H5FL__arr_gc() < 0)
  ------------------
  |  Branch (1240:13): [True: 0, False: 0]
  ------------------
 1241|      0|            HGOTO_ERROR(H5E_RESOURCE, H5E_CANTGC, NULL, "garbage collection failed during free");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1242|       |
 1243|    272|done:
 1244|    272|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    272|    ;                                                                                                        \
  |  | 1573|    272|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    272|    return (ret_value);                                                                                      \
  |  | 1575|    272|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1245|    272|} /* end H5FL_arr_free() */
H5FL_arr_malloc:
 1259|    272|{
 1260|    272|    H5FL_arr_list_t *new_obj;          /* Pointer to the new free list node allocated */
 1261|    272|    size_t           mem_size;         /* Size of memory block being recycled */
 1262|    272|    void            *ret_value = NULL; /* Pointer to the block to return */
 1263|       |
 1264|    272|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|    272|    {                                                                                                        \
  |  | 1392|    272|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    272|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    272|                                                                                                             \
  |  |  |  | 1267|    272|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    272|        {
  ------------------
 1265|       |
 1266|       |    /* Double check parameters */
 1267|    272|    assert(head);
 1268|    272|    assert(elem);
 1269|       |
 1270|       |    /* Make certain the list is initialized first */
 1271|    272|    if (!head->init)
  ------------------
  |  Branch (1271:9): [True: 1, False: 271]
  ------------------
 1272|      1|        if (H5FL__arr_init(head) < 0)
  ------------------
  |  Branch (1272:13): [True: 0, False: 1]
  ------------------
 1273|      0|            HGOTO_ERROR(H5E_RESOURCE, H5E_CANTINIT, NULL, "can't initialize 'array' blocks");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1274|       |
 1275|       |    /* Sanity check that the number of elements is supported */
 1276|    272|    assert(elem <= (unsigned)head->maxelem);
 1277|       |
 1278|       |    /* Get the set of the memory block */
 1279|    272|    mem_size = head->list_arr[elem].size;
 1280|       |
 1281|       |    /* Check for nodes available on the free list first */
 1282|    272|    if (head->list_arr[elem].list != NULL) {
  ------------------
  |  Branch (1282:9): [True: 242, False: 30]
  ------------------
 1283|       |        /* Get a pointer to the block on the free list */
 1284|    242|        new_obj = head->list_arr[elem].list;
 1285|       |
 1286|       |        /* Remove node from free list */
 1287|    242|        head->list_arr[elem].list = head->list_arr[elem].list->next;
 1288|       |
 1289|       |        /* Decrement the number of blocks & memory used on free list */
 1290|    242|        head->list_arr[elem].onlist--;
 1291|    242|        head->list_mem -= mem_size;
 1292|       |
 1293|       |        /* Decrement the amount of global "array" free list memory in use */
 1294|    242|        H5FL_arr_gc_head.mem_freed -= mem_size;
 1295|       |
 1296|    242|    } /* end if */
 1297|       |    /* Otherwise allocate a node */
 1298|     30|    else {
 1299|     30|        if (NULL == (new_obj = (H5FL_arr_list_t *)H5FL__malloc(sizeof(H5FL_arr_list_t) + mem_size)))
  ------------------
  |  Branch (1299:13): [True: 0, False: 30]
  ------------------
 1300|      0|            HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1301|       |
 1302|       |        /* Increment the number of blocks of this size */
 1303|     30|        head->list_arr[elem].allocated++;
 1304|       |
 1305|       |        /* Increment the number of blocks allocated in list, of all sizes */
 1306|     30|        head->allocated++;
 1307|     30|    } /* end else */
 1308|       |
 1309|       |    /* Initialize the new object */
 1310|    272|    new_obj->nelem = elem;
 1311|       |
 1312|       |    /* Get a pointer to the new block */
 1313|    272|    ret_value = ((char *)new_obj) + sizeof(H5FL_arr_list_t);
 1314|       |
 1315|    272|done:
 1316|    272|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    272|    ;                                                                                                        \
  |  | 1573|    272|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    272|    return (ret_value);                                                                                      \
  |  | 1575|    272|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1317|    272|} /* end H5FL_arr_malloc() */
H5FL_seq_free:
 1576|    309|{
 1577|       |    /* NOINIT OK here because this must be called after H5FL_seq_malloc/calloc
 1578|       |     * -NAF */
 1579|    309|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|    309|    {                                                                                                        \
  |  | 1425|    309|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    309|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|    309|        {
  ------------------
 1580|       |
 1581|       |    /* Double check parameters */
 1582|    309|    assert(head);
 1583|    309|    assert(obj);
 1584|       |
 1585|       |    /* Make certain that the free list is initialized */
 1586|    309|    assert(head->queue.init);
 1587|       |
 1588|       |    /* Use block routine */
 1589|    309|    H5FL_blk_free(&(head->queue), obj);
 1590|       |
 1591|    309|    FUNC_LEAVE_NOAPI(NULL)
  ------------------
  |  | 1572|    309|    ;                                                                                                        \
  |  | 1573|    309|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    309|    return (ret_value);                                                                                      \
  |  | 1575|    309|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1592|    309|} /* end H5FL_seq_free() */
H5FL_seq_malloc:
 1606|    141|{
 1607|    141|    void *ret_value = NULL; /* Pointer to the block to return */
 1608|       |
 1609|    141|    FUNC_ENTER_NOAPI_NOERR
  ------------------
  |  | 1397|    141|    {                                                                                                        \
  |  | 1398|    141|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    141|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1399|    141|        {
  ------------------
 1610|       |
 1611|       |    /* Double check parameters */
 1612|    141|    assert(head);
 1613|    141|    assert(elem);
 1614|       |
 1615|       |    /* Use block routine */
 1616|    141|    ret_value = H5FL_blk_malloc(&(head->queue), head->size * elem);
 1617|       |
 1618|    141|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    141|    ;                                                                                                        \
  |  | 1573|    141|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    141|    return (ret_value);                                                                                      \
  |  | 1575|    141|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1619|    141|} /* end H5FL_seq_malloc() */
H5FL_seq_calloc:
 1633|     20|{
 1634|     20|    void *ret_value = NULL; /* Pointer to the block to return */
 1635|       |
 1636|     20|    FUNC_ENTER_NOAPI_NOERR
  ------------------
  |  | 1397|     20|    {                                                                                                        \
  |  | 1398|     20|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|     20|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1399|     20|        {
  ------------------
 1637|       |
 1638|       |    /* Double check parameters */
 1639|     20|    assert(head);
 1640|     20|    assert(elem);
 1641|       |
 1642|       |    /* Use block routine */
 1643|     20|    ret_value = H5FL_blk_calloc(&(head->queue), head->size * elem);
 1644|       |
 1645|     20|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     20|    ;                                                                                                        \
  |  | 1573|     20|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     20|    return (ret_value);                                                                                      \
  |  | 1575|     20|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1646|     20|} /* end H5FL_seq_calloc() */
H5FL_seq_realloc:
 1660|    315|{
 1661|    315|    void *ret_value = NULL; /* Pointer to the block to return */
 1662|       |
 1663|    315|    FUNC_ENTER_NOAPI_NOERR
  ------------------
  |  | 1397|    315|    {                                                                                                        \
  |  | 1398|    315|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    315|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1399|    315|        {
  ------------------
 1664|       |
 1665|       |    /* Double check parameters */
 1666|    315|    assert(head);
 1667|    315|    assert(new_elem);
 1668|       |
 1669|       |    /* Use block routine */
 1670|    315|    ret_value = H5FL_blk_realloc(&(head->queue), obj, head->size * new_elem);
 1671|       |
 1672|    315|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    315|    ;                                                                                                        \
  |  | 1573|    315|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    315|    return (ret_value);                                                                                      \
  |  | 1575|    315|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1673|    315|} /* end H5FL_seq_realloc() */
H5FL_fac_init:
 1687|      4|{
 1688|      4|    H5FL_fac_gc_node_t *new_node  = NULL; /* Pointer to the node for the new list to garbage collect */
 1689|      4|    H5FL_fac_head_t    *factory   = NULL; /* Pointer to new block factory */
 1690|      4|    H5FL_fac_head_t    *ret_value = NULL; /* Return value */
 1691|       |
 1692|      4|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|      4|    {                                                                                                        \
  |  | 1392|      4|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      4|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      4|                                                                                                             \
  |  |  |  | 1267|      4|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      4|        {
  ------------------
 1693|       |
 1694|       |    /* Sanity check */
 1695|      4|    assert(size > 0);
 1696|       |
 1697|       |    /* Allocate room for the new factory */
 1698|      4|    if (NULL == (factory = (H5FL_fac_head_t *)H5FL_CALLOC(H5FL_fac_head_t)))
  ------------------
  |  |   78|      4|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|      4|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (1698:9): [True: 0, False: 4]
  ------------------
 1699|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed for factory object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1700|       |
 1701|       |    /* Set size of blocks for factory */
 1702|      4|    factory->size = size;
 1703|       |
 1704|       |    /* Allocate a new garbage collection node */
 1705|      4|    if (NULL == (new_node = (H5FL_fac_gc_node_t *)H5FL_MALLOC(H5FL_fac_gc_node_t)))
  ------------------
  |  |   75|      4|#define H5FL_MALLOC(t) (t *)H5FL_reg_malloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|      4|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (1705:9): [True: 0, False: 4]
  ------------------
 1706|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1707|       |
 1708|       |    /* Initialize the new garbage collection node */
 1709|      4|    new_node->list = factory;
 1710|       |
 1711|       |    /* Link in to the garbage collection list */
 1712|      4|    new_node->next         = H5FL_fac_gc_head.first;
 1713|      4|    H5FL_fac_gc_head.first = new_node;
 1714|      4|    if (new_node->next)
  ------------------
  |  Branch (1714:9): [True: 3, False: 1]
  ------------------
 1715|      3|        new_node->next->list->prev_gc = new_node;
 1716|       |    /* The new factory's prev_gc field will be set to NULL */
 1717|       |
 1718|       |    /* Make certain that the space allocated is large enough to store a free list pointer (eventually) */
 1719|      4|    if (factory->size < sizeof(H5FL_fac_node_t))
  ------------------
  |  Branch (1719:9): [True: 0, False: 4]
  ------------------
 1720|      0|        factory->size = sizeof(H5FL_fac_node_t);
 1721|       |
 1722|       |    /* Indicate that the free list is initialized */
 1723|      4|    factory->init = true;
 1724|       |
 1725|       |    /* Set return value */
 1726|      4|    ret_value = factory;
 1727|       |
 1728|      4|done:
 1729|      4|    if (!ret_value) {
  ------------------
  |  Branch (1729:9): [True: 0, False: 4]
  ------------------
 1730|      0|        if (factory)
  ------------------
  |  Branch (1730:13): [True: 0, False: 0]
  ------------------
 1731|      0|            factory = H5FL_FREE(H5FL_fac_head_t, factory);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 1732|      0|        if (new_node)
  ------------------
  |  Branch (1732:13): [True: 0, False: 0]
  ------------------
 1733|      0|            new_node = H5FL_FREE(H5FL_fac_gc_node_t, new_node);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 1734|      0|    } /* end if */
 1735|       |
 1736|      4|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      4|    ;                                                                                                        \
  |  | 1573|      4|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      4|    return (ret_value);                                                                                      \
  |  | 1575|      4|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1737|      4|} /* end H5FL_fac_init() */
H5FL_fac_free:
 1750|  9.19k|{
 1751|  9.19k|    void *ret_value = NULL; /* Return value */
 1752|       |
 1753|       |    /* NOINIT OK here because this must be called after H5FL_fac_init -NAF */
 1754|  9.19k|    FUNC_ENTER_NOAPI_NOINIT
  ------------------
  |  | 1410|  9.19k|    {                                                                                                        \
  |  | 1411|  9.19k|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|  9.19k|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|  9.19k|                                                                                                             \
  |  |  |  | 1267|  9.19k|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1412|  9.19k|        {
  ------------------
 1755|       |
 1756|       |    /* Double check parameters */
 1757|  9.19k|    assert(head);
 1758|  9.19k|    assert(obj);
 1759|       |
 1760|       |#ifdef H5FL_DEBUG
 1761|       |    memset(obj, 255, head->size);
 1762|       |#endif /* H5FL_DEBUG */
 1763|       |
 1764|       |    /* Make certain that the free list is initialized */
 1765|  9.19k|    assert(head->init);
 1766|       |
 1767|       |    /* Link into the free list */
 1768|  9.19k|    ((H5FL_fac_node_t *)obj)->next = head->list;
 1769|       |
 1770|       |    /* Point free list at the node freed */
 1771|  9.19k|    head->list = (H5FL_fac_node_t *)obj;
 1772|       |
 1773|       |    /* Increment the number of blocks on free list */
 1774|  9.19k|    head->onlist++;
 1775|       |
 1776|       |    /* Increment the amount of "factory" freed memory globally */
 1777|  9.19k|    H5FL_fac_gc_head.mem_freed += head->size;
 1778|       |
 1779|       |    /* Check for exceeding free list memory use limits */
 1780|       |    /* First check this particular list */
 1781|  9.19k|    if (head->onlist * head->size > H5FL_fac_lst_mem_lim)
  ------------------
  |  Branch (1781:9): [True: 0, False: 9.19k]
  ------------------
 1782|      0|        if (H5FL__fac_gc_list(head) < 0)
  ------------------
  |  Branch (1782:13): [True: 0, False: 0]
  ------------------
 1783|      0|            HGOTO_ERROR(H5E_RESOURCE, H5E_CANTGC, NULL, "garbage collection failed during free");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1784|       |
 1785|       |    /* Then check the global amount memory on factory free lists */
 1786|  9.19k|    if (H5FL_fac_gc_head.mem_freed > H5FL_fac_glb_mem_lim)
  ------------------
  |  Branch (1786:9): [True: 0, False: 9.19k]
  ------------------
 1787|      0|        if (H5FL__fac_gc() < 0)
  ------------------
  |  Branch (1787:13): [True: 0, False: 0]
  ------------------
 1788|      0|            HGOTO_ERROR(H5E_RESOURCE, H5E_CANTGC, NULL, "garbage collection failed during free");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1789|       |
 1790|  9.19k|done:
 1791|  9.19k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  9.19k|    ;                                                                                                        \
  |  | 1573|  9.19k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  9.19k|    return (ret_value);                                                                                      \
  |  | 1575|  9.19k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1792|  9.19k|} /* end H5FL_fac_free() */
H5FL_fac_malloc:
 1806|  9.19k|{
 1807|  9.19k|    void *ret_value = NULL; /* Pointer to the block to return */
 1808|       |
 1809|       |    /* NOINIT OK here because this must be called after H5FL_fac_init -NAF */
 1810|  9.19k|    FUNC_ENTER_NOAPI_NOINIT
  ------------------
  |  | 1410|  9.19k|    {                                                                                                        \
  |  | 1411|  9.19k|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|  9.19k|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|  9.19k|                                                                                                             \
  |  |  |  | 1267|  9.19k|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1412|  9.19k|        {
  ------------------
 1811|       |
 1812|       |    /* Double check parameters */
 1813|  9.19k|    assert(head);
 1814|  9.19k|    assert(head->init);
 1815|       |
 1816|       |    /* Check for nodes available on the free list first */
 1817|  9.19k|    if (head->list != NULL) {
  ------------------
  |  Branch (1817:9): [True: 8.92k, False: 271]
  ------------------
 1818|       |        /* Get a pointer to the block on the free list */
 1819|  8.92k|        ret_value = (void *)(head->list);
 1820|       |
 1821|       |        /* Remove node from free list */
 1822|  8.92k|        head->list = head->list->next;
 1823|       |
 1824|       |        /* Decrement the number of blocks & memory on free list */
 1825|  8.92k|        head->onlist--;
 1826|       |
 1827|       |        /* Decrement the amount of global "factory" free list memory in use */
 1828|  8.92k|        H5FL_fac_gc_head.mem_freed -= (head->size);
 1829|  8.92k|    } /* end if */
 1830|       |    /* Otherwise allocate a node */
 1831|    271|    else {
 1832|    271|        if (NULL == (ret_value = H5FL__malloc(head->size)))
  ------------------
  |  Branch (1832:13): [True: 0, False: 271]
  ------------------
 1833|      0|            HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1834|       |
 1835|       |        /* Increment the number of blocks allocated in list */
 1836|    271|        head->allocated++;
 1837|    271|    } /* end else */
 1838|       |
 1839|  9.19k|done:
 1840|  9.19k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  9.19k|    ;                                                                                                        \
  |  | 1573|  9.19k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  9.19k|    return (ret_value);                                                                                      \
  |  | 1575|  9.19k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1841|  9.19k|} /* end H5FL_fac_malloc() */
H5FL_fac_term:
 1968|      4|{
 1969|      4|    H5FL_fac_gc_node_t *tmp;                 /* Temporary pointer to a garbage collection node */
 1970|      4|    herr_t              ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      4|#define SUCCEED 0
  ------------------
 1971|       |
 1972|       |    /* NOINIT OK here because this must be called after H5FL_fac_init -NAF */
 1973|      4|    FUNC_ENTER_NOAPI_NOINIT
  ------------------
  |  | 1410|      4|    {                                                                                                        \
  |  | 1411|      4|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      4|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      4|                                                                                                             \
  |  |  |  | 1267|      4|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1412|      4|        {
  ------------------
 1974|       |
 1975|       |    /* Sanity check */
 1976|      4|    assert(factory);
 1977|       |
 1978|       |    /* Garbage collect all the blocks in the factory's free list */
 1979|      4|    if (H5FL__fac_gc_list(factory) < 0)
  ------------------
  |  Branch (1979:9): [True: 0, False: 4]
  ------------------
 1980|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_CANTGC, FAIL, "garbage collection of factory failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1981|       |
 1982|       |    /* Verify that all the blocks have been freed */
 1983|      4|    if (factory->allocated > 0)
  ------------------
  |  Branch (1983:9): [True: 0, False: 4]
  ------------------
 1984|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_CANTRELEASE, FAIL, "factory still has objects allocated");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1985|       |
 1986|       |    /* Unlink block free list for factory from global free list */
 1987|      4|    if (factory->prev_gc) {
  ------------------
  |  Branch (1987:9): [True: 3, False: 1]
  ------------------
 1988|      3|        H5FL_fac_gc_node_t *last =
 1989|      3|            factory->prev_gc; /* Garbage collection node before the one being removed */
 1990|       |
 1991|      3|        assert(last->next->list == factory);
 1992|      3|        tmp        = last->next->next;
 1993|      3|        last->next = H5FL_FREE(H5FL_fac_gc_node_t, last->next);
  ------------------
  |  |   81|      3|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      3|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 1994|      3|        last->next = tmp;
 1995|      3|        if (tmp)
  ------------------
  |  Branch (1995:13): [True: 0, False: 3]
  ------------------
 1996|      0|            tmp->list->prev_gc = last;
 1997|      3|    }
 1998|      1|    else {
 1999|      1|        assert(H5FL_fac_gc_head.first->list == factory);
 2000|      1|        tmp                    = H5FL_fac_gc_head.first->next;
 2001|      1|        H5FL_fac_gc_head.first = H5FL_FREE(H5FL_fac_gc_node_t, H5FL_fac_gc_head.first);
  ------------------
  |  |   81|      1|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      1|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 2002|      1|        H5FL_fac_gc_head.first = tmp;
 2003|      1|        if (tmp)
  ------------------
  |  Branch (2003:13): [True: 0, False: 1]
  ------------------
 2004|      0|            tmp->list->prev_gc = NULL;
 2005|      1|    } /* end else */
 2006|       |
 2007|       |    /* Free factory info */
 2008|      4|    factory = H5FL_FREE(H5FL_fac_head_t, factory);
  ------------------
  |  |   81|      4|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      4|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 2009|       |
 2010|      4|done:
 2011|      4|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      4|    ;                                                                                                        \
  |  | 1573|      4|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      4|    return (ret_value);                                                                                      \
  |  | 1575|      4|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2012|      4|} /* end H5FL_fac_term() */
H5FL_garbage_coll:
 2067|      1|{
 2068|      1|    herr_t ret_value = SUCCEED;
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
 2069|       |
 2070|      1|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      1|    {                                                                                                        \
  |  | 1392|      1|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      1|        {
  ------------------
 2071|       |
 2072|       |    /* Garbage collect the free lists for array objects */
 2073|      1|    if (H5FL__arr_gc() < 0)
  ------------------
  |  Branch (2073:9): [True: 0, False: 1]
  ------------------
 2074|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_CANTGC, FAIL, "can't garbage collect array objects");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2075|       |
 2076|       |    /* Garbage collect free lists for blocks */
 2077|      1|    if (H5FL__blk_gc() < 0)
  ------------------
  |  Branch (2077:9): [True: 0, False: 1]
  ------------------
 2078|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_CANTGC, FAIL, "can't garbage collect block objects");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2079|       |
 2080|       |    /* Garbage collect the free lists for regular objects */
 2081|      1|    if (H5FL__reg_gc() < 0)
  ------------------
  |  Branch (2081:9): [True: 0, False: 1]
  ------------------
 2082|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_CANTGC, FAIL, "can't garbage collect regular objects");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2083|       |
 2084|       |    /* Garbage collect the free lists for factory objects */
 2085|      1|    if (H5FL__fac_gc() < 0)
  ------------------
  |  Branch (2085:9): [True: 0, False: 1]
  ------------------
 2086|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_CANTGC, FAIL, "can't garbage collect factory objects");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2087|       |
 2088|      1|done:
 2089|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2090|      1|} /* end H5FL_garbage_coll() */
H5FL.c:H5FL__reg_init:
  230|     53|{
  231|     53|    H5FL_reg_gc_node_t *new_node;            /* Pointer to the node for the new list to garbage collect */
  232|     53|    herr_t              ret_value = SUCCEED; /* return value*/
  ------------------
  |  |  283|     53|#define SUCCEED 0
  ------------------
  233|       |
  234|     53|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     53|    {                                                                                                        \
  |  | 1461|     53|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     53|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     53|                                                                                                             \
  |  |  |  | 1267|     53|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     53|        {
  ------------------
  235|       |
  236|       |    /* Allocate a new garbage collection node */
  237|     53|    if (NULL == (new_node = (H5FL_reg_gc_node_t *)H5MM_malloc(sizeof(H5FL_reg_gc_node_t))))
  ------------------
  |  |   38|     53|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  |  Branch (237:9): [True: 0, False: 53]
  ------------------
  238|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  239|       |
  240|       |    /* Initialize the new garbage collection node */
  241|     53|    new_node->list = head;
  242|       |
  243|       |    /* Link in to the garbage collection list */
  244|     53|    new_node->next         = H5FL_reg_gc_head.first;
  245|     53|    H5FL_reg_gc_head.first = new_node;
  246|       |
  247|       |    /* Indicate that the free list is initialized */
  248|     53|    head->init = true;
  249|       |
  250|       |    /* Make certain that the space allocated is large enough to store a free list pointer (eventually) */
  251|     53|    if (head->size < sizeof(H5FL_reg_node_t))
  ------------------
  |  Branch (251:9): [True: 1, False: 52]
  ------------------
  252|      1|        head->size = sizeof(H5FL_reg_node_t);
  253|       |
  254|     53|done:
  255|     53|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     53|    ;                                                                                                        \
  |  | 1573|     53|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     53|    return (ret_value);                                                                                      \
  |  | 1575|     53|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  256|     53|} /* end H5FL__reg_init() */
H5FL.c:H5FL__malloc:
  197|  2.35k|{
  198|  2.35k|    void *ret_value = NULL; /* Return value */
  199|       |
  200|  2.35k|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|  2.35k|    {                                                                                                        \
  |  | 1461|  2.35k|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|  2.35k|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|  2.35k|                                                                                                             \
  |  |  |  | 1267|  2.35k|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|  2.35k|        {
  ------------------
  201|       |
  202|       |    /* Attempt to allocate the memory requested */
  203|  2.35k|    if (NULL == (ret_value = H5MM_malloc(mem_size))) {
  ------------------
  |  |   38|  2.35k|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  |  Branch (203:9): [True: 0, False: 2.35k]
  ------------------
  204|       |        /* If we can't allocate the memory now, try garbage collecting first */
  205|      0|        if (H5FL_garbage_coll() < 0)
  ------------------
  |  Branch (205:13): [True: 0, False: 0]
  ------------------
  206|      0|            HGOTO_ERROR(H5E_RESOURCE, H5E_CANTGC, NULL, "garbage collection failed during allocation");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  207|       |
  208|       |        /* Now try allocating the memory again */
  209|      0|        if (NULL == (ret_value = H5MM_malloc(mem_size)))
  ------------------
  |  |   38|      0|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  |  Branch (209:13): [True: 0, False: 0]
  ------------------
  210|      0|            HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed for chunk");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  211|      0|    } /* end if */
  212|       |
  213|  2.35k|done:
  214|  2.35k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  2.35k|    ;                                                                                                        \
  |  | 1573|  2.35k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  2.35k|    return (ret_value);                                                                                      \
  |  | 1575|  2.35k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  215|  2.35k|} /* end H5FL__malloc() */
H5FL.c:H5FL__reg_gc_list:
  409|     64|{
  410|     64|    H5FL_reg_node_t *free_list; /* Pointer to nodes in free list being garbage collected */
  411|       |
  412|     64|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     64|    {                                                                                                        \
  |  | 1467|     64|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     64|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     64|        {
  ------------------
  413|       |
  414|       |    /* For each free list being garbage collected, walk through the nodes and free them */
  415|     64|    free_list = head->list;
  416|  2.01k|    while (free_list != NULL) {
  ------------------
  |  Branch (416:12): [True: 1.95k, False: 64]
  ------------------
  417|  1.95k|        H5FL_reg_node_t *tmp; /* Temporary node pointer */
  418|       |
  419|       |        /* Get the pointer to the next node */
  420|  1.95k|        tmp = free_list->next;
  421|       |
  422|       |        /* Free the block */
  423|  1.95k|        H5MM_free(free_list);
  ------------------
  |  |   37|  1.95k|#define H5MM_free(Z)   free(Z)
  ------------------
  424|       |
  425|       |        /* Advance to the next node */
  426|  1.95k|        free_list = tmp;
  427|  1.95k|    } /* end while */
  428|       |
  429|       |    /* Decrement the count of nodes allocated and free the node */
  430|     64|    head->allocated -= head->onlist;
  431|       |
  432|       |    /* Decrement global count of free memory on "regular" lists */
  433|     64|    H5FL_reg_gc_head.mem_freed -= (head->onlist * head->size);
  434|       |
  435|       |    /* Indicate no free nodes on the free list */
  436|     64|    head->list   = NULL;
  437|     64|    head->onlist = 0;
  438|       |
  439|     64|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     64|    ;                                                                                                        \
  |  | 1573|     64|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     64|    return (ret_value);                                                                                      \
  |  | 1575|     64|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  440|     64|} /* end H5FL__reg_gc_list() */
H5FL.c:H5FL__reg_gc:
  454|      1|{
  455|      1|    H5FL_reg_gc_node_t *gc_node;             /* Pointer into the list of things to garbage collect */
  456|      1|    herr_t              ret_value = SUCCEED; /* return value*/
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  457|       |
  458|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
  459|       |
  460|       |    /* Walk through all the free lists, free()'ing the nodes */
  461|      1|    gc_node = H5FL_reg_gc_head.first;
  462|     54|    while (gc_node != NULL) {
  ------------------
  |  Branch (462:12): [True: 53, False: 1]
  ------------------
  463|       |        /* Release the free nodes on the list */
  464|     53|        if (H5FL__reg_gc_list(gc_node->list) < 0)
  ------------------
  |  Branch (464:13): [True: 0, False: 53]
  ------------------
  465|      0|            HGOTO_ERROR(H5E_RESOURCE, H5E_CANTGC, FAIL, "garbage collection of list failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  466|       |
  467|       |        /* Go on to the next free list to garbage collect */
  468|     53|        gc_node = gc_node->next;
  469|     53|    } /* end while */
  470|       |
  471|       |    /* Double check that all the memory on the free lists is recycled */
  472|      1|    assert(H5FL_reg_gc_head.mem_freed == 0);
  473|       |
  474|      1|done:
  475|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  476|      1|} /* end H5FL__reg_gc() */
H5FL.c:H5FL__reg_term:
  504|      1|{
  505|      1|    H5FL_reg_gc_node_t *left; /* pointer to garbage collection lists with work left */
  506|       |
  507|      1|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|      1|    {                                                                                                        \
  |  | 1467|      1|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|      1|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|      1|        {
  ------------------
  508|       |
  509|       |    /* Free the nodes on the garbage collection list, keeping nodes with allocations outstanding */
  510|      1|    left = NULL;
  511|     54|    while (H5FL_reg_gc_head.first != NULL) {
  ------------------
  |  Branch (511:12): [True: 53, False: 1]
  ------------------
  512|     53|        H5FL_reg_gc_node_t *tmp; /* Temporary pointer to a garbage collection node */
  513|       |
  514|       |        /* Get a copy of the next node */
  515|     53|        tmp = H5FL_reg_gc_head.first->next;
  516|       |
  517|       |#ifdef H5FL_DEBUG
  518|       |        printf("%s: head->name = %s, head->allocated = %d\n", __func__, H5FL_reg_gc_head.first->list->name,
  519|       |               (int)H5FL_reg_gc_head.first->list->allocated);
  520|       |#endif /* H5FL_DEBUG */
  521|       |        /* Check if the list has allocations outstanding */
  522|     53|        if (H5FL_reg_gc_head.first->list->allocated > 0) {
  ------------------
  |  Branch (522:13): [True: 0, False: 53]
  ------------------
  523|       |            /* Add free list to the list of nodes with allocations open still */
  524|      0|            H5FL_reg_gc_head.first->next = left;
  525|      0|            left                         = H5FL_reg_gc_head.first;
  526|      0|        } /* end if */
  527|       |        /* No allocations left open for list, get rid of it */
  528|     53|        else {
  529|       |            /* Reset the "initialized" flag, in case we restart this list somehow (I don't know how..) */
  530|     53|            H5FL_reg_gc_head.first->list->init = false;
  531|       |
  532|       |            /* Free the node from the garbage collection list */
  533|     53|            H5MM_xfree(H5FL_reg_gc_head.first);
  534|     53|        } /* end else */
  535|       |
  536|     53|        H5FL_reg_gc_head.first = tmp;
  537|     53|    } /* end while */
  538|       |
  539|       |    /* Point to the list of nodes left with allocations open, if any */
  540|      1|    H5FL_reg_gc_head.first = left;
  541|       |
  542|      1|    FUNC_LEAVE_NOAPI(H5FL_reg_gc_head.first != NULL ? 1 : 0)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  ------------------
  |  |  |  Branch (1574:13): [True: 0, False: 1]
  |  |  ------------------
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  543|      1|} /* end H5FL__reg_term() */
H5FL.c:H5FL__blk_find_list:
  561|  1.89k|{
  562|  1.89k|    H5FL_blk_node_t *temp = NULL; /* Temp. pointer to node in the native list */
  563|       |
  564|  1.89k|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|  1.89k|    {                                                                                                        \
  |  | 1467|  1.89k|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|  1.89k|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|  1.89k|        {
  ------------------
  565|       |
  566|       |    /* Find the correct free list */
  567|  1.89k|    temp = *head;
  568|       |
  569|       |    /* Check if the node is at the head of the list */
  570|  1.89k|    if (temp && temp->size != size) {
  ------------------
  |  Branch (570:9): [True: 1.87k, False: 16]
  |  Branch (570:17): [True: 607, False: 1.26k]
  ------------------
  571|    607|        temp = temp->next;
  572|       |
  573|  1.76k|        while (temp != NULL) {
  ------------------
  |  Branch (573:16): [True: 1.73k, False: 29]
  ------------------
  574|       |            /* Check if we found the correct node */
  575|  1.73k|            if (temp->size == size) {
  ------------------
  |  Branch (575:17): [True: 578, False: 1.15k]
  ------------------
  576|       |                /* Take the node found out of it's current position */
  577|    578|                if (temp->next == NULL) {
  ------------------
  |  Branch (577:21): [True: 44, False: 534]
  ------------------
  578|     44|                    temp->prev->next = NULL;
  579|     44|                } /* end if */
  580|    534|                else {
  581|    534|                    temp->prev->next = temp->next;
  582|    534|                    temp->next->prev = temp->prev;
  583|    534|                } /* end else */
  584|       |
  585|       |                /* Move the found node to the head of the list */
  586|    578|                temp->prev    = NULL;
  587|    578|                temp->next    = *head;
  588|    578|                (*head)->prev = temp;
  589|    578|                *head         = temp;
  590|       |
  591|       |                /* Get out */
  592|    578|                break;
  593|    578|            } /* end if */
  594|       |
  595|  1.15k|            temp = temp->next;
  596|  1.15k|        } /* end while */
  597|    607|    }     /* end if */
  598|       |
  599|  1.89k|    FUNC_LEAVE_NOAPI(temp)
  ------------------
  |  | 1572|  1.89k|    ;                                                                                                        \
  |  | 1573|  1.89k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  1.89k|    return (ret_value);                                                                                      \
  |  | 1575|  1.89k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  600|  1.89k|} /* end H5FL__blk_find_list() */
H5FL.c:H5FL__blk_init:
  654|     16|{
  655|     16|    H5FL_blk_gc_node_t *new_node;            /* Pointer to the node for the new list to garbage collect */
  656|     16|    herr_t              ret_value = SUCCEED; /* return value*/
  ------------------
  |  |  283|     16|#define SUCCEED 0
  ------------------
  657|       |
  658|     16|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     16|    {                                                                                                        \
  |  | 1461|     16|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     16|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     16|                                                                                                             \
  |  |  |  | 1267|     16|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     16|        {
  ------------------
  659|       |
  660|       |    /* Allocate a new garbage collection node */
  661|     16|    if (NULL == (new_node = (H5FL_blk_gc_node_t *)H5MM_malloc(sizeof(H5FL_blk_gc_node_t))))
  ------------------
  |  |   38|     16|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  |  Branch (661:9): [True: 0, False: 16]
  ------------------
  662|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  663|       |
  664|       |    /* Initialize the new garbage collection node */
  665|     16|    new_node->pq = head;
  666|       |
  667|       |    /* Link in to the garbage collection list */
  668|     16|    new_node->next         = H5FL_blk_gc_head.first;
  669|     16|    H5FL_blk_gc_head.first = new_node;
  670|       |
  671|       |    /* Indicate that the PQ is initialized */
  672|     16|    head->init = true;
  673|       |
  674|     16|done:
  675|     16|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     16|    ;                                                                                                        \
  |  | 1573|     16|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     16|    return (ret_value);                                                                                      \
  |  | 1575|     16|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  676|     16|} /* end H5FL__blk_init() */
H5FL.c:H5FL__blk_create_list:
  616|     45|{
  617|     45|    H5FL_blk_node_t *ret_value = NULL; /* Return value */
  618|       |
  619|     45|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     45|    {                                                                                                        \
  |  | 1461|     45|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     45|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     45|                                                                                                             \
  |  |  |  | 1267|     45|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     45|        {
  ------------------
  620|       |
  621|       |    /* Allocate room for the new free list node */
  622|     45|    if (NULL == (ret_value = H5FL_CALLOC(H5FL_blk_node_t)))
  ------------------
  |  |   78|     45|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|     45|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (622:9): [True: 0, False: 45]
  ------------------
  623|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_CANTALLOC, NULL, "memory allocation failed for chunk info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  624|       |
  625|       |    /* Set the correct values for the new free list */
  626|     45|    ret_value->size = size;
  627|       |
  628|       |    /* Attach to head of priority queue */
  629|     45|    if (NULL == *head)
  ------------------
  |  Branch (629:9): [True: 16, False: 29]
  ------------------
  630|     16|        *head = ret_value;
  631|     29|    else {
  632|     29|        ret_value->next = *head;
  633|     29|        (*head)->prev   = ret_value;
  634|     29|        *head           = ret_value;
  635|     29|    } /* end else */
  636|       |
  637|     45|done:
  638|     45|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     45|    ;                                                                                                        \
  |  | 1573|     45|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     45|    return (ret_value);                                                                                      \
  |  | 1575|     45|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  639|     45|} /* end H5FL__blk_create_list() */
H5FL.c:H5FL__blk_gc_list:
  957|     16|{
  958|     16|    H5FL_blk_node_t *blk_head; /* Temp. ptr to the free list page node */
  959|       |
  960|     16|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     16|    {                                                                                                        \
  |  | 1467|     16|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     16|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     16|        {
  ------------------
  961|       |
  962|       |    /* Loop through all the nodes in the block free list queue */
  963|     16|    blk_head = head->head;
  964|     61|    while (blk_head != NULL) {
  ------------------
  |  Branch (964:12): [True: 45, False: 16]
  ------------------
  965|     45|        H5FL_blk_node_t *blk_next; /* Temp. ptr to the next free list node */
  966|     45|        H5FL_blk_list_t *list;     /* The free list of native nodes of a particular size */
  967|       |
  968|       |        /* Sanity check */
  969|     45|        assert((blk_head->onlist && blk_head->list) || (0 == blk_head->onlist && NULL == blk_head->list));
  970|       |
  971|       |        /* Loop through all the blocks in the free list, freeing them */
  972|     45|        list = blk_head->list;
  973|    153|        while (list != NULL) {
  ------------------
  |  Branch (973:16): [True: 108, False: 45]
  ------------------
  974|    108|            H5FL_blk_list_t *next; /* Temp. ptr to the free list list node */
  975|       |
  976|       |            /* Get the pointer to the next node */
  977|    108|            next = list->next;
  978|       |
  979|       |            /* Free the block */
  980|    108|            H5MM_free(list);
  ------------------
  |  |   37|    108|#define H5MM_free(Z)   free(Z)
  ------------------
  981|       |
  982|       |            /* Advance to the next node */
  983|    108|            list = next;
  984|    108|        } /* end while */
  985|       |
  986|       |        /* Decrement the number of blocks allocated from this list */
  987|     45|        blk_head->allocated -= blk_head->onlist;
  988|     45|        head->allocated -= blk_head->onlist;
  989|       |
  990|       |        /* Decrement count of free memory on this "block" list */
  991|     45|        head->list_mem -= (blk_head->onlist * blk_head->size);
  992|       |
  993|       |        /* Decrement global count of free memory on "block" lists */
  994|     45|        H5FL_blk_gc_head.mem_freed -= (blk_head->onlist * blk_head->size);
  995|       |
  996|       |        /* Indicate no free nodes on the free list */
  997|     45|        blk_head->list   = NULL;
  998|     45|        blk_head->onlist = 0;
  999|       |
 1000|       |        /* Get pointer to next node */
 1001|     45|        blk_next = blk_head->next;
 1002|       |
 1003|       |        /* Check for list completely unused now */
 1004|     45|        if (0 == blk_head->allocated) {
  ------------------
  |  Branch (1004:13): [True: 45, False: 0]
  ------------------
 1005|       |            /* Patch this node out of the PQ */
 1006|     45|            if (head->head == blk_head)
  ------------------
  |  Branch (1006:17): [True: 45, False: 0]
  ------------------
 1007|     45|                head->head = blk_head->next;
 1008|     45|            if (blk_head->prev)
  ------------------
  |  Branch (1008:17): [True: 0, False: 45]
  ------------------
 1009|      0|                blk_head->prev->next = blk_head->next;
 1010|     45|            if (blk_head->next)
  ------------------
  |  Branch (1010:17): [True: 29, False: 16]
  ------------------
 1011|     29|                blk_head->next->prev = blk_head->prev;
 1012|       |
 1013|       |            /* Free the free list node */
 1014|     45|            H5FL_FREE(H5FL_blk_node_t, blk_head);
  ------------------
  |  |   81|     45|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|     45|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 1015|     45|        } /* end if */
 1016|       |
 1017|       |        /* Advance to the next node */
 1018|     45|        blk_head = blk_next;
 1019|     45|    } /* end while */
 1020|       |
 1021|       |    /* Indicate no free nodes on the free list */
 1022|     16|    head->onlist = 0;
 1023|       |
 1024|       |    /* Double check that all the memory on this list is recycled */
 1025|     16|    assert(0 == head->list_mem);
 1026|       |
 1027|     16|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     16|    ;                                                                                                        \
  |  | 1573|     16|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     16|    return (ret_value);                                                                                      \
  |  | 1575|     16|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1028|     16|} /* end H5FL__blk_gc_list() */
H5FL.c:H5FL__blk_gc:
 1042|      1|{
 1043|      1|    H5FL_blk_gc_node_t *gc_node;             /* Pointer into the list of things to garbage collect */
 1044|      1|    herr_t              ret_value = SUCCEED; /* return value*/
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
 1045|       |
 1046|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
 1047|       |
 1048|       |    /* Walk through all the free lists, free()'ing the nodes */
 1049|      1|    gc_node = H5FL_blk_gc_head.first;
 1050|     17|    while (gc_node != NULL) {
  ------------------
  |  Branch (1050:12): [True: 16, False: 1]
  ------------------
 1051|       |        /* For each free list being garbage collected, walk through the nodes and free them */
 1052|     16|        if (H5FL__blk_gc_list(gc_node->pq) < 0)
  ------------------
  |  Branch (1052:13): [True: 0, False: 16]
  ------------------
 1053|      0|            HGOTO_ERROR(H5E_RESOURCE, H5E_CANTGC, FAIL, "garbage collection of list failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1054|       |
 1055|       |        /* Go on to the next free list to garbage collect */
 1056|     16|        gc_node = gc_node->next;
 1057|     16|    } /* end while */
 1058|       |
 1059|       |    /* Double check that all the memory on the free lists are recycled */
 1060|      1|    assert(H5FL_blk_gc_head.mem_freed == 0);
 1061|       |
 1062|      1|done:
 1063|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1064|      1|} /* end H5FL__blk_gc() */
H5FL.c:H5FL__blk_term:
 1087|      1|{
 1088|      1|    H5FL_blk_gc_node_t *left; /* pointer to garbage collection lists with work left */
 1089|       |
 1090|      1|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|      1|    {                                                                                                        \
  |  | 1467|      1|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|      1|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|      1|        {
  ------------------
 1091|       |
 1092|       |    /* Free the nodes on the garbage collection list, keeping nodes with allocations outstanding */
 1093|      1|    left = NULL;
 1094|     17|    while (H5FL_blk_gc_head.first != NULL) {
  ------------------
  |  Branch (1094:12): [True: 16, False: 1]
  ------------------
 1095|     16|        H5FL_blk_gc_node_t *tmp; /* Temporary pointer to a garbage collection node */
 1096|       |
 1097|     16|        tmp = H5FL_blk_gc_head.first->next;
 1098|       |
 1099|       |#ifdef H5FL_DEBUG
 1100|       |        printf("%s: head->name = %s, head->allocated = %d\n", __func__, H5FL_blk_gc_head.first->pq->name,
 1101|       |               (int)H5FL_blk_gc_head.first->pq->allocated);
 1102|       |#endif /* H5FL_DEBUG */
 1103|       |
 1104|       |        /* Check if the list has allocations outstanding */
 1105|     16|        if (H5FL_blk_gc_head.first->pq->allocated > 0) {
  ------------------
  |  Branch (1105:13): [True: 0, False: 16]
  ------------------
 1106|       |            /* Add free list to the list of nodes with allocations open still */
 1107|      0|            H5FL_blk_gc_head.first->next = left;
 1108|      0|            left                         = H5FL_blk_gc_head.first;
 1109|      0|        } /* end if */
 1110|       |        /* No allocations left open for list, get rid of it */
 1111|     16|        else {
 1112|       |            /* Reset the "initialized" flag, in case we restart this list somehow (I don't know how..) */
 1113|     16|            H5FL_blk_gc_head.first->pq->init = false;
 1114|       |
 1115|       |            /* Free the node from the garbage collection list */
 1116|     16|            H5MM_free(H5FL_blk_gc_head.first);
  ------------------
  |  |   37|     16|#define H5MM_free(Z)   free(Z)
  ------------------
 1117|     16|        } /* end else */
 1118|       |
 1119|     16|        H5FL_blk_gc_head.first = tmp;
 1120|     16|    } /* end while */
 1121|       |
 1122|       |    /* Point to the list of nodes left with allocations open, if any */
 1123|      1|    H5FL_blk_gc_head.first = left;
 1124|       |
 1125|      1|    FUNC_LEAVE_NOAPI(H5FL_blk_gc_head.first != NULL ? 1 : 0)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  ------------------
  |  |  |  Branch (1574:13): [True: 0, False: 1]
  |  |  ------------------
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1126|      1|} /* end H5FL__blk_term() */
H5FL.c:H5FL__arr_init:
 1141|      1|{
 1142|      1|    H5FL_gc_arr_node_t *new_node;            /* Pointer to the node for the new list to garbage collect */
 1143|      1|    size_t              u;                   /* Local index variable */
 1144|      1|    herr_t              ret_value = SUCCEED; /* return value*/
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
 1145|       |
 1146|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
 1147|       |
 1148|       |    /* Allocate a new garbage collection node */
 1149|      1|    if (NULL == (new_node = (H5FL_gc_arr_node_t *)H5MM_malloc(sizeof(H5FL_gc_arr_node_t))))
  ------------------
  |  |   38|      1|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  |  Branch (1149:9): [True: 0, False: 1]
  ------------------
 1150|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1151|       |
 1152|       |    /* Initialize the new garbage collection node */
 1153|      1|    new_node->list = head;
 1154|       |
 1155|       |    /* Link in to the garbage collection list */
 1156|      1|    new_node->next         = H5FL_arr_gc_head.first;
 1157|      1|    H5FL_arr_gc_head.first = new_node;
 1158|       |
 1159|       |    /* Allocate room for the free lists */
 1160|      1|    if (NULL ==
  ------------------
  |  Branch (1160:9): [True: 0, False: 1]
  ------------------
 1161|      1|        (head->list_arr = (H5FL_arr_node_t *)H5MM_calloc((size_t)head->maxelem * sizeof(H5FL_arr_node_t))))
  ------------------
  |  |   36|      1|#define H5MM_calloc(Z) calloc(1, Z)
  ------------------
 1162|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1163|       |
 1164|       |    /* Initialize the size of each array */
 1165|     34|    for (u = 0; u < (size_t)head->maxelem; u++)
  ------------------
  |  Branch (1165:17): [True: 33, False: 1]
  ------------------
 1166|     33|        head->list_arr[u].size = head->base_size + (head->elem_size * u);
 1167|       |
 1168|       |    /* Indicate that the free list is initialized */
 1169|      1|    head->init = true;
 1170|       |
 1171|      1|done:
 1172|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1173|      1|} /* end H5FL__arr_init() */
H5FL.c:H5FL__arr_gc_list:
 1417|      1|{
 1418|      1|    unsigned u; /* Counter for array of free lists */
 1419|       |
 1420|      1|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|      1|    {                                                                                                        \
  |  | 1467|      1|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|      1|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|      1|        {
  ------------------
 1421|       |
 1422|       |    /* Walk through the array of free lists */
 1423|     34|    for (u = 0; u < (unsigned)head->maxelem; u++) {
  ------------------
  |  Branch (1423:17): [True: 33, False: 1]
  ------------------
 1424|     33|        if (head->list_arr[u].onlist > 0) {
  ------------------
  |  Branch (1424:13): [True: 2, False: 31]
  ------------------
 1425|      2|            H5FL_arr_list_t *arr_free_list; /* Pointer to nodes in free list being garbage collected */
 1426|       |
 1427|       |            /* For each free list being garbage collected, walk through the nodes and free them */
 1428|      2|            arr_free_list = head->list_arr[u].list;
 1429|     32|            while (arr_free_list != NULL) {
  ------------------
  |  Branch (1429:20): [True: 30, False: 2]
  ------------------
 1430|     30|                H5FL_arr_list_t *tmp; /* Temporary node pointer */
 1431|       |
 1432|       |                /* Get the pointer to the next node */
 1433|     30|                tmp = arr_free_list->next;
 1434|       |
 1435|       |                /* Free the node */
 1436|     30|                H5MM_free(arr_free_list);
  ------------------
  |  |   37|     30|#define H5MM_free(Z)   free(Z)
  ------------------
 1437|       |
 1438|       |                /* Advance to the next node */
 1439|     30|                arr_free_list = tmp;
 1440|     30|            } /* end while */
 1441|       |
 1442|       |            /* Decrement the count of nodes allocated */
 1443|      2|            head->list_arr[u].allocated -= head->list_arr[u].onlist;
 1444|      2|            head->allocated -= head->list_arr[u].onlist;
 1445|       |
 1446|       |            /* Decrement count of free memory on this "array" list */
 1447|      2|            head->list_mem -= (head->list_arr[u].onlist * head->list_arr[u].size);
 1448|       |
 1449|       |            /* Decrement global count of free memory on "array" lists */
 1450|      2|            H5FL_arr_gc_head.mem_freed -= (head->list_arr[u].onlist * head->list_arr[u].size);
 1451|       |
 1452|       |            /* Indicate no free nodes on the free list */
 1453|      2|            head->list_arr[u].list   = NULL;
 1454|      2|            head->list_arr[u].onlist = 0;
 1455|      2|        } /* end if */
 1456|     33|    }     /* end for */
 1457|       |
 1458|       |    /* Double check that all the memory on this list is recycled */
 1459|      1|    assert(head->list_mem == 0);
 1460|       |
 1461|      1|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1462|      1|} /* end H5FL__arr_gc_list() */
H5FL.c:H5FL__arr_gc:
 1476|      1|{
 1477|      1|    H5FL_gc_arr_node_t *gc_arr_node;         /* Pointer into the list of things to garbage collect */
 1478|      1|    herr_t              ret_value = SUCCEED; /* return value*/
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
 1479|       |
 1480|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
 1481|       |
 1482|       |    /* Walk through all the free lists, free()'ing the nodes */
 1483|      1|    gc_arr_node = H5FL_arr_gc_head.first;
 1484|      2|    while (gc_arr_node != NULL) {
  ------------------
  |  Branch (1484:12): [True: 1, False: 1]
  ------------------
 1485|       |        /* Release the free nodes on the list */
 1486|      1|        if (H5FL__arr_gc_list(gc_arr_node->list) < 0)
  ------------------
  |  Branch (1486:13): [True: 0, False: 1]
  ------------------
 1487|      0|            HGOTO_ERROR(H5E_RESOURCE, H5E_CANTGC, FAIL, "garbage collection of list failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1488|       |
 1489|       |        /* Go on to the next free list to garbage collect */
 1490|      1|        gc_arr_node = gc_arr_node->next;
 1491|      1|    } /* end while */
 1492|       |
 1493|       |    /* Double check that all the memory on the free lists are recycled */
 1494|      1|    assert(H5FL_arr_gc_head.mem_freed == 0);
 1495|       |
 1496|      1|done:
 1497|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1498|      1|} /* end H5FL__arr_gc() */
H5FL.c:H5FL__arr_term:
 1521|      1|{
 1522|      1|    H5FL_gc_arr_node_t *left; /* pointer to garbage collection lists with work left */
 1523|       |
 1524|      1|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|      1|    {                                                                                                        \
  |  | 1467|      1|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|      1|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|      1|        {
  ------------------
 1525|       |
 1526|       |    /* Free the nodes on the garbage collection list, keeping nodes with allocations outstanding */
 1527|      1|    left = NULL;
 1528|      2|    while (H5FL_arr_gc_head.first != NULL) {
  ------------------
  |  Branch (1528:12): [True: 1, False: 1]
  ------------------
 1529|      1|        H5FL_gc_arr_node_t *tmp; /* Temporary pointer to a garbage collection node */
 1530|       |
 1531|      1|        tmp = H5FL_arr_gc_head.first->next;
 1532|       |
 1533|       |        /* Check if the list has allocations outstanding */
 1534|       |#ifdef H5FL_DEBUG
 1535|       |        printf("%s: head->name = %s, head->allocated = %d\n", __func__, H5FL_arr_gc_head.first->list->name,
 1536|       |               (int)H5FL_arr_gc_head.first->list->allocated);
 1537|       |#endif /* H5FL_DEBUG */
 1538|      1|        if (H5FL_arr_gc_head.first->list->allocated > 0) {
  ------------------
  |  Branch (1538:13): [True: 0, False: 1]
  ------------------
 1539|       |            /* Add free list to the list of nodes with allocations open still */
 1540|      0|            H5FL_arr_gc_head.first->next = left;
 1541|      0|            left                         = H5FL_arr_gc_head.first;
 1542|      0|        } /* end if */
 1543|       |        /* No allocations left open for list, get rid of it */
 1544|      1|        else {
 1545|       |            /* Free the array of free lists */
 1546|      1|            H5MM_xfree(H5FL_arr_gc_head.first->list->list_arr);
 1547|       |
 1548|       |            /* Reset the "initialized" flag, in case we restart this list somehow (I don't know how..) */
 1549|      1|            H5FL_arr_gc_head.first->list->init = false;
 1550|       |
 1551|       |            /* Free the node from the garbage collection list */
 1552|      1|            H5MM_free(H5FL_arr_gc_head.first);
  ------------------
  |  |   37|      1|#define H5MM_free(Z)   free(Z)
  ------------------
 1553|      1|        } /* end else */
 1554|       |
 1555|      1|        H5FL_arr_gc_head.first = tmp;
 1556|      1|    } /* end while */
 1557|       |
 1558|       |    /* Point to the list of nodes left with allocations open, if any */
 1559|      1|    H5FL_arr_gc_head.first = left;
 1560|       |
 1561|      1|    FUNC_LEAVE_NOAPI(H5FL_arr_gc_head.first != NULL ? 1 : 0)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  ------------------
  |  |  |  Branch (1574:13): [True: 0, False: 1]
  |  |  ------------------
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1562|      1|} /* end H5FL__arr_term() */
H5FL.c:H5FL__fac_gc_list:
 1887|      4|{
 1888|      4|    H5FL_fac_node_t *free_list; /* Pointer to nodes in free list being garbage collected */
 1889|       |
 1890|      4|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|      4|    {                                                                                                        \
  |  | 1467|      4|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|      4|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|      4|        {
  ------------------
 1891|       |
 1892|       |    /* For each free list being garbage collected, walk through the nodes and free them */
 1893|      4|    free_list = head->list;
 1894|    275|    while (free_list != NULL) {
  ------------------
  |  Branch (1894:12): [True: 271, False: 4]
  ------------------
 1895|    271|        H5FL_fac_node_t *tmp; /* Temporary node pointer */
 1896|       |
 1897|       |        /* Get the pointer to the next node */
 1898|    271|        tmp = free_list->next;
 1899|       |
 1900|       |        /* Free the block */
 1901|    271|        H5MM_free(free_list);
  ------------------
  |  |   37|    271|#define H5MM_free(Z)   free(Z)
  ------------------
 1902|       |
 1903|       |        /* Advance to the next node */
 1904|    271|        free_list = tmp;
 1905|    271|    } /* end while */
 1906|       |
 1907|       |    /* Decrement the count of nodes allocated and free the node */
 1908|      4|    head->allocated -= head->onlist;
 1909|       |
 1910|       |    /* Decrement global count of free memory on "factory" lists */
 1911|      4|    H5FL_fac_gc_head.mem_freed -= (head->onlist * head->size);
 1912|       |
 1913|       |    /* Indicate no free nodes on the free list */
 1914|      4|    head->list   = NULL;
 1915|      4|    head->onlist = 0;
 1916|       |
 1917|      4|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|      4|    ;                                                                                                        \
  |  | 1573|      4|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      4|    return (ret_value);                                                                                      \
  |  | 1575|      4|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1918|      4|} /* end H5FL__fac_gc_list() */
H5FL.c:H5FL__fac_gc:
 1932|      1|{
 1933|      1|    H5FL_fac_gc_node_t *gc_node;             /* Pointer into the list of things to garbage collect */
 1934|      1|    herr_t              ret_value = SUCCEED; /* return value*/
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
 1935|       |
 1936|      1|    FUNC_ENTER_NOAPI_NOINIT
  ------------------
  |  | 1410|      1|    {                                                                                                        \
  |  | 1411|      1|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1412|      1|        {
  ------------------
 1937|       |
 1938|       |    /* Walk through all the free lists, free()'ing the nodes */
 1939|      1|    gc_node = H5FL_fac_gc_head.first;
 1940|      1|    while (gc_node != NULL) {
  ------------------
  |  Branch (1940:12): [True: 0, False: 1]
  ------------------
 1941|       |        /* Release the free nodes on the list */
 1942|      0|        if (H5FL__fac_gc_list(gc_node->list) < 0)
  ------------------
  |  Branch (1942:13): [True: 0, False: 0]
  ------------------
 1943|      0|            HGOTO_ERROR(H5E_RESOURCE, H5E_CANTGC, FAIL, "garbage collection of list failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1944|       |
 1945|       |        /* Go on to the next free list to garbage collect */
 1946|      0|        gc_node = gc_node->next;
 1947|      0|    } /* end while */
 1948|       |
 1949|       |    /* Double check that all the memory on the free lists is recycled */
 1950|      1|    assert(H5FL_fac_gc_head.mem_freed == 0);
 1951|       |
 1952|      1|done:
 1953|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1954|      1|} /* end H5FL__fac_gc() */
H5FL.c:H5FL__fac_term_all:
 2026|      1|{
 2027|      1|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|      1|    {                                                                                                        \
  |  | 1467|      1|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|      1|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|      1|        {
  ------------------
 2028|       |
 2029|       |    /* Free the nodes on the garbage collection list */
 2030|      1|    while (H5FL_fac_gc_head.first != NULL) {
  ------------------
  |  Branch (2030:12): [True: 0, False: 1]
  ------------------
 2031|      0|        H5FL_fac_gc_node_t *tmp; /* Temporary pointer to a garbage collection node */
 2032|       |
 2033|      0|        tmp = H5FL_fac_gc_head.first->next;
 2034|       |
 2035|       |#ifdef H5FL_DEBUG
 2036|       |        printf("%s: head->size = %d, head->allocated = %d\n", __func__,
 2037|       |               (int)H5FL_fac_gc_head.first->list->size, (int)H5FL_fac_gc_head.first->list->allocated);
 2038|       |#endif /* H5FL_DEBUG */
 2039|       |
 2040|       |        /* The list cannot have any allocations outstanding */
 2041|      0|        assert(H5FL_fac_gc_head.first->list->allocated == 0);
 2042|       |
 2043|       |        /* Reset the "initialized" flag, in case we restart this list somehow (I don't know how..) */
 2044|      0|        H5FL_fac_gc_head.first->list->init = false;
 2045|       |
 2046|       |        /* Free the node from the garbage collection list */
 2047|      0|        H5FL_fac_gc_head.first = H5FL_FREE(H5FL_fac_gc_node_t, H5FL_fac_gc_head.first);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 2048|       |
 2049|      0|        H5FL_fac_gc_head.first = tmp;
 2050|      0|    } /* end while */
 2051|       |
 2052|      1|    FUNC_LEAVE_NOAPI(0)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2053|      1|} /* end H5FL__fac_term_all() */

H5FO_create:
   71|     10|{
   72|     10|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
   73|       |
   74|     10|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     10|    {                                                                                                        \
  |  | 1392|     10|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     10|        {
  ------------------
   75|       |
   76|       |    /* Sanity check */
   77|     10|    assert(f);
   78|     10|    assert(f->shared);
   79|       |
   80|       |    /* Create container used to store open object info */
   81|     10|    if ((f->shared->open_objs = H5SL_create(H5SL_TYPE_HADDR, NULL)) == NULL)
  ------------------
  |  Branch (81:9): [True: 0, False: 10]
  ------------------
   82|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, FAIL, "unable to create open object container");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   83|       |
   84|     10|done:
   85|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
   86|     10|} /* end H5FO_create() */
H5FO_opened:
  110|    146|{
  111|    146|    H5FO_open_obj_t *open_obj;  /* Information about open object */
  112|    146|    void            *ret_value; /* Return value */
  113|       |
  114|    146|    FUNC_ENTER_NOAPI_NOERR
  ------------------
  |  | 1397|    146|    {                                                                                                        \
  |  | 1398|    146|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    146|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1399|    146|        {
  ------------------
  115|       |
  116|       |    /* Sanity check */
  117|    146|    assert(f);
  118|    146|    assert(f->shared);
  119|    146|    assert(f->shared->open_objs);
  120|    146|    assert(H5_addr_defined(addr));
  121|       |
  122|       |    /* Get the object node from the container */
  123|    146|    if (NULL != (open_obj = (H5FO_open_obj_t *)H5SL_search(f->shared->open_objs, &addr))) {
  ------------------
  |  Branch (123:9): [True: 0, False: 146]
  ------------------
  124|      0|        ret_value = open_obj->obj;
  125|      0|        assert(ret_value != NULL);
  126|      0|    } /* end if */
  127|    146|    else
  128|    146|        ret_value = NULL;
  129|       |
  130|    146|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    146|    ;                                                                                                        \
  |  | 1573|    146|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    146|    return (ret_value);                                                                                      \
  |  | 1575|    146|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  131|    146|} /* end H5FO_opened() */
H5FO_insert:
  156|    143|{
  157|    143|    H5FO_open_obj_t *open_obj;            /* Information about open object */
  158|    143|    herr_t           ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    143|#define SUCCEED 0
  ------------------
  159|       |
  160|    143|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    143|    {                                                                                                        \
  |  | 1392|    143|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    143|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    143|                                                                                                             \
  |  |  |  | 1267|    143|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    143|        {
  ------------------
  161|       |
  162|       |    /* Sanity check */
  163|    143|    assert(f);
  164|    143|    assert(f->shared);
  165|    143|    assert(f->shared->open_objs);
  166|    143|    assert(H5_addr_defined(addr));
  167|    143|    assert(obj);
  168|       |
  169|       |    /* Allocate new opened object information structure */
  170|    143|    if ((open_obj = H5FL_MALLOC(H5FO_open_obj_t)) == NULL)
  ------------------
  |  |   75|    143|#define H5FL_MALLOC(t) (t *)H5FL_reg_malloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|    143|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (170:9): [True: 0, False: 143]
  ------------------
  171|      0|        HGOTO_ERROR(H5E_CACHE, H5E_NOSPACE, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  172|       |
  173|       |    /* Assign information */
  174|    143|    open_obj->addr    = addr;
  175|    143|    open_obj->obj     = obj;
  176|    143|    open_obj->deleted = delete_flag;
  177|       |
  178|       |    /* Insert into container */
  179|    143|    if (H5SL_insert(f->shared->open_objs, &open_obj->addr, open_obj) < 0)
  ------------------
  |  Branch (179:9): [True: 0, False: 143]
  ------------------
  180|      0|        HGOTO_ERROR(H5E_CACHE, H5E_CANTINSERT, FAIL, "can't insert object into container");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  181|       |
  182|    143|done:
  183|    143|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    143|    ;                                                                                                        \
  |  | 1573|    143|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    143|    return (ret_value);                                                                                      \
  |  | 1575|    143|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  184|    143|} /* end H5FO_insert() */
H5FO_delete:
  207|    143|{
  208|    143|    H5FO_open_obj_t *open_obj;            /* Information about open object */
  209|    143|    herr_t           ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    143|#define SUCCEED 0
  ------------------
  210|       |
  211|    143|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    143|    {                                                                                                        \
  |  | 1392|    143|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    143|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    143|                                                                                                             \
  |  |  |  | 1267|    143|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    143|        {
  ------------------
  212|       |
  213|       |    /* Sanity check */
  214|    143|    assert(f);
  215|    143|    assert(f->shared);
  216|    143|    assert(f->shared->open_objs);
  217|    143|    assert(H5_addr_defined(addr));
  218|       |
  219|       |    /* Remove from container */
  220|    143|    if (NULL == (open_obj = (H5FO_open_obj_t *)H5SL_remove(f->shared->open_objs, &addr)))
  ------------------
  |  Branch (220:9): [True: 0, False: 143]
  ------------------
  221|      0|        HGOTO_ERROR(H5E_CACHE, H5E_CANTRELEASE, FAIL, "can't remove object from container");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  222|       |
  223|       |    /* Check if the object was deleted from the file */
  224|    143|    if (open_obj->deleted) {
  ------------------
  |  Branch (224:9): [True: 0, False: 143]
  ------------------
  225|      0|        if (H5O_delete(f, addr) < 0)
  ------------------
  |  Branch (225:13): [True: 0, False: 0]
  ------------------
  226|      0|            HGOTO_ERROR(H5E_OHDR, H5E_CANTDELETE, FAIL, "can't delete object from file");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  227|      0|    } /* end if */
  228|       |
  229|       |    /* Release the object information */
  230|    143|    open_obj = H5FL_FREE(H5FO_open_obj_t, open_obj);
  ------------------
  |  |   81|    143|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|    143|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  231|       |
  232|    143|done:
  233|    143|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    143|    ;                                                                                                        \
  |  | 1573|    143|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    143|    return (ret_value);                                                                                      \
  |  | 1575|    143|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  234|    143|} /* end H5FO_delete() */
H5FO_dest:
  340|     10|{
  341|     10|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
  342|       |
  343|     10|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     10|    {                                                                                                        \
  |  | 1392|     10|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     10|        {
  ------------------
  344|       |
  345|       |    /* Sanity check */
  346|     10|    assert(f);
  347|     10|    assert(f->shared);
  348|     10|    assert(f->shared->open_objs);
  349|       |
  350|       |    /* Check if the object info set is empty */
  351|     10|    if (H5SL_count(f->shared->open_objs) != 0)
  ------------------
  |  Branch (351:9): [True: 0, False: 10]
  ------------------
  352|      0|        HGOTO_ERROR(H5E_CACHE, H5E_CANTRELEASE, FAIL, "objects still in open object info set");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  353|       |
  354|       |    /* Release the open object info set container */
  355|     10|    if (H5SL_close(f->shared->open_objs) < 0)
  ------------------
  |  Branch (355:9): [True: 0, False: 10]
  ------------------
  356|      0|        HGOTO_ERROR(H5E_CACHE, H5E_CANTCLOSEOBJ, FAIL, "can't close open object info set");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  357|       |
  358|     10|    f->shared->open_objs = NULL;
  359|       |
  360|     10|done:
  361|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  362|     10|} /* end H5FO_dest() */
H5FO_top_create:
  384|     10|{
  385|     10|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
  386|       |
  387|     10|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     10|    {                                                                                                        \
  |  | 1392|     10|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     10|        {
  ------------------
  388|       |
  389|       |    /* Sanity check */
  390|     10|    assert(f);
  391|       |
  392|       |    /* Create container used to store open object info */
  393|     10|    if ((f->obj_count = H5SL_create(H5SL_TYPE_HADDR, NULL)) == NULL)
  ------------------
  |  Branch (393:9): [True: 0, False: 10]
  ------------------
  394|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, FAIL, "unable to create open object container");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  395|       |
  396|     10|done:
  397|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  398|     10|} /* end H5FO_top_create() */
H5FO_top_incr:
  421|    143|{
  422|    143|    H5FO_obj_count_t *obj_count;           /* Ref. count for object */
  423|    143|    herr_t            ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    143|#define SUCCEED 0
  ------------------
  424|       |
  425|    143|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    143|    {                                                                                                        \
  |  | 1392|    143|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    143|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    143|                                                                                                             \
  |  |  |  | 1267|    143|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    143|        {
  ------------------
  426|       |
  427|       |    /* Sanity check */
  428|    143|    assert(f);
  429|    143|    assert(f->obj_count);
  430|    143|    assert(H5_addr_defined(addr));
  431|       |
  432|       |    /* Get the object node from the container */
  433|    143|    if (NULL != (obj_count = (H5FO_obj_count_t *)H5SL_search(f->obj_count, &addr))) {
  ------------------
  |  Branch (433:9): [True: 0, False: 143]
  ------------------
  434|      0|        (obj_count->count)++;
  435|      0|    } /* end if */
  436|    143|    else {
  437|       |        /* Allocate new opened object information structure */
  438|    143|        if (NULL == (obj_count = H5FL_MALLOC(H5FO_obj_count_t)))
  ------------------
  |  |   75|    143|#define H5FL_MALLOC(t) (t *)H5FL_reg_malloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|    143|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (438:13): [True: 0, False: 143]
  ------------------
  439|      0|            HGOTO_ERROR(H5E_CACHE, H5E_NOSPACE, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  440|       |
  441|       |        /* Assign information */
  442|    143|        obj_count->addr  = addr;
  443|    143|        obj_count->count = 1;
  444|       |
  445|       |        /* Insert into container */
  446|    143|        if (H5SL_insert(f->obj_count, &obj_count->addr, obj_count) < 0)
  ------------------
  |  Branch (446:13): [True: 0, False: 143]
  ------------------
  447|      0|            HGOTO_ERROR(H5E_CACHE, H5E_CANTINSERT, FAIL, "can't insert object into container");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  448|    143|    } /* end if */
  449|       |
  450|    143|done:
  451|    143|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    143|    ;                                                                                                        \
  |  | 1573|    143|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    143|    return (ret_value);                                                                                      \
  |  | 1575|    143|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  452|    143|} /* end H5FO_top_incr() */
H5FO_top_decr:
  475|    143|{
  476|    143|    H5FO_obj_count_t *obj_count;           /* Ref. count for object */
  477|    143|    herr_t            ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    143|#define SUCCEED 0
  ------------------
  478|       |
  479|    143|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    143|    {                                                                                                        \
  |  | 1392|    143|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    143|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    143|                                                                                                             \
  |  |  |  | 1267|    143|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    143|        {
  ------------------
  480|       |
  481|       |    /* Sanity check */
  482|    143|    assert(f);
  483|    143|    assert(f->obj_count);
  484|    143|    assert(H5_addr_defined(addr));
  485|       |
  486|       |    /* Get the object node from the container */
  487|    143|    if (NULL != (obj_count = (H5FO_obj_count_t *)H5SL_search(f->obj_count, &addr))) {
  ------------------
  |  Branch (487:9): [True: 143, False: 0]
  ------------------
  488|       |        /* Decrement the reference count for the object */
  489|    143|        (obj_count->count)--;
  490|       |
  491|    143|        if (obj_count->count == 0) {
  ------------------
  |  Branch (491:13): [True: 143, False: 0]
  ------------------
  492|       |            /* Remove from container */
  493|    143|            if (NULL == (obj_count = (H5FO_obj_count_t *)H5SL_remove(f->obj_count, &addr)))
  ------------------
  |  Branch (493:17): [True: 0, False: 143]
  ------------------
  494|      0|                HGOTO_ERROR(H5E_CACHE, H5E_CANTRELEASE, FAIL, "can't remove object from container");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  495|       |
  496|       |            /* Release the object information */
  497|    143|            obj_count = H5FL_FREE(H5FO_obj_count_t, obj_count);
  ------------------
  |  |   81|    143|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|    143|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  498|    143|        } /* end if */
  499|    143|    }     /* end if */
  500|      0|    else
  501|      0|        HGOTO_ERROR(H5E_CACHE, H5E_NOTFOUND, FAIL, "can't decrement ref. count");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  502|       |
  503|    143|done:
  504|    143|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    143|    ;                                                                                                        \
  |  | 1573|    143|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    143|    return (ret_value);                                                                                      \
  |  | 1575|    143|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  505|    143|} /* end H5FO_top_decr() */
H5FO_top_dest:
  568|     10|{
  569|     10|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
  570|       |
  571|     10|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     10|    {                                                                                                        \
  |  | 1392|     10|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     10|        {
  ------------------
  572|       |
  573|       |    /* Sanity check */
  574|     10|    assert(f);
  575|     10|    assert(f->obj_count);
  576|       |
  577|       |    /* Check if the object count set is empty */
  578|     10|    if (H5SL_count(f->obj_count) != 0)
  ------------------
  |  Branch (578:9): [True: 0, False: 10]
  ------------------
  579|      0|        HGOTO_ERROR(H5E_CACHE, H5E_CANTRELEASE, FAIL, "objects still in open object info set");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  580|       |
  581|       |    /* Release the open object count set container */
  582|     10|    if (H5SL_close(f->obj_count) < 0)
  ------------------
  |  Branch (582:9): [True: 0, False: 10]
  ------------------
  583|      0|        HGOTO_ERROR(H5E_CACHE, H5E_CANTCLOSEOBJ, FAIL, "can't close open object info set");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  584|       |
  585|     10|    f->obj_count = NULL;
  586|       |
  587|     10|done:
  588|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  589|     10|} /* end H5FO_top_dest() */

H5F__accum_read:
   99|    170|{
  100|    170|    H5FD_t *file;                /* File driver pointer */
  101|    170|    herr_t  ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    170|#define SUCCEED 0
  ------------------
  102|       |
  103|    170|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    170|    {                                                                                                        \
  |  | 1461|    170|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    170|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    170|                                                                                                             \
  |  |  |  | 1267|    170|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    170|        {
  ------------------
  104|       |
  105|       |    /* Sanity checks */
  106|    170|    assert(f_sh);
  107|    170|    assert(buf);
  108|       |
  109|       |    /* Translate to file driver I/O info object */
  110|    170|    file = f_sh->lf;
  111|       |
  112|       |    /* Check if this information is in the metadata accumulator */
  113|    170|    if ((f_sh->feature_flags & H5FD_FEAT_ACCUMULATE_METADATA) && map_type != H5FD_MEM_DRAW) {
  ------------------
  |  |   75|    170|    (H5FD_FEAT_ACCUMULATE_METADATA_WRITE | H5FD_FEAT_ACCUMULATE_METADATA_READ)
  |  |  ------------------
  |  |  |  |   72|    170|#define H5FD_FEAT_ACCUMULATE_METADATA_WRITE 0x00000002
  |  |  ------------------
  |  |                   (H5FD_FEAT_ACCUMULATE_METADATA_WRITE | H5FD_FEAT_ACCUMULATE_METADATA_READ)
  |  |  ------------------
  |  |  |  |   73|    170|#define H5FD_FEAT_ACCUMULATE_METADATA_READ  0x00000004
  |  |  ------------------
  ------------------
  |  Branch (113:9): [True: 170, False: 0]
  |  Branch (113:66): [True: 167, False: 3]
  ------------------
  114|    167|        H5F_meta_accum_t *accum; /* Alias for file's metadata accumulator */
  115|       |
  116|       |        /* Set up alias for file's metadata accumulator info */
  117|    167|        accum = &f_sh->accum;
  118|       |
  119|    167|        if (size < H5F_ACCUM_MAX_SIZE) {
  ------------------
  |  |   48|    167|#define H5F_ACCUM_MAX_SIZE  (1024 * 1024) /* Max. accum. buf size (max. I/Os will be 1/2 this size) */
  ------------------
  |  Branch (119:13): [True: 167, False: 0]
  ------------------
  120|       |            /* Sanity check */
  121|    167|            assert(!accum->buf || (accum->alloc_size >= accum->size));
  122|       |
  123|       |            /* Current read adjoins or overlaps with metadata accumulator */
  124|    167|            if (H5_addr_defined(accum->loc) &&
  ------------------
  |  |  449|    334|#define H5_addr_defined(X)       ((X) != HADDR_UNDEF)
  |  |  ------------------
  |  |  |  |  336|    167|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  |  |  Branch (449:34): [True: 0, False: 167]
  |  |  ------------------
  ------------------
  125|    167|                (H5_addr_overlap(addr, size, accum->loc, accum->size) || ((addr + size) == accum->loc) ||
  ------------------
  |  |  469|      0|#define H5_addr_overlap(O1,L1,O2,L2) H5_RANGE_OVERLAP(O1, ((O1)+(L1)-1), O2, ((O2)+(L2)-1))
  |  |  ------------------
  |  |  |  |  315|      0|#define H5_RANGE_OVERLAP(L1, H1, L2, H2) (!((L1) > (H2) || (L2) > (H1)))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (315:45): [True: 0, False: 0]
  |  |  |  |  |  Branch (315:60): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (125:74): [True: 0, False: 0]
  ------------------
  126|      0|                 (accum->loc + accum->size) == addr)) {
  ------------------
  |  Branch (126:18): [True: 0, False: 0]
  ------------------
  127|      0|                size_t  amount_before; /* Amount to read before current accumulator */
  128|      0|                haddr_t new_addr;      /* New address of the accumulator buffer */
  129|      0|                size_t  new_size;      /* New size of the accumulator buffer */
  130|       |
  131|       |                /* Compute new values for accumulator */
  132|      0|                new_addr = MIN(addr, accum->loc);
  ------------------
  |  |  293|      0|#define MIN(a, b)        (((a) < (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (293:27): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  133|      0|                new_size = (size_t)(MAX((addr + size), (accum->loc + accum->size)) - new_addr);
  ------------------
  |  |  300|      0|#define MAX(a, b)        (((a) > (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (300:27): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  134|       |
  135|       |                /* Check if we need more buffer space */
  136|      0|                if (new_size > accum->alloc_size) {
  ------------------
  |  Branch (136:21): [True: 0, False: 0]
  ------------------
  137|      0|                    size_t new_alloc_size; /* New size of accumulator */
  138|       |
  139|       |                    /* Adjust the buffer size to be a power of 2 that is large enough to hold data */
  140|      0|                    new_alloc_size = (size_t)1 << (1 + H5VM_log2_gen((uint64_t)(new_size - 1)));
  141|       |
  142|       |                    /* Reallocate the metadata accumulator buffer */
  143|      0|                    if (NULL == (accum->buf = H5FL_BLK_REALLOC(meta_accum, accum->buf, new_alloc_size)))
  ------------------
  |  |  155|      0|#define H5FL_BLK_REALLOC(t, blk, new_size) (uint8_t *)H5FL_blk_realloc(&(H5FL_BLK_NAME(t)), (blk), (new_size))
  |  |  ------------------
  |  |  |  |  131|      0|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
  |  Branch (143:25): [True: 0, False: 0]
  ------------------
  144|      0|                        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  145|      0|                                    "unable to allocate metadata accumulator buffer");
  146|       |
  147|       |                    /* Note the new buffer size */
  148|      0|                    accum->alloc_size = new_alloc_size;
  149|       |
  150|       |                    /* Clear the memory */
  151|      0|                    memset(accum->buf + accum->size, 0, (accum->alloc_size - accum->size));
  152|      0|                } /* end if */
  153|       |
  154|       |                /* Read the part before the metadata accumulator */
  155|      0|                if (addr < accum->loc) {
  ------------------
  |  Branch (155:21): [True: 0, False: 0]
  ------------------
  156|       |                    /* Set the amount to read */
  157|      0|                    H5_CHECKED_ASSIGN(amount_before, size_t, (accum->loc - addr), hsize_t);
  ------------------
  |  |  977|      0|    do {                                                                                                     \
  |  |  978|      0|        (dst) = (dsttype)(src);                                                                              \
  |  |  979|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (979:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  158|       |
  159|       |                    /* Make room for the metadata to read in */
  160|      0|                    memmove(accum->buf + amount_before, accum->buf, accum->size);
  161|       |
  162|       |                    /* Adjust dirty region tracking info, if present */
  163|      0|                    if (accum->dirty)
  ------------------
  |  Branch (163:25): [True: 0, False: 0]
  ------------------
  164|      0|                        accum->dirty_off += amount_before;
  165|       |
  166|       |                    /* Dispatch to driver */
  167|      0|                    if (H5FD_read(file, map_type, addr, amount_before, accum->buf) < 0)
  ------------------
  |  Branch (167:25): [True: 0, False: 0]
  ------------------
  168|      0|                        HGOTO_ERROR(H5E_IO, H5E_READERROR, FAIL, "driver read request failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  169|      0|                } /* end if */
  170|      0|                else
  171|      0|                    amount_before = 0;
  172|       |
  173|       |                /* Read the part after the metadata accumulator */
  174|      0|                if ((addr + size) > (accum->loc + accum->size)) {
  ------------------
  |  Branch (174:21): [True: 0, False: 0]
  ------------------
  175|      0|                    size_t amount_after; /* Amount to read at a time */
  176|       |
  177|       |                    /* Set the amount to read */
  178|      0|                    H5_CHECKED_ASSIGN(amount_after, size_t, ((addr + size) - (accum->loc + accum->size)),
  ------------------
  |  |  977|      0|    do {                                                                                                     \
  |  |  978|      0|        (dst) = (dsttype)(src);                                                                              \
  |  |  979|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (979:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  179|      0|                                      hsize_t);
  180|       |
  181|       |                    /* Dispatch to driver */
  182|      0|                    if (H5FD_read(file, map_type, (accum->loc + accum->size), amount_after,
  ------------------
  |  Branch (182:25): [True: 0, False: 0]
  ------------------
  183|      0|                                  (accum->buf + accum->size + amount_before)) < 0)
  184|      0|                        HGOTO_ERROR(H5E_IO, H5E_READERROR, FAIL, "driver read request failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  185|      0|                } /* end if */
  186|       |
  187|       |                /* Copy the data out of the buffer */
  188|      0|                H5MM_memcpy(buf, accum->buf + (addr - new_addr), size);
  ------------------
  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  189|       |
  190|       |                /* Adjust the accumulator address & size */
  191|      0|                accum->loc  = new_addr;
  192|      0|                accum->size = new_size;
  193|      0|            } /* end if */
  194|       |            /* Current read doesn't overlap with metadata accumulator, read it from file */
  195|    167|            else {
  196|       |                /* Dispatch to driver */
  197|    167|                if (H5FD_read(file, map_type, addr, size, buf) < 0)
  ------------------
  |  Branch (197:21): [True: 0, False: 167]
  ------------------
  198|      0|                    HGOTO_ERROR(H5E_IO, H5E_READERROR, FAIL, "driver read request failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  199|    167|            } /* end else */
  200|    167|        }     /* end if */
  201|      0|        else {
  202|       |            /* Read the data */
  203|      0|            if (H5FD_read(file, map_type, addr, size, buf) < 0)
  ------------------
  |  Branch (203:17): [True: 0, False: 0]
  ------------------
  204|      0|                HGOTO_ERROR(H5E_IO, H5E_READERROR, FAIL, "driver read request failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  205|       |
  206|       |            /* Check for overlap w/dirty accumulator */
  207|       |            /* (Note that this could be improved by updating the non-dirty
  208|       |             *  information in the accumulator with [some of] the information
  209|       |             *  just read in. -QAK)
  210|       |             */
  211|      0|            if (accum->dirty &&
  ------------------
  |  Branch (211:17): [True: 0, False: 0]
  ------------------
  212|      0|                H5_addr_overlap(addr, size, accum->loc + accum->dirty_off, accum->dirty_len)) {
  ------------------
  |  |  469|      0|#define H5_addr_overlap(O1,L1,O2,L2) H5_RANGE_OVERLAP(O1, ((O1)+(L1)-1), O2, ((O2)+(L2)-1))
  |  |  ------------------
  |  |  |  |  315|      0|#define H5_RANGE_OVERLAP(L1, H1, L2, H2) (!((L1) > (H2) || (L2) > (H1)))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (315:45): [True: 0, False: 0]
  |  |  |  |  |  Branch (315:60): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  213|      0|                haddr_t dirty_loc = accum->loc + accum->dirty_off; /* File offset of dirty information */
  214|      0|                size_t  buf_off;                                   /* Offset of dirty region in buffer */
  215|      0|                size_t  dirty_off;                                 /* Offset within dirty region */
  216|      0|                size_t  overlap_size;                              /* Size of overlap with dirty region */
  217|       |
  218|       |                /* Check for read starting before beginning dirty region */
  219|      0|                if (H5_addr_le(addr, dirty_loc)) {
  ------------------
  |  |  458|      0|#define H5_addr_le(X,Y)          ((X) != HADDR_UNDEF &&                     \
  |  |  ------------------
  |  |  |  |  336|      0|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  |  |  Branch (458:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  459|      0|                                  (Y) != HADDR_UNDEF &&                     \
  |  |  ------------------
  |  |  |  |  336|      0|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  |  |  Branch (459:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  460|      0|                                  (X) <= (Y))
  |  |  ------------------
  |  |  |  Branch (460:35): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  220|       |                    /* Compute offset of dirty region within buffer */
  221|      0|                    buf_off = (size_t)(dirty_loc - addr);
  222|       |
  223|       |                    /* Compute offset within dirty region */
  224|      0|                    dirty_off = 0;
  225|       |
  226|       |                    /* Check for read ending within dirty region */
  227|      0|                    if (H5_addr_lt(addr + size, dirty_loc + accum->dirty_len))
  ------------------
  |  |  455|      0|#define H5_addr_lt(X,Y)          ((X) != HADDR_UNDEF &&                     \
  |  |  ------------------
  |  |  |  |  336|      0|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  |  |  Branch (455:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  456|      0|                                  (Y) != HADDR_UNDEF &&                     \
  |  |  ------------------
  |  |  |  |  336|      0|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  |  |  Branch (456:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  457|      0|                                  (X) < (Y))
  |  |  ------------------
  |  |  |  Branch (457:35): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  228|      0|                        overlap_size = (size_t)((addr + size) - buf_off);
  229|      0|                    else /* Access covers whole dirty region */
  230|      0|                        overlap_size = accum->dirty_len;
  231|      0|                }      /* end if */
  232|      0|                else { /* Read starts after beginning of dirty region */
  233|       |                    /* Compute dirty offset within buffer and overlap size */
  234|      0|                    buf_off      = 0;
  235|      0|                    dirty_off    = (size_t)(addr - dirty_loc);
  236|      0|                    overlap_size = (size_t)((dirty_loc + accum->dirty_len) - addr);
  237|      0|                } /* end else */
  238|       |
  239|       |                /* Copy the dirty region to buffer */
  240|      0|                H5MM_memcpy((unsigned char *)buf + buf_off,
  ------------------
  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  241|      0|                            (unsigned char *)accum->buf + accum->dirty_off + dirty_off, overlap_size);
  242|      0|            } /* end if */
  243|      0|        }     /* end else */
  244|    167|    }         /* end if */
  245|      3|    else {
  246|       |        /* Read the data */
  247|      3|        if (H5FD_read(file, map_type, addr, size, buf) < 0)
  ------------------
  |  Branch (247:13): [True: 0, False: 3]
  ------------------
  248|      0|            HGOTO_ERROR(H5E_IO, H5E_READERROR, FAIL, "driver read request failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  249|      3|    } /* end else */
  250|       |
  251|    170|done:
  252|    170|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    170|    ;                                                                                                        \
  |  | 1573|    170|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    170|    return (ret_value);                                                                                      \
  |  | 1575|    170|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  253|    170|} /* end H5F__accum_read() */
H5F__accum_flush:
 1004|     10|{
 1005|     10|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
 1006|       |
 1007|     10|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     10|    {                                                                                                        \
  |  | 1392|     10|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     10|        {
  ------------------
 1008|       |
 1009|       |    /* Sanity checks */
 1010|     10|    assert(f_sh);
 1011|       |
 1012|       |    /* Check if we need to flush out the metadata accumulator */
 1013|     10|    if ((f_sh->feature_flags & H5FD_FEAT_ACCUMULATE_METADATA) && f_sh->accum.dirty) {
  ------------------
  |  |   75|     10|    (H5FD_FEAT_ACCUMULATE_METADATA_WRITE | H5FD_FEAT_ACCUMULATE_METADATA_READ)
  |  |  ------------------
  |  |  |  |   72|     10|#define H5FD_FEAT_ACCUMULATE_METADATA_WRITE 0x00000002
  |  |  ------------------
  |  |                   (H5FD_FEAT_ACCUMULATE_METADATA_WRITE | H5FD_FEAT_ACCUMULATE_METADATA_READ)
  |  |  ------------------
  |  |  |  |   73|     10|#define H5FD_FEAT_ACCUMULATE_METADATA_READ  0x00000004
  |  |  ------------------
  ------------------
  |  Branch (1013:9): [True: 10, False: 0]
  |  Branch (1013:66): [True: 0, False: 10]
  ------------------
 1014|      0|        H5FD_t *file; /* File driver pointer */
 1015|       |
 1016|       |        /* Translate to file driver pointer */
 1017|      0|        file = f_sh->lf;
 1018|       |
 1019|       |        /* Flush the metadata contents */
 1020|      0|        if (H5FD_write(file, H5FD_MEM_DEFAULT, f_sh->accum.loc + f_sh->accum.dirty_off, f_sh->accum.dirty_len,
  ------------------
  |  Branch (1020:13): [True: 0, False: 0]
  ------------------
 1021|      0|                       f_sh->accum.buf + f_sh->accum.dirty_off) < 0)
 1022|      0|            HGOTO_ERROR(H5E_IO, H5E_WRITEERROR, FAIL, "file write failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1023|       |
 1024|       |        /* Reset the dirty flag */
 1025|      0|        f_sh->accum.dirty = false;
 1026|      0|    } /* end if */
 1027|       |
 1028|     10|done:
 1029|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1030|     10|} /* end H5F__accum_flush() */
H5F__accum_reset:
 1043|     10|{
 1044|     10|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
 1045|       |
 1046|     10|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     10|    {                                                                                                        \
  |  | 1461|     10|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     10|        {
  ------------------
 1047|       |
 1048|       |    /* Sanity checks */
 1049|     10|    assert(f_sh);
 1050|       |
 1051|       |    /* Flush any dirty data in accumulator, if requested */
 1052|     10|    if (flush)
  ------------------
  |  Branch (1052:9): [True: 10, False: 0]
  ------------------
 1053|     10|        if (H5F__accum_flush(f_sh) < 0)
  ------------------
  |  Branch (1053:13): [True: 0, False: 10]
  ------------------
 1054|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTFLUSH, FAIL, "can't flush metadata accumulator");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1055|       |
 1056|       |    /* Check if we need to reset the metadata accumulator information */
 1057|     10|    if (f_sh->feature_flags & H5FD_FEAT_ACCUMULATE_METADATA) {
  ------------------
  |  |   75|     10|    (H5FD_FEAT_ACCUMULATE_METADATA_WRITE | H5FD_FEAT_ACCUMULATE_METADATA_READ)
  |  |  ------------------
  |  |  |  |   72|     10|#define H5FD_FEAT_ACCUMULATE_METADATA_WRITE 0x00000002
  |  |  ------------------
  |  |                   (H5FD_FEAT_ACCUMULATE_METADATA_WRITE | H5FD_FEAT_ACCUMULATE_METADATA_READ)
  |  |  ------------------
  |  |  |  |   73|     10|#define H5FD_FEAT_ACCUMULATE_METADATA_READ  0x00000004
  |  |  ------------------
  ------------------
  |  Branch (1057:9): [True: 10, False: 0]
  ------------------
 1058|       |        /* Free the buffer */
 1059|     10|        if (f_sh->accum.buf)
  ------------------
  |  Branch (1059:13): [True: 0, False: 10]
  ------------------
 1060|      0|            f_sh->accum.buf = H5FL_BLK_FREE(meta_accum, f_sh->accum.buf);
  ------------------
  |  |  152|      0|#define H5FL_BLK_FREE(t, blk) (uint8_t *)H5FL_blk_free(&(H5FL_BLK_NAME(t)), blk)
  |  |  ------------------
  |  |  |  |  131|      0|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
 1061|       |
 1062|       |        /* Reset the buffer sizes & location */
 1063|     10|        f_sh->accum.alloc_size = f_sh->accum.size = 0;
 1064|     10|        f_sh->accum.loc                           = HADDR_UNDEF;
  ------------------
  |  |  336|     10|#define HADDR_UNDEF         UINT64_MAX
  ------------------
 1065|     10|        f_sh->accum.dirty                         = false;
 1066|     10|        f_sh->accum.dirty_len                     = 0;
 1067|     10|    } /* end if */
 1068|       |
 1069|     10|done:
 1070|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1071|     10|} /* end H5F__accum_reset() */

H5F_init:
  135|      1|{
  136|      1|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  137|       |
  138|      1|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      1|    {                                                                                                        \
  |  | 1392|      1|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      1|        {
  ------------------
  139|       |
  140|       |    /* Initialize the ID group for the file IDs */
  141|      1|    if (H5I_register_type(H5I_FILE_CLS) < 0)
  ------------------
  |  Branch (141:9): [True: 0, False: 1]
  ------------------
  142|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, FAIL, "unable to initialize interface");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  143|       |
  144|       |    /* Check the file locking environment variable */
  145|      1|    if (H5F__parse_file_lock_env_var(&use_locks_env_g, &ignore_disabled_locks_g) < 0)
  ------------------
  |  Branch (145:9): [True: 0, False: 1]
  ------------------
  146|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "unable to parse file locking environment variable");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  147|       |
  148|      1|done:
  149|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  150|      1|} /* end H5F_init() */
H5F_term_package:
  169|      1|{
  170|      1|    int n = 0;
  171|       |
  172|      1|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      1|    {                                                                                                        \
  |  | 1425|      1|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      1|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      1|        {
  ------------------
  173|       |
  174|      1|    if (H5I_nmembers(H5I_FILE) > 0) {
  ------------------
  |  Branch (174:9): [True: 0, False: 1]
  ------------------
  175|      0|        (void)H5I_clear_type(H5I_FILE, false, false);
  176|      0|        n++; /*H5I*/
  177|      0|    }        /* end if */
  178|      1|    else {
  179|       |        /* Make certain we've cleaned up all the shared file objects */
  180|      1|        H5F_sfile_assert_num(0);
  181|       |
  182|       |        /* Destroy the file object id group */
  183|      1|        n += (H5I_dec_type_ref(H5I_FILE) > 0);
  184|      1|    } /* end else */
  185|       |
  186|      1|    FUNC_LEAVE_NOAPI(n)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  187|      1|} /* end H5F_term_package() */
H5F__parse_file_lock_env_var:
  243|      1|{
  244|      1|    char *lock_env_var = NULL; /* Environment variable pointer */
  245|       |
  246|      1|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|      1|    {                                                                                                        \
  |  | 1467|      1|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|      1|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|      1|        {
  ------------------
  247|       |
  248|       |    /* Check the file locking environment variable */
  249|      1|    lock_env_var = getenv(HDF5_USE_FILE_LOCKING);
  ------------------
  |  |  221|      1|#define HDF5_USE_FILE_LOCKING "HDF5_USE_FILE_LOCKING"
  ------------------
  250|      1|    if (lock_env_var && (!strcmp(lock_env_var, "FALSE") || !strcmp(lock_env_var, "0"))) {
  ------------------
  |  Branch (250:9): [True: 0, False: 1]
  |  Branch (250:26): [True: 0, False: 0]
  |  Branch (250:60): [True: 0, False: 0]
  ------------------
  251|      0|        *use_locks             = false; /* Override: Never use locks */
  252|      0|        *ignore_disabled_locks = FAIL;
  ------------------
  |  |  284|      0|#define FAIL    (-1)
  ------------------
  253|      0|    }
  254|      1|    else if (lock_env_var && !strcmp(lock_env_var, "BEST_EFFORT")) {
  ------------------
  |  Branch (254:14): [True: 0, False: 1]
  |  Branch (254:30): [True: 0, False: 0]
  ------------------
  255|      0|        *use_locks             = true; /* Override: Always use locks */
  256|      0|        *ignore_disabled_locks = true; /* Override: Ignore disabled locks */
  257|      0|    }
  258|      1|    else if (lock_env_var && (!strcmp(lock_env_var, "TRUE") || !strcmp(lock_env_var, "1"))) {
  ------------------
  |  Branch (258:14): [True: 0, False: 1]
  |  Branch (258:31): [True: 0, False: 0]
  |  Branch (258:64): [True: 0, False: 0]
  ------------------
  259|      0|        *use_locks             = true;  /* Override: Always use locks */
  260|      0|        *ignore_disabled_locks = false; /* Override: Don't ignore disabled locks */
  261|      0|    }
  262|      1|    else {
  263|       |        /* Environment variable not set, or not set correctly */
  264|      1|        *use_locks             = FAIL;
  ------------------
  |  |  284|      1|#define FAIL    (-1)
  ------------------
  265|      1|        *ignore_disabled_locks = FAIL;
  ------------------
  |  |  284|      1|#define FAIL    (-1)
  ------------------
  266|      1|    }
  267|       |
  268|      1|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  269|      1|} /* end H5F__parse_file_lock_env_var() */
H5F_get_obj_count:
  487|     78|{
  488|     78|    herr_t ret_value = SUCCEED;
  ------------------
  |  |  283|     78|#define SUCCEED 0
  ------------------
  489|       |
  490|     78|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     78|    {                                                                                                        \
  |  | 1392|     78|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     78|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     78|                                                                                                             \
  |  |  |  | 1267|     78|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     78|        {
  ------------------
  491|       |
  492|       |    /* Sanity check */
  493|     78|    assert(obj_id_count_ptr);
  494|       |
  495|       |    /* Perform the query */
  496|     78|    if ((ret_value = H5F__get_objects(f, types, 0, NULL, app_ref, obj_id_count_ptr)) < 0)
  ------------------
  |  Branch (496:9): [True: 0, False: 78]
  ------------------
  497|      0|        HGOTO_ERROR(H5E_FILE, H5E_BADITER, FAIL, "H5F__get_objects failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  498|       |
  499|     78|done:
  500|     78|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     78|    ;                                                                                                        \
  |  | 1573|     78|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     78|    return (ret_value);                                                                                      \
  |  | 1575|     78|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  501|     78|} /* end H5F_get_obj_count() */
H5F_get_obj_ids:
  514|     12|{
  515|     12|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     12|#define SUCCEED 0
  ------------------
  516|       |
  517|     12|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     12|    {                                                                                                        \
  |  | 1392|     12|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     12|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     12|                                                                                                             \
  |  |  |  | 1267|     12|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     12|        {
  ------------------
  518|       |
  519|       |    /* Sanity check */
  520|     12|    assert(obj_id_count_ptr);
  521|       |
  522|       |    /* Perform the query */
  523|     12|    if ((ret_value = H5F__get_objects(f, types, max_objs, oid_list, app_ref, obj_id_count_ptr)) < 0)
  ------------------
  |  Branch (523:9): [True: 0, False: 12]
  ------------------
  524|      0|        HGOTO_ERROR(H5E_FILE, H5E_BADITER, FAIL, "H5F__get_objects failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  525|       |
  526|     12|done:
  527|     12|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     12|    ;                                                                                                        \
  |  | 1573|     12|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     12|    return (ret_value);                                                                                      \
  |  | 1575|     12|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  528|     12|} /* end H5F_get_obj_ids() */
H5F_open:
 1801|     10|{
 1802|     10|    H5F_t             *file   = NULL; /*the success return value      */
 1803|     10|    H5F_shared_t      *shared = NULL; /*shared part of `file'         */
 1804|     10|    H5FD_t            *lf     = NULL; /*file driver part of `shared'  */
 1805|     10|    unsigned           tent_flags;    /*tentative flags               */
 1806|     10|    H5FD_class_t      *drvr;          /*file driver class info        */
 1807|     10|    H5P_genplist_t    *a_plist;       /*file access property list     */
 1808|     10|    H5F_close_degree_t fc_degree;     /*file close degree             */
 1809|     10|    size_t             page_buf_size;
 1810|     10|    unsigned           page_buf_min_meta_perc = 0;
 1811|     10|    unsigned           page_buf_min_raw_perc  = 0;
 1812|     10|    bool               set_flag               = false; /*set the status_flags in the superblock */
 1813|     10|    bool               clear                  = false; /*clear the status_flags         */
 1814|     10|    bool               evict_on_close;                 /* evict on close value from plist  */
 1815|     10|    bool               use_file_locking      = true;   /* Using file locks? */
 1816|     10|    bool               ignore_disabled_locks = false;  /* Ignore disabled file locks? */
 1817|     10|    bool               ci_load               = false;  /* whether MDC ci load requested */
 1818|     10|    bool               ci_write              = false;  /* whether MDC CI write requested */
 1819|     10|    H5F_t             *ret_value             = NULL;   /*actual return value           */
 1820|       |
 1821|     10|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|     10|    {                                                                                                        \
  |  | 1392|     10|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     10|        {
  ------------------
 1822|       |
 1823|       |    /*
 1824|       |     * If the driver has a 'cmp' method then the driver is capable of
 1825|       |     * determining when two file handles refer to the same file and the
 1826|       |     * library can insure that when the application opens a file twice
 1827|       |     * that the two handles coordinate their operations appropriately.
 1828|       |     * Otherwise it is the application's responsibility to never open the
 1829|       |     * same file more than once at a time.
 1830|       |     */
 1831|     10|    if (NULL == (drvr = H5FD_get_class(fapl_id)))
  ------------------
  |  Branch (1831:9): [True: 0, False: 10]
  ------------------
 1832|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTGET, NULL, "unable to retrieve VFL class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1833|       |
 1834|       |    /* Get the file access property list, for future queries */
 1835|     10|    if (NULL == (a_plist = (H5P_genplist_t *)H5I_object(fapl_id)))
  ------------------
  |  Branch (1835:9): [True: 0, False: 10]
  ------------------
 1836|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "not file access property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1837|       |
 1838|       |    /* Check if we are using file locking */
 1839|     10|    if (H5F__check_if_using_file_locks(a_plist, &use_file_locking, &ignore_disabled_locks) < 0)
  ------------------
  |  Branch (1839:9): [True: 0, False: 10]
  ------------------
 1840|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTGET, NULL, "unable to get file locking flags");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1841|       |
 1842|       |    /*
 1843|       |     * Opening a file is a two step process. First we try to open the
 1844|       |     * file in a way which doesn't affect its state (like not truncating
 1845|       |     * or creating it) so we can compare it with files that are already
 1846|       |     * open. If that fails then we try again with the full set of flags
 1847|       |     * (only if they're different than the original failed attempt).
 1848|       |     * However, if the file driver can't distinguish between files then
 1849|       |     * there's no reason to open the file tentatively because it's the
 1850|       |     * application's responsibility to prevent this situation (there's no
 1851|       |     * way for us to detect it here anyway).
 1852|       |     */
 1853|     10|    if (drvr->cmp)
  ------------------
  |  Branch (1853:9): [True: 10, False: 0]
  ------------------
 1854|     10|        tent_flags = flags & ~(H5F_ACC_CREAT | H5F_ACC_TRUNC | H5F_ACC_EXCL);
  ------------------
  |  |   53|     10|#define H5F_ACC_CREAT (H5CHECK H5OPEN 0x0010u) /**< Create non-existing files  */
  ------------------
                      tent_flags = flags & ~(H5F_ACC_CREAT | H5F_ACC_TRUNC | H5F_ACC_EXCL);
  ------------------
  |  |   50|     10|#define H5F_ACC_TRUNC  (H5CHECK H5OPEN 0x0002u) /**< Overwrite existing files   */
  ------------------
                      tent_flags = flags & ~(H5F_ACC_CREAT | H5F_ACC_TRUNC | H5F_ACC_EXCL);
  ------------------
  |  |   51|     10|#define H5F_ACC_EXCL   (H5CHECK H5OPEN 0x0004u) /**< Fail if file already exists*/
  ------------------
 1855|      0|    else
 1856|      0|        tent_flags = flags;
 1857|       |
 1858|       |    /*
 1859|       |     * When performing a tentative open of a file where we have stripped away
 1860|       |     * flags such as H5F_ACC_CREAT from the specified file access flags, the
 1861|       |     * H5E_BEGIN/END_TRY macros are used to suppress error output since there
 1862|       |     * is an expectation that the tentative open might fail. Even though we
 1863|       |     * explicitly clear the error stack after such a failure, the underlying
 1864|       |     * file driver might maintain its own error stack and choose whether to
 1865|       |     * display errors based on whether the library has disabled error reporting.
 1866|       |     * Since we wish to suppress that error output as well for the case of
 1867|       |     * tentative file opens, surrounding the file open call with the
 1868|       |     * H5E_BEGIN/END_TRY macros is an explicit instruction to the file driver
 1869|       |     * not to display errors. If the tentative file open call fails, another
 1870|       |     * attempt at opening the file will be made without error output being
 1871|       |     * suppressed.
 1872|       |     *
 1873|       |     * However, if stripping away the H5F_ACC_CREAT flag and others left us
 1874|       |     * with the same file access flags as before, then we will skip this
 1875|       |     * tentative file open and only make a single attempt at opening the file.
 1876|       |     * In this case, we don't want to suppress error output since the underlying
 1877|       |     * file driver might provide more details on why the file open failed.
 1878|       |     */
 1879|     10|    if (tent_flags != flags) {
  ------------------
  |  Branch (1879:9): [True: 0, False: 10]
  ------------------
 1880|       |        /* Make tentative attempt to open file */
 1881|      0|        H5E_BEGIN_TRY
  ------------------
  |  |  118|      0|    {                                                                                                        \
  |  |  119|      0|        H5E_auto2_t saved_efunc;                                                                             \
  |  |  120|      0|        void       *H5E_saved_edata;                                                                         \
  |  |  121|      0|                                                                                                             \
  |  |  122|      0|        (void)H5Eget_auto2(H5E_DEFAULT, &saved_efunc, &H5E_saved_edata);                                     \
  |  |  ------------------
  |  |  |  |   25|      0|#define H5E_DEFAULT 0 /* (hid_t) */
  |  |  ------------------
  |  |  123|      0|        (void)H5Eset_auto2(H5E_DEFAULT, NULL, NULL);
  |  |  ------------------
  |  |  |  |   25|      0|#define H5E_DEFAULT 0 /* (hid_t) */
  |  |  ------------------
  ------------------
 1882|      0|        {
 1883|      0|            lf = H5FD_open(name, tent_flags, fapl_id, HADDR_UNDEF);
  ------------------
  |  |  336|      0|#define HADDR_UNDEF         UINT64_MAX
  ------------------
 1884|      0|        }
 1885|      0|        H5E_END_TRY
  ------------------
  |  |  126|      0|    (void)H5Eset_auto2(H5E_DEFAULT, saved_efunc, H5E_saved_edata);                                           \
  |  |  ------------------
  |  |  |  |   25|      0|#define H5E_DEFAULT 0 /* (hid_t) */
  |  |  ------------------
  |  |  127|      0|    }
  ------------------
 1886|      0|    }
 1887|       |
 1888|       |    /*
 1889|       |     * If a tentative attempt to open the file wasn't necessary, attempt
 1890|       |     * to open the file now. Otherwise, if the tentative open failed, clear
 1891|       |     * the error stack and reset the file access flags, then make another
 1892|       |     * attempt at opening the file.
 1893|       |     */
 1894|     10|    if ((tent_flags == flags) || (lf == NULL)) {
  ------------------
  |  Branch (1894:9): [True: 10, False: 0]
  |  Branch (1894:34): [True: 0, False: 0]
  ------------------
 1895|     10|        if (tent_flags != flags) {
  ------------------
  |  Branch (1895:13): [True: 0, False: 10]
  ------------------
 1896|      0|            H5E_clear_stack();
 1897|      0|            tent_flags = flags;
 1898|      0|        }
 1899|       |
 1900|     10|        if (NULL == (lf = H5FD_open(name, tent_flags, fapl_id, HADDR_UNDEF)))
  ------------------
  |  |  336|     10|#define HADDR_UNDEF         UINT64_MAX
  ------------------
  |  Branch (1900:13): [True: 0, False: 10]
  ------------------
 1901|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTOPENFILE, NULL, "unable to open file: name = '%s', tent_flags = %x",
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1902|     10|                        name, tent_flags);
 1903|     10|    }
 1904|       |
 1905|       |    /* Is the file already open? */
 1906|     10|    if ((shared = H5F__sfile_search(lf)) != NULL) {
  ------------------
  |  Branch (1906:9): [True: 0, False: 10]
  ------------------
 1907|       |        /*
 1908|       |         * The file is already open, so use that one instead of the one we
 1909|       |         * just opened. We only one one H5FD_t* per file so one doesn't
 1910|       |         * confuse the other.  But fail if this request was to truncate the
 1911|       |         * file (since we can't do that while the file is open), or if the
 1912|       |         * request was to create a non-existent file (since the file already
 1913|       |         * exists), or if the new request adds write access (since the
 1914|       |         * readers don't expect the file to change under them), or if the
 1915|       |         * SWMR write/read access flags don't agree.
 1916|       |         */
 1917|      0|        if (H5FD_close(lf) < 0)
  ------------------
  |  Branch (1917:13): [True: 0, False: 0]
  ------------------
 1918|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTOPENFILE, NULL, "unable to close low-level file info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1919|      0|        if (flags & H5F_ACC_TRUNC)
  ------------------
  |  |   50|      0|#define H5F_ACC_TRUNC  (H5CHECK H5OPEN 0x0002u) /**< Overwrite existing files   */
  ------------------
  |  Branch (1919:13): [True: 0, False: 0]
  ------------------
 1920|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTOPENFILE, NULL, "unable to truncate a file which is already open");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1921|      0|        if (flags & H5F_ACC_EXCL)
  ------------------
  |  |   51|      0|#define H5F_ACC_EXCL   (H5CHECK H5OPEN 0x0004u) /**< Fail if file already exists*/
  ------------------
  |  Branch (1921:13): [True: 0, False: 0]
  ------------------
 1922|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTOPENFILE, NULL, "file exists");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1923|      0|        if ((flags & H5F_ACC_RDWR) && 0 == (shared->flags & H5F_ACC_RDWR))
  ------------------
  |  |   49|      0|#define H5F_ACC_RDWR   (H5CHECK H5OPEN 0x0001u) /**< Open for read and write    */
  ------------------
                      if ((flags & H5F_ACC_RDWR) && 0 == (shared->flags & H5F_ACC_RDWR))
  ------------------
  |  |   49|      0|#define H5F_ACC_RDWR   (H5CHECK H5OPEN 0x0001u) /**< Open for read and write    */
  ------------------
  |  Branch (1923:13): [True: 0, False: 0]
  |  Branch (1923:39): [True: 0, False: 0]
  ------------------
 1924|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTOPENFILE, NULL, "file is already open for read-only");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1925|       |
 1926|      0|        if ((flags & H5F_ACC_SWMR_WRITE) && 0 == (shared->flags & H5F_ACC_SWMR_WRITE))
  ------------------
  |  |   55|      0|    (H5CHECK 0x0020u) /**< Indicate that this file is open for writing in a                                  \
  ------------------
                      if ((flags & H5F_ACC_SWMR_WRITE) && 0 == (shared->flags & H5F_ACC_SWMR_WRITE))
  ------------------
  |  |   55|      0|    (H5CHECK 0x0020u) /**< Indicate that this file is open for writing in a                                  \
  ------------------
  |  Branch (1926:13): [True: 0, False: 0]
  |  Branch (1926:45): [True: 0, False: 0]
  ------------------
 1927|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTOPENFILE, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1928|      0|                        "SWMR write access flag not the same for file that is already open");
 1929|      0|        if ((flags & H5F_ACC_SWMR_READ) &&
  ------------------
  |  |   61|      0|    (H5CHECK 0x0040u) /**< Indicate that this file is open for reading in a                                  \
  ------------------
  |  Branch (1929:13): [True: 0, False: 0]
  ------------------
 1930|      0|            !((shared->flags & H5F_ACC_SWMR_WRITE) || (shared->flags & H5F_ACC_SWMR_READ) ||
  ------------------
  |  |   55|      0|    (H5CHECK 0x0020u) /**< Indicate that this file is open for writing in a                                  \
  ------------------
                          !((shared->flags & H5F_ACC_SWMR_WRITE) || (shared->flags & H5F_ACC_SWMR_READ) ||
  ------------------
  |  |   61|      0|    (H5CHECK 0x0040u) /**< Indicate that this file is open for reading in a                                  \
  ------------------
  |  Branch (1930:15): [True: 0, False: 0]
  |  Branch (1930:55): [True: 0, False: 0]
  ------------------
 1931|      0|              (shared->flags & H5F_ACC_RDWR)))
  ------------------
  |  |   49|      0|#define H5F_ACC_RDWR   (H5CHECK H5OPEN 0x0001u) /**< Open for read and write    */
  ------------------
  |  Branch (1931:15): [True: 0, False: 0]
  ------------------
 1932|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTOPENFILE, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1933|      0|                        "SWMR read access flag not the same for file that is already open");
 1934|       |
 1935|       |        /* Allocate new "high-level" file struct */
 1936|      0|        if ((file = H5F__new(shared, flags, fcpl_id, fapl_id, NULL)) == NULL)
  ------------------
  |  Branch (1936:13): [True: 0, False: 0]
  ------------------
 1937|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTOPENFILE, NULL, "unable to create new file object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1938|      0|    } /* end if */
 1939|     10|    else {
 1940|       |        /* Check if tentative open was good enough */
 1941|     10|        if (flags != tent_flags) {
  ------------------
  |  Branch (1941:13): [True: 0, False: 10]
  ------------------
 1942|       |            /*
 1943|       |             * This file is not yet open by the library and the flags we used to
 1944|       |             * open it are different than the desired flags. Close the tentative
 1945|       |             * file and open it for real.
 1946|       |             */
 1947|      0|            if (H5FD_close(lf) < 0)
  ------------------
  |  Branch (1947:17): [True: 0, False: 0]
  ------------------
 1948|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTOPENFILE, NULL, "unable to close low-level file info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1949|       |
 1950|      0|            if (NULL == (lf = H5FD_open(name, flags, fapl_id, HADDR_UNDEF)))
  ------------------
  |  |  336|      0|#define HADDR_UNDEF         UINT64_MAX
  ------------------
  |  Branch (1950:17): [True: 0, False: 0]
  ------------------
 1951|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTOPENFILE, NULL, "unable to open file");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1952|      0|        } /* end if */
 1953|       |
 1954|       |        /* Place an advisory lock on the file */
 1955|     10|        if (use_file_locking)
  ------------------
  |  Branch (1955:13): [True: 10, False: 0]
  ------------------
 1956|     10|            if (H5FD_lock(lf, (bool)((flags & H5F_ACC_RDWR) ? true : false)) < 0) {
  ------------------
  |  |   49|     10|#define H5F_ACC_RDWR   (H5CHECK H5OPEN 0x0001u) /**< Open for read and write    */
  ------------------
  |  Branch (1956:17): [True: 0, False: 10]
  |  Branch (1956:38): [True: 0, False: 10]
  ------------------
 1957|       |                /* Locking failed - Closing will remove the lock */
 1958|      0|                if (H5FD_close(lf) < 0)
  ------------------
  |  Branch (1958:21): [True: 0, False: 0]
  ------------------
 1959|      0|                    HDONE_ERROR(H5E_FILE, H5E_CANTCLOSEFILE, NULL, "unable to close low-level file info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1960|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTLOCKFILE, NULL, "unable to lock the file");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1961|      0|            } /* end if */
 1962|       |
 1963|       |        /* Create the 'top' file structure */
 1964|     10|        if (NULL == (file = H5F__new(NULL, flags, fcpl_id, fapl_id, lf))) {
  ------------------
  |  Branch (1964:13): [True: 0, False: 10]
  ------------------
 1965|       |            /* If this is the only time the file has been opened and the struct
 1966|       |             * returned is NULL, H5FD_close() will never be called via H5F__dest()
 1967|       |             * so we have to close lf here before heading to the error handling.
 1968|       |             */
 1969|      0|            if (H5FD_close(lf) < 0)
  ------------------
  |  Branch (1969:17): [True: 0, False: 0]
  ------------------
 1970|      0|                HDONE_ERROR(H5E_FILE, H5E_CANTOPENFILE, NULL, "unable to close low-level file info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1971|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTOPENFILE, NULL, "unable to initialize file structure");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1972|      0|        } /* end if */
 1973|       |
 1974|       |        /* Need to set status_flags in the superblock if the driver has a 'lock' method */
 1975|     10|        if (drvr->lock)
  ------------------
  |  Branch (1975:13): [True: 10, False: 0]
  ------------------
 1976|     10|            set_flag = true;
 1977|     10|    } /* end else */
 1978|       |
 1979|       |    /* Check to see if both SWMR and cache image are requested.  Fail if so */
 1980|     10|    if (H5C_cache_image_status(file, &ci_load, &ci_write) < 0)
  ------------------
  |  Branch (1980:9): [True: 0, False: 10]
  ------------------
 1981|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTGET, NULL, "can't get MDC cache image status");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1982|     10|    if ((ci_load || ci_write) && (flags & (H5F_ACC_SWMR_READ | H5F_ACC_SWMR_WRITE)))
  ------------------
  |  |   61|      0|    (H5CHECK 0x0040u) /**< Indicate that this file is open for reading in a                                  \
  ------------------
                  if ((ci_load || ci_write) && (flags & (H5F_ACC_SWMR_READ | H5F_ACC_SWMR_WRITE)))
  ------------------
  |  |   55|      0|    (H5CHECK 0x0020u) /**< Indicate that this file is open for writing in a                                  \
  ------------------
  |  Branch (1982:10): [True: 0, False: 10]
  |  Branch (1982:21): [True: 0, False: 10]
  |  Branch (1982:34): [True: 0, False: 0]
  ------------------
 1983|      0|        HGOTO_ERROR(H5E_FILE, H5E_UNSUPPORTED, NULL, "can't have both SWMR and cache image");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1984|       |
 1985|       |    /* Retain the name the file was opened with */
 1986|     10|    file->open_name = H5MM_xstrdup(name);
 1987|       |
 1988|       |    /* Short cuts */
 1989|     10|    shared = file->shared;
 1990|     10|    lf     = shared->lf;
 1991|       |
 1992|       |    /* Set the file locking flags. If the file is already open, the file
 1993|       |     * requested file locking flag must match that of the open file.
 1994|       |     */
 1995|     10|    if (shared->nrefs == 1) {
  ------------------
  |  Branch (1995:9): [True: 10, False: 0]
  ------------------
 1996|     10|        file->shared->use_file_locking      = use_file_locking;
 1997|     10|        file->shared->ignore_disabled_locks = ignore_disabled_locks;
 1998|     10|    }
 1999|      0|    else if (shared->nrefs > 1) {
  ------------------
  |  Branch (1999:14): [True: 0, False: 0]
  ------------------
 2000|      0|        if (file->shared->use_file_locking != use_file_locking)
  ------------------
  |  Branch (2000:13): [True: 0, False: 0]
  ------------------
 2001|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, NULL, "file locking flag values don't match");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2002|      0|        if (file->shared->use_file_locking && (file->shared->ignore_disabled_locks != ignore_disabled_locks))
  ------------------
  |  Branch (2002:13): [True: 0, False: 0]
  |  Branch (2002:47): [True: 0, False: 0]
  ------------------
 2003|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2004|      0|                        "file locking 'ignore disabled locks' flag values don't match");
 2005|      0|    }
 2006|       |
 2007|       |    /* Check if page buffering is enabled */
 2008|     10|    if (H5P_get(a_plist, H5F_ACS_PAGE_BUFFER_SIZE_NAME, &page_buf_size) < 0)
  ------------------
  |  |  273|     10|#define H5F_ACS_PAGE_BUFFER_SIZE_NAME "page_buffer_size" /* the maximum size for the page buffer cache */
  ------------------
  |  Branch (2008:9): [True: 0, False: 10]
  ------------------
 2009|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTGET, NULL, "can't get page buffer size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2010|     10|    if (page_buf_size) {
  ------------------
  |  Branch (2010:9): [True: 0, False: 10]
  ------------------
 2011|       |#ifdef H5_HAVE_PARALLEL
 2012|       |        /* Collective metadata writes are not supported with page buffering */
 2013|       |        if (file->shared->coll_md_write)
 2014|       |            HGOTO_ERROR(H5E_FILE, H5E_CANTOPENFILE, NULL,
 2015|       |                        "collective metadata writes are not supported with page buffering");
 2016|       |
 2017|       |        /* Temporary: fail file create when page buffering feature is enabled for parallel */
 2018|       |        HGOTO_ERROR(H5E_FILE, H5E_CANTOPENFILE, NULL, "page buffering is disabled for parallel");
 2019|       |#endif /* H5_HAVE_PARALLEL */
 2020|       |        /* Query for other page buffer cache properties */
 2021|      0|        if (H5P_get(a_plist, H5F_ACS_PAGE_BUFFER_MIN_META_PERC_NAME, &page_buf_min_meta_perc) < 0)
  ------------------
  |  |  275|      0|    "page_buffer_min_meta_perc" /* the min metadata percentage for the page buffer cache */
  ------------------
  |  Branch (2021:13): [True: 0, False: 0]
  ------------------
 2022|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTGET, NULL, "can't get minimum metadata fraction of page buffer");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2023|      0|        if (H5P_get(a_plist, H5F_ACS_PAGE_BUFFER_MIN_RAW_PERC_NAME, &page_buf_min_raw_perc) < 0)
  ------------------
  |  |  277|      0|    "page_buffer_min_raw_perc" /* the min raw data percentage for the page buffer cache */
  ------------------
  |  Branch (2023:13): [True: 0, False: 0]
  ------------------
 2024|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTGET, NULL, "can't get minimum raw data fraction of page buffer");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2025|      0|    } /* end if */
 2026|       |
 2027|       |    /* Get the evict on close setting */
 2028|     10|    if (H5P_get(a_plist, H5F_ACS_EVICT_ON_CLOSE_FLAG_NAME, &evict_on_close) < 0)
  ------------------
  |  |  267|     10|    "evict_on_close_flag" /* Whether or not the metadata cache will evict objects on close */
  ------------------
  |  Branch (2028:9): [True: 0, False: 10]
  ------------------
 2029|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't get evict on close value");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2030|       |
 2031|       |#ifdef H5_HAVE_PARALLEL
 2032|       |    /* Check for evict on close in parallel (currently unsupported) */
 2033|       |    assert(file->shared);
 2034|       |    if (H5F_SHARED_HAS_FEATURE(file->shared, H5FD_FEAT_HAS_MPI)) {
 2035|       |        int mpi_size = H5F_shared_mpi_get_size(file->shared);
 2036|       |
 2037|       |        if ((mpi_size > 1) && evict_on_close)
 2038|       |            HGOTO_ERROR(H5E_FILE, H5E_UNSUPPORTED, NULL,
 2039|       |                        "evict on close is currently not supported in parallel HDF5");
 2040|       |    }
 2041|       |#endif
 2042|       |
 2043|       |    /*
 2044|       |     * Read or write the file superblock, depending on whether the file is
 2045|       |     * empty or not.
 2046|       |     */
 2047|     10|    if (0 == (MAX(H5FD_get_eof(lf, H5FD_MEM_SUPER), H5FD_get_eoa(lf, H5FD_MEM_SUPER))) &&
  ------------------
  |  |  300|     10|#define MAX(a, b)        (((a) > (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (300:27): [True: 10, False: 0]
  |  |  ------------------
  ------------------
  |  Branch (2047:9): [True: 0, False: 10]
  ------------------
 2048|     10|        (flags & H5F_ACC_RDWR)) {
  ------------------
  |  |   49|      0|#define H5F_ACC_RDWR   (H5CHECK H5OPEN 0x0001u) /**< Open for read and write    */
  ------------------
  |  Branch (2048:9): [True: 0, False: 0]
  ------------------
 2049|       |        /*
 2050|       |         * We've just opened a fresh new file (or truncated one). We need
 2051|       |         * to create & write the superblock.
 2052|       |         */
 2053|       |
 2054|       |        /* Create the page buffer before initializing the superblock */
 2055|      0|        if (page_buf_size)
  ------------------
  |  Branch (2055:13): [True: 0, False: 0]
  ------------------
 2056|      0|            if (H5PB_create(shared, page_buf_size, page_buf_min_meta_perc, page_buf_min_raw_perc) < 0)
  ------------------
  |  Branch (2056:17): [True: 0, False: 0]
  ------------------
 2057|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, NULL, "unable to create page buffer");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2058|       |
 2059|       |        /* Initialize information about the superblock and allocate space for it */
 2060|       |        /* (Writes superblock extension messages, if there are any) */
 2061|      0|        if (H5F__super_init(file) < 0)
  ------------------
  |  Branch (2061:13): [True: 0, False: 0]
  ------------------
 2062|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, NULL, "unable to allocate file superblock");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2063|       |
 2064|       |        /* Create and open the root group */
 2065|       |        /* (This must be after the space for the superblock is allocated in
 2066|       |         *      the file, since the superblock must be at offset 0)
 2067|       |         */
 2068|      0|        if (H5G_mkroot(file, true) < 0)
  ------------------
  |  Branch (2068:13): [True: 0, False: 0]
  ------------------
 2069|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, NULL, "unable to create/open root group");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2070|      0|    } /* end if */
 2071|     10|    else if (1 == shared->nrefs) {
  ------------------
  |  Branch (2071:14): [True: 10, False: 0]
  ------------------
 2072|       |        /* Read the superblock if it hasn't been read before. */
 2073|     10|        if (H5F__super_read(file, a_plist, true) < 0)
  ------------------
  |  Branch (2073:13): [True: 3, False: 7]
  ------------------
 2074|      3|            HGOTO_ERROR(H5E_FILE, H5E_READERROR, NULL, "unable to read superblock");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2075|       |
 2076|       |        /* Skip trying to create a page buffer if the file space strategy
 2077|       |         * stored in the superblock isn't paged.
 2078|       |         */
 2079|      7|        if (shared->fs_strategy != H5F_FSPACE_STRATEGY_PAGE)
  ------------------
  |  Branch (2079:13): [True: 7, False: 0]
  ------------------
 2080|      7|            page_buf_size = 0;
 2081|       |
 2082|       |        /* If the page buffer is enabled, the strategy is paged, and the size in
 2083|       |         * the fapl is smaller than the file's page size, bump the page buffer
 2084|       |         * size up to the file's page size.
 2085|       |         */
 2086|      7|        if (page_buf_size > 0 && shared->fs_strategy == H5F_FSPACE_STRATEGY_PAGE &&
  ------------------
  |  Branch (2086:13): [True: 0, False: 7]
  |  Branch (2086:34): [True: 0, False: 0]
  ------------------
 2087|      7|            shared->fs_page_size > page_buf_size)
  ------------------
  |  Branch (2087:13): [True: 0, False: 0]
  ------------------
 2088|      0|            page_buf_size = shared->fs_page_size;
 2089|       |
 2090|       |        /* Create the page buffer *after* reading the superblock */
 2091|      7|        if (page_buf_size)
  ------------------
  |  Branch (2091:13): [True: 0, False: 7]
  ------------------
 2092|      0|            if (H5PB_create(shared, page_buf_size, page_buf_min_meta_perc, page_buf_min_raw_perc) < 0)
  ------------------
  |  Branch (2092:17): [True: 0, False: 0]
  ------------------
 2093|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, NULL, "unable to create page buffer");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2094|       |
 2095|       |        /* Open the root group */
 2096|      7|        if (H5G_mkroot(file, false) < 0)
  ------------------
  |  Branch (2096:13): [True: 0, False: 7]
  ------------------
 2097|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTOPENFILE, NULL, "unable to read root group");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2098|      7|    } /* end if */
 2099|       |
 2100|       |    /*
 2101|       |     * Decide the file close degree.  If it's the first time to open the
 2102|       |     * file, set the degree to access property list value; if it's the
 2103|       |     * second time or later, verify the access property list value matches
 2104|       |     * the degree in shared file structure.
 2105|       |     */
 2106|      7|    if (H5P_get(a_plist, H5F_ACS_CLOSE_DEGREE_NAME, &fc_degree) < 0)
  ------------------
  |  |  237|      7|#define H5F_ACS_CLOSE_DEGREE_NAME    "close_degree"       /* File close degree */
  ------------------
  |  Branch (2106:9): [True: 0, False: 7]
  ------------------
 2107|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't get file close degree");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2108|      7|    if (shared->nrefs == 1) {
  ------------------
  |  Branch (2108:9): [True: 7, False: 0]
  ------------------
 2109|      7|        if (fc_degree == H5F_CLOSE_DEFAULT)
  ------------------
  |  Branch (2109:13): [True: 7, False: 0]
  ------------------
 2110|      7|            shared->fc_degree = lf->cls->fc_degree;
 2111|      0|        else
 2112|      0|            shared->fc_degree = fc_degree;
 2113|      7|    } /* end if */
 2114|      0|    else if (shared->nrefs > 1) {
  ------------------
  |  Branch (2114:14): [True: 0, False: 0]
  ------------------
 2115|      0|        if (fc_degree == H5F_CLOSE_DEFAULT && shared->fc_degree != lf->cls->fc_degree)
  ------------------
  |  Branch (2115:13): [True: 0, False: 0]
  |  Branch (2115:47): [True: 0, False: 0]
  ------------------
 2116|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, NULL, "file close degree doesn't match");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2117|      0|        if (fc_degree != H5F_CLOSE_DEFAULT && fc_degree != shared->fc_degree)
  ------------------
  |  Branch (2117:13): [True: 0, False: 0]
  |  Branch (2117:47): [True: 0, False: 0]
  ------------------
 2118|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, NULL, "file close degree doesn't match");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2119|      0|    } /* end if */
 2120|       |
 2121|       |    /* This is a private property to clear the status_flags in the super block */
 2122|       |    /* Use by h5clear and a routine in test/flush2.c to clear the test file's status_flags */
 2123|      7|    if (H5P_exist_plist(a_plist, H5F_ACS_CLEAR_STATUS_FLAGS_NAME) > 0) {
  ------------------
  |  |  256|      7|    "clear_status_flags" /* Whether to clear superblock status_flags (private property only used by h5clear) \
  ------------------
  |  Branch (2123:9): [True: 7, False: 0]
  ------------------
 2124|      7|        if (H5P_get(a_plist, H5F_ACS_CLEAR_STATUS_FLAGS_NAME, &clear) < 0)
  ------------------
  |  |  256|      7|    "clear_status_flags" /* Whether to clear superblock status_flags (private property only used by h5clear) \
  ------------------
  |  Branch (2124:13): [True: 0, False: 7]
  ------------------
 2125|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't get clearance for status_flags");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2126|      7|        else if (clear)
  ------------------
  |  Branch (2126:18): [True: 0, False: 7]
  ------------------
 2127|      0|            file->shared->sblock->status_flags = 0;
 2128|      7|    } /* end if */
 2129|       |
 2130|       |    /* Record the evict-on-close MDC behavior.  If it's the first time opening
 2131|       |     * the file, set it to access property list value; if it's the second time
 2132|       |     * or later, verify that the access property list value matches the value
 2133|       |     * in shared file structure.
 2134|       |     */
 2135|      7|    if (shared->nrefs == 1)
  ------------------
  |  Branch (2135:9): [True: 7, False: 0]
  ------------------
 2136|      7|        shared->evict_on_close = evict_on_close;
 2137|      0|    else if (shared->nrefs > 1) {
  ------------------
  |  Branch (2137:14): [True: 0, False: 0]
  ------------------
 2138|      0|        if (shared->evict_on_close != evict_on_close)
  ------------------
  |  Branch (2138:13): [True: 0, False: 0]
  ------------------
 2139|      0|            HGOTO_ERROR(H5E_FILE, H5E_BADVALUE, NULL, "file evict-on-close value doesn't match");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2140|      0|    } /* end if */
 2141|       |
 2142|       |    /* Formulate the absolute path for later search of target file for external links */
 2143|      7|    if (shared->nrefs == 1) {
  ------------------
  |  Branch (2143:9): [True: 7, False: 0]
  ------------------
 2144|      7|        if (H5_build_extpath(name, &file->shared->extpath) < 0)
  ------------------
  |  Branch (2144:13): [True: 0, False: 7]
  ------------------
 2145|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, NULL, "unable to build extpath");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2146|      7|    }
 2147|       |
 2148|       |    /* Formulate the actual file name, after following symlinks, etc. */
 2149|      7|    if (H5F__build_actual_name(file, a_plist, name, &file->actual_name) < 0)
  ------------------
  |  Branch (2149:9): [True: 0, False: 7]
  ------------------
 2150|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, NULL, "unable to build actual name");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2151|       |
 2152|      7|    if (set_flag) {
  ------------------
  |  Branch (2152:9): [True: 7, False: 0]
  ------------------
 2153|      7|        if (H5F_INTENT(file) & H5F_ACC_RDWR) { /* Set and check consistency of status_flags */
  ------------------
  |  |   44|      7|#define H5F_INTENT(F)                    ((F)->shared->flags)
  ------------------
                      if (H5F_INTENT(file) & H5F_ACC_RDWR) { /* Set and check consistency of status_flags */
  ------------------
  |  |   49|      7|#define H5F_ACC_RDWR   (H5CHECK H5OPEN 0x0001u) /**< Open for read and write    */
  ------------------
  |  Branch (2153:13): [True: 0, False: 7]
  ------------------
 2154|       |            /* Skip check of status_flags for file with < superblock version 3 */
 2155|      0|            if (file->shared->sblock->super_vers >= HDF5_SUPERBLOCK_VERSION_3) {
  ------------------
  |  |  306|      0|    3 /* With file locking and consistency flags (at least this version for SWMR support) */
  ------------------
  |  Branch (2155:17): [True: 0, False: 0]
  ------------------
 2156|       |
 2157|      0|                if (file->shared->sblock->status_flags & H5F_SUPER_WRITE_ACCESS ||
  ------------------
  |  |   50|      0|#define H5F_SUPER_WRITE_ACCESS      0x01
  ------------------
  |  Branch (2157:21): [True: 0, False: 0]
  ------------------
 2158|      0|                    file->shared->sblock->status_flags & H5F_SUPER_SWMR_WRITE_ACCESS)
  ------------------
  |  |   52|      0|#define H5F_SUPER_SWMR_WRITE_ACCESS 0x04
  ------------------
  |  Branch (2158:21): [True: 0, False: 0]
  ------------------
 2159|      0|                    HGOTO_ERROR(H5E_FILE, H5E_CANTOPENFILE, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2160|      0|                                "file is already open for write/SWMR write (may use <h5clear file> to clear "
 2161|      0|                                "file consistency flags)");
 2162|      0|            } /* version 3 superblock */
 2163|       |
 2164|      0|            file->shared->sblock->status_flags |= H5F_SUPER_WRITE_ACCESS;
  ------------------
  |  |   50|      0|#define H5F_SUPER_WRITE_ACCESS      0x01
  ------------------
 2165|      0|            if (H5F_INTENT(file) & H5F_ACC_SWMR_WRITE)
  ------------------
  |  |   44|      0|#define H5F_INTENT(F)                    ((F)->shared->flags)
  ------------------
                          if (H5F_INTENT(file) & H5F_ACC_SWMR_WRITE)
  ------------------
  |  |   55|      0|    (H5CHECK 0x0020u) /**< Indicate that this file is open for writing in a                                  \
  ------------------
  |  Branch (2165:17): [True: 0, False: 0]
  ------------------
 2166|      0|                file->shared->sblock->status_flags |= H5F_SUPER_SWMR_WRITE_ACCESS;
  ------------------
  |  |   52|      0|#define H5F_SUPER_SWMR_WRITE_ACCESS 0x04
  ------------------
 2167|       |
 2168|       |            /* Flush the superblock & superblock extension */
 2169|      0|            if (H5F_super_dirty(file) < 0)
  ------------------
  |  Branch (2169:17): [True: 0, False: 0]
  ------------------
 2170|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTMARKDIRTY, NULL, "unable to mark superblock as dirty");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2171|      0|            if (H5F_flush_tagged_metadata(file, H5AC__SUPERBLOCK_TAG) < 0)
  ------------------
  |  |   39|      0|#define H5AC__SUPERBLOCK_TAG (haddr_t)3
  ------------------
  |  Branch (2171:17): [True: 0, False: 0]
  ------------------
 2172|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTFLUSH, NULL, "unable to flush superblock");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2173|      0|            if (H5F_flush_tagged_metadata(file, file->shared->sblock->ext_addr) < 0)
  ------------------
  |  Branch (2173:17): [True: 0, False: 0]
  ------------------
 2174|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTFLUSH, NULL, "unable to flush superblock extension");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2175|       |
 2176|       |            /* Remove the file lock for SWMR_WRITE */
 2177|      0|            if (use_file_locking && (H5F_INTENT(file) & H5F_ACC_SWMR_WRITE)) {
  ------------------
  |  |   44|      0|#define H5F_INTENT(F)                    ((F)->shared->flags)
  ------------------
                          if (use_file_locking && (H5F_INTENT(file) & H5F_ACC_SWMR_WRITE)) {
  ------------------
  |  |   55|      0|    (H5CHECK 0x0020u) /**< Indicate that this file is open for writing in a                                  \
  ------------------
  |  Branch (2177:17): [True: 0, False: 0]
  |  Branch (2177:37): [True: 0, False: 0]
  ------------------
 2178|      0|                if (H5FD_unlock(file->shared->lf) < 0)
  ------------------
  |  Branch (2178:21): [True: 0, False: 0]
  ------------------
 2179|      0|                    HGOTO_ERROR(H5E_FILE, H5E_CANTUNLOCKFILE, NULL, "unable to unlock the file");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2180|      0|            }  /* end if */
 2181|      0|        }      /* end if */
 2182|      7|        else { /* H5F_ACC_RDONLY: check consistency of status_flags */
 2183|       |            /* Skip check of status_flags for file with < superblock version 3 */
 2184|      7|            if (file->shared->sblock->super_vers >= HDF5_SUPERBLOCK_VERSION_3) {
  ------------------
  |  |  306|      7|    3 /* With file locking and consistency flags (at least this version for SWMR support) */
  ------------------
  |  Branch (2184:17): [True: 0, False: 7]
  ------------------
 2185|      0|                if (H5F_INTENT(file) & H5F_ACC_SWMR_READ) {
  ------------------
  |  |   44|      0|#define H5F_INTENT(F)                    ((F)->shared->flags)
  ------------------
                              if (H5F_INTENT(file) & H5F_ACC_SWMR_READ) {
  ------------------
  |  |   61|      0|    (H5CHECK 0x0040u) /**< Indicate that this file is open for reading in a                                  \
  ------------------
  |  Branch (2185:21): [True: 0, False: 0]
  ------------------
 2186|      0|                    if ((file->shared->sblock->status_flags & H5F_SUPER_WRITE_ACCESS &&
  ------------------
  |  |   50|      0|#define H5F_SUPER_WRITE_ACCESS      0x01
  ------------------
  |  Branch (2186:26): [True: 0, False: 0]
  ------------------
 2187|      0|                         !(file->shared->sblock->status_flags & H5F_SUPER_SWMR_WRITE_ACCESS)) ||
  ------------------
  |  |   52|      0|#define H5F_SUPER_SWMR_WRITE_ACCESS 0x04
  ------------------
  |  Branch (2187:26): [True: 0, False: 0]
  ------------------
 2188|      0|                        (!(file->shared->sblock->status_flags & H5F_SUPER_WRITE_ACCESS) &&
  ------------------
  |  |   50|      0|#define H5F_SUPER_WRITE_ACCESS      0x01
  ------------------
  |  Branch (2188:26): [True: 0, False: 0]
  ------------------
 2189|      0|                         file->shared->sblock->status_flags & H5F_SUPER_SWMR_WRITE_ACCESS))
  ------------------
  |  |   52|      0|#define H5F_SUPER_SWMR_WRITE_ACCESS 0x04
  ------------------
  |  Branch (2189:26): [True: 0, False: 0]
  ------------------
 2190|      0|                        HGOTO_ERROR(H5E_FILE, H5E_CANTOPENFILE, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2191|      0|                                    "file is not already open for SWMR writing");
 2192|      0|                } /* end if */
 2193|      0|                else if ((file->shared->sblock->status_flags & H5F_SUPER_WRITE_ACCESS) ||
  ------------------
  |  |   50|      0|#define H5F_SUPER_WRITE_ACCESS      0x01
  ------------------
  |  Branch (2193:26): [True: 0, False: 0]
  ------------------
 2194|      0|                         (file->shared->sblock->status_flags & H5F_SUPER_SWMR_WRITE_ACCESS))
  ------------------
  |  |   52|      0|#define H5F_SUPER_SWMR_WRITE_ACCESS 0x04
  ------------------
  |  Branch (2194:26): [True: 0, False: 0]
  ------------------
 2195|      0|                    HGOTO_ERROR(H5E_FILE, H5E_CANTOPENFILE, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2196|      0|                                "file is already open for write (may use <h5clear file> to clear file "
 2197|      0|                                "consistency flags)");
 2198|      0|            } /* version 3 superblock */
 2199|      7|        }     /* end else */
 2200|      7|    }         /* end if set_flag */
 2201|       |
 2202|       |    /* Success */
 2203|      7|    ret_value = file;
 2204|       |
 2205|     10|done:
 2206|     10|    if ((NULL == ret_value) && file)
  ------------------
  |  Branch (2206:9): [True: 3, False: 7]
  |  Branch (2206:32): [True: 3, False: 0]
  ------------------
 2207|      3|        if (H5F__dest(file, false, true) < 0)
  ------------------
  |  Branch (2207:13): [True: 0, False: 3]
  ------------------
 2208|      0|            HDONE_ERROR(H5E_FILE, H5E_CANTCLOSEFILE, NULL, "problems closing file");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2209|       |
 2210|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2211|      7|} /* end H5F_open() */
H5F__post_open:
 2225|      7|{
 2226|      7|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      7|#define SUCCEED 0
  ------------------
 2227|       |
 2228|      7|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      7|    {                                                                                                        \
  |  | 1461|      7|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      7|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      7|                                                                                                             \
  |  |  |  | 1267|      7|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      7|        {
  ------------------
 2229|       |
 2230|       |    /* Sanity check arguments */
 2231|      7|    assert(f);
 2232|       |
 2233|       |    /* Store a vol object in the file struct */
 2234|      7|    if (NULL == (f->vol_obj = H5VL_create_object_using_vol_id(H5I_FILE, f, f->shared->vol_id)))
  ------------------
  |  Branch (2234:9): [True: 0, False: 7]
  ------------------
 2235|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, FAIL, "can't create VOL object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2236|       |
 2237|      7|done:
 2238|      7|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2239|      7|} /* end H5F__post_open() */
H5F__close:
 2412|      7|{
 2413|      7|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      7|#define SUCCEED 0
  ------------------
 2414|       |
 2415|      7|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      7|    {                                                                                                        \
  |  | 1461|      7|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      7|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      7|                                                                                                             \
  |  |  |  | 1267|      7|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      7|        {
  ------------------
 2416|       |
 2417|       |    /* Sanity check */
 2418|      7|    assert(f);
 2419|       |
 2420|       |    /* Perform checks for "semi" file close degree here, since closing the
 2421|       |     * file is not allowed if there are objects still open.
 2422|       |     */
 2423|      7|    if (f->shared->fc_degree == H5F_CLOSE_SEMI) {
  ------------------
  |  Branch (2423:9): [True: 0, False: 7]
  ------------------
 2424|      0|        unsigned nopen_files = 0; /* Number of open files in file/mount hierarchy */
 2425|      0|        unsigned nopen_objs  = 0; /* Number of open objects in file/mount hierarchy */
 2426|       |
 2427|       |        /* Get the number of open objects and open files on this file/mount hierarchy */
 2428|      0|        if (H5F__mount_count_ids(f, &nopen_files, &nopen_objs) < 0)
  ------------------
  |  Branch (2428:13): [True: 0, False: 0]
  ------------------
 2429|      0|            HGOTO_ERROR(H5E_SYM, H5E_MOUNT, FAIL, "problem checking mount hierarchy");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2430|       |
 2431|       |        /* If there are no other file IDs open on this file/mount hier., but
 2432|       |         * there are still open objects, issue an error and bail out now,
 2433|       |         * without decrementing the file ID's reference count and triggering
 2434|       |         * a "real" attempt at closing the file.
 2435|       |         */
 2436|      0|        if (nopen_files == 1 && nopen_objs > 0)
  ------------------
  |  Branch (2436:13): [True: 0, False: 0]
  |  Branch (2436:33): [True: 0, False: 0]
  ------------------
 2437|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTCLOSEFILE, FAIL, "can't close file, there are objects still open");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2438|      0|    }
 2439|       |
 2440|       |    /* Reset the file ID for this file */
 2441|      7|    f->id_exists = false;
 2442|       |
 2443|       |    /* Attempt to close the file/mount hierarchy */
 2444|      7|    if (H5F_try_close(f, NULL) < 0)
  ------------------
  |  Branch (2444:9): [True: 0, False: 7]
  ------------------
 2445|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTCLOSEFILE, FAIL, "can't close file");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2446|       |
 2447|      7|done:
 2448|      7|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2449|      7|} /* end H5F__close() */
H5F_try_close:
 2490|     90|{
 2491|     90|    unsigned nopen_files = 0;       /* Number of open files in file/mount hierarchy */
 2492|     90|    unsigned nopen_objs  = 0;       /* Number of open objects in file/mount hierarchy */
 2493|     90|    herr_t   ret_value   = SUCCEED; /* Return value */
  ------------------
  |  |  283|     90|#define SUCCEED 0
  ------------------
 2494|       |
 2495|     90|    FUNC_ENTER_NOAPI_NOINIT
  ------------------
  |  | 1410|     90|    {                                                                                                        \
  |  | 1411|     90|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     90|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     90|                                                                                                             \
  |  |  |  | 1267|     90|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1412|     90|        {
  ------------------
 2496|       |
 2497|       |    /* Sanity check */
 2498|     90|    assert(f);
 2499|     90|    assert(f->shared);
 2500|       |
 2501|       |    /* Set the was_closed flag to the default value.
 2502|       |     * This flag lets downstream code know if the file struct is
 2503|       |     * still accessible and/or likely to contain useful data.
 2504|       |     * It's needed by the evict-on-close code. Clients can ignore
 2505|       |     * this value by passing in NULL.
 2506|       |     */
 2507|     90|    if (was_closed)
  ------------------
  |  Branch (2507:9): [True: 83, False: 7]
  ------------------
 2508|     83|        *was_closed = false;
 2509|       |
 2510|       |    /* Check if this file is already in the process of closing */
 2511|     90|    if (f->closing) {
  ------------------
  |  Branch (2511:9): [True: 0, False: 90]
  ------------------
 2512|      0|        if (was_closed)
  ------------------
  |  Branch (2512:13): [True: 0, False: 0]
  ------------------
 2513|      0|            *was_closed = true;
 2514|      0|        HGOTO_DONE(SUCCEED);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2515|      0|    }
 2516|       |
 2517|       |    /* Get the number of open objects and open files on this file/mount hierarchy */
 2518|     90|    if (H5F__mount_count_ids(f, &nopen_files, &nopen_objs) < 0)
  ------------------
  |  Branch (2518:9): [True: 0, False: 90]
  ------------------
 2519|      0|        HGOTO_ERROR(H5E_SYM, H5E_MOUNT, FAIL, "problem checking mount hierarchy");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2520|       |
 2521|       |    /*
 2522|       |     * Close file according to close degree:
 2523|       |     *
 2524|       |     *  H5F_CLOSE_WEAK:    if there are still objects open, wait until
 2525|       |     *            they are all closed.
 2526|       |     *  H5F_CLOSE_SEMI:    if there are still objects open, return fail;
 2527|       |     *            otherwise, close file.
 2528|       |     *  H5F_CLOSE_STRONG:    if there are still objects open, close them
 2529|       |     *            first, then close file.
 2530|       |     */
 2531|     90|    switch (f->shared->fc_degree) {
 2532|     90|        case H5F_CLOSE_WEAK:
  ------------------
  |  Branch (2532:9): [True: 90, False: 0]
  ------------------
 2533|       |            /*
 2534|       |             * If file or object IDS are still open then delay deletion of
 2535|       |             * resources until they have all been closed.  Flush all
 2536|       |             * caches and update the object header anyway so that failing to
 2537|       |             * close all objects isn't a major problem.
 2538|       |             */
 2539|     90|            if ((nopen_files + nopen_objs) > 0)
  ------------------
  |  Branch (2539:17): [True: 83, False: 7]
  ------------------
 2540|     83|                HGOTO_DONE(SUCCEED);
  ------------------
  |  |   91|     83|    do {                                                                                                     \
  |  |   92|     83|        ret_value = ret_val;                                                                                 \
  |  |   93|     83|        goto done;                                                                                           \
  |  |   94|     83|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2541|      7|            break;
 2542|       |
 2543|      7|        case H5F_CLOSE_SEMI:
  ------------------
  |  Branch (2543:9): [True: 0, False: 90]
  ------------------
 2544|       |            /* Can leave safely if file IDs are still open on this file */
 2545|      0|            if (nopen_files > 0)
  ------------------
  |  Branch (2545:17): [True: 0, False: 0]
  ------------------
 2546|      0|                HGOTO_DONE(SUCCEED);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2547|       |
 2548|       |            /* Sanity check: If close degree if "semi" and we have gotten this
 2549|       |             * far and there are objects left open, bail out now.
 2550|       |             */
 2551|      0|            assert(nopen_files == 0 && nopen_objs == 0);
 2552|       |
 2553|       |            /* If we've gotten this far (ie. there are no open objects in the file), fall through to flush &
 2554|       |             * close */
 2555|      0|            break;
 2556|       |
 2557|      0|        case H5F_CLOSE_STRONG:
  ------------------
  |  Branch (2557:9): [True: 0, False: 90]
  ------------------
 2558|       |            /* If there are other open files in the hierarchy, we can leave now */
 2559|      0|            if (nopen_files > 0)
  ------------------
  |  Branch (2559:17): [True: 0, False: 0]
  ------------------
 2560|      0|                HGOTO_DONE(SUCCEED);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2561|       |
 2562|       |            /* If we've gotten this far (ie. there are no open file IDs in the file/mount hierarchy), fall
 2563|       |             * through to flush & close */
 2564|      0|            break;
 2565|       |
 2566|      0|        case H5F_CLOSE_DEFAULT:
  ------------------
  |  Branch (2566:9): [True: 0, False: 90]
  ------------------
 2567|      0|        default:
  ------------------
  |  Branch (2567:9): [True: 0, False: 90]
  ------------------
 2568|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTCLOSEFILE, FAIL, "can't close file, unknown file close degree");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2569|     90|    } /* end switch */
 2570|       |
 2571|       |    /* Mark this file as closing (prevents re-entering file shutdown code below) */
 2572|      7|    f->closing = true;
 2573|       |
 2574|       |    /* If the file close degree is "strong", close all the open objects in this file */
 2575|      7|    if (f->shared->fc_degree == H5F_CLOSE_STRONG) {
  ------------------
  |  Branch (2575:9): [True: 0, False: 7]
  ------------------
 2576|      0|        assert(nopen_files == 0);
 2577|       |
 2578|       |        /* Forced close of all opened objects in this file */
 2579|      0|        if (f->nopen_objs > 0) {
  ------------------
  |  Branch (2579:13): [True: 0, False: 0]
  ------------------
 2580|      0|            size_t obj_count; /* # of open objects */
 2581|      0|            hid_t  objs[128]; /* Array of objects to close */
 2582|      0|            herr_t result;    /* Local result from obj ID query */
 2583|      0|            size_t u;         /* Local index variable */
 2584|       |
 2585|       |            /* Get the list of IDs of open dataset, group, & attribute objects */
 2586|      0|            while ((result = H5F_get_obj_ids(
  ------------------
  |  Branch (2586:20): [True: 0, False: 0]
  ------------------
 2587|      0|                        f, H5F_OBJ_LOCAL | H5F_OBJ_DATASET | H5F_OBJ_GROUP | H5F_OBJ_ATTR,
  ------------------
  |  |   82|      0|    (0x0020u) /**< Restrict search to objects opened through current file ID                                 \
  ------------------
                                      f, H5F_OBJ_LOCAL | H5F_OBJ_DATASET | H5F_OBJ_GROUP | H5F_OBJ_ATTR,
  ------------------
  |  |   76|      0|#define H5F_OBJ_DATASET  (0x0002u) /**< Dataset objects */
  ------------------
                                      f, H5F_OBJ_LOCAL | H5F_OBJ_DATASET | H5F_OBJ_GROUP | H5F_OBJ_ATTR,
  ------------------
  |  |   77|      0|#define H5F_OBJ_GROUP    (0x0004u) /**< Group objects */
  ------------------
                                      f, H5F_OBJ_LOCAL | H5F_OBJ_DATASET | H5F_OBJ_GROUP | H5F_OBJ_ATTR,
  ------------------
  |  |   79|      0|#define H5F_OBJ_ATTR     (0x0010u) /**< Attribute objects */
  ------------------
 2588|      0|                        (int)(sizeof(objs) / sizeof(objs[0])), objs, false, &obj_count)) <= 0 &&
 2589|      0|                   obj_count != 0) {
  ------------------
  |  Branch (2589:20): [True: 0, False: 0]
  ------------------
 2590|       |
 2591|       |                /* Try to close all the open objects in this file */
 2592|      0|                for (u = 0; u < obj_count; u++)
  ------------------
  |  Branch (2592:29): [True: 0, False: 0]
  ------------------
 2593|      0|                    if (H5I_dec_ref(objs[u]) < 0)
  ------------------
  |  Branch (2593:25): [True: 0, False: 0]
  ------------------
 2594|      0|                        HGOTO_ERROR(H5E_ID, H5E_CLOSEERROR, FAIL, "can't close object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2595|      0|            }
 2596|      0|            if (result < 0)
  ------------------
  |  Branch (2596:17): [True: 0, False: 0]
  ------------------
 2597|      0|                HGOTO_ERROR(H5E_FILE, H5E_BADITER, FAIL, "H5F_get_obj_ids failed(1)");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2598|       |
 2599|       |            /* Get the list of IDs of open named datatype objects */
 2600|       |            /* (Do this separately from the dataset & attribute IDs, because
 2601|       |             * they could be using one of the named datatypes and then the
 2602|       |             * open named datatype ID will get closed twice)
 2603|       |             */
 2604|      0|            while ((result = H5F_get_obj_ids(f, H5F_OBJ_LOCAL | H5F_OBJ_DATATYPE,
  ------------------
  |  |   82|      0|    (0x0020u) /**< Restrict search to objects opened through current file ID                                 \
  ------------------
                          while ((result = H5F_get_obj_ids(f, H5F_OBJ_LOCAL | H5F_OBJ_DATATYPE,
  ------------------
  |  |   78|      0|#define H5F_OBJ_DATATYPE (0x0008u) /**< Datatype objects */
  ------------------
  |  Branch (2604:20): [True: 0, False: 0]
  ------------------
 2605|      0|                                             (int)(sizeof(objs) / sizeof(objs[0])), objs, false,
 2606|      0|                                             &obj_count)) <= 0 &&
 2607|      0|                   obj_count != 0) {
  ------------------
  |  Branch (2607:20): [True: 0, False: 0]
  ------------------
 2608|       |
 2609|       |                /* Try to close all the open objects in this file */
 2610|      0|                for (u = 0; u < obj_count; u++)
  ------------------
  |  Branch (2610:29): [True: 0, False: 0]
  ------------------
 2611|      0|                    if (H5I_dec_ref(objs[u]) < 0)
  ------------------
  |  Branch (2611:25): [True: 0, False: 0]
  ------------------
 2612|      0|                        HGOTO_ERROR(H5E_ID, H5E_CLOSEERROR, FAIL, "can't close object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2613|      0|            }
 2614|      0|            if (result < 0)
  ------------------
  |  Branch (2614:17): [True: 0, False: 0]
  ------------------
 2615|      0|                HGOTO_ERROR(H5E_INTERNAL, H5E_BADITER, FAIL, "H5F_get_obj_ids failed(2)");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2616|      0|        } /* end if */
 2617|      0|    }     /* end if */
 2618|       |
 2619|       |    /* Check if this is a child file in a mounting hierarchy & proceed up the
 2620|       |     * hierarchy if so.
 2621|       |     */
 2622|      7|    if (f->parent)
  ------------------
  |  Branch (2622:9): [True: 0, False: 7]
  ------------------
 2623|      0|        if (H5F_try_close(f->parent, NULL) < 0)
  ------------------
  |  Branch (2623:13): [True: 0, False: 0]
  ------------------
 2624|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTCLOSEFILE, FAIL, "can't close parent file");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2625|       |
 2626|       |    /* Unmount and close each child before closing the current file. */
 2627|      7|    if (H5F__close_mounts(f) < 0)
  ------------------
  |  Branch (2627:9): [True: 0, False: 7]
  ------------------
 2628|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTCLOSEFILE, FAIL, "can't unmount child files");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2629|       |
 2630|       |    /* If there is more than one reference to the shared file struct and the
 2631|       |     * file has an external file cache, we should see if it can be closed.  This
 2632|       |     * can happen if a cycle is formed with external file caches.
 2633|       |     */
 2634|      7|    if (f->shared->efc && (f->shared->nrefs > 1))
  ------------------
  |  Branch (2634:9): [True: 0, False: 7]
  |  Branch (2634:27): [True: 0, False: 0]
  ------------------
 2635|      0|        if (H5F__efc_try_close(f) < 0)
  ------------------
  |  Branch (2635:13): [True: 0, False: 0]
  ------------------
 2636|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTRELEASE, FAIL, "can't attempt to close EFC");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2637|       |
 2638|       |    /* Destroy the H5F_t struct and decrement the reference count for the
 2639|       |     * shared H5F_shared_t struct. If the reference count for the H5F_shared_t
 2640|       |     * struct reaches zero then destroy it also.
 2641|       |     */
 2642|      7|    if (H5F__dest(f, true, false) < 0)
  ------------------
  |  Branch (2642:9): [True: 0, False: 7]
  ------------------
 2643|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTCLOSEFILE, FAIL, "problems closing file");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2644|       |
 2645|       |    /* Since we closed the file, this should be set to true */
 2646|      7|    if (was_closed)
  ------------------
  |  Branch (2646:9): [True: 0, False: 7]
  ------------------
 2647|      0|        *was_closed = true;
 2648|     90|done:
 2649|     90|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     90|    ;                                                                                                        \
  |  | 1573|     90|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     90|    return (ret_value);                                                                                      \
  |  | 1575|     90|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2650|      7|} /* end H5F_try_close() */
H5F_incr_nopen_objs:
 2734|    217|{
 2735|       |    /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */
 2736|    217|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|    217|    {                                                                                                        \
  |  | 1425|    217|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    217|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|    217|        {
  ------------------
 2737|       |
 2738|    217|    assert(f);
 2739|       |
 2740|    217|    FUNC_LEAVE_NOAPI(++f->nopen_objs)
  ------------------
  |  | 1572|    217|    ;                                                                                                        \
  |  | 1573|    217|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    217|    return (ret_value);                                                                                      \
  |  | 1575|    217|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2741|    217|} /* end H5F_incr_nopen_objs() */
H5F_decr_nopen_objs:
 2754|    210|{
 2755|       |    /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */
 2756|    210|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|    210|    {                                                                                                        \
  |  | 1425|    210|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    210|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|    210|        {
  ------------------
 2757|       |
 2758|    210|    assert(f);
 2759|       |
 2760|    210|    FUNC_LEAVE_NOAPI(--f->nopen_objs)
  ------------------
  |  | 1572|    210|    ;                                                                                                        \
  |  | 1573|    210|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    210|    return (ret_value);                                                                                      \
  |  | 1575|    210|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2761|    210|} /* end H5F_decr_nopen_objs() */
H5F_addr_encode_len:
 2903|    737|{
 2904|    737|    unsigned u; /* Local index variable */
 2905|       |
 2906|       |    /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */
 2907|    737|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|    737|    {                                                                                                        \
  |  | 1425|    737|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    737|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|    737|        {
  ------------------
 2908|       |
 2909|    737|    assert(addr_len);
 2910|    737|    assert(pp && *pp);
 2911|       |
 2912|    737|    if (H5_addr_defined(addr)) {
  ------------------
  |  |  449|    737|#define H5_addr_defined(X)       ((X) != HADDR_UNDEF)
  |  |  ------------------
  |  |  |  |  336|    737|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  |  |  Branch (449:34): [True: 737, False: 0]
  |  |  ------------------
  ------------------
 2913|  6.63k|        for (u = 0; u < addr_len; u++) {
  ------------------
  |  Branch (2913:21): [True: 5.89k, False: 737]
  ------------------
 2914|  5.89k|            *(*pp)++ = (uint8_t)(addr & 0xff);
 2915|  5.89k|            addr >>= 8;
 2916|  5.89k|        } /* end for */
 2917|    737|        assert("overflow" && 0 == addr);
 2918|    737|    } /* end if */
 2919|      0|    else {
 2920|      0|        for (u = 0; u < addr_len; u++)
  ------------------
  |  Branch (2920:21): [True: 0, False: 0]
  ------------------
 2921|      0|            *(*pp)++ = 0xff;
 2922|      0|    } /* end else */
 2923|       |
 2924|    737|    FUNC_LEAVE_NOAPI_VOID
  ------------------
  |  | 1578|    737|    ;                                                                                                        \
  |  | 1579|    737|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1580|    737|    return;                                                                                                  \
  |  | 1581|    737|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2925|    737|} /* end H5F_addr_encode_len() */
H5F_addr_decode_len:
 2965|    305|{
 2966|    305|    bool     all_zero = true; /* True if address was all zeroes */
 2967|    305|    unsigned u;               /* Local index variable */
 2968|       |
 2969|       |    /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */
 2970|    305|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|    305|    {                                                                                                        \
  |  | 1425|    305|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    305|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|    305|        {
  ------------------
 2971|       |
 2972|    305|    assert(addr_len);
 2973|    305|    assert(pp && *pp);
 2974|    305|    assert(addr_p);
 2975|       |
 2976|       |    /* Reset value in destination */
 2977|    305|    *addr_p = 0;
 2978|       |
 2979|       |    /* Decode bytes from address */
 2980|  2.74k|    for (u = 0; u < addr_len; u++) {
  ------------------
  |  Branch (2980:17): [True: 2.44k, False: 305]
  ------------------
 2981|  2.44k|        uint8_t c; /* Local decoded byte */
 2982|       |
 2983|       |        /* Get decoded byte (and advance pointer) */
 2984|  2.44k|        c = *(*pp)++;
 2985|       |
 2986|       |        /* Check for non-undefined address byte value */
 2987|  2.44k|        if (c != 0xff)
  ------------------
  |  Branch (2987:13): [True: 2.17k, False: 266]
  ------------------
 2988|  2.17k|            all_zero = false;
 2989|       |
 2990|  2.44k|        if (u < sizeof(*addr_p)) {
  ------------------
  |  Branch (2990:13): [True: 2.44k, False: 0]
  ------------------
 2991|  2.44k|            haddr_t tmp = c; /* Local copy of address, for casting */
 2992|       |
 2993|       |            /* Shift decoded byte to correct position */
 2994|  2.44k|            tmp <<= (u * 8); /*use tmp to get casting right */
 2995|       |
 2996|       |            /* Merge into already decoded bytes */
 2997|  2.44k|            *addr_p |= tmp;
 2998|  2.44k|        } /* end if */
 2999|      0|        else if (!all_zero)
  ------------------
  |  Branch (2999:18): [True: 0, False: 0]
  ------------------
 3000|      0|            assert(0 == **pp); /*overflow */
 3001|  2.44k|    }                          /* end for */
 3002|       |
 3003|       |    /* If 'all_zero' is still true, the address was entirely composed of '0xff'
 3004|       |     *  bytes, which is the encoded form of 'HADDR_UNDEF', so set the destination
 3005|       |     *  to that value */
 3006|    305|    if (all_zero)
  ------------------
  |  Branch (3006:9): [True: 31, False: 274]
  ------------------
 3007|     31|        *addr_p = HADDR_UNDEF;
  ------------------
  |  |  336|     31|#define HADDR_UNDEF         UINT64_MAX
  ------------------
 3008|       |
 3009|    305|    FUNC_LEAVE_NOAPI_VOID
  ------------------
  |  | 1578|    305|    ;                                                                                                        \
  |  | 1579|    305|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1580|    305|    return;                                                                                                  \
  |  | 1581|    305|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 3010|    305|} /* end H5F_addr_decode_len() */
H5F_addr_decode:
 3027|    272|{
 3028|       |    /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */
 3029|    272|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|    272|    {                                                                                                        \
  |  | 1425|    272|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    272|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|    272|        {
  ------------------
 3030|       |
 3031|    272|    assert(f);
 3032|       |
 3033|    272|    H5F_addr_decode_len(H5F_SIZEOF_ADDR(f), pp, addr_p);
  ------------------
  |  |   65|    272|#define H5F_SIZEOF_ADDR(F)               ((F)->shared->sizeof_addr)
  ------------------
 3034|       |
 3035|    272|    FUNC_LEAVE_NOAPI_VOID
  ------------------
  |  | 1578|    272|    ;                                                                                                        \
  |  | 1579|    272|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1580|    272|    return;                                                                                                  \
  |  | 1581|    272|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 3036|    272|} /* end H5F_addr_decode() */
H5F_set_grp_btree_shared:
 3048|      7|{
 3049|       |    /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */
 3050|      7|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      7|    {                                                                                                        \
  |  | 1425|      7|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      7|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      7|        {
  ------------------
 3051|       |
 3052|       |    /* Sanity check */
 3053|      7|    assert(f);
 3054|      7|    assert(f->shared);
 3055|      7|    assert(rc);
 3056|       |
 3057|      7|    f->shared->grp_btree_shared = rc;
 3058|       |
 3059|      7|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 3060|      7|} /* H5F_set_grp_btree_shared() */
H5F_set_retries:
 3419|     10|{
 3420|     10|    double tmp; /* Temporary variable */
 3421|       |
 3422|       |    /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */
 3423|     10|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|     10|    {                                                                                                        \
  |  | 1425|     10|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|     10|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|     10|        {
  ------------------
 3424|       |
 3425|       |    /* Sanity check */
 3426|     10|    assert(f);
 3427|       |
 3428|       |    /* Initialize the tracking for metadata read retries */
 3429|     10|    memset(f->shared->retries, 0, sizeof(f->shared->retries));
 3430|       |
 3431|       |    /* Initialize the # of bins for retries */
 3432|     10|    f->shared->retries_nbins = 0;
 3433|     10|    if (f->shared->read_attempts > 1) {
  ------------------
  |  Branch (3433:9): [True: 0, False: 10]
  ------------------
 3434|       |        /* Use ceil to ensure that the log10 value is rounded up to the
 3435|       |           nearest integer before casting to unsigned */
 3436|      0|        tmp                      = ceil(log10((double)f->shared->read_attempts));
 3437|      0|        f->shared->retries_nbins = (unsigned)tmp;
 3438|      0|    }
 3439|       |
 3440|     10|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 3441|     10|} /* H5F_set_retries() */
H5F__set_base_addr:
 3483|      8|{
 3484|      8|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      8|#define SUCCEED 0
  ------------------
 3485|       |
 3486|      8|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      8|    {                                                                                                        \
  |  | 1461|      8|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      8|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      8|                                                                                                             \
  |  |  |  | 1267|      8|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      8|        {
  ------------------
 3487|       |
 3488|      8|    assert(f);
 3489|      8|    assert(f->shared);
 3490|       |
 3491|       |    /* Dispatch to driver */
 3492|      8|    if (H5FD_set_base_addr(f->shared->lf, addr) < 0)
  ------------------
  |  Branch (3492:9): [True: 0, False: 8]
  ------------------
 3493|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "driver set_base_addr request failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3494|       |
 3495|      8|done:
 3496|      8|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      8|    ;                                                                                                        \
  |  | 1573|      8|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      8|    return (ret_value);                                                                                      \
  |  | 1575|      8|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 3497|      8|} /* end H5F__set_base_addr() */
H5F__set_eoa:
 3509|     21|{
 3510|     21|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     21|#define SUCCEED 0
  ------------------
 3511|       |
 3512|     21|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     21|    {                                                                                                        \
  |  | 1461|     21|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     21|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     21|                                                                                                             \
  |  |  |  | 1267|     21|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     21|        {
  ------------------
 3513|       |
 3514|     21|    assert(f);
 3515|     21|    assert(f->shared);
 3516|       |
 3517|       |    /* Dispatch to driver */
 3518|       |    /* (H5FD_set_eoa() will add base_addr to addr) */
 3519|     21|    if (H5FD_set_eoa(f->shared->lf, type, addr) < 0)
  ------------------
  |  Branch (3519:9): [True: 0, False: 21]
  ------------------
 3520|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "driver set_eoa request failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3521|       |
 3522|     21|done:
 3523|     21|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     21|    ;                                                                                                        \
  |  | 1573|     21|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     21|    return (ret_value);                                                                                      \
  |  | 1575|     21|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 3524|     21|} /* end H5F__set_eoa() */
H5F__set_paged_aggr:
 3536|      7|{
 3537|      7|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      7|#define SUCCEED 0
  ------------------
 3538|       |
 3539|      7|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      7|    {                                                                                                        \
  |  | 1461|      7|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      7|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      7|                                                                                                             \
  |  |  |  | 1267|      7|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      7|        {
  ------------------
 3540|       |
 3541|       |    /* Sanity check */
 3542|      7|    assert(f);
 3543|      7|    assert(f->shared);
 3544|       |
 3545|       |    /* Dispatch to driver */
 3546|      7|    if (H5FD_set_paged_aggr(f->shared->lf, paged) < 0)
  ------------------
  |  Branch (3546:9): [True: 0, False: 7]
  ------------------
 3547|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "driver set paged aggr mode failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3548|       |
 3549|      7|done:
 3550|      7|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 3551|      7|} /* end H5F__set_paged_aggr() */
H5F_get_file_id:
 4067|     15|{
 4068|     15|    void                  *vol_obj_file = NULL;               /* File object pointer */
 4069|     15|    H5VL_object_get_args_t vol_cb_args;                       /* Arguments to VOL callback */
 4070|     15|    H5VL_loc_params_t      loc_params;                        /* Location parameters */
 4071|     15|    hid_t                  file_id         = H5I_INVALID_HID; /* File ID for object */
  ------------------
  |  |   75|     15|#define H5I_INVALID_HID (-1)
  ------------------
 4072|     15|    bool                   vol_wrapper_set = false; /* Whether the VOL object wrapping context was set up */
 4073|     15|    hid_t                  ret_value       = H5I_INVALID_HID; /* Return value */
  ------------------
  |  |   75|     15|#define H5I_INVALID_HID (-1)
  ------------------
 4074|       |
 4075|     15|    FUNC_ENTER_NOAPI(H5I_INVALID_HID)
  ------------------
  |  | 1391|     15|    {                                                                                                        \
  |  | 1392|     15|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     15|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     15|                                                                                                             \
  |  |  |  | 1267|     15|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     15|        {
  ------------------
 4076|       |
 4077|       |    /* Set location parameters */
 4078|     15|    loc_params.type     = H5VL_OBJECT_BY_SELF;
 4079|     15|    loc_params.obj_type = obj_type;
 4080|       |
 4081|       |    /* Set up VOL callback arguments */
 4082|     15|    vol_cb_args.op_type            = H5VL_OBJECT_GET_FILE;
 4083|     15|    vol_cb_args.args.get_file.file = &vol_obj_file;
 4084|       |
 4085|       |    /* Retrieve VOL file from object */
 4086|     15|    if (H5VL_object_get(vol_obj, &loc_params, &vol_cb_args, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL) < 0)
  ------------------
  |  |  160|     15|#define H5P_DATASET_XFER_DEFAULT (H5OPEN H5P_LST_DATASET_XFER_ID_g)
  ------------------
                  if (H5VL_object_get(vol_obj, &loc_params, &vol_cb_args, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL) < 0)
  ------------------
  |  |  442|     15|#define H5_REQUEST_NULL NULL
  ------------------
  |  Branch (4086:9): [True: 0, False: 15]
  ------------------
 4087|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTGET, H5I_INVALID_HID, "can't retrieve file from object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4088|       |
 4089|       |    /* Check if the file's ID already exists */
 4090|     15|    if (H5I_find_id(vol_obj_file, H5I_FILE, &file_id) < 0)
  ------------------
  |  Branch (4090:9): [True: 0, False: 15]
  ------------------
 4091|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTGET, H5I_INVALID_HID, "getting file ID failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4092|       |
 4093|       |    /* If the ID does not exist, register it with the VOL connector */
 4094|     15|    if (H5I_INVALID_HID == file_id) {
  ------------------
  |  |   75|     15|#define H5I_INVALID_HID (-1)
  ------------------
  |  Branch (4094:9): [True: 0, False: 15]
  ------------------
 4095|       |        /* Set wrapper info in API context */
 4096|      0|        if (H5VL_set_vol_wrapper(vol_obj) < 0)
  ------------------
  |  Branch (4096:13): [True: 0, False: 0]
  ------------------
 4097|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTSET, H5I_INVALID_HID, "can't set VOL wrapper info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4098|      0|        vol_wrapper_set = true;
 4099|       |
 4100|      0|        if ((file_id = H5VL_wrap_register(H5I_FILE, vol_obj_file, app_ref)) < 0)
  ------------------
  |  Branch (4100:13): [True: 0, False: 0]
  ------------------
 4101|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTREGISTER, H5I_INVALID_HID, "unable to register file handle");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4102|      0|    } /* end if */
 4103|     15|    else {
 4104|       |        /* Increment ref count on existing ID */
 4105|     15|        if (H5I_inc_ref(file_id, app_ref) < 0)
  ------------------
  |  Branch (4105:13): [True: 0, False: 15]
  ------------------
 4106|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTSET, H5I_INVALID_HID, "incrementing file ID failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4107|     15|    } /* end else */
 4108|       |
 4109|       |    /* Set return value */
 4110|     15|    ret_value = file_id;
 4111|       |
 4112|     15|done:
 4113|       |    /* Reset object wrapping info in API context */
 4114|     15|    if (vol_wrapper_set && H5VL_reset_vol_wrapper() < 0)
  ------------------
  |  Branch (4114:9): [True: 0, False: 15]
  |  Branch (4114:28): [True: 0, False: 0]
  ------------------
 4115|      0|        HDONE_ERROR(H5E_FILE, H5E_CANTRESET, H5I_INVALID_HID, "can't reset VOL wrapper info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4116|       |
 4117|     15|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     15|    ;                                                                                                        \
  |  | 1573|     15|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     15|    return (ret_value);                                                                                      \
  |  | 1575|     15|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 4118|     15|} /* end H5F_get_file_id() */
H5Fint.c:H5F__close_cb:
  208|      7|{
  209|      7|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      7|#define SUCCEED 0
  ------------------
  210|       |
  211|      7|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      7|    {                                                                                                        \
  |  | 1461|      7|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      7|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      7|                                                                                                             \
  |  |  |  | 1267|      7|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      7|        {
  ------------------
  212|       |
  213|       |    /* Sanity check */
  214|      7|    assert(file_vol_obj);
  215|       |
  216|       |    /* Close the file */
  217|      7|    if (H5VL_file_close(file_vol_obj, H5P_DATASET_XFER_DEFAULT, request) < 0)
  ------------------
  |  |  160|      7|#define H5P_DATASET_XFER_DEFAULT (H5OPEN H5P_LST_DATASET_XFER_ID_g)
  ------------------
  |  Branch (217:9): [True: 0, False: 7]
  ------------------
  218|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTCLOSEFILE, FAIL, "unable to close file");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  219|       |
  220|       |    /* Free the VOL object; it is unnecessary to unwrap the VOL
  221|       |     * object before freeing it, as the object was not wrapped */
  222|      7|    if (H5VL_free_object(file_vol_obj) < 0)
  ------------------
  |  Branch (222:9): [True: 0, False: 7]
  ------------------
  223|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTDEC, FAIL, "unable to free VOL object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  224|       |
  225|      7|done:
  226|      7|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  227|      7|} /* end H5F__close_cb() */
H5Fint.c:H5F__get_objects:
  543|     90|{
  544|     90|    size_t      obj_id_count = 0;    /* Number of open IDs */
  545|     90|    H5F_olist_t olist;               /* Structure to hold search results */
  546|     90|    herr_t      ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     90|#define SUCCEED 0
  ------------------
  547|       |
  548|     90|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     90|    {                                                                                                        \
  |  | 1461|     90|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     90|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     90|                                                                                                             \
  |  |  |  | 1267|     90|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     90|        {
  ------------------
  549|       |
  550|       |    /* Sanity check */
  551|     90|    assert(obj_id_count_ptr);
  552|       |
  553|       |    /* Set up search information */
  554|     90|    olist.obj_id_list  = (max_nobjs == 0 ? NULL : obj_id_list);
  ------------------
  |  Branch (554:27): [True: 78, False: 12]
  ------------------
  555|     90|    olist.obj_id_count = &obj_id_count;
  556|     90|    olist.list_index   = 0;
  557|     90|    olist.max_nobjs    = max_nobjs;
  558|       |
  559|       |    /* Determine if we are searching for local or global objects */
  560|     90|    if (types & H5F_OBJ_LOCAL) {
  ------------------
  |  |   82|     90|    (0x0020u) /**< Restrict search to objects opened through current file ID                                 \
  ------------------
  |  Branch (560:9): [True: 90, False: 0]
  ------------------
  561|     90|        olist.file_info.local    = true;
  562|     90|        olist.file_info.ptr.file = f;
  563|     90|    } /* end if */
  564|      0|    else {
  565|      0|        olist.file_info.local      = false;
  566|      0|        olist.file_info.ptr.shared = f ? f->shared : NULL;
  ------------------
  |  Branch (566:38): [True: 0, False: 0]
  ------------------
  567|      0|    } /* end else */
  568|       |
  569|       |    /* Iterate through file IDs to count the number, and put their
  570|       |     * IDs on the object list.  */
  571|     90|    if (types & H5F_OBJ_FILE) {
  ------------------
  |  |   75|     90|#define H5F_OBJ_FILE     (0x0001u) /**< File objects */
  ------------------
  |  Branch (571:9): [True: 0, False: 90]
  ------------------
  572|      0|        olist.obj_type = H5I_FILE;
  573|      0|        if (H5I_iterate(H5I_FILE, H5F__get_objects_cb, &olist, app_ref) < 0)
  ------------------
  |  Branch (573:13): [True: 0, False: 0]
  ------------------
  574|      0|            HGOTO_ERROR(H5E_FILE, H5E_BADITER, FAIL, "iteration failed(1)");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  575|      0|    } /* end if */
  576|       |
  577|       |    /* If the caller just wants to count the number of objects (OLIST.MAX_NOBJS is zero),
  578|       |     * or the caller wants to get the list of IDs and the list isn't full,
  579|       |     * search through dataset IDs to count number of datasets, and put their
  580|       |     * IDs on the object list */
  581|     90|    if (!olist.max_nobjs || (olist.max_nobjs && olist.list_index < olist.max_nobjs)) {
  ------------------
  |  Branch (581:9): [True: 78, False: 12]
  |  Branch (581:30): [True: 12, False: 0]
  |  Branch (581:49): [True: 12, False: 0]
  ------------------
  582|     90|        if (types & H5F_OBJ_DATASET) {
  ------------------
  |  |   76|     90|#define H5F_OBJ_DATASET  (0x0002u) /**< Dataset objects */
  ------------------
  |  Branch (582:13): [True: 0, False: 90]
  ------------------
  583|      0|            olist.obj_type = H5I_DATASET;
  584|      0|            if (H5I_iterate(H5I_DATASET, H5F__get_objects_cb, &olist, app_ref) < 0)
  ------------------
  |  Branch (584:17): [True: 0, False: 0]
  ------------------
  585|      0|                HGOTO_ERROR(H5E_FILE, H5E_BADITER, FAIL, "iteration failed(2)");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  586|      0|        } /* end if */
  587|     90|    }
  588|       |
  589|       |    /* If the caller just wants to count the number of objects (OLIST.MAX_NOBJS is zero),
  590|       |     * or the caller wants to get the list of IDs and the list isn't full,
  591|       |     * search through group IDs to count number of groups, and put their
  592|       |     * IDs on the object list */
  593|     90|    if (!olist.max_nobjs || (olist.max_nobjs && olist.list_index < olist.max_nobjs)) {
  ------------------
  |  Branch (593:9): [True: 78, False: 12]
  |  Branch (593:30): [True: 12, False: 0]
  |  Branch (593:49): [True: 12, False: 0]
  ------------------
  594|     90|        if (types & H5F_OBJ_GROUP) {
  ------------------
  |  |   77|     90|#define H5F_OBJ_GROUP    (0x0004u) /**< Group objects */
  ------------------
  |  Branch (594:13): [True: 0, False: 90]
  ------------------
  595|      0|            olist.obj_type = H5I_GROUP;
  596|      0|            if (H5I_iterate(H5I_GROUP, H5F__get_objects_cb, &olist, app_ref) < 0)
  ------------------
  |  Branch (596:17): [True: 0, False: 0]
  ------------------
  597|      0|                HGOTO_ERROR(H5E_FILE, H5E_BADITER, FAIL, "iteration failed(3)");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  598|      0|        }
  599|     90|    }
  600|       |
  601|       |    /* If the caller just wants to count the number of objects (OLIST.MAX_NOBJS is zero),
  602|       |     * or the caller wants to get the list of IDs and the list isn't full,
  603|       |     * search through datatype IDs to count number of named datatypes, and put their
  604|       |     * IDs on the object list */
  605|     90|    if (!olist.max_nobjs || (olist.max_nobjs && olist.list_index < olist.max_nobjs)) {
  ------------------
  |  Branch (605:9): [True: 78, False: 12]
  |  Branch (605:30): [True: 12, False: 0]
  |  Branch (605:49): [True: 12, False: 0]
  ------------------
  606|     90|        if (types & H5F_OBJ_DATATYPE) {
  ------------------
  |  |   78|     90|#define H5F_OBJ_DATATYPE (0x0008u) /**< Datatype objects */
  ------------------
  |  Branch (606:13): [True: 0, False: 90]
  ------------------
  607|      0|            olist.obj_type = H5I_DATATYPE;
  608|      0|            if (H5I_iterate(H5I_DATATYPE, H5F__get_objects_cb, &olist, app_ref) < 0)
  ------------------
  |  Branch (608:17): [True: 0, False: 0]
  ------------------
  609|      0|                HGOTO_ERROR(H5E_FILE, H5E_BADITER, FAIL, "iteration failed(4)");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  610|      0|        } /* end if */
  611|     90|    }
  612|       |
  613|       |    /* If the caller just wants to count the number of objects (OLIST.MAX_NOBJS is zero),
  614|       |     * or the caller wants to get the list of IDs and the list isn't full,
  615|       |     * search through attribute IDs to count number of attributes, and put their
  616|       |     * IDs on the object list */
  617|     90|    if (!olist.max_nobjs || (olist.max_nobjs && olist.list_index < olist.max_nobjs)) {
  ------------------
  |  Branch (617:9): [True: 78, False: 12]
  |  Branch (617:30): [True: 12, False: 0]
  |  Branch (617:49): [True: 12, False: 0]
  ------------------
  618|     90|        if (types & H5F_OBJ_ATTR) {
  ------------------
  |  |   79|     90|#define H5F_OBJ_ATTR     (0x0010u) /**< Attribute objects */
  ------------------
  |  Branch (618:13): [True: 90, False: 0]
  ------------------
  619|     90|            olist.obj_type = H5I_ATTR;
  620|     90|            if (H5I_iterate(H5I_ATTR, H5F__get_objects_cb, &olist, app_ref) < 0)
  ------------------
  |  Branch (620:17): [True: 0, False: 90]
  ------------------
  621|      0|                HGOTO_ERROR(H5E_FILE, H5E_BADITER, FAIL, "iteration failed(5)");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  622|     90|        } /* end if */
  623|     90|    }
  624|       |
  625|       |    /* Set the number of objects currently open */
  626|     90|    *obj_id_count_ptr = obj_id_count;
  627|       |
  628|     90|done:
  629|     90|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     90|    ;                                                                                                        \
  |  | 1573|     90|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     90|    return (ret_value);                                                                                      \
  |  | 1575|     90|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  630|     90|} /* end H5F__get_objects() */
H5Fint.c:H5F__get_objects_cb:
  645|     24|{
  646|     24|    H5F_olist_t *olist     = (H5F_olist_t *)key; /* Alias for search info */
  647|     24|    bool         add_obj   = false;
  648|     24|    int          ret_value = H5_ITER_CONT; /* Return value */
  ------------------
  |  |  362|     24|#define H5_ITER_CONT  (0)  /**< Continue iteration */
  ------------------
  649|       |
  650|     24|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     24|    {                                                                                                        \
  |  | 1461|     24|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     24|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     24|                                                                                                             \
  |  |  |  | 1267|     24|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     24|        {
  ------------------
  651|       |
  652|     24|    assert(obj_ptr);
  653|     24|    assert(olist);
  654|       |
  655|       |    /* Count file IDs */
  656|     24|    if (olist->obj_type == H5I_FILE) {
  ------------------
  |  Branch (656:9): [True: 0, False: 24]
  ------------------
  657|      0|        if ((olist->file_info.local &&
  ------------------
  |  Branch (657:14): [True: 0, False: 0]
  ------------------
  658|      0|             (!olist->file_info.ptr.file ||
  ------------------
  |  Branch (658:15): [True: 0, False: 0]
  ------------------
  659|      0|              (olist->file_info.ptr.file && (H5F_t *)obj_ptr == olist->file_info.ptr.file))) ||
  ------------------
  |  Branch (659:16): [True: 0, False: 0]
  |  Branch (659:45): [True: 0, False: 0]
  ------------------
  660|      0|            (!olist->file_info.local &&
  ------------------
  |  Branch (660:14): [True: 0, False: 0]
  ------------------
  661|      0|             (!olist->file_info.ptr.shared ||
  ------------------
  |  Branch (661:15): [True: 0, False: 0]
  ------------------
  662|      0|              (olist->file_info.ptr.shared && ((H5F_t *)obj_ptr)->shared == olist->file_info.ptr.shared)))) {
  ------------------
  |  Branch (662:16): [True: 0, False: 0]
  |  Branch (662:47): [True: 0, False: 0]
  ------------------
  663|      0|            add_obj = true;
  664|      0|        }                /* end if */
  665|      0|    }                    /* end if */
  666|     24|    else {               /* Either count opened object IDs or put the IDs on the list */
  667|     24|        H5O_loc_t *oloc; /* Group entry info for object */
  668|       |
  669|     24|        switch (olist->obj_type) {
  670|     24|            case H5I_ATTR:
  ------------------
  |  Branch (670:13): [True: 24, False: 0]
  ------------------
  671|     24|                oloc = H5A_oloc((H5A_t *)obj_ptr);
  672|     24|                break;
  673|       |
  674|      0|            case H5I_GROUP:
  ------------------
  |  Branch (674:13): [True: 0, False: 24]
  ------------------
  675|      0|                oloc = H5G_oloc((H5G_t *)obj_ptr);
  676|      0|                break;
  677|       |
  678|      0|            case H5I_DATASET:
  ------------------
  |  Branch (678:13): [True: 0, False: 24]
  ------------------
  679|      0|                oloc = H5D_oloc((H5D_t *)obj_ptr);
  680|      0|                break;
  681|       |
  682|      0|            case H5I_DATATYPE:
  ------------------
  |  Branch (682:13): [True: 0, False: 24]
  ------------------
  683|      0|                if (H5T_is_named((H5T_t *)obj_ptr) == true)
  ------------------
  |  Branch (683:21): [True: 0, False: 0]
  ------------------
  684|      0|                    oloc = H5T_oloc((H5T_t *)obj_ptr);
  685|      0|                else
  686|      0|                    oloc = NULL;
  687|      0|                break;
  688|       |
  689|      0|            case H5I_MAP:
  ------------------
  |  Branch (689:13): [True: 0, False: 24]
  ------------------
  690|      0|                HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, H5_ITER_ERROR,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  691|      0|                            "maps not supported in native VOL connector");
  692|       |
  693|      0|            case H5I_UNINIT:
  ------------------
  |  Branch (693:13): [True: 0, False: 24]
  ------------------
  694|      0|            case H5I_BADID:
  ------------------
  |  Branch (694:13): [True: 0, False: 24]
  ------------------
  695|      0|            case H5I_FILE:
  ------------------
  |  Branch (695:13): [True: 0, False: 24]
  ------------------
  696|      0|            case H5I_DATASPACE:
  ------------------
  |  Branch (696:13): [True: 0, False: 24]
  ------------------
  697|      0|            case H5I_VFL:
  ------------------
  |  Branch (697:13): [True: 0, False: 24]
  ------------------
  698|      0|            case H5I_VOL:
  ------------------
  |  Branch (698:13): [True: 0, False: 24]
  ------------------
  699|      0|            case H5I_GENPROP_CLS:
  ------------------
  |  Branch (699:13): [True: 0, False: 24]
  ------------------
  700|      0|            case H5I_GENPROP_LST:
  ------------------
  |  Branch (700:13): [True: 0, False: 24]
  ------------------
  701|      0|            case H5I_ERROR_CLASS:
  ------------------
  |  Branch (701:13): [True: 0, False: 24]
  ------------------
  702|      0|            case H5I_ERROR_MSG:
  ------------------
  |  Branch (702:13): [True: 0, False: 24]
  ------------------
  703|      0|            case H5I_ERROR_STACK:
  ------------------
  |  Branch (703:13): [True: 0, False: 24]
  ------------------
  704|      0|            case H5I_SPACE_SEL_ITER:
  ------------------
  |  Branch (704:13): [True: 0, False: 24]
  ------------------
  705|      0|            case H5I_EVENTSET:
  ------------------
  |  Branch (705:13): [True: 0, False: 24]
  ------------------
  706|      0|            case H5I_NTYPES:
  ------------------
  |  Branch (706:13): [True: 0, False: 24]
  ------------------
  707|      0|            default:
  ------------------
  |  Branch (707:13): [True: 0, False: 24]
  ------------------
  708|      0|                HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, H5_ITER_ERROR, "unknown or invalid data object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  709|     24|        } /* end switch */
  710|       |
  711|     24|        if ((olist->file_info.local && ((!olist->file_info.ptr.file && olist->obj_type == H5I_DATATYPE &&
  ------------------
  |  Branch (711:14): [True: 24, False: 0]
  |  Branch (711:42): [True: 0, False: 24]
  |  Branch (711:72): [True: 0, False: 0]
  ------------------
  712|     24|                                         H5T_is_immutable((H5T_t *)obj_ptr) == false) ||
  ------------------
  |  Branch (712:42): [True: 0, False: 0]
  ------------------
  713|     24|                                        (!olist->file_info.ptr.file && olist->obj_type != H5I_DATATYPE) ||
  ------------------
  |  Branch (713:42): [True: 0, False: 24]
  |  Branch (713:72): [True: 0, False: 0]
  ------------------
  714|     24|                                        (oloc && oloc->file == olist->file_info.ptr.file))) ||
  ------------------
  |  Branch (714:42): [True: 24, False: 0]
  |  Branch (714:50): [True: 24, False: 0]
  ------------------
  715|     24|            (!olist->file_info.local &&
  ------------------
  |  Branch (715:14): [True: 0, False: 0]
  ------------------
  716|      0|             ((!olist->file_info.ptr.shared && olist->obj_type == H5I_DATATYPE &&
  ------------------
  |  Branch (716:16): [True: 0, False: 0]
  |  Branch (716:48): [True: 0, False: 0]
  ------------------
  717|      0|               H5T_is_immutable((H5T_t *)obj_ptr) == false) ||
  ------------------
  |  Branch (717:16): [True: 0, False: 0]
  ------------------
  718|      0|              (!olist->file_info.ptr.shared && olist->obj_type != H5I_DATATYPE) ||
  ------------------
  |  Branch (718:16): [True: 0, False: 0]
  |  Branch (718:48): [True: 0, False: 0]
  ------------------
  719|     24|              (oloc && oloc->file && oloc->file->shared == olist->file_info.ptr.shared)))) {
  ------------------
  |  Branch (719:16): [True: 0, False: 0]
  |  Branch (719:24): [True: 0, False: 0]
  |  Branch (719:38): [True: 0, False: 0]
  ------------------
  720|     24|            add_obj = true;
  721|     24|        } /* end if */
  722|     24|    }     /* end else */
  723|       |
  724|     24|    if (add_obj) {
  ------------------
  |  Branch (724:9): [True: 24, False: 0]
  ------------------
  725|       |        /* Add the object's ID to the ID list, if appropriate */
  726|     24|        if (olist->obj_id_list) {
  ------------------
  |  Branch (726:13): [True: 12, False: 12]
  ------------------
  727|     12|            olist->obj_id_list[olist->list_index] = obj_id;
  728|     12|            olist->list_index++;
  729|     12|        } /* end if */
  730|       |
  731|       |        /* Increment the number of open objects */
  732|     24|        if (olist->obj_id_count)
  ------------------
  |  Branch (732:13): [True: 24, False: 0]
  ------------------
  733|     24|            (*olist->obj_id_count)++;
  734|       |
  735|       |        /* Check if we've filled up the array.  Return H5_ITER_STOP only if
  736|       |         * we have filled up the array. Otherwise return H5_ITER_CONT(RET_VALUE is
  737|       |         * preset to H5_ITER_CONT) because H5I_iterate needs the return value of
  738|       |         * H5_ITER_CONT to continue the iteration.
  739|       |         */
  740|     24|        if (olist->max_nobjs > 0 && olist->list_index >= olist->max_nobjs)
  ------------------
  |  Branch (740:13): [True: 12, False: 12]
  |  Branch (740:37): [True: 12, False: 0]
  ------------------
  741|     12|            HGOTO_DONE(H5_ITER_STOP); /* Indicate that the iterator should stop */
  ------------------
  |  |   91|     12|    do {                                                                                                     \
  |  |   92|     12|        ret_value = ret_val;                                                                                 \
  |  |   93|     12|        goto done;                                                                                           \
  |  |   94|     12|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  742|     24|    }                                 /* end if */
  743|       |
  744|     24|done:
  745|     24|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     24|    ;                                                                                                        \
  |  | 1573|     24|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     24|    return (ret_value);                                                                                      \
  |  | 1575|     24|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  746|     24|} /* end H5F__get_objects_cb() */
H5Fint.c:H5F__check_if_using_file_locks:
 1693|     10|{
 1694|     10|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
 1695|       |
 1696|     10|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     10|    {                                                                                                        \
  |  | 1461|     10|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     10|        {
  ------------------
 1697|       |
 1698|       |    /* Make sure the out parameters have a value */
 1699|     10|    *use_file_locking      = true;
 1700|     10|    *ignore_disabled_locks = false;
 1701|       |
 1702|       |    /* Check file locking environment variable first */
 1703|     10|    if (use_locks_env_g != FAIL) {
  ------------------
  |  |  284|     10|#define FAIL    (-1)
  ------------------
  |  Branch (1703:9): [True: 0, False: 10]
  ------------------
 1704|      0|        *use_file_locking = (use_locks_env_g == true);
 1705|      0|    }
 1706|     10|    else {
 1707|       |        /* Check the file locking fapl property */
 1708|     10|        if (H5P_get(fapl, H5F_ACS_USE_FILE_LOCKING_NAME, use_file_locking) < 0)
  ------------------
  |  |  279|     10|    "use_file_locking" /* whether or not we use file locks for SWMR control and to prevent multiple writers  \
  ------------------
  |  Branch (1708:13): [True: 0, False: 10]
  ------------------
 1709|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "can't get use file locking flag");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1710|     10|    }
 1711|       |
 1712|       |    /* Check "ignore disabled file locks" environment variable first */
 1713|     10|    if (ignore_disabled_locks_g != FAIL) {
  ------------------
  |  |  284|     10|#define FAIL    (-1)
  ------------------
  |  Branch (1713:9): [True: 0, False: 10]
  ------------------
 1714|      0|        *ignore_disabled_locks = (ignore_disabled_locks_g == true);
 1715|      0|    }
 1716|     10|    else {
 1717|       |        /* Check the "ignore disabled file locks" fapl property */
 1718|     10|        if (H5P_get(fapl, H5F_ACS_IGNORE_DISABLED_FILE_LOCKS_NAME, ignore_disabled_locks) < 0)
  ------------------
  |  |  282|     10|    "ignore_disabled_file_locks" /* whether or not we ignore "locks disabled" errors */
  ------------------
  |  Branch (1718:13): [True: 0, False: 10]
  ------------------
 1719|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "can't get ignore disabled file locks property");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1720|     10|    }
 1721|       |
 1722|     10|done:
 1723|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1724|     10|} /* end H5F__check_if_using_file_locks() */
H5Fint.c:H5F__new:
 1109|     10|{
 1110|     10|    H5F_t *f         = NULL;
 1111|     10|    H5F_t *ret_value = NULL;
 1112|       |
 1113|     10|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     10|    {                                                                                                        \
  |  | 1461|     10|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     10|        {
  ------------------
 1114|       |
 1115|     10|    if (NULL == (f = H5FL_CALLOC(H5F_t)))
  ------------------
  |  |   78|     10|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|     10|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (1115:9): [True: 0, False: 10]
  ------------------
 1116|      0|        HGOTO_ERROR(H5E_FILE, H5E_NOSPACE, NULL, "can't allocate top file structure");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1117|     10|    f->id_exists = false;
 1118|       |
 1119|     10|    if (shared) {
  ------------------
  |  Branch (1119:9): [True: 0, False: 10]
  ------------------
 1120|      0|        assert(lf == NULL);
 1121|      0|        f->shared = shared;
 1122|      0|    }
 1123|     10|    else {
 1124|     10|        H5P_genplist_t *plist;    /* Property list */
 1125|     10|        unsigned        efc_size; /* External file cache size */
 1126|     10|        size_t          u;        /* Local index variable */
 1127|       |
 1128|     10|        assert(lf != NULL);
 1129|     10|        if (NULL == (f->shared = H5FL_CALLOC(H5F_shared_t)))
  ------------------
  |  |   78|     10|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|     10|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (1129:13): [True: 0, False: 10]
  ------------------
 1130|      0|            HGOTO_ERROR(H5E_FILE, H5E_NOSPACE, NULL, "can't allocate shared file structure");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1131|       |
 1132|     10|        f->shared->flags     = flags;
 1133|     10|        f->shared->sohm_addr = HADDR_UNDEF;
  ------------------
  |  |  336|     10|#define HADDR_UNDEF         UINT64_MAX
  ------------------
 1134|     10|        f->shared->sohm_vers = HDF5_SHAREDHEADER_VERSION;
  ------------------
  |  |  312|     10|#define HDF5_SHAREDHEADER_VERSION 0 /* of the Shared-Header Info      */
  ------------------
 1135|     10|        f->shared->accum.loc = HADDR_UNDEF;
  ------------------
  |  |  336|     10|#define HADDR_UNDEF         UINT64_MAX
  ------------------
 1136|     10|        f->shared->lf        = lf;
 1137|       |
 1138|       |        /* Initialization for handling file space */
 1139|    140|        for (u = 0; u < NELMTS(f->shared->fs_addr); u++) {
  ------------------
  |  |  288|    140|#define NELMTS(X) (sizeof(X) / sizeof(X[0]))
  ------------------
  |  Branch (1139:21): [True: 130, False: 10]
  ------------------
 1140|    130|            f->shared->fs_state[u] = H5F_FS_STATE_CLOSED;
 1141|    130|            f->shared->fs_addr[u]  = HADDR_UNDEF;
  ------------------
  |  |  336|    130|#define HADDR_UNDEF         UINT64_MAX
  ------------------
 1142|    130|            f->shared->fs_man[u]   = NULL;
 1143|    130|        }
 1144|       |        /* This will be stored as eoa_pre_fsm_fsalloc in the fsinfo message */
 1145|       |        /* This is done to be backward compatible with 1.10 library that has the FSM hack */
 1146|     10|        f->shared->eoa_fsm_fsalloc       = HADDR_UNDEF;
  ------------------
  |  |  336|     10|#define HADDR_UNDEF         UINT64_MAX
  ------------------
 1147|     10|        f->shared->eoa_post_mdci_fsalloc = HADDR_UNDEF;
  ------------------
  |  |  336|     10|#define HADDR_UNDEF         UINT64_MAX
  ------------------
 1148|       |
 1149|       |        /* Initialization for handling file space (for paged aggregation) */
 1150|     10|        f->shared->pgend_meta_thres = H5F_FILE_SPACE_PGEND_META_THRES;
  ------------------
  |  |  344|     10|#define H5F_FILE_SPACE_PGEND_META_THRES 0
  ------------------
 1151|       |
 1152|       |        /* initialize point of no return */
 1153|     10|        f->shared->point_of_no_return = false;
 1154|       |
 1155|       |        /* Copy the file creation and file access property lists into the
 1156|       |         * new file handle. We do this early because some values might need
 1157|       |         * to change as the file is being opened.
 1158|       |         */
 1159|     10|        if (NULL == (plist = (H5P_genplist_t *)H5I_object(fcpl_id)))
  ------------------
  |  Branch (1159:13): [True: 0, False: 10]
  ------------------
 1160|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "not property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1161|     10|        f->shared->fcpl_id = H5P_copy_plist(plist, false);
 1162|       |
 1163|       |        /* Get the FCPL values to cache */
 1164|     10|        if (H5P_get(plist, H5F_CRT_ADDR_BYTE_NUM_NAME, &f->shared->sizeof_addr) < 0)
  ------------------
  |  |  204|     10|#define H5F_CRT_ADDR_BYTE_NUM_NAME "addr_byte_num" /* Byte number in an address            */
  ------------------
  |  Branch (1164:13): [True: 0, False: 10]
  ------------------
 1165|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't get byte number for address");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1166|     10|        if (H5P_get(plist, H5F_CRT_OBJ_BYTE_NUM_NAME, &f->shared->sizeof_size) < 0)
  ------------------
  |  |  205|     10|#define H5F_CRT_OBJ_BYTE_NUM_NAME  "obj_byte_num"  /* Byte number for object size          */
  ------------------
  |  Branch (1166:13): [True: 0, False: 10]
  ------------------
 1167|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't get byte number for object size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1168|     10|        if (H5P_get(plist, H5F_CRT_SHMSG_NINDEXES_NAME, &f->shared->sohm_nindexes) < 0)
  ------------------
  |  |  208|     10|#define H5F_CRT_SHMSG_NINDEXES_NAME    "num_shmsg_indexes"
  ------------------
  |  Branch (1168:13): [True: 0, False: 10]
  ------------------
 1169|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't get number of SOHM indexes");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1170|     10|        assert(f->shared->sohm_nindexes < 255);
 1171|     10|        if (H5P_get(plist, H5F_CRT_FILE_SPACE_STRATEGY_NAME, &f->shared->fs_strategy) < 0)
  ------------------
  |  |  214|     10|#define H5F_CRT_FILE_SPACE_STRATEGY_NAME  "file_space_strategy"  /* File space handling strategy */
  ------------------
  |  Branch (1171:13): [True: 0, False: 10]
  ------------------
 1172|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't get file space strategy");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1173|     10|        if (H5P_get(plist, H5F_CRT_FREE_SPACE_PERSIST_NAME, &f->shared->fs_persist) < 0)
  ------------------
  |  |  215|     10|#define H5F_CRT_FREE_SPACE_PERSIST_NAME   "free_space_persist"   /* Free-space persisting status */
  ------------------
  |  Branch (1173:13): [True: 0, False: 10]
  ------------------
 1174|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't get file space persisting status");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1175|     10|        if (H5P_get(plist, H5F_CRT_FREE_SPACE_THRESHOLD_NAME, &f->shared->fs_threshold) < 0)
  ------------------
  |  |  216|     10|#define H5F_CRT_FREE_SPACE_THRESHOLD_NAME "free_space_threshold" /* Free space section threshold */
  ------------------
  |  Branch (1175:13): [True: 0, False: 10]
  ------------------
 1176|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't get free-space section threshold");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1177|     10|        if (H5P_get(plist, H5F_CRT_FILE_SPACE_PAGE_SIZE_NAME, &f->shared->fs_page_size) < 0)
  ------------------
  |  |  217|     10|#define H5F_CRT_FILE_SPACE_PAGE_SIZE_NAME "file_space_page_size" /* File space page size */
  ------------------
  |  Branch (1177:13): [True: 0, False: 10]
  ------------------
 1178|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't get file space page size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1179|     10|        assert(f->shared->fs_page_size >= H5F_FILE_SPACE_PAGE_SIZE_MIN);
 1180|       |
 1181|       |        /* Temporary for multi/split drivers: fail file creation
 1182|       |         * when persisting free-space or using paged aggregation strategy.
 1183|       |         */
 1184|     10|        if (H5F_HAS_FEATURE(f, H5FD_FEAT_PAGED_AGGR))
  ------------------
  |  |   60|     10|#define H5F_HAS_FEATURE(F, FL)           ((F)->shared->lf->feature_flags & (FL))
  |  |  ------------------
  |  |  |  Branch (60:42): [True: 0, False: 10]
  |  |  ------------------
  ------------------
 1185|      0|            if (f->shared->fs_strategy == H5F_FSPACE_STRATEGY_PAGE || f->shared->fs_persist)
  ------------------
  |  Branch (1185:17): [True: 0, False: 0]
  |  Branch (1185:71): [True: 0, False: 0]
  ------------------
 1186|      0|                HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't open with this strategy or persistent fs");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1187|       |
 1188|       |        /* Get the FAPL values to cache */
 1189|     10|        if (NULL == (plist = (H5P_genplist_t *)H5I_object(fapl_id)))
  ------------------
  |  Branch (1189:13): [True: 0, False: 10]
  ------------------
 1190|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "not file access property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1191|     10|        if (H5P_get(plist, H5F_ACS_META_CACHE_INIT_CONFIG_NAME, &(f->shared->mdc_initCacheCfg)) < 0)
  ------------------
  |  |  221|     10|    "mdc_initCacheCfg"                                  /* Initial metadata cache resize configuration */
  ------------------
  |  Branch (1191:13): [True: 0, False: 10]
  ------------------
 1192|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't get initial metadata cache resize config");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1193|     10|        if (H5P_get(plist, H5F_ACS_DATA_CACHE_NUM_SLOTS_NAME, &(f->shared->rdcc_nslots)) < 0)
  ------------------
  |  |  222|     10|#define H5F_ACS_DATA_CACHE_NUM_SLOTS_NAME "rdcc_nslots" /* Size of raw data chunk cache(slots) */
  ------------------
  |  Branch (1193:13): [True: 0, False: 10]
  ------------------
 1194|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't get data cache number of slots");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1195|     10|        if (H5P_get(plist, H5F_ACS_DATA_CACHE_BYTE_SIZE_NAME, &(f->shared->rdcc_nbytes)) < 0)
  ------------------
  |  |  223|     10|#define H5F_ACS_DATA_CACHE_BYTE_SIZE_NAME "rdcc_nbytes" /* Size of raw data chunk cache(bytes) */
  ------------------
  |  Branch (1195:13): [True: 0, False: 10]
  ------------------
 1196|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't get data cache byte size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1197|     10|        if (H5P_get(plist, H5F_ACS_PREEMPT_READ_CHUNKS_NAME, &(f->shared->rdcc_w0)) < 0)
  ------------------
  |  |  224|     10|#define H5F_ACS_PREEMPT_READ_CHUNKS_NAME  "rdcc_w0"     /* Preemption read chunks first */
  ------------------
  |  Branch (1197:13): [True: 0, False: 10]
  ------------------
 1198|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't get preempt read chunk");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1199|     10|        if (H5P_get(plist, H5F_ACS_ALIGN_THRHD_NAME, &(f->shared->threshold)) < 0)
  ------------------
  |  |  225|     10|#define H5F_ACS_ALIGN_THRHD_NAME          "threshold"   /* Threshold for alignment */
  ------------------
  |  Branch (1199:13): [True: 0, False: 10]
  ------------------
 1200|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't get alignment threshold");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1201|     10|        if (H5P_get(plist, H5F_ACS_ALIGN_NAME, &(f->shared->alignment)) < 0)
  ------------------
  |  |  226|     10|#define H5F_ACS_ALIGN_NAME                "align"       /* Alignment */
  ------------------
  |  Branch (1201:13): [True: 0, False: 10]
  ------------------
 1202|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't get alignment");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1203|     10|        if (H5P_get(plist, H5F_ACS_GARBG_COLCT_REF_NAME, &(f->shared->gc_ref)) < 0)
  ------------------
  |  |  234|     10|#define H5F_ACS_GARBG_COLCT_REF_NAME "gc_ref"             /* Garbage-collect references */
  ------------------
  |  Branch (1203:13): [True: 0, False: 10]
  ------------------
 1204|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't get garbage collect reference");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1205|     10|        if (H5P_get(plist, H5F_ACS_SIEVE_BUF_SIZE_NAME, &(f->shared->sieve_buf_size)) < 0)
  ------------------
  |  |  230|     10|    "sieve_buf_size" /* Maximum sieve buffer size (when data sieving is allowed by file driver) */
  ------------------
  |  Branch (1205:13): [True: 0, False: 10]
  ------------------
 1206|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't get sieve buffer size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1207|     10|        if (H5P_get(plist, H5F_ACS_LIBVER_LOW_BOUND_NAME, &(f->shared->low_bound)) < 0)
  ------------------
  |  |  245|     10|#define H5F_ACS_LIBVER_LOW_BOUND_NAME  "libver_low_bound"  /* 'low' bound of library format versions */
  ------------------
  |  Branch (1207:13): [True: 0, False: 10]
  ------------------
 1208|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't get 'low' bound for library format versions");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1209|     10|        if (H5P_get(plist, H5F_ACS_LIBVER_HIGH_BOUND_NAME, &(f->shared->high_bound)) < 0)
  ------------------
  |  |  246|     10|#define H5F_ACS_LIBVER_HIGH_BOUND_NAME "libver_high_bound" /* 'high' bound of library format versions */
  ------------------
  |  Branch (1209:13): [True: 0, False: 10]
  ------------------
 1210|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't get 'high' bound for library format versions");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1211|     10|        if (H5P_get(plist, H5F_ACS_USE_MDC_LOGGING_NAME, &(f->shared->use_mdc_logging)) < 0)
  ------------------
  |  |  262|     10|#define H5F_ACS_USE_MDC_LOGGING_NAME  "use_mdc_logging"  /* Whether to use metadata cache logging */
  ------------------
  |  Branch (1211:13): [True: 0, False: 10]
  ------------------
 1212|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't get 'use mdc logging' flag");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1213|     10|        if (H5P_get(plist, H5F_ACS_START_MDC_LOG_ON_ACCESS_NAME, &(f->shared->start_mdc_log_on_access)) < 0)
  ------------------
  |  |  265|     10|    "start_mdc_log_on_access" /* Whether logging starts on file create/open */
  ------------------
  |  Branch (1213:13): [True: 0, False: 10]
  ------------------
 1214|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't get 'start mdc log on access' flag");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1215|     10|        if (H5P_get(plist, H5F_ACS_META_BLOCK_SIZE_NAME, &(f->shared->meta_aggr.alloc_size)) < 0)
  ------------------
  |  |  228|     10|    "meta_block_size" /* Minimum metadata allocation block size (when aggregating metadata allocations) */
  ------------------
  |  Branch (1215:13): [True: 0, False: 10]
  ------------------
 1216|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't get metadata cache size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1217|     10|        f->shared->meta_aggr.feature_flag = H5FD_FEAT_AGGREGATE_METADATA;
  ------------------
  |  |   59|     10|#define H5FD_FEAT_AGGREGATE_METADATA 0x00000001
  ------------------
 1218|     10|        if (H5P_get(plist, H5F_ACS_SDATA_BLOCK_SIZE_NAME, &(f->shared->sdata_aggr.alloc_size)) < 0)
  ------------------
  |  |  232|     10|    "sdata_block_size" /* Minimum "small data" allocation block size (when aggregating "small" raw data      \
  ------------------
  |  Branch (1218:13): [True: 0, False: 10]
  ------------------
 1219|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't get 'small data' cache size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1220|     10|        f->shared->sdata_aggr.feature_flag = H5FD_FEAT_AGGREGATE_SMALLDATA;
  ------------------
  |  |   89|     10|#define H5FD_FEAT_AGGREGATE_SMALLDATA 0x00000010
  ------------------
 1221|     10|        if (H5P_get(plist, H5F_ACS_EFC_SIZE_NAME, &efc_size) < 0)
  ------------------
  |  |  252|     10|#define H5F_ACS_EFC_SIZE_NAME               "efc_size"               /* Size of external file cache */
  ------------------
  |  Branch (1221:13): [True: 0, False: 10]
  ------------------
 1222|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't get elink file cache size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1223|     10|        if (efc_size > 0)
  ------------------
  |  Branch (1223:13): [True: 0, False: 10]
  ------------------
 1224|      0|            if (NULL == (f->shared->efc = H5F__efc_create(efc_size)))
  ------------------
  |  Branch (1224:17): [True: 0, False: 0]
  ------------------
 1225|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, NULL, "can't create external file cache");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1226|       |#ifdef H5_HAVE_PARALLEL
 1227|       |        if (H5P_get(plist, H5_COLL_MD_READ_FLAG_NAME, &(f->shared->coll_md_read)) < 0)
 1228|       |            HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't get collective metadata read flag");
 1229|       |        if (H5P_get(plist, H5F_ACS_COLL_MD_WRITE_FLAG_NAME, &(f->shared->coll_md_write)) < 0)
 1230|       |            HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't get collective metadata write flag");
 1231|       |#endif /* H5_HAVE_PARALLEL */
 1232|     10|        if (H5P_get(plist, H5F_ACS_META_CACHE_INIT_IMAGE_CONFIG_NAME, &(f->shared->mdc_initCacheImageCfg)) <
  ------------------
  |  |  272|     10|    "mdc_initCacheImageCfg" /* Initial metadata cache image creation configuration */
  ------------------
  |  Branch (1232:13): [True: 0, False: 10]
  ------------------
 1233|     10|            0)
 1234|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't get initial metadata cache resize config");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1235|     10|        if (H5P_get(plist, H5F_ACS_RFIC_FLAGS_NAME, &(f->shared->rfic_flags)) < 0)
  ------------------
  |  |  287|     10|#define H5F_ACS_RFIC_FLAGS_NAME "rfic_flags"           /* Relaxed file integrity check (RFIC) flags */
  ------------------
  |  Branch (1235:13): [True: 0, False: 10]
  ------------------
 1236|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't get RFIC flags value");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1237|       |
 1238|       |        /* Get the VFD values to cache */
 1239|     10|        f->shared->maxaddr = H5FD_get_maxaddr(lf);
 1240|     10|        if (!H5_addr_defined(f->shared->maxaddr))
  ------------------
  |  |  449|     10|#define H5_addr_defined(X)       ((X) != HADDR_UNDEF)
  |  |  ------------------
  |  |  |  |  336|     10|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  ------------------
  |  Branch (1240:13): [True: 0, False: 10]
  ------------------
 1241|      0|            HGOTO_ERROR(H5E_FILE, H5E_BADVALUE, NULL, "bad maximum address from VFD");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1242|     10|        if (H5FD_get_feature_flags(lf, &f->shared->feature_flags) < 0)
  ------------------
  |  Branch (1242:13): [True: 0, False: 10]
  ------------------
 1243|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTGET, NULL, "can't get feature flags from VFD");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1244|       |
 1245|       |        /* Require the SWMR feature flag if SWMR I/O is desired */
 1246|     10|        if (!H5F_HAS_FEATURE(f, H5FD_FEAT_SUPPORTS_SWMR_IO) &&
  ------------------
  |  |   60|     20|#define H5F_HAS_FEATURE(F, FL)           ((F)->shared->lf->feature_flags & (FL))
  ------------------
  |  Branch (1246:13): [True: 0, False: 10]
  ------------------
 1247|     10|            (H5F_INTENT(f) & (H5F_ACC_SWMR_WRITE | H5F_ACC_SWMR_READ)))
  ------------------
  |  |   44|      0|#define H5F_INTENT(F)                    ((F)->shared->flags)
  ------------------
                          (H5F_INTENT(f) & (H5F_ACC_SWMR_WRITE | H5F_ACC_SWMR_READ)))
  ------------------
  |  |   55|      0|    (H5CHECK 0x0020u) /**< Indicate that this file is open for writing in a                                  \
  ------------------
                          (H5F_INTENT(f) & (H5F_ACC_SWMR_WRITE | H5F_ACC_SWMR_READ)))
  ------------------
  |  |   61|      0|    (H5CHECK 0x0040u) /**< Indicate that this file is open for reading in a                                  \
  ------------------
  |  Branch (1247:13): [True: 0, False: 0]
  ------------------
 1248|      0|            HGOTO_ERROR(H5E_FILE, H5E_BADVALUE, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1249|     10|                        "must use a SWMR-compatible VFD when SWMR is specified");
 1250|       |
 1251|     10|        if (H5FD_get_fs_type_map(lf, f->shared->fs_type_map) < 0)
  ------------------
  |  Branch (1251:13): [True: 0, False: 10]
  ------------------
 1252|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTGET, NULL, "can't get free space type mapping from VFD");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1253|     10|        if (H5MF_init_merge_flags(f->shared) < 0)
  ------------------
  |  Branch (1253:13): [True: 0, False: 10]
  ------------------
 1254|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, NULL, "problem initializing free space merge flags");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1255|     10|        f->shared->tmp_addr = f->shared->maxaddr;
 1256|       |        /* Disable temp. space allocation for parallel I/O (for now) */
 1257|       |        /* (When we've arranged to have the relocated metadata addresses (and
 1258|       |         *      sizes) broadcast during the "end of epoch" metadata operations,
 1259|       |         *      this can be enabled - QAK)
 1260|       |         */
 1261|       |        /* (This should be disabled when the metadata journaling branch is
 1262|       |         *      merged into the trunk and journaling is enabled, at least until
 1263|       |         *      we make it work. - QAK)
 1264|       |         */
 1265|     10|        f->shared->use_tmp_space = !H5F_HAS_FEATURE(f, H5FD_FEAT_HAS_MPI);
  ------------------
  |  |   60|     10|#define H5F_HAS_FEATURE(F, FL)           ((F)->shared->lf->feature_flags & (FL))
  ------------------
 1266|       |
 1267|       |        /* Retrieve the # of read attempts here so that sohm in superblock will get the correct # of attempts
 1268|       |         */
 1269|     10|        if (H5P_get(plist, H5F_ACS_METADATA_READ_ATTEMPTS_NAME, &f->shared->read_attempts) < 0)
  ------------------
  |  |  250|     10|#define H5F_ACS_METADATA_READ_ATTEMPTS_NAME "metadata_read_attempts" /* # of metadata read attempts */
  ------------------
  |  Branch (1269:13): [True: 0, False: 10]
  ------------------
 1270|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't get the # of read attempts");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1271|       |
 1272|       |        /* When opening file with SWMR access, the # of read attempts is H5F_SWMR_METADATA_READ_ATTEMPTS if
 1273|       |         * not set */
 1274|       |        /* When opening file without SWMR access, the # of read attempts is always H5F_METADATA_READ_ATTEMPTS
 1275|       |         * (set or not set) */
 1276|     10|        if (H5F_INTENT(f) & (H5F_ACC_SWMR_READ | H5F_ACC_SWMR_WRITE)) {
  ------------------
  |  |   44|     10|#define H5F_INTENT(F)                    ((F)->shared->flags)
  ------------------
                      if (H5F_INTENT(f) & (H5F_ACC_SWMR_READ | H5F_ACC_SWMR_WRITE)) {
  ------------------
  |  |   61|     10|    (H5CHECK 0x0040u) /**< Indicate that this file is open for reading in a                                  \
  ------------------
                      if (H5F_INTENT(f) & (H5F_ACC_SWMR_READ | H5F_ACC_SWMR_WRITE)) {
  ------------------
  |  |   55|     10|    (H5CHECK 0x0020u) /**< Indicate that this file is open for writing in a                                  \
  ------------------
  |  Branch (1276:13): [True: 0, False: 10]
  ------------------
 1277|       |            /* If no value for read attempts has been set, use the default */
 1278|      0|            if (!f->shared->read_attempts)
  ------------------
  |  Branch (1278:17): [True: 0, False: 0]
  ------------------
 1279|      0|                f->shared->read_attempts = H5F_SWMR_METADATA_READ_ATTEMPTS;
  ------------------
  |  |  361|      0|#define H5F_SWMR_METADATA_READ_ATTEMPTS 100 /* Default # of read attempts for SWMR access */
  ------------------
 1280|       |
 1281|       |            /* Turn off accumulator with SWMR */
 1282|      0|            f->shared->feature_flags &= ~(unsigned)H5FD_FEAT_ACCUMULATE_METADATA;
  ------------------
  |  |   75|      0|    (H5FD_FEAT_ACCUMULATE_METADATA_WRITE | H5FD_FEAT_ACCUMULATE_METADATA_READ)
  |  |  ------------------
  |  |  |  |   72|      0|#define H5FD_FEAT_ACCUMULATE_METADATA_WRITE 0x00000002
  |  |  ------------------
  |  |                   (H5FD_FEAT_ACCUMULATE_METADATA_WRITE | H5FD_FEAT_ACCUMULATE_METADATA_READ)
  |  |  ------------------
  |  |  |  |   73|      0|#define H5FD_FEAT_ACCUMULATE_METADATA_READ  0x00000004
  |  |  ------------------
  ------------------
 1283|      0|            if (H5FD_set_feature_flags(f->shared->lf, f->shared->feature_flags) < 0)
  ------------------
  |  Branch (1283:17): [True: 0, False: 0]
  ------------------
 1284|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTSET, NULL, "can't set feature_flags in VFD");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1285|      0|        }
 1286|     10|        else {
 1287|       |            /* If no value for read attempts has been set, use the default */
 1288|     10|            if (!f->shared->read_attempts)
  ------------------
  |  Branch (1288:17): [True: 10, False: 0]
  ------------------
 1289|     10|                f->shared->read_attempts = H5F_METADATA_READ_ATTEMPTS;
  ------------------
  |  |  360|     10|#define H5F_METADATA_READ_ATTEMPTS      1   /* Default # of read attempts for non-SWMR access */
  ------------------
 1290|     10|        }
 1291|       |
 1292|       |        /* Determine the # of bins for metadata read retries */
 1293|     10|        if (H5F_set_retries(f) < 0)
  ------------------
  |  Branch (1293:13): [True: 0, False: 10]
  ------------------
 1294|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, NULL, "can't set retries and retries_nbins");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1295|       |
 1296|       |        /* Get the metadata cache log location (if we're logging) */
 1297|     10|        {
 1298|     10|            char *mdc_log_location = NULL; /* location of metadata cache log location */
 1299|       |
 1300|     10|            if (H5P_get(plist, H5F_ACS_MDC_LOG_LOCATION_NAME, &mdc_log_location) < 0)
  ------------------
  |  |  263|     10|#define H5F_ACS_MDC_LOG_LOCATION_NAME "mdc_log_location" /* Name of metadata cache log location */
  ------------------
  |  Branch (1300:17): [True: 0, False: 10]
  ------------------
 1301|      0|                HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, NULL, "can't get mdc log location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1302|     10|            if (mdc_log_location != NULL) {
  ------------------
  |  Branch (1302:17): [True: 0, False: 10]
  ------------------
 1303|      0|                size_t len = strlen(mdc_log_location);
 1304|      0|                if (NULL == (f->shared->mdc_log_location = (char *)H5MM_calloc((len + 1) * sizeof(char))))
  ------------------
  |  |   36|      0|#define H5MM_calloc(Z) calloc(1, Z)
  ------------------
  |  Branch (1304:21): [True: 0, False: 0]
  ------------------
 1305|      0|                    HGOTO_ERROR(H5E_RESOURCE, H5E_CANTALLOC, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1306|      0|                                "can't allocate memory for mdc log file name");
 1307|      0|                strncpy(f->shared->mdc_log_location, mdc_log_location, len + 1);
 1308|      0|                f->shared->mdc_log_location[len] = '\0';
 1309|      0|            }
 1310|     10|            else
 1311|     10|                f->shared->mdc_log_location = NULL;
 1312|     10|        } /* end block */
 1313|       |
 1314|       |        /* Get object flush callback information */
 1315|     10|        if (H5P_get(plist, H5F_ACS_OBJECT_FLUSH_CB_NAME, &(f->shared->object_flush)) < 0)
  ------------------
  |  |  251|     10|#define H5F_ACS_OBJECT_FLUSH_CB_NAME        "object_flush_cb"        /* Object flush callback */
  ------------------
  |  Branch (1315:13): [True: 0, False: 10]
  ------------------
 1316|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTGET, NULL, "can't get object flush cb info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1317|       |
 1318|       |        /* Get the VOL connector info */
 1319|     10|        if (H5F__set_vol_conn(f) < 0)
  ------------------
  |  Branch (1319:13): [True: 0, False: 10]
  ------------------
 1320|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, NULL, "can't cache VOL connector info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1321|       |
 1322|       |        /* Create a metadata cache with the specified number of elements.
 1323|       |         * The cache might be created with a different number of elements and
 1324|       |         * the access property list should be updated to reflect that.
 1325|       |         */
 1326|     10|        if (H5AC_create(f, &(f->shared->mdc_initCacheCfg), &(f->shared->mdc_initCacheImageCfg)) < 0)
  ------------------
  |  Branch (1326:13): [True: 0, False: 10]
  ------------------
 1327|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, NULL, "unable to create metadata cache");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1328|       |
 1329|       |        /* Create the file's "open object" information */
 1330|     10|        if (H5FO_create(f) < 0)
  ------------------
  |  Branch (1330:13): [True: 0, False: 10]
  ------------------
 1331|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, NULL, "unable to create open object data structure");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1332|       |
 1333|       |        /* Add new "shared" struct to list of open files */
 1334|     10|        if (H5F__sfile_add(f->shared) < 0)
  ------------------
  |  Branch (1334:13): [True: 0, False: 10]
  ------------------
 1335|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, NULL, "unable to append to list of open files");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1336|     10|    } /* end else */
 1337|       |
 1338|     10|    f->shared->nrefs++;
 1339|       |
 1340|       |    /* Create the file's "top open object" information */
 1341|     10|    if (H5FO_top_create(f) < 0)
  ------------------
  |  Branch (1341:9): [True: 0, False: 10]
  ------------------
 1342|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, NULL, "unable to create open object data structure");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1343|       |
 1344|       |    /* Set return value */
 1345|     10|    ret_value = f;
 1346|       |
 1347|     10|done:
 1348|     10|    if (!ret_value && f) {
  ------------------
  |  Branch (1348:9): [True: 0, False: 10]
  |  Branch (1348:23): [True: 0, False: 0]
  ------------------
 1349|      0|        assert(NULL == f->vol_obj);
 1350|       |
 1351|      0|        if (!shared) {
  ------------------
  |  Branch (1351:13): [True: 0, False: 0]
  ------------------
 1352|       |            /* Attempt to clean up some of the shared file structures */
 1353|      0|            if (f->shared->efc)
  ------------------
  |  Branch (1353:17): [True: 0, False: 0]
  ------------------
 1354|      0|                if (H5F__efc_destroy(f->shared->efc) < 0)
  ------------------
  |  Branch (1354:21): [True: 0, False: 0]
  ------------------
 1355|      0|                    HDONE_ERROR(H5E_FILE, H5E_CANTRELEASE, NULL, "can't destroy external file cache");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1356|      0|            if (f->shared->fcpl_id > 0)
  ------------------
  |  Branch (1356:17): [True: 0, False: 0]
  ------------------
 1357|      0|                if (H5I_dec_ref(f->shared->fcpl_id) < 0)
  ------------------
  |  Branch (1357:21): [True: 0, False: 0]
  ------------------
 1358|      0|                    HDONE_ERROR(H5E_FILE, H5E_CANTDEC, NULL, "can't close property list");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1359|       |
 1360|      0|            f->shared = H5FL_FREE(H5F_shared_t, f->shared);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 1361|      0|        }
 1362|       |
 1363|      0|        f = H5FL_FREE(H5F_t, f);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 1364|      0|    }
 1365|       |
 1366|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1367|     10|} /* end H5F__new() */
H5Fint.c:H5F__set_vol_conn:
  282|     10|{
  283|     10|    H5VL_connector_prop_t connector_prop;               /* Property for VOL connector ID & info */
  284|     10|    void                 *new_connector_info = NULL;    /* Copy of connector info */
  285|     10|    herr_t                ret_value          = SUCCEED; /* Return value */
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
  286|       |
  287|     10|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     10|    {                                                                                                        \
  |  | 1461|     10|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     10|        {
  ------------------
  288|       |
  289|       |    /* Sanity check */
  290|     10|    assert(file);
  291|       |
  292|       |    /* Retrieve a copy of the "top-level" connector property, before any pass-through
  293|       |     *  connectors modified or unwrapped it.
  294|       |     */
  295|     10|    if (H5CX_get_vol_connector_prop(&connector_prop) < 0)
  ------------------
  |  Branch (295:9): [True: 0, False: 10]
  ------------------
  296|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "can't get VOL connector info from API context");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  297|       |
  298|       |    /* Sanity check */
  299|     10|    assert(0 != connector_prop.connector_id);
  300|       |
  301|       |    /* Retrieve the connector for the ID */
  302|     10|    if (NULL == (file->shared->vol_cls = (H5VL_class_t *)H5I_object(connector_prop.connector_id)))
  ------------------
  |  Branch (302:9): [True: 0, False: 10]
  ------------------
  303|      0|        HGOTO_ERROR(H5E_FILE, H5E_BADTYPE, FAIL, "not a VOL connector ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  304|       |
  305|       |    /* Allocate and copy connector info, if it exists */
  306|     10|    if (connector_prop.connector_info)
  ------------------
  |  Branch (306:9): [True: 0, False: 10]
  ------------------
  307|      0|        if (H5VL_copy_connector_info(file->shared->vol_cls, &new_connector_info,
  ------------------
  |  Branch (307:13): [True: 0, False: 0]
  ------------------
  308|      0|                                     connector_prop.connector_info) < 0)
  309|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTCOPY, FAIL, "connector info copy failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  310|       |
  311|       |    /* Cache the connector ID & info for the container */
  312|     10|    file->shared->vol_id   = connector_prop.connector_id;
  313|     10|    file->shared->vol_info = new_connector_info;
  314|     10|    if (H5I_inc_ref(file->shared->vol_id, false) < 0)
  ------------------
  |  Branch (314:9): [True: 0, False: 10]
  ------------------
  315|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTINC, FAIL, "incrementing VOL connector ID failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  316|       |
  317|     10|done:
  318|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  319|     10|} /* end H5F__set_vol_conn() */
H5Fint.c:H5F__dest:
 1382|     10|{
 1383|     10|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
 1384|       |
 1385|     10|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     10|    {                                                                                                        \
  |  | 1461|     10|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     10|        {
  ------------------
 1386|       |
 1387|       |    /* Sanity check */
 1388|     10|    assert(f);
 1389|     10|    assert(f->shared);
 1390|       |
 1391|     10|    if (1 == f->shared->nrefs) {
  ------------------
  |  Branch (1391:9): [True: 10, False: 0]
  ------------------
 1392|     10|        int actype; /* metadata cache type (enum value) */
 1393|       |
 1394|       |        /* Mark this file as closing */
 1395|     10|        f->shared->closing = true;
 1396|       |
 1397|       |        /* Flush at this point since the file will be closed (phase 1).
 1398|       |         * Only try to flush the file if it was opened with write access, and if
 1399|       |         * the caller requested a flush.
 1400|       |         */
 1401|     10|        if ((H5F_ACC_RDWR & H5F_INTENT(f)) && flush)
  ------------------
  |  |   49|     10|#define H5F_ACC_RDWR   (H5CHECK H5OPEN 0x0001u) /**< Open for read and write    */
  ------------------
                      if ((H5F_ACC_RDWR & H5F_INTENT(f)) && flush)
  ------------------
  |  |   44|     10|#define H5F_INTENT(F)                    ((F)->shared->flags)
  ------------------
  |  Branch (1401:13): [True: 0, False: 10]
  |  Branch (1401:47): [True: 0, False: 0]
  ------------------
 1402|      0|            if (H5F__flush_phase1(f) < 0)
  ------------------
  |  Branch (1402:17): [True: 0, False: 0]
  ------------------
 1403|       |                /* Push error, but keep going*/
 1404|      0|                HDONE_ERROR(H5E_FILE, H5E_CANTFLUSH, FAIL, "unable to flush cached data (phase 1)");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1405|       |
 1406|       |        /* Notify the metadata cache that the file is about to be closed.
 1407|       |         * This allows the cache to set up for creating a metadata cache
 1408|       |         * image if this has been requested.
 1409|       |         */
 1410|     10|        if (H5AC_prep_for_file_close(f) < 0)
  ------------------
  |  Branch (1410:13): [True: 0, False: 10]
  ------------------
 1411|       |            /* Push error, but keep going */
 1412|      0|            HDONE_ERROR(H5E_FILE, H5E_CANTFLUSH, FAIL, "metadata cache prep for close failed");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1413|       |
 1414|       |        /* Flush at this point since the file will be closed (phase 2).
 1415|       |         * Only try to flush the file if it was opened with write access, and if
 1416|       |         * the caller requested a flush.
 1417|       |         */
 1418|     10|        if ((H5F_ACC_RDWR & H5F_INTENT(f)) && flush)
  ------------------
  |  |   49|     10|#define H5F_ACC_RDWR   (H5CHECK H5OPEN 0x0001u) /**< Open for read and write    */
  ------------------
                      if ((H5F_ACC_RDWR & H5F_INTENT(f)) && flush)
  ------------------
  |  |   44|     10|#define H5F_INTENT(F)                    ((F)->shared->flags)
  ------------------
  |  Branch (1418:13): [True: 0, False: 10]
  |  Branch (1418:47): [True: 0, False: 0]
  ------------------
 1419|      0|            if (H5F__flush_phase2(f, true) < 0)
  ------------------
  |  Branch (1419:17): [True: 0, False: 0]
  ------------------
 1420|       |                /* Push error, but keep going */
 1421|      0|                HDONE_ERROR(H5E_FILE, H5E_CANTFLUSH, FAIL, "unable to flush cached data (phase 2)");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1422|       |
 1423|       |        /* With the shutdown modifications, the contents of the metadata cache
 1424|       |         * should be clean at this point, with the possible exception of the
 1425|       |         * the superblock and superblock extension.
 1426|       |         *
 1427|       |         * Verify this.
 1428|       |         */
 1429|     10|        assert(H5AC_cache_is_clean(f, H5AC_RING_MDFSM));
 1430|       |
 1431|       |        /* Release the external file cache */
 1432|     10|        if (f->shared->efc) {
  ------------------
  |  Branch (1432:13): [True: 0, False: 10]
  ------------------
 1433|      0|            if (H5F__efc_destroy(f->shared->efc) < 0)
  ------------------
  |  Branch (1433:17): [True: 0, False: 0]
  ------------------
 1434|       |                /* Push error, but keep going*/
 1435|      0|                HDONE_ERROR(H5E_FILE, H5E_CANTRELEASE, FAIL, "can't destroy external file cache");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1436|      0|            f->shared->efc = NULL;
 1437|      0|        } /* end if */
 1438|       |
 1439|       |        /* With the shutdown modifications, the contents of the metadata cache
 1440|       |         * should be clean at this point, with the possible exception of the
 1441|       |         * the superblock and superblock extension.
 1442|       |         *
 1443|       |         * Verify this.
 1444|       |         */
 1445|     10|        assert(H5AC_cache_is_clean(f, H5AC_RING_MDFSM));
 1446|       |
 1447|       |        /* Release objects that depend on the superblock being initialized */
 1448|     10|        if (f->shared->sblock) {
  ------------------
  |  Branch (1448:13): [True: 7, False: 3]
  ------------------
 1449|       |            /* Shutdown file free space manager(s) */
 1450|       |            /* (We should release the free space information now (before
 1451|       |             *      truncating the file and before the metadata cache is shut
 1452|       |             *      down) since the free space manager is holding some data
 1453|       |             *      structures in memory and also because releasing free space
 1454|       |             *      can shrink the file's 'eoa' value)
 1455|       |             *
 1456|       |             * Update 11/1/16:
 1457|       |             *
 1458|       |             *      With recent library shutdown modifications, the free space
 1459|       |             *      managers should be settled and written to file at this point
 1460|       |             *      (assuming they are persistent).  In this case, closing the
 1461|       |             *      free space managers should have no effect on EOA.
 1462|       |             *
 1463|       |             *                                          -- JRM
 1464|       |             */
 1465|      7|            if (H5F_ACC_RDWR & H5F_INTENT(f)) {
  ------------------
  |  |   49|      7|#define H5F_ACC_RDWR   (H5CHECK H5OPEN 0x0001u) /**< Open for read and write    */
  ------------------
                          if (H5F_ACC_RDWR & H5F_INTENT(f)) {
  ------------------
  |  |   44|      7|#define H5F_INTENT(F)                    ((F)->shared->flags)
  ------------------
  |  Branch (1465:17): [True: 0, False: 7]
  ------------------
 1466|      0|                if (H5MF_close(f) < 0)
  ------------------
  |  Branch (1466:21): [True: 0, False: 0]
  ------------------
 1467|       |                    /* Push error, but keep going*/
 1468|      0|                    HDONE_ERROR(H5E_FILE, H5E_CANTRELEASE, FAIL, "can't release file free space info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1469|       |
 1470|       |                /* at this point, only the superblock and superblock
 1471|       |                 * extension should be dirty.
 1472|       |                 */
 1473|      0|                assert(H5AC_cache_is_clean(f, H5AC_RING_MDFSM));
 1474|       |
 1475|       |                /* Flush the file again (if requested), as shutting down the
 1476|       |                 * free space manager may dirty some data structures again.
 1477|       |                 */
 1478|      0|                if (flush) {
  ------------------
  |  Branch (1478:21): [True: 0, False: 0]
  ------------------
 1479|       |                    /* Clear status_flags */
 1480|      0|                    f->shared->sblock->status_flags &= (uint8_t)(~H5F_SUPER_WRITE_ACCESS);
  ------------------
  |  |   50|      0|#define H5F_SUPER_WRITE_ACCESS      0x01
  ------------------
 1481|      0|                    f->shared->sblock->status_flags &= (uint8_t)(~H5F_SUPER_SWMR_WRITE_ACCESS);
  ------------------
  |  |   52|      0|#define H5F_SUPER_SWMR_WRITE_ACCESS 0x04
  ------------------
 1482|       |
 1483|       |                    /* Mark EOA info dirty in cache, so change will get encoded */
 1484|      0|                    if (H5F_eoa_dirty(f) < 0)
  ------------------
  |  Branch (1484:25): [True: 0, False: 0]
  ------------------
 1485|       |                        /* Push error, but keep going*/
 1486|      0|                        HDONE_ERROR(H5E_FILE, H5E_CANTMARKDIRTY, FAIL, "unable to mark superblock as dirty");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1487|       |
 1488|       |                    /* Release any space allocated to space aggregators,
 1489|       |                     * so that the eoa value corresponds to the end of the
 1490|       |                     * space written to in the file.
 1491|       |                     *
 1492|       |                     * At most, this should change the superblock or the
 1493|       |                     * superblock extension messages.
 1494|       |                     */
 1495|      0|                    if (H5MF_free_aggrs(f) < 0)
  ------------------
  |  Branch (1495:25): [True: 0, False: 0]
  ------------------
 1496|       |                        /* Push error, but keep going*/
 1497|      0|                        HDONE_ERROR(H5E_FILE, H5E_CANTRELEASE, FAIL, "can't release file space");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1498|       |
 1499|       |                    /* Truncate the file to the current allocated size */
 1500|      0|                    if (H5FD_truncate(f->shared->lf, true) < 0)
  ------------------
  |  Branch (1500:25): [True: 0, False: 0]
  ------------------
 1501|       |                        /* Push error, but keep going*/
 1502|      0|                        HDONE_ERROR(H5E_FILE, H5E_WRITEERROR, FAIL, "low level truncate failed");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1503|       |
 1504|       |                    /* at this point, only the superblock and superblock
 1505|       |                     * extension should be dirty.
 1506|       |                     */
 1507|      0|                    assert(H5AC_cache_is_clean(f, H5AC_RING_MDFSM));
 1508|      0|                } /* end if */
 1509|      0|            }     /* end if */
 1510|       |
 1511|       |            /* if it exists, unpin the driver information block cache entry,
 1512|       |             * since we're about to destroy the cache
 1513|       |             */
 1514|      7|            if (f->shared->drvinfo)
  ------------------
  |  Branch (1514:17): [True: 0, False: 7]
  ------------------
 1515|      0|                if (H5AC_unpin_entry(f->shared->drvinfo) < 0)
  ------------------
  |  Branch (1515:21): [True: 0, False: 0]
  ------------------
 1516|       |                    /* Push error, but keep going*/
 1517|      0|                    HDONE_ERROR(H5E_FSPACE, H5E_CANTUNPIN, FAIL, "unable to unpin drvinfo");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1518|       |
 1519|       |            /* Unpin the superblock, since we're about to destroy the cache */
 1520|      7|            if (H5AC_unpin_entry(f->shared->sblock) < 0)
  ------------------
  |  Branch (1520:17): [True: 0, False: 7]
  ------------------
 1521|       |                /* Push error, but keep going*/
 1522|      0|                HDONE_ERROR(H5E_FSPACE, H5E_CANTUNPIN, FAIL, "unable to unpin superblock");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1523|      7|            f->shared->sblock = NULL;
 1524|      7|        } /* end if */
 1525|       |
 1526|       |        /* with the possible exception of the superblock and superblock
 1527|       |         * extension, the metadata cache should be clean at this point.
 1528|       |         *
 1529|       |         * Verify this.
 1530|       |         */
 1531|     10|        assert(H5AC_cache_is_clean(f, H5AC_RING_MDFSM));
 1532|       |
 1533|       |        /* Remove shared file struct from list of open files */
 1534|     10|        if (H5F__sfile_remove(f->shared) < 0)
  ------------------
  |  Branch (1534:13): [True: 0, False: 10]
  ------------------
 1535|       |            /* Push error, but keep going*/
 1536|      0|            HDONE_ERROR(H5E_FILE, H5E_CANTRELEASE, FAIL, "problems closing file");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1537|       |
 1538|       |        /* Shutdown the metadata cache */
 1539|       |        /* (Flushes any remaining dirty entries, which should only be the
 1540|       |         *      superblock and / or driver info at this point)
 1541|       |         */
 1542|     10|        if (H5AC_dest(f))
  ------------------
  |  Branch (1542:13): [True: 0, False: 10]
  ------------------
 1543|       |            /* Push error, but keep going*/
 1544|      0|            HDONE_ERROR(H5E_FILE, H5E_CANTRELEASE, FAIL, "problems closing file");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1545|       |
 1546|       |        /* Shutdown the page buffer cache */
 1547|     10|        if (H5PB_dest(f->shared) < 0)
  ------------------
  |  Branch (1547:13): [True: 0, False: 10]
  ------------------
 1548|       |            /* Push error, but keep going*/
 1549|      0|            HDONE_ERROR(H5E_FILE, H5E_CANTRELEASE, FAIL, "problems closing page buffer cache");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1550|       |
 1551|       |        /* Clean up the metadata cache log location string */
 1552|     10|        if (f->shared->mdc_log_location)
  ------------------
  |  Branch (1552:13): [True: 0, False: 10]
  ------------------
 1553|      0|            f->shared->mdc_log_location = (char *)H5MM_xfree(f->shared->mdc_log_location);
 1554|       |
 1555|       |        /*
 1556|       |         * Do not close the root group since we didn't count it, but free
 1557|       |         * the memory associated with it.
 1558|       |         */
 1559|     10|        if (f->shared->root_grp) {
  ------------------
  |  Branch (1559:13): [True: 7, False: 3]
  ------------------
 1560|       |            /* Free the root group */
 1561|      7|            if (H5G_root_free(f->shared->root_grp) < 0)
  ------------------
  |  Branch (1561:17): [True: 0, False: 7]
  ------------------
 1562|       |                /* Push error, but keep going*/
 1563|      0|                HDONE_ERROR(H5E_FILE, H5E_CANTRELEASE, FAIL, "problems closing file");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1564|      7|            f->shared->root_grp = NULL;
 1565|      7|        } /* end if */
 1566|       |
 1567|       |        /* Destroy other components of the file */
 1568|     10|        if (H5F__accum_reset(f->shared, true) < 0)
  ------------------
  |  Branch (1568:13): [True: 0, False: 10]
  ------------------
 1569|       |            /* Push error, but keep going*/
 1570|      0|            HDONE_ERROR(H5E_FILE, H5E_CANTRELEASE, FAIL, "problems closing file");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1571|     10|        if (H5FO_dest(f) < 0)
  ------------------
  |  Branch (1571:13): [True: 0, False: 10]
  ------------------
 1572|       |            /* Push error, but keep going*/
 1573|      0|            HDONE_ERROR(H5E_FILE, H5E_CANTRELEASE, FAIL, "problems closing file");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1574|     10|        f->shared->cwfs = (struct H5HG_heap_t **)H5MM_xfree(f->shared->cwfs);
 1575|     10|        if (H5G_node_close(f) < 0)
  ------------------
  |  Branch (1575:13): [True: 0, False: 10]
  ------------------
 1576|       |            /* Push error, but keep going*/
 1577|      0|            HDONE_ERROR(H5E_FILE, H5E_CANTRELEASE, FAIL, "problems closing file");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1578|       |
 1579|       |        /* Destroy file creation properties */
 1580|     10|        if (H5I_GENPROP_LST != H5I_get_type(f->shared->fcpl_id))
  ------------------
  |  Branch (1580:13): [True: 0, False: 10]
  ------------------
 1581|       |            /* Push error, but keep going*/
 1582|      0|            HDONE_ERROR(H5E_FILE, H5E_BADTYPE, FAIL, "not a property list");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1583|     10|        if (H5I_dec_ref(f->shared->fcpl_id) < 0)
  ------------------
  |  Branch (1583:13): [True: 0, False: 10]
  ------------------
 1584|       |            /* Push error, but keep going*/
 1585|      0|            HDONE_ERROR(H5E_FILE, H5E_CANTDEC, FAIL, "can't close property list");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1586|       |
 1587|       |        /* Clean up the cached VOL connector ID & info */
 1588|     10|        if (f->shared->vol_info)
  ------------------
  |  Branch (1588:13): [True: 0, False: 10]
  ------------------
 1589|      0|            if (H5VL_free_connector_info(f->shared->vol_id, f->shared->vol_info) < 0)
  ------------------
  |  Branch (1589:17): [True: 0, False: 0]
  ------------------
 1590|       |                /* Push error, but keep going*/
 1591|      0|                HDONE_ERROR(H5E_FILE, H5E_CANTRELEASE, FAIL, "unable to release VOL connector info object");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1592|     10|        if (f->shared->vol_id > 0)
  ------------------
  |  Branch (1592:13): [True: 10, False: 0]
  ------------------
 1593|     10|            if (H5I_dec_ref(f->shared->vol_id) < 0)
  ------------------
  |  Branch (1593:17): [True: 0, False: 10]
  ------------------
 1594|       |                /* Push error, but keep going*/
 1595|      0|                HDONE_ERROR(H5E_FILE, H5E_CANTDEC, FAIL, "can't close VOL connector ID");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1596|     10|        f->shared->vol_cls = NULL;
 1597|       |
 1598|       |        /* Close the file */
 1599|     10|        if (H5FD_close(f->shared->lf) < 0)
  ------------------
  |  Branch (1599:13): [True: 0, False: 10]
  ------------------
 1600|       |            /* Push error, but keep going*/
 1601|      0|            HDONE_ERROR(H5E_FILE, H5E_CANTCLOSEFILE, FAIL, "unable to close file");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1602|       |
 1603|       |        /* Free mount table */
 1604|     10|        f->shared->mtab.child  = (H5F_mount_t *)H5MM_xfree(f->shared->mtab.child);
 1605|     10|        f->shared->mtab.nalloc = 0;
 1606|       |
 1607|       |        /* Free the external link file */
 1608|     10|        f->shared->extpath = (char *)H5MM_xfree(f->shared->extpath);
 1609|       |
 1610|       |        /* Clean up the metadata retries array */
 1611|    310|        for (actype = 0; actype < (int)H5AC_NTYPES; actype++)
  ------------------
  |  Branch (1611:26): [True: 300, False: 10]
  ------------------
 1612|    300|            if (f->shared->retries[actype])
  ------------------
  |  Branch (1612:17): [True: 0, False: 300]
  ------------------
 1613|      0|                f->shared->retries[actype] = (uint32_t *)H5MM_xfree(f->shared->retries[actype]);
 1614|       |
 1615|       |        /* Destroy shared file struct */
 1616|     10|        f->shared = (H5F_shared_t *)H5FL_FREE(H5F_shared_t, f->shared);
  ------------------
  |  |   81|     10|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|     10|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 1617|     10|    }
 1618|      0|    else if (f->shared->nrefs > 0) {
  ------------------
  |  Branch (1618:14): [True: 0, False: 0]
  ------------------
 1619|       |        /*
 1620|       |         * There are other references to the shared part of the file.
 1621|       |         * Only decrement the reference count.
 1622|       |         */
 1623|      0|        --f->shared->nrefs;
 1624|      0|    }
 1625|       |
 1626|       |    /* Free the non-shared part of the file */
 1627|     10|    f->open_name   = (char *)H5MM_xfree(f->open_name);
 1628|     10|    f->actual_name = (char *)H5MM_xfree(f->actual_name);
 1629|     10|    if (f->vol_obj) {
  ------------------
  |  Branch (1629:9): [True: 7, False: 3]
  ------------------
 1630|      7|        void *vol_wrap_ctx = NULL;
 1631|       |
 1632|       |        /* If a VOL wrapping context is available, retrieve it
 1633|       |         * and unwrap file VOL object
 1634|       |         */
 1635|      7|        if (H5CX_get_vol_wrap_ctx((void **)&vol_wrap_ctx) < 0)
  ------------------
  |  Branch (1635:13): [True: 0, False: 7]
  ------------------
 1636|      0|            HDONE_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "can't get VOL object wrap context");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1637|      7|        if (vol_wrap_ctx && (NULL == H5VL_object_unwrap(f->vol_obj)))
  ------------------
  |  Branch (1637:13): [True: 7, False: 0]
  |  Branch (1637:29): [True: 0, False: 7]
  ------------------
 1638|      0|            HDONE_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "can't unwrap VOL object");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1639|       |
 1640|       |        /*
 1641|       |         * Clean up any cached type conversion path table entries that
 1642|       |         * may have been keeping a reference to the file's VOL object
 1643|       |         * in order to prevent the file from being closed out from
 1644|       |         * underneath other places that may access the conversion path
 1645|       |         * or its src/dst datatypes later on (currently, conversions on
 1646|       |         * variable-length and reference datatypes involve this)
 1647|       |         */
 1648|      7|        if (H5T_unregister(H5T_PERS_SOFT, NULL, NULL, NULL, f->vol_obj, NULL) < 0)
  ------------------
  |  Branch (1648:13): [True: 0, False: 7]
  ------------------
 1649|      0|            HDONE_ERROR(H5E_FILE, H5E_CANTRELEASE, FAIL,
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1650|      7|                        "unable to free cached type conversion path table entries");
 1651|       |
 1652|      7|        if (H5VL_free_object(f->vol_obj) < 0)
  ------------------
  |  Branch (1652:13): [True: 0, False: 7]
  ------------------
 1653|      0|            HDONE_ERROR(H5E_FILE, H5E_CANTDEC, FAIL, "unable to free VOL object");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1654|      7|        f->vol_obj = NULL;
 1655|      7|    }
 1656|     10|    if (H5FO_top_dest(f) < 0)
  ------------------
  |  Branch (1656:9): [True: 0, False: 10]
  ------------------
 1657|      0|        HDONE_ERROR(H5E_FILE, H5E_CANTINIT, FAIL, "problems closing file");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1658|     10|    f->shared = NULL;
 1659|       |
 1660|     10|    if ((ret_value >= 0) || free_on_failure)
  ------------------
  |  Branch (1660:9): [True: 10, False: 0]
  |  Branch (1660:29): [True: 0, False: 0]
  ------------------
 1661|     10|        f = H5FL_FREE(H5F_t, f);
  ------------------
  |  |   81|     10|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|     10|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 1662|       |
 1663|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1664|     10|} /* end H5F__dest() */
H5Fint.c:H5F__build_actual_name:
 2776|      7|{
 2777|      7|    hid_t new_fapl_id = H5I_INVALID_HID; /* ID for duplicated FAPL */
  ------------------
  |  |   75|      7|#define H5I_INVALID_HID (-1)
  ------------------
 2778|      7|#ifdef H5_HAVE_SYMLINK
 2779|       |    /* This has to be declared here to avoid unfreed resources on errors */
 2780|      7|    char *realname = NULL;      /* Fully resolved path name of file */
 2781|      7|#endif                          /* H5_HAVE_SYMLINK */
 2782|      7|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      7|#define SUCCEED 0
  ------------------
 2783|       |
 2784|      7|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      7|    {                                                                                                        \
  |  | 1461|      7|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      7|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      7|                                                                                                             \
  |  |  |  | 1267|      7|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      7|        {
  ------------------
 2785|       |
 2786|       |    /* Sanity check */
 2787|      7|    assert(f);
 2788|      7|    assert(fapl);
 2789|      7|    assert(name);
 2790|      7|    assert(actual_name);
 2791|       |
 2792|       |    /* Clear actual name pointer to begin with */
 2793|      7|    *actual_name = NULL;
 2794|       |
 2795|       |/* Assume that if the OS can't create symlinks, that we don't need to worry
 2796|       | *      about resolving them either. -QAK
 2797|       | */
 2798|      7|#ifdef H5_HAVE_SYMLINK
 2799|       |    /* Check for POSIX I/O compatible file handle */
 2800|      7|    if (H5F_HAS_FEATURE(f, H5FD_FEAT_POSIX_COMPAT_HANDLE)) {
  ------------------
  |  |   60|      7|#define H5F_HAS_FEATURE(F, FL)           ((F)->shared->lf->feature_flags & (FL))
  |  |  ------------------
  |  |  |  Branch (60:42): [True: 7, False: 0]
  |  |  ------------------
  ------------------
 2801|      7|        h5_stat_t lst; /* Stat info from lstat() call */
 2802|       |
 2803|       |        /* Call lstat() on the file's name */
 2804|      7|        memset(&lst, 0, sizeof(h5_stat_t));
 2805|      7|        if (HDlstat(name, &lst) < 0)
  ------------------
  |  |  756|      7|#define HDlstat(S, B) lstat(S, B)
  ------------------
  |  Branch (2805:13): [True: 0, False: 7]
  ------------------
 2806|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "can't retrieve stat info for file");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2807|       |
 2808|       |        /* Check for symbolic link */
 2809|      7|        if (S_IFLNK == (lst.st_mode & S_IFMT)) {
  ------------------
  |  Branch (2809:13): [True: 0, False: 7]
  ------------------
 2810|      0|            H5P_genplist_t *new_fapl;      /* Duplicated FAPL */
 2811|      0|            int            *fd;            /* POSIX I/O file descriptor */
 2812|      0|            h5_stat_t       st;            /* Stat info from stat() call */
 2813|      0|            h5_stat_t       fst;           /* Stat info from fstat() call */
 2814|      0|            bool            want_posix_fd; /* Flag for retrieving file descriptor from VFD */
 2815|       |
 2816|       |            /* Allocate realname buffer */
 2817|      0|            if (NULL == (realname = (char *)H5MM_calloc((size_t)PATH_MAX * sizeof(char))))
  ------------------
  |  |   36|      0|#define H5MM_calloc(Z) calloc(1, Z)
  ------------------
  |  Branch (2817:17): [True: 0, False: 0]
  ------------------
 2818|      0|                HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2819|       |
 2820|       |            /* Perform a sanity check that the file or link wasn't switched
 2821|       |             * between when we opened it and when we called lstat().  This is
 2822|       |             * according to the security best practices for lstat() documented
 2823|       |             * here:
 2824|       |             * https://www.securecoding.cert.org/confluence/display/seccode/POS35-C.+Avoid+race+conditions+while+checking+for+the+existence+of+a+symbolic+link
 2825|       |             */
 2826|       |
 2827|       |            /* Copy the FAPL object to modify */
 2828|      0|            if ((new_fapl_id = H5P_copy_plist(fapl, false)) < 0)
  ------------------
  |  Branch (2828:17): [True: 0, False: 0]
  ------------------
 2829|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTCOPY, FAIL, "unable to copy file access property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2830|      0|            if (NULL == (new_fapl = (H5P_genplist_t *)H5I_object(new_fapl_id)))
  ------------------
  |  Branch (2830:17): [True: 0, False: 0]
  ------------------
 2831|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTCREATE, FAIL, "can't get property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2832|       |
 2833|       |            /*
 2834|       |             * Set the private property for retrieving the backing store
 2835|       |             * POSIX file descriptor from the Core VFD
 2836|       |             */
 2837|      0|            want_posix_fd = true;
 2838|      0|            if (H5P_set(new_fapl, H5F_ACS_WANT_POSIX_FD_NAME, &want_posix_fd) < 0)
  ------------------
  |  |  248|      0|    "want_posix_fd" /* Internal: query the file descriptor from the core VFD, instead of the memory address  \
  ------------------
  |  Branch (2838:17): [True: 0, False: 0]
  ------------------
 2839|      0|                HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2840|      0|                            "can't set property for retrieving file descriptor");
 2841|       |
 2842|       |            /* Retrieve the file handle */
 2843|      0|            if (H5F_get_vfd_handle(f, new_fapl_id, (void **)&fd) < 0)
  ------------------
  |  Branch (2843:17): [True: 0, False: 0]
  ------------------
 2844|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "can't retrieve POSIX file descriptor");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2845|       |
 2846|       |            /* Stat the filename we're resolving */
 2847|      0|            memset(&st, 0, sizeof(h5_stat_t));
 2848|      0|            if (HDstat(name, &st) < 0)
  ------------------
  |  |  850|      0|#define HDstat(S, B) stat(S, B)
  ------------------
  |  Branch (2848:17): [True: 0, False: 0]
  ------------------
 2849|      0|                HSYS_GOTO_ERROR(H5E_FILE, H5E_BADFILE, FAIL, "unable to stat file");
  ------------------
  |  |  125|      0|    {                                                                                                        \
  |  |  126|      0|        int myerrno = errno;                                                                                 \
  |  |  127|      0|        /* Other projects may rely on the description format to get the errno and any changes should be      \
  |  |  128|      0|         * considered as an API change                                                                       \
  |  |  129|      0|         */                                                                                                  \
  |  |  130|      0|        HGOTO_ERROR(majorcode, minorcode, retcode, "%s, errno = %d, error message = '%s'", str, myerrno,     \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  131|      0|                    strerror(myerrno));                                                                      \
  |  |  132|      0|    }
  ------------------
 2850|       |
 2851|       |            /* Stat the file we opened */
 2852|      0|            memset(&fst, 0, sizeof(h5_stat_t));
 2853|      0|            if (HDfstat(*fd, &fst) < 0)
  ------------------
  |  |  723|      0|#define HDfstat(F, B) fstat(F, B)
  ------------------
  |  Branch (2853:17): [True: 0, False: 0]
  ------------------
 2854|      0|                HSYS_GOTO_ERROR(H5E_FILE, H5E_BADFILE, FAIL, "unable to fstat file");
  ------------------
  |  |  125|      0|    {                                                                                                        \
  |  |  126|      0|        int myerrno = errno;                                                                                 \
  |  |  127|      0|        /* Other projects may rely on the description format to get the errno and any changes should be      \
  |  |  128|      0|         * considered as an API change                                                                       \
  |  |  129|      0|         */                                                                                                  \
  |  |  130|      0|        HGOTO_ERROR(majorcode, minorcode, retcode, "%s, errno = %d, error message = '%s'", str, myerrno,     \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  131|      0|                    strerror(myerrno));                                                                      \
  |  |  132|      0|    }
  ------------------
 2855|       |
 2856|       |            /* Verify that the files are really the same */
 2857|      0|            if (st.st_mode != fst.st_mode || st.st_ino != fst.st_ino || st.st_dev != fst.st_dev)
  ------------------
  |  Branch (2857:17): [True: 0, False: 0]
  |  Branch (2857:46): [True: 0, False: 0]
  |  Branch (2857:73): [True: 0, False: 0]
  ------------------
 2858|      0|                HGOTO_ERROR(H5E_FILE, H5E_BADVALUE, FAIL, "files' st_ino or st_dev fields changed!");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2859|       |
 2860|       |            /* Get the resolved path for the file name */
 2861|      0|            if (NULL == HDrealpath(name, realname))
  ------------------
  |  |  823|      0|#define HDrealpath(F1, F2) realpath(F1, F2)
  ------------------
  |  Branch (2861:17): [True: 0, False: 0]
  ------------------
 2862|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "can't retrieve real path for file");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2863|       |
 2864|       |            /* Duplicate the resolved path for the file name */
 2865|      0|            if (NULL == (*actual_name = (char *)H5MM_strdup(realname)))
  ------------------
  |  Branch (2865:17): [True: 0, False: 0]
  ------------------
 2866|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTALLOC, FAIL, "can't duplicate real path");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2867|      0|        } /* end if */
 2868|      7|    }     /* end if */
 2869|      7|#endif    /* H5_HAVE_SYMLINK */
 2870|       |
 2871|       |    /* Check if we've resolved the file's name */
 2872|      7|    if (NULL == *actual_name) {
  ------------------
  |  Branch (2872:9): [True: 7, False: 0]
  ------------------
 2873|       |        /* Just duplicate the name used to open the file */
 2874|      7|        if (NULL == (*actual_name = (char *)H5MM_strdup(name)))
  ------------------
  |  Branch (2874:13): [True: 0, False: 7]
  ------------------
 2875|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTALLOC, FAIL, "can't duplicate open name");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2876|      7|    } /* end else */
 2877|       |
 2878|      7|done:
 2879|       |    /* Close the property list */
 2880|      7|    if (new_fapl_id > 0)
  ------------------
  |  Branch (2880:9): [True: 0, False: 7]
  ------------------
 2881|      0|        if (H5I_dec_app_ref(new_fapl_id) < 0)
  ------------------
  |  Branch (2881:13): [True: 0, False: 0]
  ------------------
 2882|      0|            HDONE_ERROR(H5E_FILE, H5E_CANTCLOSEOBJ, FAIL, "can't close duplicated FAPL");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2883|      7|#ifdef H5_HAVE_SYMLINK
 2884|      7|    if (realname)
  ------------------
  |  Branch (2884:9): [True: 0, False: 7]
  ------------------
 2885|      0|        realname = (char *)H5MM_xfree(realname);
 2886|      7|#endif /* H5_HAVE_SYMLINK */
 2887|       |
 2888|      7|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2889|      7|} /* H5F__build_actual_name() */

H5F_block_read:
  117|    170|{
  118|    170|    H5FD_mem_t map_type;            /* Mapped memory type */
  119|    170|    herr_t     ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    170|#define SUCCEED 0
  ------------------
  120|       |
  121|    170|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    170|    {                                                                                                        \
  |  | 1392|    170|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    170|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    170|                                                                                                             \
  |  |  |  | 1267|    170|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    170|        {
  ------------------
  122|       |
  123|       |    /* Sanity checks */
  124|    170|    assert(f);
  125|    170|    assert(f->shared);
  126|    170|    assert(buf);
  127|    170|    assert(H5_addr_defined(addr));
  128|       |
  129|       |    /* Check for attempting I/O on 'temporary' file address */
  130|    170|    if (H5_addr_le(f->shared->tmp_addr, (addr + size)))
  ------------------
  |  |  458|    170|#define H5_addr_le(X,Y)          ((X) != HADDR_UNDEF &&                     \
  |  |  ------------------
  |  |  |  |  336|    340|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  |  |  Branch (458:35): [True: 170, False: 0]
  |  |  ------------------
  |  |  459|    170|                                  (Y) != HADDR_UNDEF &&                     \
  |  |  ------------------
  |  |  |  |  336|    340|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  |  |  Branch (459:35): [True: 170, False: 0]
  |  |  ------------------
  |  |  460|    170|                                  (X) <= (Y))
  |  |  ------------------
  |  |  |  Branch (460:35): [True: 0, False: 170]
  |  |  ------------------
  ------------------
  131|      0|        HGOTO_ERROR(H5E_IO, H5E_BADRANGE, FAIL, "attempting I/O in temporary file space");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  132|       |
  133|       |    /* Treat global heap as raw data */
  134|    170|    map_type = (type == H5FD_MEM_GHEAP) ? H5FD_MEM_DRAW : type;
  ------------------
  |  Branch (134:16): [True: 3, False: 167]
  ------------------
  135|       |
  136|       |    /* Pass through page buffer layer */
  137|    170|    if (H5PB_read(f->shared, map_type, addr, size, buf) < 0)
  ------------------
  |  Branch (137:9): [True: 0, False: 170]
  ------------------
  138|      0|        HGOTO_ERROR(H5E_IO, H5E_READERROR, FAIL, "read through page buffer failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  139|       |
  140|    170|done:
  141|    170|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    170|    ;                                                                                                        \
  |  | 1573|    170|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    170|    return (ret_value);                                                                                      \
  |  | 1575|    170|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  142|    170|} /* end H5F_block_read() */

H5F__close_mounts:
   37|      7|{
   38|      7|    unsigned u;                   /* Local index */
   39|      7|    herr_t   ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      7|#define SUCCEED 0
  ------------------
   40|       |
   41|      7|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      7|    {                                                                                                        \
  |  | 1461|      7|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      7|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      7|                                                                                                             \
  |  |  |  | 1267|      7|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      7|        {
  ------------------
   42|       |
   43|      7|    assert(f);
   44|       |
   45|       |    /* Unmount all child files.  Loop backwards to avoid having to adjust u when
   46|       |     * a file is unmounted.  Note that we rely on unsigned u "wrapping around"
   47|       |     * to terminate the loop.
   48|       |     */
   49|      7|    for (u = f->shared->mtab.nmounts - 1; u < f->shared->mtab.nmounts; u--) {
  ------------------
  |  Branch (49:43): [True: 0, False: 7]
  ------------------
   50|       |        /* Only unmount children mounted to this top level file structure */
   51|      0|        if (f->shared->mtab.child[u].file->parent == f) {
  ------------------
  |  Branch (51:13): [True: 0, False: 0]
  ------------------
   52|       |            /* Detach the child file from the parent file */
   53|      0|            f->shared->mtab.child[u].file->parent = NULL;
   54|       |
   55|       |            /* Close the internal group maintaining the mount point */
   56|      0|            if (H5G_close(f->shared->mtab.child[u].group) < 0)
  ------------------
  |  Branch (56:17): [True: 0, False: 0]
  ------------------
   57|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTCLOSEOBJ, FAIL, "can't close child group");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   58|       |
   59|       |            /* Close the child file */
   60|      0|            if (H5F_try_close(f->shared->mtab.child[u].file, NULL) < 0)
  ------------------
  |  Branch (60:17): [True: 0, False: 0]
  ------------------
   61|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTCLOSEFILE, FAIL, "can't close child file");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   62|       |
   63|       |            /* Eliminate the mount point from the table */
   64|      0|            memmove(f->shared->mtab.child + u, f->shared->mtab.child + u + 1,
   65|      0|                    (f->shared->mtab.nmounts - u - 1) * sizeof(f->shared->mtab.child[0]));
   66|      0|            f->shared->mtab.nmounts--;
   67|      0|            f->nmounts--;
   68|      0|        }
   69|      0|    }
   70|       |
   71|      7|    assert(f->nmounts == 0);
   72|       |
   73|      7|done:
   74|      7|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
   75|      7|} /* end H5F__close_mounts() */
H5F_is_mount:
  393|    221|{
  394|    221|    bool ret_value = false; /* Return value */
  395|       |
  396|    221|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|    221|    {                                                                                                        \
  |  | 1425|    221|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    221|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|    221|        {
  ------------------
  397|       |
  398|    221|    assert(file);
  399|       |
  400|    221|    if (file->parent != NULL)
  ------------------
  |  Branch (400:9): [True: 0, False: 221]
  ------------------
  401|      0|        ret_value = true;
  402|    221|    else
  403|    221|        ret_value = false;
  404|       |
  405|    221|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    221|    ;                                                                                                        \
  |  | 1573|    221|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    221|    return (ret_value);                                                                                      \
  |  | 1575|    221|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  406|    221|} /* end H5F_is_mount() */
H5F__mount_count_ids:
  466|     90|{
  467|     90|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     90|    {                                                                                                        \
  |  | 1467|     90|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     90|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     90|        {
  ------------------
  468|       |
  469|       |    /* Sanity check */
  470|     90|    assert(f);
  471|     90|    assert(nopen_files);
  472|     90|    assert(nopen_objs);
  473|       |
  474|       |    /* Find the top file in the mounting hierarchy */
  475|     90|    while (f->parent)
  ------------------
  |  Branch (475:12): [True: 0, False: 90]
  ------------------
  476|      0|        f = f->parent;
  477|       |
  478|       |    /* Count open IDs in the hierarchy */
  479|     90|    H5F__mount_count_ids_recurse(f, nopen_files, nopen_objs);
  480|       |
  481|     90|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     90|    ;                                                                                                        \
  |  | 1573|     90|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     90|    return (ret_value);                                                                                      \
  |  | 1575|     90|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  482|     90|} /* end H5F__mount_count_ids() */
H5F_traverse_mount:
  565|    140|{
  566|    140|    H5F_t *parent = oloc->file, /* File of object */
  567|    140|        *child    = NULL;       /* Child file */
  568|    140|    unsigned   lt, rt, md = 0;  /* Binary search indices */
  569|    140|    int        cmp;
  570|    140|    H5O_loc_t *mnt_oloc  = NULL;    /* Object location for mount points */
  571|    140|    herr_t     ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    140|#define SUCCEED 0
  ------------------
  572|       |
  573|    140|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    140|    {                                                                                                        \
  |  | 1392|    140|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    140|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    140|                                                                                                             \
  |  |  |  | 1267|    140|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    140|        {
  ------------------
  574|       |
  575|       |    /* Sanity check */
  576|    140|    assert(oloc);
  577|       |
  578|       |    /*
  579|       |     * The loop is necessary because we might have file1 mounted at the root
  580|       |     * of file2, which is mounted somewhere in file3.
  581|       |     */
  582|    140|    do {
  583|       |        /*
  584|       |         * Use a binary search to find the potential mount point in the mount
  585|       |         * table for the parent
  586|       |         */
  587|    140|        lt  = 0;
  588|    140|        rt  = parent->shared->mtab.nmounts;
  589|    140|        cmp = -1;
  590|    140|        while (lt < rt && cmp) {
  ------------------
  |  Branch (590:16): [True: 0, False: 140]
  |  Branch (590:27): [True: 0, False: 0]
  ------------------
  591|      0|            md       = (lt + rt) / 2;
  592|      0|            mnt_oloc = H5G_oloc(parent->shared->mtab.child[md].group);
  593|      0|            cmp      = H5_addr_cmp(oloc->addr, mnt_oloc->addr);
  ------------------
  |  |  467|      0|#define H5_addr_cmp(X,Y)         (H5_addr_eq((X), (Y)) ? 0 :                \
  |  |  ------------------
  |  |  |  |  453|      0|#define H5_addr_eq(X,Y)          ((X) != HADDR_UNDEF && (X) == (Y))
  |  |  |  |  ------------------
  |  |  |  |  |  |  336|      0|#define HADDR_UNDEF         UINT64_MAX
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (453:35): [True: 0, False: 0]
  |  |  |  |  |  Branch (453:57): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  468|      0|                                 (H5_addr_lt((X), (Y)) ? -1 : 1))
  |  |  ------------------
  |  |  |  |  455|      0|#define H5_addr_lt(X,Y)          ((X) != HADDR_UNDEF &&                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |  336|      0|#define HADDR_UNDEF         UINT64_MAX
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (455:35): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  456|      0|                                  (Y) != HADDR_UNDEF &&                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |  336|      0|#define HADDR_UNDEF         UINT64_MAX
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (456:35): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  457|      0|                                  (X) < (Y))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (457:35): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  594|      0|            if (cmp < 0)
  ------------------
  |  Branch (594:17): [True: 0, False: 0]
  ------------------
  595|      0|                rt = md;
  596|      0|            else
  597|      0|                lt = md + 1;
  598|      0|        }
  599|       |
  600|       |        /* Copy root info over to ENT */
  601|    140|        if (0 == cmp) {
  ------------------
  |  Branch (601:13): [True: 0, False: 140]
  ------------------
  602|       |            /* Get the child file */
  603|      0|            child = parent->shared->mtab.child[md].file;
  604|       |
  605|       |            /* Get the location for the root group in the child's file */
  606|      0|            mnt_oloc = H5G_oloc(child->shared->root_grp);
  607|       |
  608|       |            /* Release the mount point */
  609|      0|            if (H5O_loc_free(oloc) < 0)
  ------------------
  |  Branch (609:17): [True: 0, False: 0]
  ------------------
  610|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTFREE, FAIL, "unable to free object location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  611|       |
  612|       |            /* Copy the entry for the root group */
  613|      0|            if (H5O_loc_copy_deep(oloc, mnt_oloc) < 0)
  ------------------
  |  Branch (613:17): [True: 0, False: 0]
  ------------------
  614|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTCOPY, FAIL, "unable to copy object location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  615|       |
  616|       |            /* In case the shared root group info points to a different file handle
  617|       |             * than the child, modify oloc */
  618|      0|            oloc->file = child;
  619|       |
  620|       |            /* Switch to child's file */
  621|      0|            parent = child;
  622|      0|        } /* end if */
  623|    140|    } while (!cmp);
  ------------------
  |  Branch (623:14): [True: 0, False: 140]
  ------------------
  624|       |
  625|    140|done:
  626|    140|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    140|    ;                                                                                                        \
  |  | 1573|    140|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    140|    return (ret_value);                                                                                      \
  |  | 1575|    140|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  627|    140|} /* end H5F_traverse_mount() */
H5Fmount.c:H5F__mount_count_ids_recurse:
  420|     90|{
  421|     90|    unsigned u; /* Local index value */
  422|       |
  423|     90|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     90|    {                                                                                                        \
  |  | 1467|     90|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     90|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     90|        {
  ------------------
  424|       |
  425|       |    /* Sanity check */
  426|     90|    assert(f);
  427|     90|    assert(nopen_files);
  428|     90|    assert(nopen_objs);
  429|       |
  430|       |    /* If this file is still open, increment number of file IDs open */
  431|     90|    if (H5F_ID_EXISTS(f))
  ------------------
  |  |   53|     90|#define H5F_ID_EXISTS(F)                 ((F)->id_exists)
  |  |  ------------------
  |  |  |  Branch (53:42): [True: 83, False: 7]
  |  |  ------------------
  ------------------
  432|     83|        *nopen_files += 1;
  433|       |
  434|       |    /* Increment number of open objects in file
  435|       |     * (Reduced by number of mounted files, we'll add back in the mount point's
  436|       |     *  groups later, if they are open)
  437|       |     */
  438|     90|    *nopen_objs += (f->nopen_objs - f->nmounts);
  439|       |
  440|       |    /* Iterate over files mounted in this file and add in their open ID counts also */
  441|     90|    for (u = 0; u < f->shared->mtab.nmounts; u++) {
  ------------------
  |  Branch (441:17): [True: 0, False: 90]
  ------------------
  442|       |        /* Only recurse on children mounted to this top level file structure */
  443|      0|        if (f->shared->mtab.child[u].file->parent == f) {
  ------------------
  |  Branch (443:13): [True: 0, False: 0]
  ------------------
  444|       |            /* Increment the open object count if the mount point group has an open ID */
  445|      0|            if (H5G_get_shared_count(f->shared->mtab.child[u].group) > 1)
  ------------------
  |  Branch (445:17): [True: 0, False: 0]
  ------------------
  446|      0|                *nopen_objs += 1;
  447|       |
  448|      0|            H5F__mount_count_ids_recurse(f->shared->mtab.child[u].file, nopen_files, nopen_objs);
  449|      0|        }
  450|      0|    }
  451|       |
  452|     90|    FUNC_LEAVE_NOAPI_VOID
  ------------------
  |  | 1578|     90|    ;                                                                                                        \
  |  | 1579|     90|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1580|     90|    return;                                                                                                  \
  |  | 1581|     90|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  453|     90|} /* end H5F__mount_count_ids_recurse() */

H5F_get_intent:
   97|  5.06k|{
   98|       |    /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */
   99|  5.06k|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|  5.06k|    {                                                                                                        \
  |  | 1425|  5.06k|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|  5.06k|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|  5.06k|        {
  ------------------
  100|       |
  101|  5.06k|    assert(f);
  102|       |
  103|  5.06k|    FUNC_LEAVE_NOAPI(f->shared->flags)
  ------------------
  |  | 1572|  5.06k|    ;                                                                                                        \
  |  | 1573|  5.06k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  5.06k|    return (ret_value);                                                                                      \
  |  | 1575|  5.06k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  104|  5.06k|} /* end H5F_get_intent() */
H5F_get_extpath:
  204|    110|{
  205|       |    /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */
  206|    110|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|    110|    {                                                                                                        \
  |  | 1425|    110|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    110|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|    110|        {
  ------------------
  207|       |
  208|    110|    assert(f);
  209|    110|    assert(f->shared);
  210|    110|    assert(f->shared->extpath);
  211|       |
  212|    110|    FUNC_LEAVE_NOAPI(f->shared->extpath)
  ------------------
  |  | 1572|    110|    ;                                                                                                        \
  |  | 1573|    110|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    110|    return (ret_value);                                                                                      \
  |  | 1575|    110|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  213|    110|} /* end H5F_get_extpath() */
H5F_get_shared:
  225|    236|{
  226|       |    /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */
  227|    236|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|    236|    {                                                                                                        \
  |  | 1425|    236|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    236|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|    236|        {
  ------------------
  228|       |
  229|    236|    assert(f);
  230|       |
  231|    236|    FUNC_LEAVE_NOAPI(f->shared)
  ------------------
  |  | 1572|    236|    ;                                                                                                        \
  |  | 1573|    236|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    236|    return (ret_value);                                                                                      \
  |  | 1575|    236|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  232|    236|} /* end H5F_get_shared() */
H5F_get_nopen_objs:
  266|    210|{
  267|       |    /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */
  268|    210|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|    210|    {                                                                                                        \
  |  | 1425|    210|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    210|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|    210|        {
  ------------------
  269|       |
  270|    210|    assert(f);
  271|       |
  272|    210|    FUNC_LEAVE_NOAPI(f->nopen_objs)
  ------------------
  |  | 1572|    210|    ;                                                                                                        \
  |  | 1573|    210|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    210|    return (ret_value);                                                                                      \
  |  | 1575|    210|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  273|    210|} /* end H5F_get_nopen_objs() */
H5F_get_nmounts:
  323|    210|{
  324|       |    /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */
  325|    210|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|    210|    {                                                                                                        \
  |  | 1425|    210|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    210|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|    210|        {
  ------------------
  326|       |
  327|    210|    assert(f);
  328|       |
  329|    210|    FUNC_LEAVE_NOAPI(f->nmounts)
  ------------------
  |  | 1572|    210|    ;                                                                                                        \
  |  | 1573|    210|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    210|    return (ret_value);                                                                                      \
  |  | 1575|    210|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  330|    210|} /* end H5F_get_nmounts() */
H5F_get_read_attempts:
  342|    157|{
  343|       |    /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */
  344|    157|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|    157|    {                                                                                                        \
  |  | 1425|    157|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    157|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|    157|        {
  ------------------
  345|       |
  346|    157|    assert(f);
  347|       |
  348|    157|    FUNC_LEAVE_NOAPI(f->shared->read_attempts)
  ------------------
  |  | 1572|    157|    ;                                                                                                        \
  |  | 1573|    157|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    157|    return (ret_value);                                                                                      \
  |  | 1575|    157|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  349|    157|} /* end H5F_get_read_attempts() */
H5F_sizeof_addr:
  384|  2.65k|{
  385|       |    /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */
  386|  2.65k|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|  2.65k|    {                                                                                                        \
  |  | 1425|  2.65k|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|  2.65k|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|  2.65k|        {
  ------------------
  387|       |
  388|  2.65k|    assert(f);
  389|  2.65k|    assert(f->shared);
  390|       |
  391|  2.65k|    FUNC_LEAVE_NOAPI(f->shared->sizeof_addr)
  ------------------
  |  | 1572|  2.65k|    ;                                                                                                        \
  |  | 1573|  2.65k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  2.65k|    return (ret_value);                                                                                      \
  |  | 1575|  2.65k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  392|  2.65k|} /* end H5F_sizeof_addr() */
H5F_sizeof_size:
  406|  2.01k|{
  407|       |    /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */
  408|  2.01k|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|  2.01k|    {                                                                                                        \
  |  | 1425|  2.01k|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|  2.01k|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|  2.01k|        {
  ------------------
  409|       |
  410|  2.01k|    assert(f);
  411|  2.01k|    assert(f->shared);
  412|       |
  413|  2.01k|    FUNC_LEAVE_NOAPI(f->shared->sizeof_size)
  ------------------
  |  | 1572|  2.01k|    ;                                                                                                        \
  |  | 1573|  2.01k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  2.01k|    return (ret_value);                                                                                      \
  |  | 1575|  2.01k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  414|  2.01k|} /* H5F_sizeof_size() */
H5F_sym_leaf_k:
  490|     60|{
  491|       |    /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */
  492|     60|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|     60|    {                                                                                                        \
  |  | 1425|     60|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|     60|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|     60|        {
  ------------------
  493|       |
  494|     60|    assert(f);
  495|     60|    assert(f->shared);
  496|     60|    assert(f->shared->sblock);
  497|       |
  498|     60|    FUNC_LEAVE_NOAPI(f->shared->sblock->sym_leaf_k)
  ------------------
  |  | 1572|     60|    ;                                                                                                        \
  |  | 1573|     60|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     60|    return (ret_value);                                                                                      \
  |  | 1575|     60|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  499|     60|} /* end H5F_sym_leaf_k() */
H5F_Kvalue:
  533|      7|{
  534|       |    /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */
  535|      7|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      7|    {                                                                                                        \
  |  | 1425|      7|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      7|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      7|        {
  ------------------
  536|       |
  537|      7|    assert(f);
  538|      7|    assert(f->shared);
  539|      7|    assert(f->shared->sblock);
  540|      7|    assert(type);
  541|       |
  542|      7|    FUNC_LEAVE_NOAPI(f->shared->sblock->btree_k[type->id])
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  543|      7|} /* end H5F_Kvalue() */
H5F_get_nrefs:
  555|      7|{
  556|       |    /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */
  557|      7|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      7|    {                                                                                                        \
  |  | 1425|      7|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      7|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      7|        {
  ------------------
  558|       |
  559|      7|    assert(f);
  560|      7|    assert(f->shared);
  561|       |
  562|      7|    FUNC_LEAVE_NOAPI(f->shared->nrefs)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  563|      7|} /* end H5F_get_nrefs() */
H5F_grp_btree_shared:
  674|    378|{
  675|       |    /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */
  676|    378|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|    378|    {                                                                                                        \
  |  | 1425|    378|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    378|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|    378|        {
  ------------------
  677|       |
  678|    378|    assert(f);
  679|    378|    assert(f->shared);
  680|       |
  681|    378|    FUNC_LEAVE_NOAPI(f->shared->grp_btree_shared)
  ------------------
  |  | 1572|    378|    ;                                                                                                        \
  |  | 1573|    378|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    378|    return (ret_value);                                                                                      \
  |  | 1575|    378|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  682|    378|} /* end H5F_grp_btree_shared() */
H5F_get_evict_on_close:
  766|    143|{
  767|       |    /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */
  768|    143|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|    143|    {                                                                                                        \
  |  | 1425|    143|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    143|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|    143|        {
  ------------------
  769|       |
  770|    143|    assert(f);
  771|    143|    assert(f->shared);
  772|       |
  773|    143|    FUNC_LEAVE_NOAPI(f->shared->evict_on_close)
  ------------------
  |  | 1572|    143|    ;                                                                                                        \
  |  | 1573|    143|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    143|    return (ret_value);                                                                                      \
  |  | 1575|    143|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  774|    143|} /* end H5F_get_evict_on_close() */
H5F_shared_has_feature:
  808|     31|{
  809|       |    /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */
  810|     31|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|     31|    {                                                                                                        \
  |  | 1425|     31|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|     31|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|     31|        {
  ------------------
  811|       |
  812|     31|    assert(f_sh);
  813|       |
  814|     31|    FUNC_LEAVE_NOAPI((bool)(f_sh->lf->feature_flags & feature))
  ------------------
  |  | 1572|     31|    ;                                                                                                        \
  |  | 1573|     31|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     31|    return (ret_value);                                                                                      \
  |  | 1575|     31|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  815|     31|} /* end H5F_shared_has_feature() */
H5F_get_fileno:
  873|    142|{
  874|    142|    herr_t ret_value = SUCCEED;
  ------------------
  |  |  283|    142|#define SUCCEED 0
  ------------------
  875|       |
  876|    142|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    142|    {                                                                                                        \
  |  | 1392|    142|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    142|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    142|                                                                                                             \
  |  |  |  | 1267|    142|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    142|        {
  ------------------
  877|       |
  878|    142|    assert(f);
  879|    142|    assert(f->shared);
  880|    142|    assert(f->shared->lf);
  881|    142|    assert(filenum);
  882|       |
  883|       |    /* Retrieve the file's serial number */
  884|    142|    if (H5FD_get_fileno(f->shared->lf, filenum) < 0)
  ------------------
  |  Branch (884:9): [True: 0, False: 142]
  ------------------
  885|      0|        HGOTO_ERROR(H5E_FILE, H5E_BADRANGE, FAIL, "can't retrieve fileno");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  886|       |
  887|    142|done:
  888|    142|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    142|    ;                                                                                                        \
  |  | 1573|    142|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    142|    return (ret_value);                                                                                      \
  |  | 1575|    142|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  889|    142|} /* end H5F_get_fileno() */
H5F_get_eoa:
  926|    194|{
  927|    194|    haddr_t ret_value = HADDR_UNDEF; /* Return value */
  ------------------
  |  |  336|    194|#define HADDR_UNDEF         UINT64_MAX
  ------------------
  928|       |
  929|    194|    FUNC_ENTER_NOAPI(HADDR_UNDEF)
  ------------------
  |  | 1391|    194|    {                                                                                                        \
  |  | 1392|    194|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    194|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    194|                                                                                                             \
  |  |  |  | 1267|    194|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    194|        {
  ------------------
  930|       |
  931|    194|    assert(f);
  932|    194|    assert(f->shared);
  933|       |
  934|       |    /* Dispatch to driver */
  935|    194|    if (HADDR_UNDEF == (ret_value = H5FD_get_eoa(f->shared->lf, type)))
  ------------------
  |  |  336|    194|#define HADDR_UNDEF         UINT64_MAX
  ------------------
  |  Branch (935:9): [True: 0, False: 194]
  ------------------
  936|      0|        HGOTO_ERROR(H5E_VFL, H5E_CANTINIT, HADDR_UNDEF, "driver get_eoa request failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  937|       |
  938|    194|done:
  939|    194|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    194|    ;                                                                                                        \
  |  | 1573|    194|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    194|    return (ret_value);                                                                                      \
  |  | 1575|    194|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  940|    194|} /* end H5F_get_eoa() */
H5F_use_mdc_logging:
 1124|     10|{
 1125|       |    /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */
 1126|     10|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|     10|    {                                                                                                        \
  |  | 1425|     10|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|     10|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|     10|        {
  ------------------
 1127|       |
 1128|     10|    assert(f);
 1129|     10|    assert(f->shared);
 1130|       |
 1131|     10|    FUNC_LEAVE_NOAPI(f->shared->use_mdc_logging)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1132|     10|} /* end H5F_use_mdc_logging() */
H5F_get_vol_obj:
 1316|    211|{
 1317|    211|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|    211|    {                                                                                                        \
  |  | 1425|    211|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    211|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|    211|        {
  ------------------
 1318|       |
 1319|    211|    assert(f);
 1320|       |
 1321|    211|    FUNC_LEAVE_NOAPI(f->vol_obj)
  ------------------
  |  | 1572|    211|    ;                                                                                                        \
  |  | 1573|    211|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    211|    return (ret_value);                                                                                      \
  |  | 1575|    211|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1322|    211|} /* end H5F_get_vol_obj */
H5F__get_cont_info:
 1336|     18|{
 1337|     18|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     18|#define SUCCEED 0
  ------------------
 1338|       |
 1339|     18|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     18|    {                                                                                                        \
  |  | 1461|     18|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     18|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     18|                                                                                                             \
  |  |  |  | 1267|     18|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     18|        {
  ------------------
 1340|       |
 1341|       |    /* Sanity checks */
 1342|     18|    assert(f);
 1343|     18|    assert(f->shared);
 1344|       |
 1345|       |    /* Verify structure version */
 1346|     18|    if (info->version != H5VL_CONTAINER_INFO_VERSION)
  ------------------
  |  |   37|     18|#define H5VL_CONTAINER_INFO_VERSION 0x01 /* Container info struct version */
  ------------------
  |  Branch (1346:9): [True: 0, False: 18]
  ------------------
 1347|      0|        HGOTO_ERROR(H5E_FILE, H5E_VERSION, FAIL, "wrong container info version #");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1348|       |
 1349|       |    /* Set the container info fields */
 1350|     18|    info->feature_flags = 0; /* None currently defined */
 1351|     18|    info->token_size    = H5F_SIZEOF_ADDR(f);
  ------------------
  |  |   65|     18|#define H5F_SIZEOF_ADDR(F)               ((F)->shared->sizeof_addr)
  ------------------
 1352|     18|    info->blob_id_size  = H5HG_HEAP_ID_SIZE(f);
  ------------------
  |  |   48|     18|#define H5HG_HEAP_ID_SIZE(F) ((size_t)H5F_SIZEOF_ADDR(F) + sizeof(uint32_t))
  |  |  ------------------
  |  |  |  |   65|     18|#define H5F_SIZEOF_ADDR(F)               ((F)->shared->sizeof_addr)
  |  |  ------------------
  ------------------
 1353|       |
 1354|     18|done:
 1355|     18|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     18|    ;                                                                                                        \
  |  | 1573|     18|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     18|    return (ret_value);                                                                                      \
  |  | 1575|     18|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1356|     18|} /* end H5F_get_cont_info */
H5F_get_rfic_flags:
 1416|    117|{
 1417|    117|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|    117|    {                                                                                                        \
  |  | 1425|    117|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    117|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|    117|        {
  ------------------
 1418|       |
 1419|    117|    assert(f);
 1420|    117|    assert(f->shared);
 1421|       |
 1422|    117|    FUNC_LEAVE_NOAPI(f->shared->rfic_flags)
  ------------------
  |  | 1572|    117|    ;                                                                                                        \
  |  | 1573|    117|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    117|    return (ret_value);                                                                                      \
  |  | 1575|    117|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1423|    117|} /* end H5F_get_rfic_flags */

H5F_sfile_assert_num:
   51|      1|{
   52|      1|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      1|    {                                                                                                        \
  |  | 1425|      1|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      1|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      1|        {
  ------------------
   53|       |
   54|       |    /* The only useful work this function does is asserting so when NDEBUG
   55|       |     * is defined it's a no-op.
   56|       |     */
   57|       |#ifndef NDEBUG
   58|       |    if (n == 0) {
   59|       |        assert(H5F_sfile_head_s == NULL);
   60|       |    }
   61|       |    else {
   62|       |        unsigned          count; /* Number of open shared files */
   63|       |        H5F_sfile_node_t *curr;  /* Current shared file node */
   64|       |
   65|       |        /* Iterate through low-level files for matching low-level file info */
   66|       |        curr  = H5F_sfile_head_s;
   67|       |        count = 0;
   68|       |        while (curr) {
   69|       |            /* Increment # of open shared file structs */
   70|       |            count++;
   71|       |
   72|       |            /* Advance to next shared file node */
   73|       |            curr = curr->next;
   74|       |        }
   75|       |
   76|       |        assert(count == n);
   77|       |    }
   78|       |#endif
   79|       |
   80|      1|    FUNC_LEAVE_NOAPI_VOID
  ------------------
  |  | 1578|      1|    ;                                                                                                        \
  |  | 1579|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1580|      1|    return;                                                                                                  \
  |  | 1581|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
   81|      1|} /* H5F_sfile_assert_num() */
H5F__sfile_add:
   94|     10|{
   95|     10|    H5F_sfile_node_t *new_shared;          /* New shared file node */
   96|     10|    herr_t            ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
   97|       |
   98|     10|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     10|    {                                                                                                        \
  |  | 1461|     10|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     10|        {
  ------------------
   99|       |
  100|       |    /* Sanity check */
  101|     10|    assert(shared);
  102|       |
  103|       |    /* Allocate new shared file node */
  104|     10|    if (NULL == (new_shared = H5FL_CALLOC(H5F_sfile_node_t)))
  ------------------
  |  |   78|     10|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|     10|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (104:9): [True: 0, False: 10]
  ------------------
  105|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  106|       |
  107|       |    /* Set shared file value */
  108|     10|    new_shared->shared = shared;
  109|       |
  110|       |    /* Prepend to list of shared files open */
  111|     10|    new_shared->next = H5F_sfile_head_s;
  112|     10|    H5F_sfile_head_s = new_shared;
  113|       |
  114|     10|done:
  115|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  116|     10|} /* end H5F__sfile_add() */
H5F__sfile_search:
  130|     10|{
  131|     10|    H5F_sfile_node_t *curr;             /* Current shared file node */
  132|     10|    H5F_shared_t     *ret_value = NULL; /* Return value */
  133|       |
  134|     10|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     10|    {                                                                                                        \
  |  | 1467|     10|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     10|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     10|        {
  ------------------
  135|       |
  136|       |    /* Sanity check */
  137|     10|    assert(lf);
  138|       |
  139|       |    /* Iterate through low-level files for matching low-level file info */
  140|     10|    curr = H5F_sfile_head_s;
  141|     10|    while (curr) {
  ------------------
  |  Branch (141:12): [True: 0, False: 10]
  ------------------
  142|       |        /* Check for match */
  143|      0|        if (0 == H5FD_cmp(curr->shared->lf, lf))
  ------------------
  |  Branch (143:13): [True: 0, False: 0]
  ------------------
  144|      0|            HGOTO_DONE(curr->shared);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  145|       |
  146|       |        /* Advance to next shared file node */
  147|      0|        curr = curr->next;
  148|      0|    } /* end while */
  149|       |
  150|     10|done:
  151|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  152|     10|} /* end H5F__sfile_search() */
H5F__sfile_remove:
  165|     10|{
  166|     10|    H5F_sfile_node_t *curr;                /* Current shared file node */
  167|     10|    H5F_sfile_node_t *last;                /* Last shared file node */
  168|     10|    herr_t            ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
  169|       |
  170|     10|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     10|    {                                                                                                        \
  |  | 1461|     10|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     10|        {
  ------------------
  171|       |
  172|       |    /* Sanity check */
  173|     10|    assert(shared);
  174|       |
  175|       |    /* Locate shared file node with correct shared file */
  176|     10|    last = NULL;
  177|     10|    curr = H5F_sfile_head_s;
  178|     10|    while (curr && curr->shared != shared) {
  ------------------
  |  Branch (178:12): [True: 10, False: 0]
  |  Branch (178:20): [True: 0, False: 10]
  ------------------
  179|       |        /* Advance to next node */
  180|      0|        last = curr;
  181|      0|        curr = curr->next;
  182|      0|    } /* end while */
  183|       |
  184|       |    /* Indicate error if the node wasn't found */
  185|     10|    if (curr == NULL)
  ------------------
  |  Branch (185:9): [True: 0, False: 10]
  ------------------
  186|      0|        HGOTO_ERROR(H5E_FILE, H5E_NOTFOUND, FAIL, "can't find shared file info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  187|       |
  188|       |    /* Remove node found from list */
  189|     10|    if (last != NULL)
  ------------------
  |  Branch (189:9): [True: 0, False: 10]
  ------------------
  190|       |        /* Removing middle or tail node in list */
  191|      0|        last->next = curr->next;
  192|     10|    else
  193|       |        /* Removing head node in list */
  194|     10|        H5F_sfile_head_s = curr->next;
  195|       |
  196|       |    /* Release the shared file node struct */
  197|       |    /* (the shared file info itself is freed elsewhere) */
  198|     10|    curr = H5FL_FREE(H5F_sfile_node_t, curr);
  ------------------
  |  |   81|     10|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|     10|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  199|       |
  200|     10|done:
  201|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  202|     10|} /* end H5F__sfile_remove() */

H5F__super_read:
  305|     10|{
  306|     10|    H5AC_ring_t               orig_ring = H5AC_RING_INV;
  ------------------
  |  |  147|     10|#define H5AC_RING_INV    H5C_RING_UNDEFINED
  |  |  ------------------
  |  |  |  |  940|     10|#define H5C_RING_UNDEFINED 0 /* shouldn't appear in the cache */
  |  |  ------------------
  ------------------
  307|     10|    H5F_super_t              *sblock    = NULL; /* Superblock structure */
  308|     10|    H5F_superblock_cache_ud_t udata;            /* User data for cache callbacks */
  309|     10|    H5P_genplist_t           *c_plist;          /* File creation property list  */
  310|     10|    H5FD_t                   *file;             /* File driver pointer */
  311|     10|    unsigned sblock_flags = H5AC__NO_FLAGS_SET; /* flags used in superblock unprotect call      */
  ------------------
  |  |  314|     10|#define H5AC__NO_FLAGS_SET                H5C__NO_FLAGS_SET
  |  |  ------------------
  |  |  |  |  175|     10|#define H5C__NO_FLAGS_SET                   0x00000
  |  |  ------------------
  ------------------
  312|     10|    haddr_t  super_addr;                        /* Absolute address of superblock */
  313|     10|    haddr_t  eof;                               /* End of file address */
  314|     10|    unsigned rw_flags;                          /* Read/write permissions for file */
  315|     10|    bool     skip_eof_check = false;            /* Whether to skip checking the EOF value */
  316|       |#ifdef H5_HAVE_PARALLEL
  317|       |    int mpi_size = 1;
  318|       |#endif                          /* H5_HAVE_PARALLEL */
  319|     10|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
  320|       |
  321|     10|    FUNC_ENTER_PACKAGE_TAG(H5AC__SUPERBLOCK_TAG)
  ------------------
  |  | 1473|     10|    {                                                                                                        \
  |  | 1474|     10|        haddr_t prev_tag = HADDR_UNDEF;                                                                      \
  |  |  ------------------
  |  |  |  |  336|     10|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  | 1475|     10|                                                                                                             \
  |  | 1476|     10|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1477|     10|        H5AC_tag(tag, &prev_tag);                                                                            \
  |  | 1478|     10|        {
  ------------------
  322|       |
  323|       |    /* initialize the drvinfo to NULL -- we will overwrite this if there
  324|       |     * is a driver information block
  325|       |     */
  326|     10|    f->shared->drvinfo = NULL;
  327|       |
  328|       |    /* Set up file driver I/O info */
  329|     10|    file = f->shared->lf;
  330|       |
  331|       |    /* Find the superblock */
  332|       |#ifdef H5_HAVE_PARALLEL
  333|       |    if (H5F_HAS_FEATURE(f, H5FD_FEAT_HAS_MPI))
  334|       |        if ((mpi_size = H5F_mpi_get_size(f)) < 0)
  335|       |            HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "can't retrieve MPI communicator size");
  336|       |
  337|       |    /* If we are an MPI application with at least two processes, the
  338|       |     * following superblock signature location optimization is applicable.
  339|       |     *
  340|       |     * Note:: For parallel applications which don't setup for using the
  341|       |     * HDF5 MPIO driver, we will arrive here with mpi_size == 1.
  342|       |     * This occurs because of the variable initialization (above) and the
  343|       |     * fact that we have skipped actually calling MPI functions to determine
  344|       |     * our MPI rank and size.
  345|       |     */
  346|       |    if (mpi_size > 1) {
  347|       |        MPI_Comm this_comm;
  348|       |        int      mpi_rank;
  349|       |        int      mpi_result;
  350|       |
  351|       |        /* Sanity check */
  352|       |        assert(H5F_HAS_FEATURE(f, H5FD_FEAT_HAS_MPI));
  353|       |
  354|       |        /* Set up MPI info */
  355|       |        if ((mpi_rank = H5F_mpi_get_rank(f)) < 0)
  356|       |            HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "Can't get MPI rank");
  357|       |        if (MPI_COMM_NULL == (this_comm = H5F_mpi_get_comm(f)))
  358|       |            HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "can't get MPI communicator");
  359|       |
  360|       |        /* Search for the file's signature only with rank 0 process */
  361|       |        if (0 == mpi_rank) {
  362|       |            herr_t status;
  363|       |
  364|       |            /* Try detecting file's signature */
  365|       |            /* (Don't leave before Bcast, to avoid hang on error) */
  366|       |            H5E_BEGIN_TRY
  367|       |            {
  368|       |                status = H5FD_locate_signature(file, &super_addr);
  369|       |            }
  370|       |            H5E_END_TRY
  371|       |
  372|       |            /* Set superblock address to undefined on error */
  373|       |            if (status < 0)
  374|       |                super_addr = HADDR_UNDEF;
  375|       |        } /* end if */
  376|       |
  377|       |        /* Broadcast superblock address to other processes */
  378|       |        if (MPI_SUCCESS != (mpi_result = MPI_Bcast(&super_addr, sizeof(super_addr), MPI_BYTE, 0, this_comm)))
  379|       |            HMPI_GOTO_ERROR(FAIL, "MPI_Bcast failed", mpi_result)
  380|       |    } /* end if */
  381|       |    else {
  382|       |        /* Locate the signature as per per the serial library */
  383|       |#endif /* H5_HAVE_PARALLEL */
  384|       |
  385|     10|        if (H5FD_locate_signature(file, &super_addr) < 0)
  ------------------
  |  Branch (385:13): [True: 0, False: 10]
  ------------------
  386|      0|            HGOTO_ERROR(H5E_FILE, H5E_NOTHDF5, FAIL, "unable to locate file signature");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  387|       |
  388|       |#ifdef H5_HAVE_PARALLEL
  389|       |    }  /* end else */
  390|       |#endif /* H5_HAVE_PARALLEL */
  391|     10|    if (!H5_addr_defined(super_addr))
  ------------------
  |  |  449|     10|#define H5_addr_defined(X)       ((X) != HADDR_UNDEF)
  |  |  ------------------
  |  |  |  |  336|     10|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  ------------------
  |  Branch (391:9): [True: 3, False: 7]
  ------------------
  392|      3|        HGOTO_ERROR(H5E_FILE, H5E_NOTHDF5, FAIL, "file signature not found");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  393|       |
  394|       |    /* Check for userblock present */
  395|      7|    if (H5_addr_gt(super_addr, 0)) {
  ------------------
  |  |  461|      7|#define H5_addr_gt(X,Y)          ((X) != HADDR_UNDEF &&                     \
  |  |  ------------------
  |  |  |  |  336|     14|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  |  |  Branch (461:35): [True: 7, False: 0]
  |  |  ------------------
  |  |  462|      7|                                  (Y) != HADDR_UNDEF &&                     \
  |  |  ------------------
  |  |  |  |  336|     14|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  |  |  Branch (462:35): [Folded - Ignored]
  |  |  ------------------
  |  |  463|      7|                                  (X) > (Y))
  |  |  ------------------
  |  |  |  Branch (463:35): [True: 7, False: 0]
  |  |  ------------------
  ------------------
  396|       |        /* Set the base address for the file in the VFD now */
  397|      7|        if (H5F__set_base_addr(f, super_addr) < 0)
  ------------------
  |  Branch (397:13): [True: 0, False: 7]
  ------------------
  398|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "failed to set base address for file driver");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  399|      7|    } /* end if */
  400|       |
  401|       |    /* Determine file intent for superblock protect */
  402|       |
  403|       |    /* Must tell cache at protect time that the super block is to be
  404|       |     * flushed last (and collectively in the parallel case).
  405|       |     */
  406|      7|    rw_flags = H5AC__FLUSH_LAST_FLAG;
  ------------------
  |  |  325|      7|#define H5AC__FLUSH_LAST_FLAG             H5C__FLUSH_LAST_FLAG
  |  |  ------------------
  |  |  |  |  186|      7|#define H5C__FLUSH_LAST_FLAG                0x00400
  |  |  ------------------
  ------------------
  407|       |#ifdef H5_HAVE_PARALLEL
  408|       |    rw_flags |= H5C__FLUSH_COLLECTIVELY_FLAG;
  409|       |#endif /* H5_HAVE_PARALLEL */
  410|      7|    if (!(H5F_INTENT(f) & H5F_ACC_RDWR))
  ------------------
  |  |   44|      7|#define H5F_INTENT(F)                    ((F)->shared->flags)
  ------------------
                  if (!(H5F_INTENT(f) & H5F_ACC_RDWR))
  ------------------
  |  |   49|      7|#define H5F_ACC_RDWR   (H5CHECK H5OPEN 0x0001u) /**< Open for read and write    */
  ------------------
  |  Branch (410:9): [True: 7, False: 0]
  ------------------
  411|      7|        rw_flags |= H5AC__READ_ONLY_FLAG;
  ------------------
  |  |  322|      7|#define H5AC__READ_ONLY_FLAG              H5C__READ_ONLY_FLAG
  |  |  ------------------
  |  |  |  |  183|      7|#define H5C__READ_ONLY_FLAG                 0x00080
  |  |  ------------------
  ------------------
  412|       |
  413|       |    /* Get the shared file creation property list */
  414|      7|    if (NULL == (c_plist = (H5P_genplist_t *)H5I_object(f->shared->fcpl_id)))
  ------------------
  |  Branch (414:9): [True: 0, False: 7]
  ------------------
  415|      0|        HGOTO_ERROR(H5E_FILE, H5E_BADTYPE, FAIL, "can't get property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  416|       |
  417|       |    /* Make certain we can read the fixed-size portion of the superblock */
  418|      7|    if (H5F__set_eoa(f, H5FD_MEM_SUPER, (haddr_t)H5F_SUPERBLOCK_SPEC_READ_SIZE) < 0)
  ------------------
  |  |  136|      7|#define H5F_SUPERBLOCK_SPEC_READ_SIZE (H5F_SUPERBLOCK_FIXED_SIZE + H5F_SUPERBLOCK_VARLEN_SIZE(2, 8, 8))
  |  |  ------------------
  |  |  |  |   75|      7|#define H5F_SUPERBLOCK_FIXED_SIZE (H5F_SIGNATURE_LEN + 1) /* superblock version */
  |  |  |  |  ------------------
  |  |  |  |  |  |  299|      7|#define H5F_SIGNATURE_LEN 8
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define H5F_SUPERBLOCK_SPEC_READ_SIZE (H5F_SUPERBLOCK_FIXED_SIZE + H5F_SUPERBLOCK_VARLEN_SIZE(2, 8, 8))
  |  |  ------------------
  |  |  |  |  125|      7|    ((v == 0 ? H5F_SUPERBLOCK_VARLEN_SIZE_V0(sizeof_addr, sizeof_size) : 0) +                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  101|      0|    (H5F_SUPERBLOCK_VARLEN_SIZE_COMMON             /* Common variable-length info */                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|      0|    (2    /* freespace, and root group versions */                                                           \
  |  |  |  |  |  |  |  |   95|      0|     + 1  /* reserved */                                                                                     \
  |  |  |  |  |  |  |  |   96|      0|     + 3  /* shared header vers, size of address, size of lengths */                                         \
  |  |  |  |  |  |  |  |   97|      0|     + 1  /* reserved */                                                                                     \
  |  |  |  |  |  |  |  |   98|      0|     + 4  /* group leaf k, group internal k */                                                               \
  |  |  |  |  |  |  |  |   99|      0|     + 4) /* consistency flags */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  102|      0|     + (sizeof_addr)                               /* base address */                                        \
  |  |  |  |  |  |  103|      0|     + (sizeof_addr)                               /* <unused> */                                            \
  |  |  |  |  |  |  104|      0|     + (sizeof_addr)                               /* EOF address */                                         \
  |  |  |  |  |  |  105|      0|     + (sizeof_addr)                               /* driver block address */                                \
  |  |  |  |  |  |  106|      0|     + H5G_SIZEOF_ENTRY(sizeof_addr, sizeof_size)) /* root group ptr */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    ((sizeof_size) +     /*offset of name into heap              */                                          \
  |  |  |  |  |  |  |  |   40|      0|     (sizeof_addr) +     /*address of object header              */                                          \
  |  |  |  |  |  |  |  |   41|      0|     4 +                 /*entry type                            */                                          \
  |  |  |  |  |  |  |  |   42|      0|     4 +                 /*reserved                */                                                        \
  |  |  |  |  |  |  |  |   43|      0|     H5G_SIZEOF_SCRATCH) /*scratch pad space                     */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   37|      0|#define H5G_SIZEOF_SCRATCH 16
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (125:7): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  126|      7|     (v == 1 ? H5F_SUPERBLOCK_VARLEN_SIZE_V1(sizeof_addr, sizeof_size) : 0) +                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|    (H5F_SUPERBLOCK_VARLEN_SIZE_COMMON             /* Common variable-length info */                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|      0|    (2    /* freespace, and root group versions */                                                           \
  |  |  |  |  |  |  |  |   95|      0|     + 1  /* reserved */                                                                                     \
  |  |  |  |  |  |  |  |   96|      0|     + 3  /* shared header vers, size of address, size of lengths */                                         \
  |  |  |  |  |  |  |  |   97|      0|     + 1  /* reserved */                                                                                     \
  |  |  |  |  |  |  |  |   98|      0|     + 4  /* group leaf k, group internal k */                                                               \
  |  |  |  |  |  |  |  |   99|      0|     + 4) /* consistency flags */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  109|      0|     + 2                                           /* indexed B-tree internal k */                           \
  |  |  |  |  |  |  110|      0|     + 2                                           /* reserved */                                            \
  |  |  |  |  |  |  111|      0|     + (sizeof_addr)                               /* base address */                                        \
  |  |  |  |  |  |  112|      0|     + (sizeof_addr)                               /* <unused> */                                            \
  |  |  |  |  |  |  113|      0|     + (sizeof_addr)                               /* EOF address */                                         \
  |  |  |  |  |  |  114|      0|     + (sizeof_addr)                               /* driver block address */                                \
  |  |  |  |  |  |  115|      0|     + H5G_SIZEOF_ENTRY(sizeof_addr, sizeof_size)) /* root group ptr */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    ((sizeof_size) +     /*offset of name into heap              */                                          \
  |  |  |  |  |  |  |  |   40|      0|     (sizeof_addr) +     /*address of object header              */                                          \
  |  |  |  |  |  |  |  |   41|      0|     4 +                 /*entry type                            */                                          \
  |  |  |  |  |  |  |  |   42|      0|     4 +                 /*reserved                */                                                        \
  |  |  |  |  |  |  |  |   43|      0|     H5G_SIZEOF_SCRATCH) /*scratch pad space                     */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   37|      0|#define H5G_SIZEOF_SCRATCH 16
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (126:7): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  127|      7|     (v >= 2 ? H5F_SUPERBLOCK_VARLEN_SIZE_V2(sizeof_addr) : 0))
  |  |  |  |  ------------------
  |  |  |  |  |  |  117|      7|    (2                    /* size of address, size of lengths */                                             \
  |  |  |  |  |  |  118|      7|     + 1                  /* consistency flags */                                                            \
  |  |  |  |  |  |  119|      7|     + (sizeof_addr)      /* base address */                                                                 \
  |  |  |  |  |  |  120|      7|     + (sizeof_addr)      /* superblock extension address */                                                 \
  |  |  |  |  |  |  121|      7|     + (sizeof_addr)      /* EOF address */                                                                  \
  |  |  |  |  |  |  122|      7|     + (sizeof_addr)      /* root group object header address */                                             \
  |  |  |  |  |  |  123|      7|     + H5F_SIZEOF_CHKSUM) /* superblock checksum (keep this last) */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   72|      7|#define H5F_SIZEOF_CHKSUM 4 /* Checksum size in the file */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (127:7): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (418:9): [True: 0, False: 7]
  ------------------
  419|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "set end of space allocation request failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  420|       |
  421|       |    /* Set up the user data for cache callbacks */
  422|      7|    udata.f               = f;
  423|      7|    udata.ignore_drvrinfo = H5F_HAS_FEATURE(f, H5FD_FEAT_IGNORE_DRVRINFO);
  ------------------
  |  |   60|      7|#define H5F_HAS_FEATURE(F, FL)           ((F)->shared->lf->feature_flags & (FL))
  ------------------
  424|      7|    udata.sym_leaf_k      = 0;
  425|      7|    if (H5P_get(c_plist, H5F_CRT_BTREE_RANK_NAME, udata.btree_k) < 0)
  ------------------
  |  |  203|      7|#define H5F_CRT_BTREE_RANK_NAME    "btree_rank"    /* 1/2 rank for btree internal nodes    */
  ------------------
  |  Branch (425:9): [True: 0, False: 7]
  ------------------
  426|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "unable to get rank for btree internal nodes");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  427|      7|    udata.stored_eof       = HADDR_UNDEF;
  ------------------
  |  |  336|      7|#define HADDR_UNDEF         UINT64_MAX
  ------------------
  428|      7|    udata.drvrinfo_removed = false;
  429|       |
  430|       |    /* Set the ring type in the API context */
  431|      7|    H5AC_set_ring(H5AC_RING_SB, &orig_ring);
  ------------------
  |  |  152|      7|#define H5AC_RING_SB     H5C_RING_SB
  |  |  ------------------
  |  |  |  |  945|      7|#define H5C_RING_SB        5 /* innermost ring */
  |  |  ------------------
  ------------------
  432|       |
  433|       |    /* Look up the superblock */
  434|      7|    if (NULL == (sblock = (H5F_super_t *)H5AC_protect(f, H5AC_SUPERBLOCK, (haddr_t)0, &udata, rw_flags)))
  ------------------
  |  Branch (434:9): [True: 0, False: 7]
  ------------------
  435|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTPROTECT, FAIL, "unable to load superblock");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  436|       |
  437|       |    /*
  438|       |     * When opening a file with SWMR-write access, the library will first
  439|       |     * check to ensure that superblock version 3 is used.  Otherwise fail
  440|       |     * file open.
  441|       |     *
  442|       |     * Then the library will upgrade the file's low_bound depending on
  443|       |     * superblock version as follows:
  444|       |     *      --version 0 or 1: no change to low_bound
  445|       |     *      --version 2: upgrade low_bound to at least V18
  446|       |     *      --version 3: upgrade low_bound to at least V110
  447|       |     *
  448|       |     * Upgrading low_bound will give the best format versions available for
  449|       |     * that superblock version.  Due to the possible upgrade, the fapl returned
  450|       |     * from H5Fget_access_plist() might indicate a low_bound higher than what
  451|       |     * the user originally set.
  452|       |     *
  453|       |     * After upgrading low_bound, the library will check to ensure that the
  454|       |     * superblock version does not exceed the version allowed by high_bound.
  455|       |     * Otherwise fail file open.
  456|       |     *
  457|       |     * For details, please see RFC:Setting Bounds for Object Creation in HDF5 1.10.0.
  458|       |     */
  459|       |
  460|       |    /* Check to ensure that superblock version 3 is used for SWMR-write access */
  461|      7|    if (H5F_INTENT(f) & H5F_ACC_SWMR_WRITE) {
  ------------------
  |  |   44|      7|#define H5F_INTENT(F)                    ((F)->shared->flags)
  ------------------
                  if (H5F_INTENT(f) & H5F_ACC_SWMR_WRITE) {
  ------------------
  |  |   55|      7|    (H5CHECK 0x0020u) /**< Indicate that this file is open for writing in a                                  \
  ------------------
  |  Branch (461:9): [True: 0, False: 7]
  ------------------
  462|      0|        if (sblock->super_vers < HDF5_SUPERBLOCK_VERSION_3)
  ------------------
  |  |  306|      0|    3 /* With file locking and consistency flags (at least this version for SWMR support) */
  ------------------
  |  Branch (462:13): [True: 0, False: 0]
  ------------------
  463|      0|            HGOTO_ERROR(H5E_FILE, H5E_BADVALUE, FAIL, "superblock version for SWMR is less than 3");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  464|      0|    }
  465|       |
  466|       |    /* Upgrade low_bound to at least V18 when encountering version 2 superblock */
  467|      7|    if (sblock->super_vers == HDF5_SUPERBLOCK_VERSION_2)
  ------------------
  |  |  304|      7|#define HDF5_SUPERBLOCK_VERSION_2   2 /* Revised version with superblock extension and checksum */
  ------------------
  |  Branch (467:9): [True: 0, False: 7]
  ------------------
  468|      0|        f->shared->low_bound = MAX(H5F_LIBVER_V18, f->shared->low_bound);
  ------------------
  |  |  300|      0|#define MAX(a, b)        (((a) > (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (300:27): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|       |
  470|       |    /* Upgrade low_bound to at least V110 when encountering version 3 superblock */
  471|      7|    if (sblock->super_vers >= HDF5_SUPERBLOCK_VERSION_3)
  ------------------
  |  |  306|      7|    3 /* With file locking and consistency flags (at least this version for SWMR support) */
  ------------------
  |  Branch (471:9): [True: 0, False: 7]
  ------------------
  472|      0|        f->shared->low_bound = MAX(H5F_LIBVER_V110, f->shared->low_bound);
  ------------------
  |  |  300|      0|#define MAX(a, b)        (((a) > (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (300:27): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|       |
  474|       |    /* Version bounds check */
  475|      7|    if (sblock->super_vers > HDF5_superblock_ver_bounds[f->shared->high_bound])
  ------------------
  |  Branch (475:9): [True: 0, False: 7]
  ------------------
  476|      0|        HGOTO_ERROR(H5E_FILE, H5E_BADVALUE, FAIL, "superblock version exceeds high bound");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  477|       |
  478|       |    /* Pin the superblock in the cache */
  479|      7|    if (H5AC_pin_protected_entry(sblock) < 0)
  ------------------
  |  Branch (479:9): [True: 0, False: 7]
  ------------------
  480|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTPIN, FAIL, "unable to pin superblock");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  481|       |
  482|       |    /* Mark the superblock dirty if it was modified during loading */
  483|      7|    if (((rw_flags & H5AC__READ_ONLY_FLAG) == 0) && udata.ignore_drvrinfo && udata.drvrinfo_removed) {
  ------------------
  |  |  322|      7|#define H5AC__READ_ONLY_FLAG              H5C__READ_ONLY_FLAG
  |  |  ------------------
  |  |  |  |  183|      7|#define H5C__READ_ONLY_FLAG                 0x00080
  |  |  ------------------
  ------------------
  |  Branch (483:9): [True: 0, False: 7]
  |  Branch (483:53): [True: 0, False: 0]
  |  Branch (483:78): [True: 0, False: 0]
  ------------------
  484|      0|        assert(sblock->super_vers < HDF5_SUPERBLOCK_VERSION_2);
  485|      0|        sblock_flags |= H5AC__DIRTIED_FLAG;
  ------------------
  |  |  316|      0|#define H5AC__DIRTIED_FLAG                H5C__DIRTIED_FLAG
  |  |  ------------------
  |  |  |  |  177|      0|#define H5C__DIRTIED_FLAG                   0x00002
  |  |  ------------------
  ------------------
  486|      0|    } /* end if */
  487|       |
  488|       |    /* The superblock must be flushed last (and collectively in parallel) */
  489|      7|    sblock_flags |= H5AC__FLUSH_LAST_FLAG;
  ------------------
  |  |  325|      7|#define H5AC__FLUSH_LAST_FLAG             H5C__FLUSH_LAST_FLAG
  |  |  ------------------
  |  |  |  |  186|      7|#define H5C__FLUSH_LAST_FLAG                0x00400
  |  |  ------------------
  ------------------
  490|       |#ifdef H5_HAVE_PARALLEL
  491|       |    sblock_flags |= H5AC__FLUSH_COLLECTIVELY_FLAG;
  492|       |#endif /* H5_HAVE_PARALLEL */
  493|       |
  494|       |    /* Check if superblock address is different from base address and adjust
  495|       |     * base address and "end of file" address if so.
  496|       |     */
  497|      7|    if (!H5_addr_eq(super_addr, sblock->base_addr)) {
  ------------------
  |  |  453|      7|#define H5_addr_eq(X,Y)          ((X) != HADDR_UNDEF && (X) == (Y))
  |  |  ------------------
  |  |  |  |  336|     14|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  |  |  Branch (453:35): [True: 7, False: 0]
  |  |  |  Branch (453:57): [True: 6, False: 1]
  |  |  ------------------
  ------------------
  498|       |        /* If the superblock moved in the file, adjust the EOF */
  499|       |        /* (Handles moving earlier & later) */
  500|      1|        udata.stored_eof -= (sblock->base_addr - super_addr);
  501|       |
  502|       |        /* Adjust base address for offsets of the HDF5 data in the file */
  503|      1|        sblock->base_addr = super_addr;
  504|       |
  505|       |        /* Set the base address for the file in the VFD now */
  506|      1|        if (H5F__set_base_addr(f, sblock->base_addr) < 0)
  ------------------
  |  Branch (506:13): [True: 0, False: 1]
  ------------------
  507|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "failed to set base address for file driver");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  508|       |
  509|       |        /* Indicate that the superblock should be marked dirty */
  510|      1|        if ((rw_flags & H5AC__READ_ONLY_FLAG) == 0)
  ------------------
  |  |  322|      1|#define H5AC__READ_ONLY_FLAG              H5C__READ_ONLY_FLAG
  |  |  ------------------
  |  |  |  |  183|      1|#define H5C__READ_ONLY_FLAG                 0x00080
  |  |  ------------------
  ------------------
  |  Branch (510:13): [True: 0, False: 1]
  ------------------
  511|      0|            sblock_flags |= H5AC__DIRTIED_FLAG;
  ------------------
  |  |  316|      0|#define H5AC__DIRTIED_FLAG                H5C__DIRTIED_FLAG
  |  |  ------------------
  |  |  |  |  177|      0|#define H5C__DIRTIED_FLAG                   0x00002
  |  |  ------------------
  ------------------
  512|      1|    } /* end if */
  513|       |
  514|       |    /* Set information in the file's creation property list */
  515|      7|    if (H5P_set(c_plist, H5F_CRT_SUPER_VERS_NAME, &sblock->super_vers) < 0)
  ------------------
  |  |  206|      7|#define H5F_CRT_SUPER_VERS_NAME    "super_version" /* Version number of the superblock     */
  ------------------
  |  Branch (515:9): [True: 0, False: 7]
  ------------------
  516|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "unable to set superblock version");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  517|      7|    if (H5P_set(c_plist, H5F_CRT_ADDR_BYTE_NUM_NAME, &sblock->sizeof_addr) < 0)
  ------------------
  |  |  204|      7|#define H5F_CRT_ADDR_BYTE_NUM_NAME "addr_byte_num" /* Byte number in an address            */
  ------------------
  |  Branch (517:9): [True: 0, False: 7]
  ------------------
  518|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "unable to set byte number in an address");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  519|      7|    if (H5P_set(c_plist, H5F_CRT_OBJ_BYTE_NUM_NAME, &sblock->sizeof_size) < 0)
  ------------------
  |  |  205|      7|#define H5F_CRT_OBJ_BYTE_NUM_NAME  "obj_byte_num"  /* Byte number for object size          */
  ------------------
  |  Branch (519:9): [True: 0, False: 7]
  ------------------
  520|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "unable to set byte number for object size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  521|       |
  522|       |    /* Handle the B-tree 'K' values */
  523|      7|    if (sblock->super_vers < HDF5_SUPERBLOCK_VERSION_2) {
  ------------------
  |  |  304|      7|#define HDF5_SUPERBLOCK_VERSION_2   2 /* Revised version with superblock extension and checksum */
  ------------------
  |  Branch (523:9): [True: 7, False: 0]
  ------------------
  524|       |        /* Sanity check */
  525|      7|        assert(udata.sym_leaf_k != 0);
  526|       |
  527|       |        /* Set the symbol table internal node 'K' value */
  528|      7|        if (H5P_set(c_plist, H5F_CRT_SYM_LEAF_NAME, &udata.sym_leaf_k) < 0)
  ------------------
  |  |  201|      7|#define H5F_CRT_SYM_LEAF_NAME      "symbol_leaf" /* 1/2 rank for symbol table leaf nodes */
  ------------------
  |  Branch (528:13): [True: 0, False: 7]
  ------------------
  529|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "unable to set rank for symbol table leaf nodes");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  530|      7|        sblock->sym_leaf_k = udata.sym_leaf_k;
  531|       |
  532|       |        /* Set the B-tree internal node values, etc */
  533|      7|        if (H5P_set(c_plist, H5F_CRT_BTREE_RANK_NAME, udata.btree_k) < 0)
  ------------------
  |  |  203|      7|#define H5F_CRT_BTREE_RANK_NAME    "btree_rank"    /* 1/2 rank for btree internal nodes    */
  ------------------
  |  Branch (533:13): [True: 0, False: 7]
  ------------------
  534|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "unable to set rank for btree internal nodes");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  535|      7|        H5MM_memcpy(sblock->btree_k, udata.btree_k, sizeof(unsigned) * (size_t)H5B_NUM_BTREE_ID);
  ------------------
  |  |   41|      7|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  536|      7|    } /* end if */
  537|      0|    else {
  538|       |        /* Get the (default) B-tree internal node values, etc */
  539|       |        /* (Note: these may be reset in a superblock extension) */
  540|      0|        if (H5P_get(c_plist, H5F_CRT_BTREE_RANK_NAME, sblock->btree_k) < 0)
  ------------------
  |  |  203|      0|#define H5F_CRT_BTREE_RANK_NAME    "btree_rank"    /* 1/2 rank for btree internal nodes    */
  ------------------
  |  Branch (540:13): [True: 0, False: 0]
  ------------------
  541|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "unable to get rank for btree internal nodes");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  542|      0|        if (H5P_get(c_plist, H5F_CRT_SYM_LEAF_NAME, &sblock->sym_leaf_k) < 0)
  ------------------
  |  |  201|      0|#define H5F_CRT_SYM_LEAF_NAME      "symbol_leaf" /* 1/2 rank for symbol table leaf nodes */
  ------------------
  |  Branch (542:13): [True: 0, False: 0]
  ------------------
  543|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "unable to get rank for btree internal nodes");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  544|      0|    } /* end else */
  545|       |
  546|       |    /*
  547|       |     * The user-defined data is the area of the file before the base
  548|       |     * address.
  549|       |     */
  550|      7|    if (H5P_set(c_plist, H5F_CRT_USER_BLOCK_NAME, &sblock->base_addr) < 0)
  ------------------
  |  |  200|      7|#define H5F_CRT_USER_BLOCK_NAME    "block_size"  /* Size of the file user block in bytes */
  ------------------
  |  Branch (550:9): [True: 0, False: 7]
  ------------------
  551|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "unable to set userblock size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  552|       |
  553|       |    /*
  554|       |     * Make sure that the data is not truncated. One case where this is
  555|       |     * possible is if the first file of a family of files was opened
  556|       |     * individually.
  557|       |     *
  558|       |     * Can skip this test when it is not the initial file open.
  559|       |     *
  560|       |     * When flushing file buffers and fractal heap is involved,
  561|       |     * the library will allocate actual space for tmp addresses
  562|       |     * via the file layer.  The aggregator allocates a block,
  563|       |     * thus the eoa might be greater than eof.
  564|       |     * Note: the aggregator is changed again after being reset
  565|       |     * earlier before H5AC_flush due to allocation of tmp addresses.
  566|       |     *
  567|       |     * The EOF check must be skipped when the file is opened for SWMR read,
  568|       |     * as the file can appear truncated if only part of it has been
  569|       |     * been flushed to disk by the SWMR writer process.
  570|       |     *
  571|       |     * The EOF check is also skipped when the private property
  572|       |     * H5F_ACS_SKIP_EOF_CHECK_NAME exists in the fapl.
  573|       |     * This property is enabled by the tool h5clear with these
  574|       |     * two options: (1) --filesize (2) --increment
  575|       |     */
  576|       |
  577|       |    /* Check if this private property exists in fapl */
  578|      7|    if (H5P_exist_plist(fa_plist, H5F_ACS_SKIP_EOF_CHECK_NAME) > 0)
  ------------------
  |  |  260|      7|#define H5F_ACS_SKIP_EOF_CHECK_NAME "skip_eof_check" /* Skip EOF check */
  ------------------
  |  Branch (578:9): [True: 7, False: 0]
  ------------------
  579|      7|        if (H5P_get(fa_plist, H5F_ACS_SKIP_EOF_CHECK_NAME, &skip_eof_check) < 0)
  ------------------
  |  |  260|      7|#define H5F_ACS_SKIP_EOF_CHECK_NAME "skip_eof_check" /* Skip EOF check */
  ------------------
  |  Branch (579:13): [True: 0, False: 7]
  ------------------
  580|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, FAIL, "can't get skip EOF check value");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  581|       |
  582|      7|    if (H5F_INTENT(f) & H5F_ACC_SWMR_READ) {
  ------------------
  |  |   44|      7|#define H5F_INTENT(F)                    ((F)->shared->flags)
  ------------------
                  if (H5F_INTENT(f) & H5F_ACC_SWMR_READ) {
  ------------------
  |  |   61|      7|    (H5CHECK 0x0040u) /**< Indicate that this file is open for reading in a                                  \
  ------------------
  |  Branch (582:9): [True: 0, False: 7]
  ------------------
  583|       |        /*
  584|       |         * When the file is opened for SWMR read access, skip the check if
  585|       |         * the file has a version 3 superblock capable of SWMR support
  586|       |         */
  587|      0|        if (sblock->super_vers >= HDF5_SUPERBLOCK_VERSION_3)
  ------------------
  |  |  306|      0|    3 /* With file locking and consistency flags (at least this version for SWMR support) */
  ------------------
  |  Branch (587:13): [True: 0, False: 0]
  ------------------
  588|      0|            skip_eof_check = true;
  589|      0|    }
  590|      7|    if (!skip_eof_check && initial_read) {
  ------------------
  |  Branch (590:9): [True: 7, False: 0]
  |  Branch (590:28): [True: 7, False: 0]
  ------------------
  591|      7|        if (HADDR_UNDEF == (eof = H5FD_get_eof(f->shared->lf, H5FD_MEM_DEFAULT)))
  ------------------
  |  |  336|      7|#define HADDR_UNDEF         UINT64_MAX
  ------------------
  |  Branch (591:13): [True: 0, False: 7]
  ------------------
  592|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "unable to determine file size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  593|       |
  594|       |        /* (Account for the stored EOA being absolute offset -QAK) */
  595|      7|        if ((eof + sblock->base_addr) < udata.stored_eof)
  ------------------
  |  Branch (595:13): [True: 0, False: 7]
  ------------------
  596|      0|            HGOTO_ERROR(H5E_FILE, H5E_TRUNCATED, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  597|      7|                        "truncated file: eof = %llu, sblock->base_addr = %llu, stored_eof = %llu",
  598|      7|                        (unsigned long long)eof, (unsigned long long)sblock->base_addr,
  599|      7|                        (unsigned long long)udata.stored_eof);
  600|      7|    }
  601|       |
  602|       |    /*
  603|       |     * Tell the file driver how much address space has already been
  604|       |     * allocated so that it knows how to allocate additional memory.
  605|       |     */
  606|       |
  607|       |    /* Set the ring type in the API context */
  608|      7|    H5AC_set_ring(H5AC_RING_SBE, NULL);
  ------------------
  |  |  151|      7|#define H5AC_RING_SBE    H5C_RING_SBE
  |  |  ------------------
  |  |  |  |  944|      7|#define H5C_RING_SBE       4
  |  |  ------------------
  ------------------
  609|       |
  610|       |    /* Decode the optional driver information block */
  611|      7|    if (H5_addr_defined(sblock->driver_addr)) {
  ------------------
  |  |  449|      7|#define H5_addr_defined(X)       ((X) != HADDR_UNDEF)
  |  |  ------------------
  |  |  |  |  336|      7|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  |  |  Branch (449:34): [True: 0, False: 7]
  |  |  ------------------
  ------------------
  612|      0|        H5O_drvinfo_t          *drvinfo;             /* Driver info */
  613|      0|        H5F_drvrinfo_cache_ud_t drvrinfo_udata;      /* User data for metadata callbacks */
  614|      0|        unsigned drvinfo_flags = H5AC__NO_FLAGS_SET; /* Flags used in driver info block unprotect call */
  ------------------
  |  |  314|      0|#define H5AC__NO_FLAGS_SET                H5C__NO_FLAGS_SET
  |  |  ------------------
  |  |  |  |  175|      0|#define H5C__NO_FLAGS_SET                   0x00000
  |  |  ------------------
  ------------------
  615|       |
  616|       |        /* Sanity check - driver info block should only be defined for
  617|       |         *      superblock version < 2.
  618|       |         */
  619|      0|        assert(sblock->super_vers < HDF5_SUPERBLOCK_VERSION_2);
  620|       |
  621|       |        /* Set up user data */
  622|      0|        drvrinfo_udata.f           = f;
  623|      0|        drvrinfo_udata.driver_addr = sblock->driver_addr;
  624|       |
  625|       |        /* extend EOA so we can read at least the fixed sized
  626|       |         * portion of the driver info block
  627|       |         */
  628|      0|        if (H5FD_set_eoa(f->shared->lf, H5FD_MEM_SUPER, sblock->driver_addr + H5F_DRVINFOBLOCK_HDR_SIZE) <
  ------------------
  |  |   69|      0|#define H5F_DRVINFOBLOCK_HDR_SIZE 16   /* Size of superblock driver info header */
  ------------------
  |  Branch (628:13): [True: 0, False: 0]
  ------------------
  629|      0|            0) /* will extend eoa later if required */
  630|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, FAIL, "set end of space allocation request failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  631|       |
  632|       |        /* Look up the driver info block */
  633|      0|        if (NULL == (drvinfo = (H5O_drvinfo_t *)H5AC_protect(f, H5AC_DRVRINFO, sblock->driver_addr,
  ------------------
  |  Branch (633:13): [True: 0, False: 0]
  ------------------
  634|      0|                                                             &drvrinfo_udata, rw_flags)))
  635|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTPROTECT, FAIL, "unable to load driver info block");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  636|       |
  637|       |        /* Loading the driver info block is enough to set up the right info */
  638|       |
  639|       |        /* Check if we need to rewrite the driver info block info */
  640|      0|        if (((rw_flags & H5AC__READ_ONLY_FLAG) == 0) && H5F_HAS_FEATURE(f, H5FD_FEAT_DIRTY_DRVRINFO_LOAD))
  ------------------
  |  |  322|      0|#define H5AC__READ_ONLY_FLAG              H5C__READ_ONLY_FLAG
  |  |  ------------------
  |  |  |  |  183|      0|#define H5C__READ_ONLY_FLAG                 0x00080
  |  |  ------------------
  ------------------
                      if (((rw_flags & H5AC__READ_ONLY_FLAG) == 0) && H5F_HAS_FEATURE(f, H5FD_FEAT_DIRTY_DRVRINFO_LOAD))
  ------------------
  |  |   60|      0|#define H5F_HAS_FEATURE(F, FL)           ((F)->shared->lf->feature_flags & (FL))
  |  |  ------------------
  |  |  |  Branch (60:42): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  |  Branch (640:13): [True: 0, False: 0]
  ------------------
  641|      0|            drvinfo_flags |= H5AC__DIRTIED_FLAG;
  ------------------
  |  |  316|      0|#define H5AC__DIRTIED_FLAG                H5C__DIRTIED_FLAG
  |  |  ------------------
  |  |  |  |  177|      0|#define H5C__DIRTIED_FLAG                   0x00002
  |  |  ------------------
  ------------------
  642|       |
  643|       |        /* set the pin entry flag so that the driver information block
  644|       |         * cache entry will be pinned in the cache.
  645|       |         */
  646|      0|        drvinfo_flags |= H5AC__PIN_ENTRY_FLAG;
  ------------------
  |  |  317|      0|#define H5AC__PIN_ENTRY_FLAG              H5C__PIN_ENTRY_FLAG
  |  |  ------------------
  |  |  |  |  178|      0|#define H5C__PIN_ENTRY_FLAG                 0x00004
  |  |  ------------------
  ------------------
  647|       |
  648|       |        /* Release the driver info block */
  649|      0|        if (H5AC_unprotect(f, H5AC_DRVRINFO, sblock->driver_addr, drvinfo, drvinfo_flags) < 0)
  ------------------
  |  Branch (649:13): [True: 0, False: 0]
  ------------------
  650|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTUNPROTECT, FAIL, "unable to release driver info block");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  651|       |
  652|       |        /* save a pointer to the driver information cache entry */
  653|      0|        f->shared->drvinfo = drvinfo;
  654|      0|    } /* end if */
  655|       |
  656|       |    /* (Account for the stored EOA being absolute offset -NAF) */
  657|      7|    if (H5F__set_eoa(f, H5FD_MEM_DEFAULT, udata.stored_eof - sblock->base_addr) < 0)
  ------------------
  |  Branch (657:9): [True: 0, False: 7]
  ------------------
  658|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "unable to set end-of-address marker for file");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  659|       |
  660|       |    /* Decode the optional superblock extension info */
  661|      7|    if (H5_addr_defined(sblock->ext_addr)) {
  ------------------
  |  |  449|      7|#define H5_addr_defined(X)       ((X) != HADDR_UNDEF)
  |  |  ------------------
  |  |  |  |  336|      7|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  |  |  Branch (449:34): [True: 0, False: 7]
  |  |  ------------------
  ------------------
  662|      0|        H5O_loc_t     ext_loc; /* "Object location" for superblock extension */
  663|      0|        H5O_btreek_t  btreek;  /* v1 B-tree 'K' value message from superblock extension */
  664|      0|        H5O_drvinfo_t drvinfo; /* Driver info message from superblock extension */
  665|      0|        size_t        u;       /* Local index variable */
  666|      0|        htri_t        status;  /* Status for message existing */
  667|       |
  668|       |        /* Sanity check - superblock extension should only be defined for
  669|       |         *      superblock version >= 2.
  670|       |         */
  671|      0|        if (sblock->super_vers < HDF5_SUPERBLOCK_VERSION_2)
  ------------------
  |  |  304|      0|#define HDF5_SUPERBLOCK_VERSION_2   2 /* Revised version with superblock extension and checksum */
  ------------------
  |  Branch (671:13): [True: 0, False: 0]
  ------------------
  672|      0|            HGOTO_ERROR(H5E_FILE, H5E_BADVALUE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  673|      0|                        "invalid superblock - extension message should not be defined for version < 2");
  674|       |
  675|       |        /* Check for superblock extension being located "outside" the stored
  676|       |         *      'eoa' value, which can occur with the split/multi VFD.
  677|       |         */
  678|      0|        if (H5_addr_gt(sblock->ext_addr, udata.stored_eof)) {
  ------------------
  |  |  461|      0|#define H5_addr_gt(X,Y)          ((X) != HADDR_UNDEF &&                     \
  |  |  ------------------
  |  |  |  |  336|      0|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  |  |  Branch (461:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  462|      0|                                  (Y) != HADDR_UNDEF &&                     \
  |  |  ------------------
  |  |  |  |  336|      0|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  |  |  Branch (462:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  463|      0|                                  (X) > (Y))
  |  |  ------------------
  |  |  |  Branch (463:35): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  679|       |            /* Set the 'eoa' for the object header memory type large enough
  680|       |             *  to give some room for a reasonably sized superblock extension.
  681|       |             *  (This is _rather_ a kludge -QAK)
  682|       |             */
  683|      0|            if (H5F__set_eoa(f, H5FD_MEM_OHDR, (haddr_t)(sblock->ext_addr + 1024)) < 0)
  ------------------
  |  Branch (683:17): [True: 0, False: 0]
  ------------------
  684|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "unable to set end-of-address marker for file");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  685|      0|        } /* end if */
  686|       |
  687|       |        /* Open the superblock extension */
  688|      0|        if (H5F__super_ext_open(f, sblock->ext_addr, &ext_loc) < 0)
  ------------------
  |  Branch (688:13): [True: 0, False: 0]
  ------------------
  689|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTOPENOBJ, FAIL, "unable to open file's superblock extension");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  690|       |
  691|       |        /* Check for the extension having a 'driver info' message */
  692|      0|        if ((status = H5O_msg_exists(&ext_loc, H5O_DRVINFO_ID)) < 0)
  ------------------
  |  |  226|      0|#define H5O_DRVINFO_ID     0x0014 /* Driver info message.  */
  ------------------
  |  Branch (692:13): [True: 0, False: 0]
  ------------------
  693|      0|            HGOTO_ERROR(H5E_FILE, H5E_EXISTS, FAIL, "unable to read object header");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  694|      0|        if (status) {
  ------------------
  |  Branch (694:13): [True: 0, False: 0]
  ------------------
  695|       |            /* Check for ignoring the driver info for this file */
  696|      0|            if (!udata.ignore_drvrinfo) {
  ------------------
  |  Branch (696:17): [True: 0, False: 0]
  ------------------
  697|       |
  698|       |                /* Retrieve the 'driver info' structure */
  699|      0|                if (NULL == H5O_msg_read(&ext_loc, H5O_DRVINFO_ID, &drvinfo))
  ------------------
  |  |  226|      0|#define H5O_DRVINFO_ID     0x0014 /* Driver info message.  */
  ------------------
  |  Branch (699:21): [True: 0, False: 0]
  ------------------
  700|      0|                    HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "driver info message not present");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  701|       |
  702|       |                /* Validate and decode driver information */
  703|      0|                if (H5FD_sb_load(f->shared->lf, drvinfo.name, drvinfo.buf) < 0) {
  ------------------
  |  Branch (703:21): [True: 0, False: 0]
  ------------------
  704|      0|                    H5O_msg_reset(H5O_DRVINFO_ID, &drvinfo);
  ------------------
  |  |  226|      0|#define H5O_DRVINFO_ID     0x0014 /* Driver info message.  */
  ------------------
  705|      0|                    HGOTO_ERROR(H5E_FILE, H5E_CANTDECODE, FAIL, "unable to decode driver information");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  706|      0|                } /* end if */
  707|       |
  708|       |                /* Reset driver info message */
  709|      0|                H5O_msg_reset(H5O_DRVINFO_ID, &drvinfo);
  ------------------
  |  |  226|      0|#define H5O_DRVINFO_ID     0x0014 /* Driver info message.  */
  ------------------
  710|       |
  711|      0|                assert(false == f->shared->drvinfo_sb_msg_exists);
  712|      0|                f->shared->drvinfo_sb_msg_exists = true;
  713|      0|            } /* end else */
  714|      0|        }     /* end if */
  715|       |
  716|       |        /* Read in the shared OH message information if there is any */
  717|      0|        if (H5SM_get_info(&ext_loc, c_plist) < 0)
  ------------------
  |  Branch (717:13): [True: 0, False: 0]
  ------------------
  718|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "unable to read SOHM table information");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  719|       |
  720|       |        /* Check for the extension having a 'v1 B-tree "K"' message */
  721|      0|        if ((status = H5O_msg_exists(&ext_loc, H5O_BTREEK_ID)) < 0)
  ------------------
  |  |  225|      0|#define H5O_BTREEK_ID      0x0013 /* v1 B-tree 'K' values message.  */
  ------------------
  |  Branch (721:13): [True: 0, False: 0]
  ------------------
  722|      0|            HGOTO_ERROR(H5E_FILE, H5E_EXISTS, FAIL, "unable to read object header");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  723|      0|        if (status) {
  ------------------
  |  Branch (723:13): [True: 0, False: 0]
  ------------------
  724|       |            /* Retrieve the 'v1 B-tree "K"' structure */
  725|      0|            if (NULL == H5O_msg_read(&ext_loc, H5O_BTREEK_ID, &btreek))
  ------------------
  |  |  225|      0|#define H5O_BTREEK_ID      0x0013 /* v1 B-tree 'K' values message.  */
  ------------------
  |  Branch (725:17): [True: 0, False: 0]
  ------------------
  726|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "v1 B-tree 'K' info message not present");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  727|       |
  728|       |            /* Set non-default v1 B-tree 'K' value info from file */
  729|      0|            sblock->btree_k[H5B_CHUNK_ID] = btreek.btree_k[H5B_CHUNK_ID];
  730|      0|            sblock->btree_k[H5B_SNODE_ID] = btreek.btree_k[H5B_SNODE_ID];
  731|      0|            sblock->sym_leaf_k            = btreek.sym_leaf_k;
  732|       |
  733|       |            /* Set non-default v1 B-tree 'K' values in the property list */
  734|      0|            if (H5P_set(c_plist, H5F_CRT_BTREE_RANK_NAME, btreek.btree_k) < 0)
  ------------------
  |  |  203|      0|#define H5F_CRT_BTREE_RANK_NAME    "btree_rank"    /* 1/2 rank for btree internal nodes    */
  ------------------
  |  Branch (734:17): [True: 0, False: 0]
  ------------------
  735|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "unable to set rank for btree internal nodes");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  736|      0|            if (H5P_set(c_plist, H5F_CRT_SYM_LEAF_NAME, &btreek.sym_leaf_k) < 0)
  ------------------
  |  |  201|      0|#define H5F_CRT_SYM_LEAF_NAME      "symbol_leaf" /* 1/2 rank for symbol table leaf nodes */
  ------------------
  |  Branch (736:17): [True: 0, False: 0]
  ------------------
  737|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "unable to set rank for symbol table leaf nodes");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  738|      0|        } /* end if */
  739|       |
  740|       |        /* Check for the extension having a 'free-space manager info' message */
  741|      0|        if ((status = H5O_msg_exists(&ext_loc, H5O_FSINFO_ID)) < 0)
  ------------------
  |  |  229|      0|#define H5O_FSINFO_ID      0x0017 /* File space info message.  */
  ------------------
  |  Branch (741:13): [True: 0, False: 0]
  ------------------
  742|      0|            HGOTO_ERROR(H5E_FILE, H5E_EXISTS, FAIL, "unable to read object header");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  743|      0|        if (status) {
  ------------------
  |  Branch (743:13): [True: 0, False: 0]
  ------------------
  744|      0|            uint8_t flags; /* Message flags */
  745|       |
  746|       |            /* Get message flags */
  747|      0|            if (H5O_msg_get_flags(&ext_loc, H5O_FSINFO_ID, &flags) < 0)
  ------------------
  |  |  229|      0|#define H5O_FSINFO_ID      0x0017 /* File space info message.  */
  ------------------
  |  Branch (747:17): [True: 0, False: 0]
  ------------------
  748|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  749|      0|                            "unable to message flags for free-space manager info message");
  750|       |
  751|       |            /* If message is NOT marked "unknown"--set up file space info  */
  752|      0|            if (!(flags & H5O_MSG_FLAG_WAS_UNKNOWN)) {
  ------------------
  |  |   77|      0|#define H5O_MSG_FLAG_WAS_UNKNOWN                        0x20u
  ------------------
  |  Branch (752:17): [True: 0, False: 0]
  ------------------
  753|      0|                H5O_fsinfo_t fsinfo; /* File space info message from superblock extension */
  754|       |
  755|       |                /* f->shared->null_fsm_addr: Whether to drop free-space to the floor */
  756|       |                /* The h5clear tool uses this property to tell the library
  757|       |                 * to drop free-space to the floor
  758|       |                 */
  759|      0|                if (H5P_exist_plist(fa_plist, H5F_ACS_NULL_FSM_ADDR_NAME) > 0)
  ------------------
  |  |  258|      0|#define H5F_ACS_NULL_FSM_ADDR_NAME "null_fsm_addr" /* Nullify addresses of free-space managers */
  ------------------
  |  Branch (759:21): [True: 0, False: 0]
  ------------------
  760|      0|                    if (H5P_get(fa_plist, H5F_ACS_NULL_FSM_ADDR_NAME, &f->shared->null_fsm_addr) < 0)
  ------------------
  |  |  258|      0|#define H5F_ACS_NULL_FSM_ADDR_NAME "null_fsm_addr" /* Nullify addresses of free-space managers */
  ------------------
  |  Branch (760:25): [True: 0, False: 0]
  ------------------
  761|      0|                        HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  762|      0|                                    "can't get clearance for persisting fsm addr");
  763|       |
  764|       |                /* Retrieve the 'file space info' structure */
  765|      0|                if (NULL == H5O_msg_read(&ext_loc, H5O_FSINFO_ID, &fsinfo))
  ------------------
  |  |  229|      0|#define H5O_FSINFO_ID      0x0017 /* File space info message.  */
  ------------------
  |  Branch (765:21): [True: 0, False: 0]
  ------------------
  766|      0|                    HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "unable to get free-space manager info message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  767|       |
  768|       |                /* Version bounds check */
  769|      0|                if (H5O_fsinfo_check_version(H5F_HIGH_BOUND(f), &fsinfo) < 0)
  ------------------
  |  |   42|      0|#define H5F_HIGH_BOUND(F)                ((F)->shared->high_bound)
  ------------------
  |  Branch (769:21): [True: 0, False: 0]
  ------------------
  770|      0|                    HGOTO_ERROR(H5E_FILE, H5E_BADRANGE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  771|      0|                                "File space info message's version out of bounds");
  772|       |
  773|       |                /* Update changed values */
  774|      0|                if (f->shared->fs_version != fsinfo.version)
  ------------------
  |  Branch (774:21): [True: 0, False: 0]
  ------------------
  775|      0|                    f->shared->fs_version = fsinfo.version;
  776|      0|                if (f->shared->fs_strategy != fsinfo.strategy) {
  ------------------
  |  Branch (776:21): [True: 0, False: 0]
  ------------------
  777|      0|                    f->shared->fs_strategy = fsinfo.strategy;
  778|       |
  779|       |                    /* Set non-default strategy in the property list */
  780|      0|                    if (H5P_set(c_plist, H5F_CRT_FILE_SPACE_STRATEGY_NAME, &fsinfo.strategy) < 0)
  ------------------
  |  |  214|      0|#define H5F_CRT_FILE_SPACE_STRATEGY_NAME  "file_space_strategy"  /* File space handling strategy */
  ------------------
  |  Branch (780:25): [True: 0, False: 0]
  ------------------
  781|      0|                        HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "unable to set file space strategy");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  782|      0|                } /* end if */
  783|      0|                if (f->shared->fs_persist != fsinfo.persist) {
  ------------------
  |  Branch (783:21): [True: 0, False: 0]
  ------------------
  784|      0|                    f->shared->fs_persist = fsinfo.persist;
  785|       |
  786|       |                    /* Set non-default strategy in the property list */
  787|      0|                    if (H5P_set(c_plist, H5F_CRT_FREE_SPACE_PERSIST_NAME, &fsinfo.persist) < 0)
  ------------------
  |  |  215|      0|#define H5F_CRT_FREE_SPACE_PERSIST_NAME   "free_space_persist"   /* Free-space persisting status */
  ------------------
  |  Branch (787:25): [True: 0, False: 0]
  ------------------
  788|      0|                        HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "unable to set file space strategy");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  789|      0|                } /* end if */
  790|      0|                if (f->shared->fs_threshold != fsinfo.threshold) {
  ------------------
  |  Branch (790:21): [True: 0, False: 0]
  ------------------
  791|      0|                    f->shared->fs_threshold = fsinfo.threshold;
  792|       |
  793|       |                    /* Set non-default threshold in the property list */
  794|      0|                    if (H5P_set(c_plist, H5F_CRT_FREE_SPACE_THRESHOLD_NAME, &fsinfo.threshold) < 0)
  ------------------
  |  |  216|      0|#define H5F_CRT_FREE_SPACE_THRESHOLD_NAME "free_space_threshold" /* Free space section threshold */
  ------------------
  |  Branch (794:25): [True: 0, False: 0]
  ------------------
  795|      0|                        HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "unable to set file space strategy");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  796|      0|                } /* end if */
  797|       |
  798|      0|                if (f->shared->fs_page_size < H5F_FILE_SPACE_PAGE_SIZE_MIN)
  ------------------
  |  |  339|      0|#define H5F_FILE_SPACE_PAGE_SIZE_MIN 512
  ------------------
  |  Branch (798:21): [True: 0, False: 0]
  ------------------
  799|      0|                    HGOTO_ERROR(H5E_FILE, H5E_BADVALUE, FAIL, "file space page size too small");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  800|      0|                if (fsinfo.page_size < H5F_FILE_SPACE_PAGE_SIZE_MIN)
  ------------------
  |  |  339|      0|#define H5F_FILE_SPACE_PAGE_SIZE_MIN 512
  ------------------
  |  Branch (800:21): [True: 0, False: 0]
  ------------------
  801|      0|                    HGOTO_ERROR(H5E_FILE, H5E_BADVALUE, FAIL, "file space page size too small");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  802|       |
  803|      0|                if (f->shared->fs_page_size != fsinfo.page_size) {
  ------------------
  |  Branch (803:21): [True: 0, False: 0]
  ------------------
  804|      0|                    f->shared->fs_page_size = fsinfo.page_size;
  805|       |
  806|       |                    /* Set file space page size in the property list */
  807|      0|                    if (H5P_set(c_plist, H5F_CRT_FILE_SPACE_PAGE_SIZE_NAME, &fsinfo.page_size) < 0)
  ------------------
  |  |  217|      0|#define H5F_CRT_FILE_SPACE_PAGE_SIZE_NAME "file_space_page_size" /* File space page size */
  ------------------
  |  Branch (807:25): [True: 0, False: 0]
  ------------------
  808|      0|                        HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "unable to set file space page size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  809|      0|                } /* end if */
  810|      0|                if (f->shared->pgend_meta_thres != fsinfo.pgend_meta_thres)
  ------------------
  |  Branch (810:21): [True: 0, False: 0]
  ------------------
  811|       |                    /* Initialize page end meta threshold */
  812|      0|                    f->shared->pgend_meta_thres = fsinfo.pgend_meta_thres;
  813|       |
  814|      0|                if (f->shared->eoa_fsm_fsalloc != fsinfo.eoa_pre_fsm_fsalloc)
  ------------------
  |  Branch (814:21): [True: 0, False: 0]
  ------------------
  815|      0|                    f->shared->eoa_fsm_fsalloc = fsinfo.eoa_pre_fsm_fsalloc;
  816|       |
  817|       |                /*
  818|       |                 * If the following two conditions are true:
  819|       |                 *       (1) skipping EOF check (skip_eof_check)
  820|       |                 *       (2) dropping free-space to the floor (f->shared->null_fsm_addr)
  821|       |                 *  skip the asserts as "eoa_fsm_fsalloc" may be undefined
  822|       |                 *  for a crashed file with persistent free space managers.
  823|       |                 *  The above two conditions are enabled when the tool h5clear --increment
  824|       |                 *  option is used.
  825|       |                 */
  826|      0|                if (!skip_eof_check && !f->shared->null_fsm_addr)
  ------------------
  |  Branch (826:21): [True: 0, False: 0]
  |  Branch (826:40): [True: 0, False: 0]
  ------------------
  827|      0|                    assert((!f->shared->fs_persist) || (f->shared->eoa_fsm_fsalloc != HADDR_UNDEF));
  828|       |
  829|       |                /*
  830|       |                 * A crashed file with persistent free-space managers may have
  831|       |                 * undefined f->shared->eoa_fsm_fsalloc.
  832|       |                 * eoa_fsm_fsalloc is the final eoa which is saved in the free-space
  833|       |                 * info message's eoa_pre_fsm_fsalloc field for backward compatibility.
  834|       |                 * If the tool h5clear sets to dropping free-space to the floor
  835|       |                 * as indicated by f->shared->null_fsm_addr, we are not going to
  836|       |                 * perform actions to settle things on file close in the routines
  837|       |                 * H5MF_settle_meta_data_fsm() and H5MF_settle_raw_data_fsm().
  838|       |                 *
  839|       |                 * We remove the following check:
  840|       |                 *   if((f->shared->eoa_pre_fsm_fsalloc != HADDR_UNDEF || null_fsm_addr) &&
  841|       |                 *       (H5F_INTENT(f) & H5F_ACC_RDWR))
  842|       |                 *      f->shared->first_alloc_dealloc = true;
  843|       |                 *
  844|       |                 * Because:
  845|       |                 * --there is no more f->shared->eoa_pre_fsm_fsalloc and
  846|       |                 *   f->shared->first_alloc_dealloc
  847|       |                 * --the check for null_fsm_addr is directly done in H5MF_settle_meta_data_fsm()
  848|       |                 *   and H5MF_settle_raw_data_fsm()
  849|       |                 */
  850|       |
  851|      0|                f->shared->fs_addr[0] = HADDR_UNDEF;
  ------------------
  |  |  336|      0|#define HADDR_UNDEF         UINT64_MAX
  ------------------
  852|      0|                for (u = 1; u < NELMTS(f->shared->fs_addr); u++)
  ------------------
  |  |  288|      0|#define NELMTS(X) (sizeof(X) / sizeof(X[0]))
  ------------------
  |  Branch (852:29): [True: 0, False: 0]
  ------------------
  853|      0|                    f->shared->fs_addr[u] = fsinfo.fs_addr[u - 1];
  854|       |
  855|       |                /* If the following two conditions are true:
  856|       |                 *      (1) file is persisting free-space
  857|       |                 *      (2) dropping free-space to the floor (f->shared->null_fsm_addr)
  858|       |                 * nullify the addresses of the FSMs
  859|       |                 */
  860|      0|                if (f->shared->fs_persist && f->shared->null_fsm_addr)
  ------------------
  |  Branch (860:21): [True: 0, False: 0]
  |  Branch (860:46): [True: 0, False: 0]
  ------------------
  861|      0|                    for (u = 0; u < NELMTS(fsinfo.fs_addr); u++)
  ------------------
  |  |  288|      0|#define NELMTS(X) (sizeof(X) / sizeof(X[0]))
  ------------------
  |  Branch (861:33): [True: 0, False: 0]
  ------------------
  862|      0|                        f->shared->fs_addr[u] = fsinfo.fs_addr[u] = HADDR_UNDEF;
  ------------------
  |  |  336|      0|#define HADDR_UNDEF         UINT64_MAX
  ------------------
  863|       |
  864|       |                /* For fsinfo.mapped: remove the FSINFO message from the superblock extension
  865|       |                   and write a new message to the extension */
  866|       |                /* For f->shared->null_fsm_addr: just update FSINFO message in the superblock extension */
  867|      0|                if (((fsinfo.mapped || f->shared->null_fsm_addr) && (rw_flags & H5AC__READ_ONLY_FLAG) == 0)) {
  ------------------
  |  |  322|      0|#define H5AC__READ_ONLY_FLAG              H5C__READ_ONLY_FLAG
  |  |  ------------------
  |  |  |  |  183|      0|#define H5C__READ_ONLY_FLAG                 0x00080
  |  |  ------------------
  ------------------
  |  Branch (867:23): [True: 0, False: 0]
  |  Branch (867:40): [True: 0, False: 0]
  |  Branch (867:69): [True: 0, False: 0]
  ------------------
  868|       |
  869|       |                    /* Do the same kluge until we know for sure.  VC */
  870|      0|#if 1 /* bug fix test code -- tidy this up if all goes well */ /* JRM */
  871|       |                    /* KLUGE ALERT!!
  872|       |                     *
  873|       |                     * H5F__super_ext_write_msg() expects f->shared->sblock to
  874|       |                     * be set -- verify that it is NULL, and then set it.
  875|       |                     * Set it back to NULL when we are done.
  876|       |                     */
  877|      0|                    assert(f->shared->sblock == NULL);
  878|      0|                    f->shared->sblock = sblock;
  879|      0|#endif /* JRM */
  880|       |
  881|      0|                    if (f->shared->null_fsm_addr) {
  ------------------
  |  Branch (881:25): [True: 0, False: 0]
  ------------------
  882|      0|                        if (H5F__super_ext_write_msg(f, H5O_FSINFO_ID, &fsinfo, false,
  ------------------
  |  |  229|      0|#define H5O_FSINFO_ID      0x0017 /* File space info message.  */
  ------------------
  |  Branch (882:29): [True: 0, False: 0]
  ------------------
  883|      0|                                                     H5O_MSG_FLAG_MARK_IF_UNKNOWN) < 0)
  ------------------
  |  |   76|      0|#define H5O_MSG_FLAG_MARK_IF_UNKNOWN                    0x10u
  ------------------
  884|      0|                            HGOTO_ERROR(H5E_FILE, H5E_WRITEERROR, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  885|      0|                                        "error in writing fsinfo message to superblock extension");
  886|      0|                    }
  887|      0|                    else {
  888|      0|                        if (H5F__super_ext_remove_msg(f, H5O_FSINFO_ID) < 0) {
  ------------------
  |  |  229|      0|#define H5O_FSINFO_ID      0x0017 /* File space info message.  */
  ------------------
  |  Branch (888:29): [True: 0, False: 0]
  ------------------
  889|      0|#if 1 /* bug fix test code -- tidy this up if all goes well */ /* JRM */
  890|      0|                            f->shared->sblock = NULL;
  891|      0|#endif /* JRM */
  892|       |
  893|      0|                            HGOTO_ERROR(H5E_FILE, H5E_CANTDELETE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  894|      0|                                        "error in removing message from superblock extension");
  895|      0|                        }
  896|       |
  897|      0|                        if (H5F__super_ext_write_msg(f, H5O_FSINFO_ID, &fsinfo, true,
  ------------------
  |  |  229|      0|#define H5O_FSINFO_ID      0x0017 /* File space info message.  */
  ------------------
  |  Branch (897:29): [True: 0, False: 0]
  ------------------
  898|      0|                                                     H5O_MSG_FLAG_MARK_IF_UNKNOWN) < 0)
  ------------------
  |  |   76|      0|#define H5O_MSG_FLAG_MARK_IF_UNKNOWN                    0x10u
  ------------------
  899|      0|                            HGOTO_ERROR(H5E_FILE, H5E_WRITEERROR, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  900|      0|                                        "error in writing fsinfo message to superblock extension");
  901|      0|                    }
  902|      0|#if 1 /* bug fix test code -- tidy this up if all goes well */ /* JRM */
  903|      0|                    f->shared->sblock = NULL;
  904|      0|#endif /* JRM */
  905|       |
  906|      0|                } /* end if */
  907|      0|            }     /* end if not marked "unknown" */
  908|      0|        }         /* end if */
  909|       |
  910|       |        /* Check for the extension having a 'metadata cache image' message */
  911|      0|        if ((status = H5O_msg_exists(&ext_loc, H5O_MDCI_MSG_ID)) < 0)
  ------------------
  |  |  230|      0|#define H5O_MDCI_MSG_ID    0x0018 /* Metadata Cache Image Message */
  ------------------
  |  Branch (911:13): [True: 0, False: 0]
  ------------------
  912|      0|            HGOTO_ERROR(H5E_FILE, H5E_EXISTS, FAIL, "unable to read object header");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  913|      0|        if (status) {
  ------------------
  |  Branch (913:13): [True: 0, False: 0]
  ------------------
  914|      0|            bool       rw = ((rw_flags & H5AC__READ_ONLY_FLAG) == 0);
  ------------------
  |  |  322|      0|#define H5AC__READ_ONLY_FLAG              H5C__READ_ONLY_FLAG
  |  |  ------------------
  |  |  |  |  183|      0|#define H5C__READ_ONLY_FLAG                 0x00080
  |  |  ------------------
  ------------------
  915|      0|            H5O_mdci_t mdci_msg;
  916|       |
  917|       |            /* if the metadata cache image superblock extension message exists,
  918|       |             * read its contents and pass the data on to the metadata cache.
  919|       |             * Given this data, the cache will load and decode the metadata
  920|       |             * cache image block, decoded it and load its contents into the
  921|       |             * the cache on the test protect call.
  922|       |             *
  923|       |             * Further, if the file is opened R/W, the metadata cache will
  924|       |             * delete the metadata cache image superblock extension and free
  925|       |             * the cache image block.  Don't do this now as f->shared
  926|       |             * is not fully setup, which complicates matters.
  927|       |             */
  928|       |
  929|       |            /* Retrieve the 'metadata cache image message' structure */
  930|      0|            if (NULL == H5O_msg_read(&ext_loc, H5O_MDCI_MSG_ID, &mdci_msg))
  ------------------
  |  |  230|      0|#define H5O_MDCI_MSG_ID    0x0018 /* Metadata Cache Image Message */
  ------------------
  |  Branch (930:17): [True: 0, False: 0]
  ------------------
  931|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "unable to get metadata cache image message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  932|       |
  933|       |            /* Indicate to the cache that there's an image to load on first protect call */
  934|      0|            if (H5AC_load_cache_image_on_next_protect(f, mdci_msg.addr, mdci_msg.size, rw) < 0)
  ------------------
  |  Branch (934:17): [True: 0, False: 0]
  ------------------
  935|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTLOAD, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  936|      0|                            "call to H5AC_load_cache_image_on_next_protect failed");
  937|      0|        } /* end if */
  938|       |
  939|       |        /* Close superblock extension */
  940|      0|        if (H5F__super_ext_close(f, &ext_loc, false) < 0)
  ------------------
  |  Branch (940:13): [True: 0, False: 0]
  ------------------
  941|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTCLOSEOBJ, FAIL, "unable to close file's superblock extension");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  942|      0|    } /* end if */
  943|       |
  944|       |    /* Update the driver info if VFD indicated to do so */
  945|       |    /* (NOTE: only for later versions of superblock, earlier versions are handled
  946|       |     *          earlier in this routine.
  947|       |     */
  948|      7|    if (((rw_flags & H5AC__READ_ONLY_FLAG) == 0) && sblock->super_vers >= HDF5_SUPERBLOCK_VERSION_2 &&
  ------------------
  |  |  322|      7|#define H5AC__READ_ONLY_FLAG              H5C__READ_ONLY_FLAG
  |  |  ------------------
  |  |  |  |  183|      7|#define H5C__READ_ONLY_FLAG                 0x00080
  |  |  ------------------
  ------------------
                  if (((rw_flags & H5AC__READ_ONLY_FLAG) == 0) && sblock->super_vers >= HDF5_SUPERBLOCK_VERSION_2 &&
  ------------------
  |  |  304|      7|#define HDF5_SUPERBLOCK_VERSION_2   2 /* Revised version with superblock extension and checksum */
  ------------------
  |  Branch (948:9): [True: 0, False: 7]
  |  Branch (948:53): [True: 0, False: 0]
  ------------------
  949|      7|        H5_addr_defined(sblock->ext_addr)) {
  ------------------
  |  |  449|      0|#define H5_addr_defined(X)       ((X) != HADDR_UNDEF)
  |  |  ------------------
  |  |  |  |  336|      0|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  |  |  Branch (449:34): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  950|       |        /* Check for modifying the driver info when opening the file */
  951|      0|        if (H5F_HAS_FEATURE(f, H5FD_FEAT_DIRTY_DRVRINFO_LOAD)) {
  ------------------
  |  |   60|      0|#define H5F_HAS_FEATURE(F, FL)           ((F)->shared->lf->feature_flags & (FL))
  |  |  ------------------
  |  |  |  Branch (60:42): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  952|      0|            size_t driver_size; /* Size of driver info block (bytes) */
  953|       |
  954|       |            /* Check for driver info message */
  955|      0|            H5_CHECKED_ASSIGN(driver_size, size_t, H5FD_sb_size(f->shared->lf), hsize_t);
  ------------------
  |  |  977|      0|    do {                                                                                                     \
  |  |  978|      0|        (dst) = (dsttype)(src);                                                                              \
  |  |  979|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (979:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  956|      0|            if (driver_size > 0) {
  ------------------
  |  Branch (956:17): [True: 0, False: 0]
  ------------------
  957|      0|                H5O_drvinfo_t drvinfo;                         /* Driver info */
  958|      0|                uint8_t       dbuf[H5F_MAX_DRVINFOBLOCK_SIZE]; /* Driver info block encoding buffer */
  959|       |
  960|       |                /* Sanity check */
  961|      0|                assert(driver_size <= H5F_MAX_DRVINFOBLOCK_SIZE);
  962|       |
  963|       |                /* Encode driver-specific data */
  964|      0|                if (H5FD_sb_encode(f->shared->lf, drvinfo.name, dbuf) < 0)
  ------------------
  |  Branch (964:21): [True: 0, False: 0]
  ------------------
  965|      0|                    HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, FAIL, "unable to encode driver information");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  966|       |
  967|       |                /* Set the driver info information for the superblock extension */
  968|      0|                drvinfo.len = driver_size;
  969|      0|                drvinfo.buf = dbuf;
  970|       |
  971|       |                /* Write driver info information to the superblock extension */
  972|       |
  973|      0|#if 1 /* bug fix test code -- tidy this up if all goes well */ /* JRM */
  974|       |                /* KLUGE ALERT!!
  975|       |                 *
  976|       |                 * H5F__super_ext_write_msg() expects f->shared->sblock to
  977|       |                 * be set -- verify that it is NULL, and then set it.
  978|       |                 * Set it back to NULL when we are done.
  979|       |                 */
  980|      0|                assert(f->shared->sblock == NULL);
  981|      0|                f->shared->sblock = sblock;
  982|      0|#endif /* JRM */
  983|      0|                if (H5F__super_ext_write_msg(f, H5O_DRVINFO_ID, &drvinfo, false, H5O_MSG_NO_FLAGS_SET) < 0)
  ------------------
  |  |  226|      0|#define H5O_DRVINFO_ID     0x0014 /* Driver info message.  */
  ------------------
                              if (H5F__super_ext_write_msg(f, H5O_DRVINFO_ID, &drvinfo, false, H5O_MSG_NO_FLAGS_SET) < 0)
  ------------------
  |  |   71|      0|#define H5O_MSG_NO_FLAGS_SET                            0x00u
  ------------------
  |  Branch (983:21): [True: 0, False: 0]
  ------------------
  984|      0|                    HGOTO_ERROR(H5E_FILE, H5E_WRITEERROR, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  985|      0|                                "error in writing message to superblock extension");
  986|       |
  987|      0|#if 1 /* bug fix test code -- tidy this up if all goes well */ /* JRM */
  988|      0|                f->shared->sblock = NULL;
  989|      0|#endif /* JRM */
  990|       |
  991|      0|            } /* end if */
  992|      0|        }     /* end if */
  993|       |        /* Check for eliminating the driver info block */
  994|      0|        else if (H5F_HAS_FEATURE(f, H5FD_FEAT_IGNORE_DRVRINFO)) {
  ------------------
  |  |   60|      0|#define H5F_HAS_FEATURE(F, FL)           ((F)->shared->lf->feature_flags & (FL))
  |  |  ------------------
  |  |  |  Branch (60:42): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  995|       |            /* Remove the driver info message from the superblock extension */
  996|      0|            if (H5F__super_ext_remove_msg(f, H5O_DRVINFO_ID) < 0)
  ------------------
  |  |  226|      0|#define H5O_DRVINFO_ID     0x0014 /* Driver info message.  */
  ------------------
  |  Branch (996:17): [True: 0, False: 0]
  ------------------
  997|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTRELEASE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  998|      0|                            "error in removing message from superblock extension");
  999|       |
 1000|       |            /* Check if the superblock extension was removed */
 1001|      0|            if (!H5_addr_defined(sblock->ext_addr))
  ------------------
  |  |  449|      0|#define H5_addr_defined(X)       ((X) != HADDR_UNDEF)
  |  |  ------------------
  |  |  |  |  336|      0|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  ------------------
  |  Branch (1001:17): [True: 0, False: 0]
  ------------------
 1002|      0|                sblock_flags |= H5AC__DIRTIED_FLAG;
  ------------------
  |  |  316|      0|#define H5AC__DIRTIED_FLAG                H5C__DIRTIED_FLAG
  |  |  ------------------
  |  |  |  |  177|      0|#define H5C__DIRTIED_FLAG                   0x00002
  |  |  ------------------
  ------------------
 1003|      0|        } /* end if */
 1004|      0|    }     /* end if */
 1005|       |
 1006|       |    /* Set the pointer to the pinned superblock */
 1007|      7|    f->shared->sblock = sblock;
 1008|       |
 1009|       |    /* Set the page aggregation mode */
 1010|      7|    if (H5F__set_paged_aggr(f, (bool)H5F_PAGED_AGGR(f)) < 0)
  ------------------
  |  |  357|      7|#define H5F_PAGED_AGGR(F)           (F->shared->fs_strategy == H5F_FSPACE_STRATEGY_PAGE && F->shared->fs_page_size)
  |  |  ------------------
  |  |  |  Branch (357:38): [True: 0, False: 7]
  |  |  |  Branch (357:92): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  |  Branch (1010:9): [True: 0, False: 7]
  ------------------
 1011|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "failed to set paged_aggr status for file driver");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1012|       |
 1013|     10|done:
 1014|       |    /* Reset the ring in the API context */
 1015|     10|    if (orig_ring != H5AC_RING_INV)
  ------------------
  |  |  147|     10|#define H5AC_RING_INV    H5C_RING_UNDEFINED
  |  |  ------------------
  |  |  |  |  940|     10|#define H5C_RING_UNDEFINED 0 /* shouldn't appear in the cache */
  |  |  ------------------
  ------------------
  |  Branch (1015:9): [True: 7, False: 3]
  ------------------
 1016|      7|        H5AC_set_ring(orig_ring, NULL);
 1017|       |
 1018|       |    /* Release the superblock */
 1019|     10|    if (sblock && H5AC_unprotect(f, H5AC_SUPERBLOCK, (haddr_t)0, sblock, sblock_flags) < 0)
  ------------------
  |  Branch (1019:9): [True: 7, False: 3]
  |  Branch (1019:19): [True: 0, False: 7]
  ------------------
 1020|      0|        HDONE_ERROR(H5E_FILE, H5E_CANTUNPROTECT, FAIL, "unable to close superblock");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1021|       |
 1022|       |    /* If we have failed, make sure no entries are left in the
 1023|       |     * metadata cache, so that it can be shut down and discarded.
 1024|       |     */
 1025|     10|    if (ret_value < 0) {
  ------------------
  |  Branch (1025:9): [True: 3, False: 7]
  ------------------
 1026|       |        /* Unpin and discard drvinfo cache entry */
 1027|      3|        if (f->shared->drvinfo) {
  ------------------
  |  Branch (1027:13): [True: 0, False: 3]
  ------------------
 1028|      0|            if (H5AC_unpin_entry(f->shared->drvinfo) < 0)
  ------------------
  |  Branch (1028:17): [True: 0, False: 0]
  ------------------
 1029|      0|                HDONE_ERROR(H5E_FILE, H5E_CANTUNPIN, FAIL, "unable to unpin driver info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1030|       |
 1031|       |            /* Evict the driver info block from the cache */
 1032|      0|            if (sblock) {
  ------------------
  |  Branch (1032:17): [True: 0, False: 0]
  ------------------
 1033|      0|                if (H5AC_expunge_entry(f, H5AC_DRVRINFO, sblock->driver_addr, H5AC__NO_FLAGS_SET) < 0)
  ------------------
  |  |  314|      0|#define H5AC__NO_FLAGS_SET                H5C__NO_FLAGS_SET
  |  |  ------------------
  |  |  |  |  175|      0|#define H5C__NO_FLAGS_SET                   0x00000
  |  |  ------------------
  ------------------
  |  Branch (1033:21): [True: 0, False: 0]
  ------------------
 1034|      0|                    HDONE_ERROR(H5E_FILE, H5E_CANTEXPUNGE, FAIL, "unable to expunge driver info block");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1035|      0|                f->shared->drvinfo = NULL;
 1036|      0|            }
 1037|      0|        } /* end if */
 1038|       |
 1039|       |        /* Unpin & discard superblock */
 1040|      3|        if (sblock) {
  ------------------
  |  Branch (1040:13): [True: 0, False: 3]
  ------------------
 1041|       |            /* Unpin superblock in cache */
 1042|      0|            if (H5AC_unpin_entry(sblock) < 0)
  ------------------
  |  Branch (1042:17): [True: 0, False: 0]
  ------------------
 1043|      0|                HDONE_ERROR(H5E_FILE, H5E_CANTUNPIN, FAIL, "unable to unpin superblock");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1044|       |
 1045|       |            /* Evict the superblock from the cache */
 1046|      0|            if (H5AC_expunge_entry(f, H5AC_SUPERBLOCK, (haddr_t)0, H5AC__NO_FLAGS_SET) < 0)
  ------------------
  |  |  314|      0|#define H5AC__NO_FLAGS_SET                H5C__NO_FLAGS_SET
  |  |  ------------------
  |  |  |  |  175|      0|#define H5C__NO_FLAGS_SET                   0x00000
  |  |  ------------------
  ------------------
  |  Branch (1046:17): [True: 0, False: 0]
  ------------------
 1047|      0|                HDONE_ERROR(H5E_FILE, H5E_CANTEXPUNGE, FAIL, "unable to expunge superblock");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1048|      0|            f->shared->sblock = NULL;
 1049|      0|        } /* end if */
 1050|      3|    }     /* end if */
 1051|       |
 1052|     10|    FUNC_LEAVE_NOAPI_TAG(ret_value)
  ------------------
  |  | 1593|     10|    ;                                                                                                        \
  |  | 1594|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1595|     10|    H5AC_tag(prev_tag, NULL);                                                                                \
  |  | 1596|     10|    return (ret_value);                                                                                      \
  |  | 1597|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1053|      7|} /* end H5F__super_read() */
H5F__super_free:
 1593|      7|{
 1594|      7|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|      7|    {                                                                                                        \
  |  | 1467|      7|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|      7|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|      7|        {
  ------------------
 1595|       |
 1596|       |    /* Sanity check */
 1597|      7|    assert(sblock);
 1598|       |
 1599|       |    /* Free root group symbol table entry, if any */
 1600|      7|    sblock->root_ent = (H5G_entry_t *)H5MM_xfree(sblock->root_ent);
 1601|       |
 1602|       |    /* Free superblock */
 1603|      7|    sblock = (H5F_super_t *)H5FL_FREE(H5F_super_t, sblock);
  ------------------
  |  |   81|      7|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      7|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 1604|       |
 1605|      7|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1606|      7|} /* H5F__super_free() */

H5Fsuper_cache.c:H5F__cache_superblock_get_initial_load_size:
  303|      7|{
  304|      7|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|      7|    {                                                                                                        \
  |  | 1467|      7|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|      7|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|      7|        {
  ------------------
  305|       |
  306|      7|    assert(image_len);
  307|       |
  308|       |    /* Set the initial image length size */
  309|      7|    *image_len = H5F_SUPERBLOCK_SPEC_READ_SIZE;
  ------------------
  |  |  136|      7|#define H5F_SUPERBLOCK_SPEC_READ_SIZE (H5F_SUPERBLOCK_FIXED_SIZE + H5F_SUPERBLOCK_VARLEN_SIZE(2, 8, 8))
  |  |  ------------------
  |  |  |  |   75|      7|#define H5F_SUPERBLOCK_FIXED_SIZE (H5F_SIGNATURE_LEN + 1) /* superblock version */
  |  |  |  |  ------------------
  |  |  |  |  |  |  299|      7|#define H5F_SIGNATURE_LEN 8
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define H5F_SUPERBLOCK_SPEC_READ_SIZE (H5F_SUPERBLOCK_FIXED_SIZE + H5F_SUPERBLOCK_VARLEN_SIZE(2, 8, 8))
  |  |  ------------------
  |  |  |  |  125|      7|    ((v == 0 ? H5F_SUPERBLOCK_VARLEN_SIZE_V0(sizeof_addr, sizeof_size) : 0) +                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  101|      0|    (H5F_SUPERBLOCK_VARLEN_SIZE_COMMON             /* Common variable-length info */                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|      0|    (2    /* freespace, and root group versions */                                                           \
  |  |  |  |  |  |  |  |   95|      0|     + 1  /* reserved */                                                                                     \
  |  |  |  |  |  |  |  |   96|      0|     + 3  /* shared header vers, size of address, size of lengths */                                         \
  |  |  |  |  |  |  |  |   97|      0|     + 1  /* reserved */                                                                                     \
  |  |  |  |  |  |  |  |   98|      0|     + 4  /* group leaf k, group internal k */                                                               \
  |  |  |  |  |  |  |  |   99|      0|     + 4) /* consistency flags */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  102|      0|     + (sizeof_addr)                               /* base address */                                        \
  |  |  |  |  |  |  103|      0|     + (sizeof_addr)                               /* <unused> */                                            \
  |  |  |  |  |  |  104|      0|     + (sizeof_addr)                               /* EOF address */                                         \
  |  |  |  |  |  |  105|      0|     + (sizeof_addr)                               /* driver block address */                                \
  |  |  |  |  |  |  106|      0|     + H5G_SIZEOF_ENTRY(sizeof_addr, sizeof_size)) /* root group ptr */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    ((sizeof_size) +     /*offset of name into heap              */                                          \
  |  |  |  |  |  |  |  |   40|      0|     (sizeof_addr) +     /*address of object header              */                                          \
  |  |  |  |  |  |  |  |   41|      0|     4 +                 /*entry type                            */                                          \
  |  |  |  |  |  |  |  |   42|      0|     4 +                 /*reserved                */                                                        \
  |  |  |  |  |  |  |  |   43|      0|     H5G_SIZEOF_SCRATCH) /*scratch pad space                     */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   37|      0|#define H5G_SIZEOF_SCRATCH 16
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (125:7): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  126|      7|     (v == 1 ? H5F_SUPERBLOCK_VARLEN_SIZE_V1(sizeof_addr, sizeof_size) : 0) +                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  108|      0|    (H5F_SUPERBLOCK_VARLEN_SIZE_COMMON             /* Common variable-length info */                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   94|      0|    (2    /* freespace, and root group versions */                                                           \
  |  |  |  |  |  |  |  |   95|      0|     + 1  /* reserved */                                                                                     \
  |  |  |  |  |  |  |  |   96|      0|     + 3  /* shared header vers, size of address, size of lengths */                                         \
  |  |  |  |  |  |  |  |   97|      0|     + 1  /* reserved */                                                                                     \
  |  |  |  |  |  |  |  |   98|      0|     + 4  /* group leaf k, group internal k */                                                               \
  |  |  |  |  |  |  |  |   99|      0|     + 4) /* consistency flags */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  109|      0|     + 2                                           /* indexed B-tree internal k */                           \
  |  |  |  |  |  |  110|      0|     + 2                                           /* reserved */                                            \
  |  |  |  |  |  |  111|      0|     + (sizeof_addr)                               /* base address */                                        \
  |  |  |  |  |  |  112|      0|     + (sizeof_addr)                               /* <unused> */                                            \
  |  |  |  |  |  |  113|      0|     + (sizeof_addr)                               /* EOF address */                                         \
  |  |  |  |  |  |  114|      0|     + (sizeof_addr)                               /* driver block address */                                \
  |  |  |  |  |  |  115|      0|     + H5G_SIZEOF_ENTRY(sizeof_addr, sizeof_size)) /* root group ptr */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    ((sizeof_size) +     /*offset of name into heap              */                                          \
  |  |  |  |  |  |  |  |   40|      0|     (sizeof_addr) +     /*address of object header              */                                          \
  |  |  |  |  |  |  |  |   41|      0|     4 +                 /*entry type                            */                                          \
  |  |  |  |  |  |  |  |   42|      0|     4 +                 /*reserved                */                                                        \
  |  |  |  |  |  |  |  |   43|      0|     H5G_SIZEOF_SCRATCH) /*scratch pad space                     */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   37|      0|#define H5G_SIZEOF_SCRATCH 16
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (126:7): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  127|      7|     (v >= 2 ? H5F_SUPERBLOCK_VARLEN_SIZE_V2(sizeof_addr) : 0))
  |  |  |  |  ------------------
  |  |  |  |  |  |  117|      7|    (2                    /* size of address, size of lengths */                                             \
  |  |  |  |  |  |  118|      7|     + 1                  /* consistency flags */                                                            \
  |  |  |  |  |  |  119|      7|     + (sizeof_addr)      /* base address */                                                                 \
  |  |  |  |  |  |  120|      7|     + (sizeof_addr)      /* superblock extension address */                                                 \
  |  |  |  |  |  |  121|      7|     + (sizeof_addr)      /* EOF address */                                                                  \
  |  |  |  |  |  |  122|      7|     + (sizeof_addr)      /* root group object header address */                                             \
  |  |  |  |  |  |  123|      7|     + H5F_SIZEOF_CHKSUM) /* superblock checksum (keep this last) */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   72|      7|#define H5F_SIZEOF_CHKSUM 4 /* Checksum size in the file */
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (127:7): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  310|       |
  311|      7|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  312|      7|} /* end H5F__cache_superblock_get_initial_load_size() */
H5Fsuper_cache.c:H5F__cache_superblock_get_final_load_size:
  325|      7|{
  326|      7|    const uint8_t             *image = _image;                              /* Pointer into raw data buffer */
  327|      7|    H5F_superblock_cache_ud_t *udata = (H5F_superblock_cache_ud_t *)_udata; /* User data */
  328|      7|    H5F_super_t                sblock;                                      /* Temporary file superblock */
  329|      7|    htri_t                     ret_value = SUCCEED;
  ------------------
  |  |  283|      7|#define SUCCEED 0
  ------------------
  330|       |
  331|      7|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      7|    {                                                                                                        \
  |  | 1461|      7|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      7|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      7|                                                                                                             \
  |  |  |  | 1267|      7|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      7|        {
  ------------------
  332|       |
  333|      7|    assert(image);
  334|      7|    assert(udata);
  335|      7|    assert(actual_len);
  336|      7|    assert(*actual_len == image_len);
  337|      7|    assert(image_len >= H5F_SUPERBLOCK_FIXED_SIZE + 6);
  338|       |
  339|       |    /* Deserialize the file superblock's prefix */
  340|      7|    if (H5F__superblock_prefix_decode(&sblock, &image, image_len, udata, true) < 0)
  ------------------
  |  Branch (340:9): [True: 0, False: 7]
  ------------------
  341|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTDECODE, FAIL, "can't decode file superblock prefix");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  342|       |
  343|       |    /* Save the version to be used in verify_chksum callback */
  344|      7|    udata->super_vers = sblock.super_vers;
  345|       |
  346|       |    /* Set the final size for the cache image */
  347|      7|    *actual_len = H5F_SUPERBLOCK_FIXED_SIZE + (size_t)H5F_SUPERBLOCK_VARLEN_SIZE(
  ------------------
  |  |   75|      7|#define H5F_SUPERBLOCK_FIXED_SIZE (H5F_SIGNATURE_LEN + 1) /* superblock version */
  |  |  ------------------
  |  |  |  |  299|      7|#define H5F_SIGNATURE_LEN 8
  |  |  ------------------
  ------------------
                  *actual_len = H5F_SUPERBLOCK_FIXED_SIZE + (size_t)H5F_SUPERBLOCK_VARLEN_SIZE(
  ------------------
  |  |  125|      7|    ((v == 0 ? H5F_SUPERBLOCK_VARLEN_SIZE_V0(sizeof_addr, sizeof_size) : 0) +                                \
  |  |  ------------------
  |  |  |  |  101|      7|    (H5F_SUPERBLOCK_VARLEN_SIZE_COMMON             /* Common variable-length info */                         \
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      7|    (2    /* freespace, and root group versions */                                                           \
  |  |  |  |  |  |   95|      7|     + 1  /* reserved */                                                                                     \
  |  |  |  |  |  |   96|      7|     + 3  /* shared header vers, size of address, size of lengths */                                         \
  |  |  |  |  |  |   97|      7|     + 1  /* reserved */                                                                                     \
  |  |  |  |  |  |   98|      7|     + 4  /* group leaf k, group internal k */                                                               \
  |  |  |  |  |  |   99|      7|     + 4) /* consistency flags */
  |  |  |  |  ------------------
  |  |  |  |  102|      7|     + (sizeof_addr)                               /* base address */                                        \
  |  |  |  |  103|      7|     + (sizeof_addr)                               /* <unused> */                                            \
  |  |  |  |  104|      7|     + (sizeof_addr)                               /* EOF address */                                         \
  |  |  |  |  105|      7|     + (sizeof_addr)                               /* driver block address */                                \
  |  |  |  |  106|      7|     + H5G_SIZEOF_ENTRY(sizeof_addr, sizeof_size)) /* root group ptr */
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      7|    ((sizeof_size) +     /*offset of name into heap              */                                          \
  |  |  |  |  |  |   40|      7|     (sizeof_addr) +     /*address of object header              */                                          \
  |  |  |  |  |  |   41|      7|     4 +                 /*entry type                            */                                          \
  |  |  |  |  |  |   42|      7|     4 +                 /*reserved                */                                                        \
  |  |  |  |  |  |   43|      7|     H5G_SIZEOF_SCRATCH) /*scratch pad space                     */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|      7|#define H5G_SIZEOF_SCRATCH 16
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (125:7): [True: 7, False: 0]
  |  |  ------------------
  |  |  126|      7|     (v == 1 ? H5F_SUPERBLOCK_VARLEN_SIZE_V1(sizeof_addr, sizeof_size) : 0) +                                \
  |  |  ------------------
  |  |  |  |  108|      0|    (H5F_SUPERBLOCK_VARLEN_SIZE_COMMON             /* Common variable-length info */                         \
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|    (2    /* freespace, and root group versions */                                                           \
  |  |  |  |  |  |   95|      0|     + 1  /* reserved */                                                                                     \
  |  |  |  |  |  |   96|      0|     + 3  /* shared header vers, size of address, size of lengths */                                         \
  |  |  |  |  |  |   97|      0|     + 1  /* reserved */                                                                                     \
  |  |  |  |  |  |   98|      0|     + 4  /* group leaf k, group internal k */                                                               \
  |  |  |  |  |  |   99|      0|     + 4) /* consistency flags */
  |  |  |  |  ------------------
  |  |  |  |  109|      0|     + 2                                           /* indexed B-tree internal k */                           \
  |  |  |  |  110|      0|     + 2                                           /* reserved */                                            \
  |  |  |  |  111|      0|     + (sizeof_addr)                               /* base address */                                        \
  |  |  |  |  112|      0|     + (sizeof_addr)                               /* <unused> */                                            \
  |  |  |  |  113|      0|     + (sizeof_addr)                               /* EOF address */                                         \
  |  |  |  |  114|      0|     + (sizeof_addr)                               /* driver block address */                                \
  |  |  |  |  115|      0|     + H5G_SIZEOF_ENTRY(sizeof_addr, sizeof_size)) /* root group ptr */
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    ((sizeof_size) +     /*offset of name into heap              */                                          \
  |  |  |  |  |  |   40|      0|     (sizeof_addr) +     /*address of object header              */                                          \
  |  |  |  |  |  |   41|      0|     4 +                 /*entry type                            */                                          \
  |  |  |  |  |  |   42|      0|     4 +                 /*reserved                */                                                        \
  |  |  |  |  |  |   43|      0|     H5G_SIZEOF_SCRATCH) /*scratch pad space                     */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|      0|#define H5G_SIZEOF_SCRATCH 16
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (126:7): [True: 0, False: 7]
  |  |  ------------------
  |  |  127|      7|     (v >= 2 ? H5F_SUPERBLOCK_VARLEN_SIZE_V2(sizeof_addr) : 0))
  |  |  ------------------
  |  |  |  |  117|      0|    (2                    /* size of address, size of lengths */                                             \
  |  |  |  |  118|      0|     + 1                  /* consistency flags */                                                            \
  |  |  |  |  119|      0|     + (sizeof_addr)      /* base address */                                                                 \
  |  |  |  |  120|      0|     + (sizeof_addr)      /* superblock extension address */                                                 \
  |  |  |  |  121|      0|     + (sizeof_addr)      /* EOF address */                                                                  \
  |  |  |  |  122|      0|     + (sizeof_addr)      /* root group object header address */                                             \
  |  |  |  |  123|      0|     + H5F_SIZEOF_CHKSUM) /* superblock checksum (keep this last) */
  |  |  |  |  ------------------
  |  |  |  |  |  |   72|      0|#define H5F_SIZEOF_CHKSUM 4 /* Checksum size in the file */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (127:7): [True: 0, False: 7]
  |  |  ------------------
  ------------------
  348|      7|                                                  sblock.super_vers, sblock.sizeof_addr, sblock.sizeof_size);
  349|       |
  350|      7|done:
  351|      7|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  352|      7|} /* end H5F__cache_superblock_get_final_load_size() */
H5Fsuper_cache.c:H5F__superblock_prefix_decode:
  142|     14|{
  143|     14|    const uint8_t *image     = (const uint8_t *)*image_ref; /* Pointer into raw data buffer */
  144|     14|    const uint8_t *end       = image + len - 1;             /* Pointer to end of buffer */
  145|     14|    htri_t         ret_value = SUCCEED;
  ------------------
  |  |  283|     14|#define SUCCEED 0
  ------------------
  146|       |
  147|     14|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     14|    {                                                                                                        \
  |  | 1461|     14|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     14|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     14|                                                                                                             \
  |  |  |  | 1267|     14|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     14|        {
  ------------------
  148|       |
  149|     14|    assert(sblock);
  150|     14|    assert(image_ref);
  151|     14|    assert(image);
  152|     14|    assert(udata);
  153|     14|    assert(udata->f);
  154|       |
  155|       |    /* Skip over signature (already checked when locating the superblock) */
  156|     14|    if (H5_IS_BUFFER_OVERFLOW(image, H5F_SIGNATURE_LEN, end))
  ------------------
  |  |  344|     14|    (                                                                                                        \
  |  |  345|     14|      /* Trivial case */                                                                                     \
  |  |  346|     14|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|     14|      (                                                                                                      \
  |  |  348|     14|        /* Bad precondition */                                                                               \
  |  |  349|     14|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 14]
  |  |  ------------------
  |  |  350|     14|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     14|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|     14|        /* Typical overflow */                                                                               \
  |  |  353|     14|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 14]
  |  |  ------------------
  |  |  354|     14|      )                                                                                                      \
  |  |  355|     14|    )
  ------------------
  157|      0|        HGOTO_ERROR(H5E_FILE, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  158|     14|    image += H5F_SIGNATURE_LEN;
  ------------------
  |  |  299|     14|#define H5F_SIGNATURE_LEN 8
  ------------------
  159|       |
  160|       |    /* Superblock version */
  161|     14|    if (H5_IS_BUFFER_OVERFLOW(image, 1, end))
  ------------------
  |  |  344|     14|    (                                                                                                        \
  |  |  345|     14|      /* Trivial case */                                                                                     \
  |  |  346|     14|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|     14|      (                                                                                                      \
  |  |  348|     14|        /* Bad precondition */                                                                               \
  |  |  349|     14|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 14]
  |  |  ------------------
  |  |  350|     14|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     14|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|     14|        /* Typical overflow */                                                                               \
  |  |  353|     14|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 14]
  |  |  ------------------
  |  |  354|     14|      )                                                                                                      \
  |  |  355|     14|    )
  ------------------
  162|      0|        HGOTO_ERROR(H5E_FILE, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  163|     14|    sblock->super_vers = *image++;
  164|     14|    if (sblock->super_vers > HDF5_SUPERBLOCK_VERSION_LATEST)
  ------------------
  |  |  307|     14|#define HDF5_SUPERBLOCK_VERSION_LATEST HDF5_SUPERBLOCK_VERSION_3 /* The maximum super block format    */
  |  |  ------------------
  |  |  |  |  306|     14|    3 /* With file locking and consistency flags (at least this version for SWMR support) */
  |  |  ------------------
  ------------------
  |  Branch (164:9): [True: 0, False: 14]
  ------------------
  165|      0|        HGOTO_ERROR(H5E_FILE, H5E_BADVALUE, FAIL, "bad superblock version number");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  166|       |
  167|       |    /* Size check */
  168|     14|    if (((size_t)(image - (const uint8_t *)*image_ref)) != H5F_SUPERBLOCK_FIXED_SIZE)
  ------------------
  |  |   75|     14|#define H5F_SUPERBLOCK_FIXED_SIZE (H5F_SIGNATURE_LEN + 1) /* superblock version */
  |  |  ------------------
  |  |  |  |  299|     14|#define H5F_SIGNATURE_LEN 8
  |  |  ------------------
  ------------------
  |  Branch (168:9): [True: 0, False: 14]
  ------------------
  169|      0|        HGOTO_ERROR(H5E_FILE, H5E_BADVALUE, FAIL, "bad superblock (fixed) size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  170|       |
  171|       |    /* Determine the size of addresses & size of offsets, for computing the
  172|       |     * variable-sized portion of the superblock.
  173|       |     */
  174|     14|    if (sblock->super_vers < HDF5_SUPERBLOCK_VERSION_2) {
  ------------------
  |  |  304|     14|#define HDF5_SUPERBLOCK_VERSION_2   2 /* Revised version with superblock extension and checksum */
  ------------------
  |  Branch (174:9): [True: 14, False: 0]
  ------------------
  175|     14|        if (H5_IS_BUFFER_OVERFLOW(image, 6, end))
  ------------------
  |  |  344|     14|    (                                                                                                        \
  |  |  345|     14|      /* Trivial case */                                                                                     \
  |  |  346|     14|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|     14|      (                                                                                                      \
  |  |  348|     14|        /* Bad precondition */                                                                               \
  |  |  349|     14|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 14]
  |  |  ------------------
  |  |  350|     14|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     14|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|     14|        /* Typical overflow */                                                                               \
  |  |  353|     14|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 14]
  |  |  ------------------
  |  |  354|     14|      )                                                                                                      \
  |  |  355|     14|    )
  ------------------
  176|      0|            HGOTO_ERROR(H5E_FILE, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  177|     14|        sblock->sizeof_addr = image[4];
  178|     14|        sblock->sizeof_size = image[5];
  179|     14|    }
  180|      0|    else {
  181|      0|        if (H5_IS_BUFFER_OVERFLOW(image, 2, end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  182|      0|            HGOTO_ERROR(H5E_FILE, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  183|      0|        sblock->sizeof_addr = image[0];
  184|      0|        sblock->sizeof_size = image[1];
  185|      0|    }
  186|       |
  187|     14|    if (sblock->sizeof_addr != 2 && sblock->sizeof_addr != 4 && sblock->sizeof_addr != 8 &&
  ------------------
  |  Branch (187:9): [True: 14, False: 0]
  |  Branch (187:37): [True: 14, False: 0]
  |  Branch (187:65): [True: 0, False: 14]
  ------------------
  188|     14|        sblock->sizeof_addr != 16 && sblock->sizeof_addr != 32)
  ------------------
  |  Branch (188:9): [True: 0, False: 0]
  |  Branch (188:38): [True: 0, False: 0]
  ------------------
  189|      0|        HGOTO_ERROR(H5E_FILE, H5E_BADVALUE, FAIL, "bad byte number in an address");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  190|     14|    if (sblock->sizeof_size != 2 && sblock->sizeof_size != 4 && sblock->sizeof_size != 8 &&
  ------------------
  |  Branch (190:9): [True: 14, False: 0]
  |  Branch (190:37): [True: 14, False: 0]
  |  Branch (190:65): [True: 0, False: 14]
  ------------------
  191|     14|        sblock->sizeof_size != 16 && sblock->sizeof_size != 32)
  ------------------
  |  Branch (191:9): [True: 0, False: 0]
  |  Branch (191:38): [True: 0, False: 0]
  ------------------
  192|      0|        HGOTO_ERROR(H5E_FILE, H5E_BADVALUE, FAIL, "bad byte number for object size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  193|       |
  194|       |    /* Check for extending the EOA for the file */
  195|     14|    if (extend_eoa) {
  ------------------
  |  Branch (195:9): [True: 7, False: 7]
  ------------------
  196|      7|        size_t variable_size; /* Variable size of superblock */
  197|       |
  198|       |        /* Determine the size of the variable-length part of the superblock */
  199|      7|        variable_size =
  200|      7|            (size_t)H5F_SUPERBLOCK_VARLEN_SIZE(sblock->super_vers, sblock->sizeof_addr, sblock->sizeof_size);
  ------------------
  |  |  125|      7|    ((v == 0 ? H5F_SUPERBLOCK_VARLEN_SIZE_V0(sizeof_addr, sizeof_size) : 0) +                                \
  |  |  ------------------
  |  |  |  |  101|      7|    (H5F_SUPERBLOCK_VARLEN_SIZE_COMMON             /* Common variable-length info */                         \
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      7|    (2    /* freespace, and root group versions */                                                           \
  |  |  |  |  |  |   95|      7|     + 1  /* reserved */                                                                                     \
  |  |  |  |  |  |   96|      7|     + 3  /* shared header vers, size of address, size of lengths */                                         \
  |  |  |  |  |  |   97|      7|     + 1  /* reserved */                                                                                     \
  |  |  |  |  |  |   98|      7|     + 4  /* group leaf k, group internal k */                                                               \
  |  |  |  |  |  |   99|      7|     + 4) /* consistency flags */
  |  |  |  |  ------------------
  |  |  |  |  102|      7|     + (sizeof_addr)                               /* base address */                                        \
  |  |  |  |  103|      7|     + (sizeof_addr)                               /* <unused> */                                            \
  |  |  |  |  104|      7|     + (sizeof_addr)                               /* EOF address */                                         \
  |  |  |  |  105|      7|     + (sizeof_addr)                               /* driver block address */                                \
  |  |  |  |  106|      7|     + H5G_SIZEOF_ENTRY(sizeof_addr, sizeof_size)) /* root group ptr */
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      7|    ((sizeof_size) +     /*offset of name into heap              */                                          \
  |  |  |  |  |  |   40|      7|     (sizeof_addr) +     /*address of object header              */                                          \
  |  |  |  |  |  |   41|      7|     4 +                 /*entry type                            */                                          \
  |  |  |  |  |  |   42|      7|     4 +                 /*reserved                */                                                        \
  |  |  |  |  |  |   43|      7|     H5G_SIZEOF_SCRATCH) /*scratch pad space                     */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|      7|#define H5G_SIZEOF_SCRATCH 16
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (125:7): [True: 7, False: 0]
  |  |  ------------------
  |  |  126|      7|     (v == 1 ? H5F_SUPERBLOCK_VARLEN_SIZE_V1(sizeof_addr, sizeof_size) : 0) +                                \
  |  |  ------------------
  |  |  |  |  108|      0|    (H5F_SUPERBLOCK_VARLEN_SIZE_COMMON             /* Common variable-length info */                         \
  |  |  |  |  ------------------
  |  |  |  |  |  |   94|      0|    (2    /* freespace, and root group versions */                                                           \
  |  |  |  |  |  |   95|      0|     + 1  /* reserved */                                                                                     \
  |  |  |  |  |  |   96|      0|     + 3  /* shared header vers, size of address, size of lengths */                                         \
  |  |  |  |  |  |   97|      0|     + 1  /* reserved */                                                                                     \
  |  |  |  |  |  |   98|      0|     + 4  /* group leaf k, group internal k */                                                               \
  |  |  |  |  |  |   99|      0|     + 4) /* consistency flags */
  |  |  |  |  ------------------
  |  |  |  |  109|      0|     + 2                                           /* indexed B-tree internal k */                           \
  |  |  |  |  110|      0|     + 2                                           /* reserved */                                            \
  |  |  |  |  111|      0|     + (sizeof_addr)                               /* base address */                                        \
  |  |  |  |  112|      0|     + (sizeof_addr)                               /* <unused> */                                            \
  |  |  |  |  113|      0|     + (sizeof_addr)                               /* EOF address */                                         \
  |  |  |  |  114|      0|     + (sizeof_addr)                               /* driver block address */                                \
  |  |  |  |  115|      0|     + H5G_SIZEOF_ENTRY(sizeof_addr, sizeof_size)) /* root group ptr */
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    ((sizeof_size) +     /*offset of name into heap              */                                          \
  |  |  |  |  |  |   40|      0|     (sizeof_addr) +     /*address of object header              */                                          \
  |  |  |  |  |  |   41|      0|     4 +                 /*entry type                            */                                          \
  |  |  |  |  |  |   42|      0|     4 +                 /*reserved                */                                                        \
  |  |  |  |  |  |   43|      0|     H5G_SIZEOF_SCRATCH) /*scratch pad space                     */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|      0|#define H5G_SIZEOF_SCRATCH 16
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (126:7): [True: 0, False: 7]
  |  |  ------------------
  |  |  127|      7|     (v >= 2 ? H5F_SUPERBLOCK_VARLEN_SIZE_V2(sizeof_addr) : 0))
  |  |  ------------------
  |  |  |  |  117|      0|    (2                    /* size of address, size of lengths */                                             \
  |  |  |  |  118|      0|     + 1                  /* consistency flags */                                                            \
  |  |  |  |  119|      0|     + (sizeof_addr)      /* base address */                                                                 \
  |  |  |  |  120|      0|     + (sizeof_addr)      /* superblock extension address */                                                 \
  |  |  |  |  121|      0|     + (sizeof_addr)      /* EOF address */                                                                  \
  |  |  |  |  122|      0|     + (sizeof_addr)      /* root group object header address */                                             \
  |  |  |  |  123|      0|     + H5F_SIZEOF_CHKSUM) /* superblock checksum (keep this last) */
  |  |  |  |  ------------------
  |  |  |  |  |  |   72|      0|#define H5F_SIZEOF_CHKSUM 4 /* Checksum size in the file */
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (127:7): [True: 0, False: 7]
  |  |  ------------------
  ------------------
  201|      7|        if (variable_size == 0)
  ------------------
  |  Branch (201:13): [True: 0, False: 7]
  ------------------
  202|      0|            HGOTO_ERROR(H5E_FILE, H5E_BADVALUE, FAIL, "variable size can't be zero");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  203|       |
  204|       |        /* Make certain we can read the variable-sized portion of the superblock */
  205|      7|        if (H5F__set_eoa(udata->f, H5FD_MEM_SUPER, (haddr_t)(H5F_SUPERBLOCK_FIXED_SIZE + variable_size)) < 0)
  ------------------
  |  |   75|      7|#define H5F_SUPERBLOCK_FIXED_SIZE (H5F_SIGNATURE_LEN + 1) /* superblock version */
  |  |  ------------------
  |  |  |  |  299|      7|#define H5F_SIGNATURE_LEN 8
  |  |  ------------------
  ------------------
  |  Branch (205:13): [True: 0, False: 7]
  ------------------
  206|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, FAIL, "set end of space allocation request failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  207|      7|    }
  208|       |
  209|       |    /* Update the image buffer pointer */
  210|     14|    *image_ref = image;
  211|       |
  212|     14|done:
  213|     14|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     14|    ;                                                                                                        \
  |  | 1573|     14|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     14|    return (ret_value);                                                                                      \
  |  | 1575|     14|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  214|     14|} /* end H5F__superblock_prefix_decode() */
H5Fsuper_cache.c:H5F__cache_superblock_verify_chksum:
  366|      7|{
  367|      7|    const uint8_t             *image = _image;                              /* Pointer into raw data buffer */
  368|      7|    H5F_superblock_cache_ud_t *udata = (H5F_superblock_cache_ud_t *)_udata; /* User data */
  369|      7|    uint32_t                   stored_chksum;   /* Stored metadata checksum value */
  370|      7|    uint32_t                   computed_chksum; /* Computed metadata checksum value */
  371|      7|    htri_t                     ret_value = true;
  372|       |
  373|      7|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      7|    {                                                                                                        \
  |  | 1461|      7|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      7|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      7|                                                                                                             \
  |  |  |  | 1267|      7|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      7|        {
  ------------------
  374|       |
  375|      7|    assert(image);
  376|      7|    assert(udata);
  377|       |
  378|       |    /* No checksum for version 0 & 1 */
  379|      7|    if (udata->super_vers >= HDF5_SUPERBLOCK_VERSION_2) {
  ------------------
  |  |  304|      7|#define HDF5_SUPERBLOCK_VERSION_2   2 /* Revised version with superblock extension and checksum */
  ------------------
  |  Branch (379:9): [True: 0, False: 7]
  ------------------
  380|       |
  381|       |        /* Get stored and computed checksums */
  382|      0|        if (H5F_get_checksums(image, len, &stored_chksum, &computed_chksum) < 0)
  ------------------
  |  Branch (382:13): [True: 0, False: 0]
  ------------------
  383|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "can't get checksums");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  384|       |
  385|      0|        if (stored_chksum != computed_chksum)
  ------------------
  |  Branch (385:13): [True: 0, False: 0]
  ------------------
  386|      0|            ret_value = false;
  387|      0|    }
  388|       |
  389|      7|done:
  390|      7|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  391|      7|} /* end H5F__cache_superblock_verify_chksum() */
H5Fsuper_cache.c:H5F__cache_superblock_deserialize:
  404|      7|{
  405|      7|    H5F_super_t               *sblock    = NULL;                                /* File's superblock */
  406|      7|    H5F_superblock_cache_ud_t *udata     = (H5F_superblock_cache_ud_t *)_udata; /* User data */
  407|      7|    const uint8_t             *image     = _image;          /* Pointer into raw data buffer */
  408|      7|    const uint8_t             *end       = image + len - 1; /* Pointer to end of buffer */
  409|      7|    H5F_super_t               *ret_value = NULL;
  410|       |
  411|      7|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      7|    {                                                                                                        \
  |  | 1461|      7|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      7|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      7|                                                                                                             \
  |  |  |  | 1267|      7|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      7|        {
  ------------------
  412|       |
  413|      7|    assert(image);
  414|      7|    assert(udata);
  415|      7|    assert(udata->f);
  416|      7|    assert(len >= H5F_SUPERBLOCK_FIXED_SIZE + 6);
  417|       |
  418|       |    /* Allocate space for the superblock */
  419|      7|    if (NULL == (sblock = H5FL_CALLOC(H5F_super_t)))
  ------------------
  |  |   78|      7|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|      7|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (419:9): [True: 0, False: 7]
  ------------------
  420|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  421|       |
  422|       |    /* Deserialize the file superblock's prefix */
  423|      7|    if (H5F__superblock_prefix_decode(sblock, &image, len, udata, false) < 0)
  ------------------
  |  Branch (423:9): [True: 0, False: 7]
  ------------------
  424|      0|        HGOTO_ERROR(H5E_FILE, H5E_CANTDECODE, NULL, "can't decode file superblock prefix");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  425|       |
  426|       |    /* Check for older version of superblock format */
  427|      7|    if (sblock->super_vers < HDF5_SUPERBLOCK_VERSION_2) {
  ------------------
  |  |  304|      7|#define HDF5_SUPERBLOCK_VERSION_2   2 /* Revised version with superblock extension and checksum */
  ------------------
  |  Branch (427:9): [True: 7, False: 0]
  ------------------
  428|      7|        uint32_t status_flags;  /* File status flags	   */
  429|      7|        unsigned sym_leaf_k;    /* Symbol table leaf node's 'K' value */
  430|      7|        unsigned snode_btree_k; /* B-tree symbol table internal node 'K' value */
  431|      7|        unsigned chunk_btree_k; /* B-tree chunk internal node 'K' value */
  432|       |
  433|       |        /* Freespace version (hard-wired) */
  434|      7|        if (H5_IS_BUFFER_OVERFLOW(image, 1, end))
  ------------------
  |  |  344|      7|    (                                                                                                        \
  |  |  345|      7|      /* Trivial case */                                                                                     \
  |  |  346|      7|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      7|      (                                                                                                      \
  |  |  348|      7|        /* Bad precondition */                                                                               \
  |  |  349|      7|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 7]
  |  |  ------------------
  |  |  350|      7|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      7|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      7|        /* Typical overflow */                                                                               \
  |  |  353|      7|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 7]
  |  |  ------------------
  |  |  354|      7|      )                                                                                                      \
  |  |  355|      7|    )
  ------------------
  435|      0|            HGOTO_ERROR(H5E_FILE, H5E_OVERFLOW, NULL, "image pointer is out of bounds");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  436|      7|        if (HDF5_FREESPACE_VERSION != *image++)
  ------------------
  |  |  310|      7|#define HDF5_FREESPACE_VERSION    0 /* of the Free-Space Info      */
  ------------------
  |  Branch (436:13): [True: 0, False: 7]
  ------------------
  437|      0|            HGOTO_ERROR(H5E_FILE, H5E_BADVALUE, NULL, "bad free space version number");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  438|       |
  439|       |        /* Root group version number (hard-wired) */
  440|      7|        if (H5_IS_BUFFER_OVERFLOW(image, 1, end))
  ------------------
  |  |  344|      7|    (                                                                                                        \
  |  |  345|      7|      /* Trivial case */                                                                                     \
  |  |  346|      7|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      7|      (                                                                                                      \
  |  |  348|      7|        /* Bad precondition */                                                                               \
  |  |  349|      7|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 7]
  |  |  ------------------
  |  |  350|      7|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      7|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      7|        /* Typical overflow */                                                                               \
  |  |  353|      7|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 7]
  |  |  ------------------
  |  |  354|      7|      )                                                                                                      \
  |  |  355|      7|    )
  ------------------
  441|      0|            HGOTO_ERROR(H5E_FILE, H5E_OVERFLOW, NULL, "image pointer is out of bounds");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  442|      7|        if (HDF5_OBJECTDIR_VERSION != *image++)
  ------------------
  |  |  311|      7|#define HDF5_OBJECTDIR_VERSION    0 /* of the Object Directory format */
  ------------------
  |  Branch (442:13): [True: 0, False: 7]
  ------------------
  443|      0|            HGOTO_ERROR(H5E_FILE, H5E_BADVALUE, NULL, "bad object directory version number");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  444|       |
  445|       |        /* Skip over reserved byte */
  446|      7|        if (H5_IS_BUFFER_OVERFLOW(image, 1, end))
  ------------------
  |  |  344|      7|    (                                                                                                        \
  |  |  345|      7|      /* Trivial case */                                                                                     \
  |  |  346|      7|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      7|      (                                                                                                      \
  |  |  348|      7|        /* Bad precondition */                                                                               \
  |  |  349|      7|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 7]
  |  |  ------------------
  |  |  350|      7|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      7|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      7|        /* Typical overflow */                                                                               \
  |  |  353|      7|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 7]
  |  |  ------------------
  |  |  354|      7|      )                                                                                                      \
  |  |  355|      7|    )
  ------------------
  447|      0|            HGOTO_ERROR(H5E_FILE, H5E_OVERFLOW, NULL, "image pointer is out of bounds");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  448|      7|        image++;
  449|       |
  450|       |        /* Shared header version number (hard-wired) */
  451|      7|        if (H5_IS_BUFFER_OVERFLOW(image, 1, end))
  ------------------
  |  |  344|      7|    (                                                                                                        \
  |  |  345|      7|      /* Trivial case */                                                                                     \
  |  |  346|      7|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      7|      (                                                                                                      \
  |  |  348|      7|        /* Bad precondition */                                                                               \
  |  |  349|      7|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 7]
  |  |  ------------------
  |  |  350|      7|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      7|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      7|        /* Typical overflow */                                                                               \
  |  |  353|      7|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 7]
  |  |  ------------------
  |  |  354|      7|      )                                                                                                      \
  |  |  355|      7|    )
  ------------------
  452|      0|            HGOTO_ERROR(H5E_FILE, H5E_OVERFLOW, NULL, "image pointer is out of bounds");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  453|      7|        if (HDF5_SHAREDHEADER_VERSION != *image++)
  ------------------
  |  |  312|      7|#define HDF5_SHAREDHEADER_VERSION 0 /* of the Shared-Header Info      */
  ------------------
  |  Branch (453:13): [True: 0, False: 7]
  ------------------
  454|      0|            HGOTO_ERROR(H5E_FILE, H5E_BADVALUE, NULL, "bad shared-header format version number");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  455|       |
  456|       |        /* Skip over size of file addresses (already decoded) */
  457|      7|        if (H5_IS_BUFFER_OVERFLOW(image, 1, end))
  ------------------
  |  |  344|      7|    (                                                                                                        \
  |  |  345|      7|      /* Trivial case */                                                                                     \
  |  |  346|      7|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      7|      (                                                                                                      \
  |  |  348|      7|        /* Bad precondition */                                                                               \
  |  |  349|      7|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 7]
  |  |  ------------------
  |  |  350|      7|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      7|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      7|        /* Typical overflow */                                                                               \
  |  |  353|      7|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 7]
  |  |  ------------------
  |  |  354|      7|      )                                                                                                      \
  |  |  355|      7|    )
  ------------------
  458|      0|            HGOTO_ERROR(H5E_FILE, H5E_OVERFLOW, NULL, "image pointer is out of bounds");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  459|      7|        image++;
  460|      7|        udata->f->shared->sizeof_addr = sblock->sizeof_addr; /* Keep a local copy also */
  461|       |
  462|       |        /* Skip over size of file sizes (already decoded) */
  463|      7|        if (H5_IS_BUFFER_OVERFLOW(image, 1, end))
  ------------------
  |  |  344|      7|    (                                                                                                        \
  |  |  345|      7|      /* Trivial case */                                                                                     \
  |  |  346|      7|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      7|      (                                                                                                      \
  |  |  348|      7|        /* Bad precondition */                                                                               \
  |  |  349|      7|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 7]
  |  |  ------------------
  |  |  350|      7|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      7|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      7|        /* Typical overflow */                                                                               \
  |  |  353|      7|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 7]
  |  |  ------------------
  |  |  354|      7|      )                                                                                                      \
  |  |  355|      7|    )
  ------------------
  464|      0|            HGOTO_ERROR(H5E_FILE, H5E_OVERFLOW, NULL, "image pointer is out of bounds");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  465|      7|        image++;
  466|      7|        udata->f->shared->sizeof_size = sblock->sizeof_size; /* Keep a local copy also */
  467|       |
  468|       |        /* Skip over reserved byte */
  469|      7|        if (H5_IS_BUFFER_OVERFLOW(image, 1, end))
  ------------------
  |  |  344|      7|    (                                                                                                        \
  |  |  345|      7|      /* Trivial case */                                                                                     \
  |  |  346|      7|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      7|      (                                                                                                      \
  |  |  348|      7|        /* Bad precondition */                                                                               \
  |  |  349|      7|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 7]
  |  |  ------------------
  |  |  350|      7|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      7|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      7|        /* Typical overflow */                                                                               \
  |  |  353|      7|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 7]
  |  |  ------------------
  |  |  354|      7|      )                                                                                                      \
  |  |  355|      7|    )
  ------------------
  470|      0|            HGOTO_ERROR(H5E_FILE, H5E_OVERFLOW, NULL, "image pointer is out of bounds");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  471|      7|        image++;
  472|       |
  473|       |        /* Various B-tree sizes */
  474|      7|        if (H5_IS_BUFFER_OVERFLOW(image, 2, end))
  ------------------
  |  |  344|      7|    (                                                                                                        \
  |  |  345|      7|      /* Trivial case */                                                                                     \
  |  |  346|      7|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      7|      (                                                                                                      \
  |  |  348|      7|        /* Bad precondition */                                                                               \
  |  |  349|      7|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 7]
  |  |  ------------------
  |  |  350|      7|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      7|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      7|        /* Typical overflow */                                                                               \
  |  |  353|      7|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 7]
  |  |  ------------------
  |  |  354|      7|      )                                                                                                      \
  |  |  355|      7|    )
  ------------------
  475|      0|            HGOTO_ERROR(H5E_FILE, H5E_OVERFLOW, NULL, "image pointer is out of bounds");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  476|      7|        UINT16DECODE(image, sym_leaf_k);
  ------------------
  |  |  159|      7|    do {                                                                                                     \
  |  |  160|      7|        (i) = (uint16_t)(*(p)&0xff);                                                                         \
  |  |  161|      7|        (p)++;                                                                                               \
  |  |  162|      7|        (i) |= (uint16_t)((*(p)&0xff) << 8);                                                                 \
  |  |  163|      7|        (p)++;                                                                                               \
  |  |  164|      7|    } while (0)
  |  |  ------------------
  |  |  |  Branch (164:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  477|      7|        if (sym_leaf_k == 0)
  ------------------
  |  Branch (477:13): [True: 0, False: 7]
  ------------------
  478|      0|            HGOTO_ERROR(H5E_FILE, H5E_BADRANGE, NULL, "bad symbol table leaf node 1/2 rank");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  479|      7|        udata->sym_leaf_k = sym_leaf_k; /* Keep a local copy also */
  480|       |
  481|       |        /* Need 'get' call to set other array values */
  482|      7|        if (H5_IS_BUFFER_OVERFLOW(image, 2, end))
  ------------------
  |  |  344|      7|    (                                                                                                        \
  |  |  345|      7|      /* Trivial case */                                                                                     \
  |  |  346|      7|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      7|      (                                                                                                      \
  |  |  348|      7|        /* Bad precondition */                                                                               \
  |  |  349|      7|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 7]
  |  |  ------------------
  |  |  350|      7|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      7|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      7|        /* Typical overflow */                                                                               \
  |  |  353|      7|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 7]
  |  |  ------------------
  |  |  354|      7|      )                                                                                                      \
  |  |  355|      7|    )
  ------------------
  483|      0|            HGOTO_ERROR(H5E_FILE, H5E_OVERFLOW, NULL, "image pointer is out of bounds");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  484|      7|        UINT16DECODE(image, snode_btree_k);
  ------------------
  |  |  159|      7|    do {                                                                                                     \
  |  |  160|      7|        (i) = (uint16_t)(*(p)&0xff);                                                                         \
  |  |  161|      7|        (p)++;                                                                                               \
  |  |  162|      7|        (i) |= (uint16_t)((*(p)&0xff) << 8);                                                                 \
  |  |  163|      7|        (p)++;                                                                                               \
  |  |  164|      7|    } while (0)
  |  |  ------------------
  |  |  |  Branch (164:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  485|      7|        if (snode_btree_k == 0)
  ------------------
  |  Branch (485:13): [True: 0, False: 7]
  ------------------
  486|      0|            HGOTO_ERROR(H5E_FILE, H5E_BADRANGE, NULL, "bad 1/2 rank for btree internal nodes");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  487|      7|        udata->btree_k[H5B_SNODE_ID] = snode_btree_k;
  488|       |
  489|       |        /* Delay setting the value in the property list until we've checked
  490|       |         * for the indexed storage B-tree internal 'K' value later.
  491|       |         */
  492|       |
  493|       |        /* File status flags (not really used yet) */
  494|      7|        if (H5_IS_BUFFER_OVERFLOW(image, 4, end))
  ------------------
  |  |  344|      7|    (                                                                                                        \
  |  |  345|      7|      /* Trivial case */                                                                                     \
  |  |  346|      7|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      7|      (                                                                                                      \
  |  |  348|      7|        /* Bad precondition */                                                                               \
  |  |  349|      7|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 7]
  |  |  ------------------
  |  |  350|      7|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      7|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      7|        /* Typical overflow */                                                                               \
  |  |  353|      7|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 7]
  |  |  ------------------
  |  |  354|      7|      )                                                                                                      \
  |  |  355|      7|    )
  ------------------
  495|      0|            HGOTO_ERROR(H5E_FILE, H5E_OVERFLOW, NULL, "image pointer is out of bounds");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  496|      7|        UINT32DECODE(image, status_flags);
  ------------------
  |  |  179|      7|    do {                                                                                                     \
  |  |  180|      7|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  181|      7|        (p)++;                                                                                               \
  |  |  182|      7|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  183|      7|        (p)++;                                                                                               \
  |  |  184|      7|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  185|      7|        (p)++;                                                                                               \
  |  |  186|      7|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  187|      7|        (p)++;                                                                                               \
  |  |  188|      7|    } while (0)
  |  |  ------------------
  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  497|      7|        if (status_flags > 255)
  ------------------
  |  Branch (497:13): [True: 0, False: 7]
  ------------------
  498|      0|            HGOTO_ERROR(H5E_FILE, H5E_BADVALUE, NULL, "bad superblock status flags");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  499|      7|        sblock->status_flags = (uint8_t)status_flags;
  500|      7|        if (sblock->status_flags & ~H5F_SUPER_ALL_FLAGS)
  ------------------
  |  |   53|      7|#define H5F_SUPER_ALL_FLAGS         (H5F_SUPER_WRITE_ACCESS | H5F_SUPER_FILE_OK | H5F_SUPER_SWMR_WRITE_ACCESS)
  |  |  ------------------
  |  |  |  |   50|      7|#define H5F_SUPER_WRITE_ACCESS      0x01
  |  |  ------------------
  |  |               #define H5F_SUPER_ALL_FLAGS         (H5F_SUPER_WRITE_ACCESS | H5F_SUPER_FILE_OK | H5F_SUPER_SWMR_WRITE_ACCESS)
  |  |  ------------------
  |  |  |  |   51|      7|#define H5F_SUPER_FILE_OK           0x02
  |  |  ------------------
  |  |               #define H5F_SUPER_ALL_FLAGS         (H5F_SUPER_WRITE_ACCESS | H5F_SUPER_FILE_OK | H5F_SUPER_SWMR_WRITE_ACCESS)
  |  |  ------------------
  |  |  |  |   52|      7|#define H5F_SUPER_SWMR_WRITE_ACCESS 0x04
  |  |  ------------------
  ------------------
  |  Branch (500:13): [True: 0, False: 7]
  ------------------
  501|      0|            HGOTO_ERROR(H5E_FILE, H5E_BADVALUE, NULL, "bad flag value for superblock");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  502|       |
  503|       |        /* If the superblock version # is greater than 0, read in the indexed
  504|       |         * storage B-tree internal 'K' value
  505|       |         */
  506|      7|        if (sblock->super_vers > HDF5_SUPERBLOCK_VERSION_DEF) {
  ------------------
  |  |  302|      7|#define HDF5_SUPERBLOCK_VERSION_DEF 0 /* The default super block format      */
  ------------------
  |  Branch (506:13): [True: 0, False: 7]
  ------------------
  507|      0|            if (H5_IS_BUFFER_OVERFLOW(image, 2, end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  508|      0|                HGOTO_ERROR(H5E_FILE, H5E_OVERFLOW, NULL, "image pointer is out of bounds");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  509|      0|            UINT16DECODE(image, chunk_btree_k);
  ------------------
  |  |  159|      0|    do {                                                                                                     \
  |  |  160|      0|        (i) = (uint16_t)(*(p)&0xff);                                                                         \
  |  |  161|      0|        (p)++;                                                                                               \
  |  |  162|      0|        (i) |= (uint16_t)((*(p)&0xff) << 8);                                                                 \
  |  |  163|      0|        (p)++;                                                                                               \
  |  |  164|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (164:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  510|       |
  511|       |            /* Reserved bytes are present only in version 1 */
  512|      0|            if (sblock->super_vers == HDF5_SUPERBLOCK_VERSION_1) {
  ------------------
  |  |  303|      0|#define HDF5_SUPERBLOCK_VERSION_1   1 /* Version with non-default B-tree 'K' value */
  ------------------
  |  Branch (512:17): [True: 0, False: 0]
  ------------------
  513|       |                /* Reserved */
  514|      0|                if (H5_IS_BUFFER_OVERFLOW(image, 2, end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  515|      0|                    HGOTO_ERROR(H5E_FILE, H5E_OVERFLOW, NULL, "image pointer is out of bounds");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  516|      0|                image += 2;
  517|      0|            }
  518|      0|        }
  519|      7|        else
  520|      7|            chunk_btree_k = HDF5_BTREE_CHUNK_IK_DEF;
  ------------------
  |  |  318|      7|    32                                  /* Note! this value is assumed                                       \
  ------------------
  521|      7|        udata->btree_k[H5B_CHUNK_ID] = chunk_btree_k;
  522|       |
  523|       |        /* Remainder of "variable-sized" portion of superblock */
  524|      7|        if (H5_IS_BUFFER_OVERFLOW(image, H5F_sizeof_addr(udata->f) * 4, end))
  ------------------
  |  |  344|      7|    (                                                                                                        \
  |  |  345|      7|      /* Trivial case */                                                                                     \
  |  |  346|      7|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 7, False: 0]
  |  |  ------------------
  |  |  347|      7|      (                                                                                                      \
  |  |  348|      7|        /* Bad precondition */                                                                               \
  |  |  349|      7|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 7]
  |  |  ------------------
  |  |  350|      7|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      7|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 7, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 7]
  |  |  ------------------
  |  |  352|      7|        /* Typical overflow */                                                                               \
  |  |  353|      7|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 7]
  |  |  ------------------
  |  |  354|      7|      )                                                                                                      \
  |  |  355|      7|    )
  ------------------
  525|      0|            HGOTO_ERROR(H5E_FILE, H5E_OVERFLOW, NULL, "image pointer is out of bounds");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  526|      7|        H5F_addr_decode(udata->f, (const uint8_t **)&image, &sblock->base_addr /*out*/);
  527|      7|        H5F_addr_decode(udata->f, (const uint8_t **)&image, &sblock->ext_addr /*out*/);
  528|      7|        H5F_addr_decode(udata->f, (const uint8_t **)&image, &udata->stored_eof /*out*/);
  529|      7|        H5F_addr_decode(udata->f, (const uint8_t **)&image, &sblock->driver_addr /*out*/);
  530|       |
  531|       |        /* Allocate space for the root group symbol table entry */
  532|      7|        if (sblock->root_ent)
  ------------------
  |  Branch (532:13): [True: 0, False: 7]
  ------------------
  533|      0|            HGOTO_ERROR(H5E_FILE, H5E_BADVALUE, NULL, "root entry should not exist yet");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  534|      7|        if (NULL == (sblock->root_ent = (H5G_entry_t *)H5MM_calloc(sizeof(H5G_entry_t))))
  ------------------
  |  |   36|      7|#define H5MM_calloc(Z) calloc(1, Z)
  ------------------
  |  Branch (534:13): [True: 0, False: 7]
  ------------------
  535|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTALLOC, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  536|      7|                        "can't allocate space for root group symbol table entry");
  537|       |
  538|       |        /* Decode the root group symbol table entry */
  539|      7|        if (H5G_ent_decode(udata->f, (const uint8_t **)&image, sblock->root_ent, end) < 0)
  ------------------
  |  Branch (539:13): [True: 0, False: 7]
  ------------------
  540|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTDECODE, NULL, "can't decode root group symbol table entry");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  541|       |
  542|       |        /* Set the root group address to the correct value */
  543|      7|        sblock->root_addr = sblock->root_ent->header;
  544|       |
  545|       |        /* This step is for h5repart tool only. If user wants to change file driver
  546|       |         *  from family to sec2 while using h5repart, set the driver address to
  547|       |         *  undefined to let the library ignore the family driver information saved
  548|       |         *  in the superblock.
  549|       |         */
  550|      7|        if (udata->ignore_drvrinfo && H5_addr_defined(sblock->driver_addr)) {
  ------------------
  |  |  449|      0|#define H5_addr_defined(X)       ((X) != HADDR_UNDEF)
  |  |  ------------------
  |  |  |  |  336|      0|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  |  |  Branch (449:34): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  |  Branch (550:13): [True: 0, False: 7]
  ------------------
  551|       |            /* Eliminate the driver info */
  552|      0|            sblock->driver_addr     = HADDR_UNDEF;
  ------------------
  |  |  336|      0|#define HADDR_UNDEF         UINT64_MAX
  ------------------
  553|      0|            udata->drvrinfo_removed = true;
  554|      0|        }
  555|       |
  556|       |        /* NOTE: Driver info block is decoded separately, later */
  557|      7|    }
  558|      0|    else {
  559|      0|        uint32_t read_chksum; /* Checksum read from file  */
  560|       |
  561|       |        /* Skip over size of file addresses (already decoded) */
  562|      0|        image++;
  563|      0|        udata->f->shared->sizeof_addr = sblock->sizeof_addr; /* Keep a local copy also */
  564|       |        /* Skip over size of file sizes (already decoded) */
  565|      0|        image++;
  566|      0|        udata->f->shared->sizeof_size = sblock->sizeof_size; /* Keep a local copy also */
  567|       |
  568|       |        /* Check whether the image pointer is out of bounds */
  569|      0|        if (H5_IS_BUFFER_OVERFLOW(image, 1, end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  570|      0|            HGOTO_ERROR(H5E_FILE, H5E_OVERFLOW, NULL, "image pointer is out of bounds");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  571|       |
  572|       |        /* File status flags (not really used yet) */
  573|      0|        sblock->status_flags = *image++;
  574|      0|        if (sblock->status_flags & ~H5F_SUPER_ALL_FLAGS)
  ------------------
  |  |   53|      0|#define H5F_SUPER_ALL_FLAGS         (H5F_SUPER_WRITE_ACCESS | H5F_SUPER_FILE_OK | H5F_SUPER_SWMR_WRITE_ACCESS)
  |  |  ------------------
  |  |  |  |   50|      0|#define H5F_SUPER_WRITE_ACCESS      0x01
  |  |  ------------------
  |  |               #define H5F_SUPER_ALL_FLAGS         (H5F_SUPER_WRITE_ACCESS | H5F_SUPER_FILE_OK | H5F_SUPER_SWMR_WRITE_ACCESS)
  |  |  ------------------
  |  |  |  |   51|      0|#define H5F_SUPER_FILE_OK           0x02
  |  |  ------------------
  |  |               #define H5F_SUPER_ALL_FLAGS         (H5F_SUPER_WRITE_ACCESS | H5F_SUPER_FILE_OK | H5F_SUPER_SWMR_WRITE_ACCESS)
  |  |  ------------------
  |  |  |  |   52|      0|#define H5F_SUPER_SWMR_WRITE_ACCESS 0x04
  |  |  ------------------
  ------------------
  |  Branch (574:13): [True: 0, False: 0]
  ------------------
  575|      0|            HGOTO_ERROR(H5E_FILE, H5E_BADVALUE, NULL, "bad flag value for superblock");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  576|       |
  577|       |        /* Check whether the image pointer will be out of bounds */
  578|      0|        if (H5_IS_BUFFER_OVERFLOW(image, H5F_SIZEOF_ADDR(udata->f) * 4, end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 0, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 0]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  579|      0|            HGOTO_ERROR(H5E_FILE, H5E_OVERFLOW, NULL, "image pointer is out of bounds");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  580|       |
  581|       |        /* Base, superblock extension, end of file & root group object header addresses */
  582|      0|        H5F_addr_decode(udata->f, (const uint8_t **)&image, &sblock->base_addr /*out*/);
  583|      0|        H5F_addr_decode(udata->f, (const uint8_t **)&image, &sblock->ext_addr /*out*/);
  584|      0|        H5F_addr_decode(udata->f, (const uint8_t **)&image, &udata->stored_eof /*out*/);
  585|      0|        H5F_addr_decode(udata->f, (const uint8_t **)&image, &sblock->root_addr /*out*/);
  586|       |
  587|       |        /* checksum verification already done in verify_chksum cb */
  588|       |
  589|       |        /* Check whether the image pointer will be out of bounds */
  590|      0|        if (H5_IS_BUFFER_OVERFLOW(image, sizeof(uint32_t), end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  591|      0|            HGOTO_ERROR(H5E_FILE, H5E_OVERFLOW, NULL, "image pointer is out of bounds");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  592|       |
  593|       |        /* Decode checksum */
  594|      0|        UINT32DECODE(image, read_chksum);
  ------------------
  |  |  179|      0|    do {                                                                                                     \
  |  |  180|      0|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  181|      0|        (p)++;                                                                                               \
  |  |  182|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  183|      0|        (p)++;                                                                                               \
  |  |  184|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  185|      0|        (p)++;                                                                                               \
  |  |  186|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  187|      0|        (p)++;                                                                                               \
  |  |  188|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  595|       |
  596|       |        /* The Driver Information Block may not appear with the version
  597|       |         * 2 super block.  Thus we set the driver_addr field of the in
  598|       |         * core representation of the super block HADDR_UNDEF to prevent
  599|       |         * any attempt to load the Driver Information Block.
  600|       |         */
  601|      0|        sblock->driver_addr = HADDR_UNDEF;
  ------------------
  |  |  336|      0|#define HADDR_UNDEF         UINT64_MAX
  ------------------
  602|      0|    }
  603|       |
  604|       |    /* Size check */
  605|      7|    if ((size_t)(image - (const uint8_t *)_image) > len)
  ------------------
  |  Branch (605:9): [True: 0, False: 7]
  ------------------
  606|      0|        HDONE_ERROR(H5E_FILE, H5E_BADVALUE, NULL, "bad decoded superblock size");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  607|       |
  608|      7|    ret_value = sblock;
  609|       |
  610|      7|done:
  611|       |    /* Release the [possibly partially initialized] superblock on error */
  612|      7|    if (!ret_value && sblock)
  ------------------
  |  Branch (612:9): [True: 0, False: 7]
  |  Branch (612:23): [True: 0, False: 0]
  ------------------
  613|      0|        if (H5F__super_free(sblock) < 0)
  ------------------
  |  Branch (613:13): [True: 0, False: 0]
  ------------------
  614|      0|            HDONE_ERROR(H5E_FILE, H5E_CANTFREE, NULL, "unable to destroy superblock data");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  615|       |
  616|      7|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  617|      7|} /* end H5F__cache_superblock_deserialize() */
H5Fsuper_cache.c:H5F__cache_superblock_free_icr:
  786|      7|{
  787|      7|    H5F_super_t *sblock    = (H5F_super_t *)_thing; /* Pointer to the object */
  788|      7|    herr_t       ret_value = SUCCEED;
  ------------------
  |  |  283|      7|#define SUCCEED 0
  ------------------
  789|       |
  790|      7|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      7|    {                                                                                                        \
  |  | 1461|      7|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      7|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      7|                                                                                                             \
  |  |  |  | 1267|      7|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      7|        {
  ------------------
  791|       |
  792|      7|    assert(sblock);
  793|      7|    assert(sblock->cache_info.type == H5AC_SUPERBLOCK);
  794|       |
  795|       |    /* Destroy superblock */
  796|      7|    if (H5F__super_free(sblock) < 0)
  ------------------
  |  Branch (796:9): [True: 0, False: 7]
  ------------------
  797|      0|        HGOTO_ERROR(H5E_BTREE, H5E_CANTFREE, FAIL, "unable to free superblock");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  798|       |
  799|      7|done:
  800|      7|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  801|      7|} /* H5F__cache_superblock_free_icr() */

H5Gopen2:
  430|      8|{
  431|      8|    hid_t ret_value = H5I_INVALID_HID; /* Return value */
  ------------------
  |  |   75|      8|#define H5I_INVALID_HID (-1)
  ------------------
  432|       |
  433|     16|    FUNC_ENTER_API(H5I_INVALID_HID)
  ------------------
  |  | 1300|      8|    {                                                                                                        \
  |  | 1301|      8|        {                                                                                                    \
  |  | 1302|      8|            bool api_ctx_pushed = false;                                                                     \
  |  | 1303|      8|                                                                                                             \
  |  | 1304|      8|            FUNC_ENTER_API_COMMON                                                                            \
  |  |  ------------------
  |  |  |  | 1281|      8|    FUNC_ENTER_COMMON(H5_IS_API(__func__));                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1265|      8|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  | 1266|      8|                                                                                                             \
  |  |  |  |  |  | 1267|      8|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  ------------------
  |  |  |  | 1282|      8|    FUNC_ENTER_API_THREADSAFE;
  |  |  ------------------
  |  | 1305|      8|            FUNC_ENTER_API_INIT(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1286|      8|    if (H5_UNLIKELY(!H5_INIT_GLOBAL && !H5_TERM_GLOBAL)) {                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      8|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 8]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 8]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1287|      0|        if (H5_UNLIKELY(H5_init_library() < 0))                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      0|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1288|      0|            HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, err, "library initialization failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1289|      0|    }
  |  |  ------------------
  |  | 1306|      8|            FUNC_ENTER_API_PUSH(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1293|      8|    if (H5_UNLIKELY(H5CX_push() < 0))                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      8|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 8]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1294|      8|        HGOTO_ERROR(H5E_FUNC, H5E_CANTSET, err, "can't set API context");                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1295|      8|    else                                                                                                     \
  |  |  |  | 1296|      8|        api_ctx_pushed = true;
  |  |  ------------------
  |  | 1307|      8|            /* Clear thread error stack entering public functions */                                         \
  |  | 1308|      8|            H5E_clear_stack();                                                                               \
  |  | 1309|      8|            {
  ------------------
  434|       |
  435|       |    /* Open the group synchronously */
  436|     16|    if ((ret_value = H5G__open_api_common(loc_id, name, gapl_id, NULL, NULL)) < 0)
  ------------------
  |  Branch (436:9): [True: 0, False: 8]
  ------------------
  437|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTCREATE, H5I_INVALID_HID, "unable to synchronously open group");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  438|       |
  439|      8|done:
  440|      8|    FUNC_LEAVE_API(ret_value)
  ------------------
  |  | 1509|      8|    ;                                                                                                        \
  |  | 1510|      8|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1511|      8|    if (H5_LIKELY(api_ctx_pushed)) {                                                                         \
  |  |  ------------------
  |  |  |  |  167|      8|#define H5_LIKELY(expression)   __builtin_expect(!!(expression), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (167:33): [True: 8, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1512|      8|        (void)H5CX_pop(true);                                                                                \
  |  | 1513|      8|        api_ctx_pushed = false;                                                                              \
  |  | 1514|      8|    }                                                                                                        \
  |  | 1515|      8|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|      8|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 0, False: 8]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1516|      8|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1517|      8|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1518|      8|    return (ret_value);                                                                                      \
  |  | 1519|      8|    }                                                                                                        \
  |  | 1520|      8|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  441|     16|} /* end H5Gopen2() */
H5Gget_info:
  583|      7|{
  584|      7|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      7|#define SUCCEED 0
  ------------------
  585|       |
  586|     14|    FUNC_ENTER_API(FAIL)
  ------------------
  |  | 1300|      7|    {                                                                                                        \
  |  | 1301|      7|        {                                                                                                    \
  |  | 1302|      7|            bool api_ctx_pushed = false;                                                                     \
  |  | 1303|      7|                                                                                                             \
  |  | 1304|      7|            FUNC_ENTER_API_COMMON                                                                            \
  |  |  ------------------
  |  |  |  | 1281|      7|    FUNC_ENTER_COMMON(H5_IS_API(__func__));                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1265|      7|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  | 1266|      7|                                                                                                             \
  |  |  |  |  |  | 1267|      7|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  ------------------
  |  |  |  | 1282|      7|    FUNC_ENTER_API_THREADSAFE;
  |  |  ------------------
  |  | 1305|      7|            FUNC_ENTER_API_INIT(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1286|      7|    if (H5_UNLIKELY(!H5_INIT_GLOBAL && !H5_TERM_GLOBAL)) {                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      7|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 7]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 7]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1287|      0|        if (H5_UNLIKELY(H5_init_library() < 0))                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      0|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1288|      0|            HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, err, "library initialization failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1289|      0|    }
  |  |  ------------------
  |  | 1306|      7|            FUNC_ENTER_API_PUSH(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1293|      7|    if (H5_UNLIKELY(H5CX_push() < 0))                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      7|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 7]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1294|      7|        HGOTO_ERROR(H5E_FUNC, H5E_CANTSET, err, "can't set API context");                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1295|      7|    else                                                                                                     \
  |  |  |  | 1296|      7|        api_ctx_pushed = true;
  |  |  ------------------
  |  | 1307|      7|            /* Clear thread error stack entering public functions */                                         \
  |  | 1308|      7|            H5E_clear_stack();                                                                               \
  |  | 1309|      7|            {
  ------------------
  587|       |
  588|       |    /* Retrieve group information synchronously */
  589|     14|    if (H5G__get_info_api_common(loc_id, group_info, NULL, NULL) < 0)
  ------------------
  |  Branch (589:9): [True: 1, False: 6]
  ------------------
  590|      1|        HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "unable to synchronously get group info");
  ------------------
  |  |   68|      1|    do {                                                                                                     \
  |  |   69|      1|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      1|    do {                                                                                                     \
  |  |  |  |   40|      1|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      1|    do {                                                                                                     \
  |  |  |  |  |  |   31|      1|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      1|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      1|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      1|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      1|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      1|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      1|    do {                                                                                                     \
  |  |  |  |   92|      1|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      1|        goto done;                                                                                           \
  |  |  |  |   94|      1|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      1|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  591|       |
  592|      7|done:
  593|      7|    FUNC_LEAVE_API(ret_value)
  ------------------
  |  | 1509|      7|    ;                                                                                                        \
  |  | 1510|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1511|      7|    if (H5_LIKELY(api_ctx_pushed)) {                                                                         \
  |  |  ------------------
  |  |  |  |  167|      7|#define H5_LIKELY(expression)   __builtin_expect(!!(expression), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (167:33): [True: 7, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1512|      7|        (void)H5CX_pop(true);                                                                                \
  |  | 1513|      7|        api_ctx_pushed = false;                                                                              \
  |  | 1514|      7|    }                                                                                                        \
  |  | 1515|      7|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|      7|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 1, False: 6]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1516|      7|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1517|      7|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1518|      7|    return (ret_value);                                                                                      \
  |  | 1519|      7|    }                                                                                                        \
  |  | 1520|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  594|     14|} /* end H5Gget_info() */
H5Gclose:
  865|     11|{
  866|     11|    herr_t ret_value = SUCCEED; /* Return value                     */
  ------------------
  |  |  283|     11|#define SUCCEED 0
  ------------------
  867|       |
  868|     22|    FUNC_ENTER_API(FAIL)
  ------------------
  |  | 1300|     11|    {                                                                                                        \
  |  | 1301|     11|        {                                                                                                    \
  |  | 1302|     11|            bool api_ctx_pushed = false;                                                                     \
  |  | 1303|     11|                                                                                                             \
  |  | 1304|     11|            FUNC_ENTER_API_COMMON                                                                            \
  |  |  ------------------
  |  |  |  | 1281|     11|    FUNC_ENTER_COMMON(H5_IS_API(__func__));                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1265|     11|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  | 1266|     11|                                                                                                             \
  |  |  |  |  |  | 1267|     11|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  ------------------
  |  |  |  | 1282|     11|    FUNC_ENTER_API_THREADSAFE;
  |  |  ------------------
  |  | 1305|     11|            FUNC_ENTER_API_INIT(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1286|     11|    if (H5_UNLIKELY(!H5_INIT_GLOBAL && !H5_TERM_GLOBAL)) {                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     11|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 11]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 11]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1287|      0|        if (H5_UNLIKELY(H5_init_library() < 0))                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      0|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1288|      0|            HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, err, "library initialization failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1289|      0|    }
  |  |  ------------------
  |  | 1306|     11|            FUNC_ENTER_API_PUSH(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1293|     11|    if (H5_UNLIKELY(H5CX_push() < 0))                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     11|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 11]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1294|     11|        HGOTO_ERROR(H5E_FUNC, H5E_CANTSET, err, "can't set API context");                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1295|     11|    else                                                                                                     \
  |  |  |  | 1296|     11|        api_ctx_pushed = true;
  |  |  ------------------
  |  | 1307|     11|            /* Clear thread error stack entering public functions */                                         \
  |  | 1308|     11|            H5E_clear_stack();                                                                               \
  |  | 1309|     11|            {
  ------------------
  869|       |
  870|       |    /* Check arguments */
  871|     22|    if (H5I_GROUP != H5I_get_type(group_id))
  ------------------
  |  Branch (871:9): [True: 0, False: 11]
  ------------------
  872|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a group ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  873|       |
  874|       |    /* Decrement the counter on the group ID. It will be freed if the count
  875|       |     * reaches zero.
  876|       |     */
  877|     11|    if (H5I_dec_app_ref(group_id) < 0)
  ------------------
  |  Branch (877:9): [True: 0, False: 11]
  ------------------
  878|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTDEC, FAIL, "decrementing group ID failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  879|       |
  880|     11|done:
  881|     11|    FUNC_LEAVE_API(ret_value)
  ------------------
  |  | 1509|     11|    ;                                                                                                        \
  |  | 1510|     11|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1511|     11|    if (H5_LIKELY(api_ctx_pushed)) {                                                                         \
  |  |  ------------------
  |  |  |  |  167|     11|#define H5_LIKELY(expression)   __builtin_expect(!!(expression), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (167:33): [True: 11, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1512|     11|        (void)H5CX_pop(true);                                                                                \
  |  | 1513|     11|        api_ctx_pushed = false;                                                                              \
  |  | 1514|     11|    }                                                                                                        \
  |  | 1515|     11|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|     11|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 0, False: 11]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1516|     11|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1517|     11|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1518|     11|    return (ret_value);                                                                                      \
  |  | 1519|     11|    }                                                                                                        \
  |  | 1520|     11|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  882|     11|} /* end H5Gclose() */
H5G.c:H5G__open_api_common:
  377|      8|{
  378|      8|    void           *grp         = NULL; /* Group opened */
  379|      8|    H5VL_object_t  *tmp_vol_obj = NULL; /* Object for loc_id */
  380|      8|    H5VL_object_t **vol_obj_ptr =
  381|      8|        (_vol_obj_ptr ? _vol_obj_ptr : &tmp_vol_obj); /* Ptr to object ptr for loc_id */
  ------------------
  |  Branch (381:10): [True: 0, False: 8]
  ------------------
  382|      8|    H5VL_loc_params_t loc_params;                     /* Location parameters for object access */
  383|      8|    hid_t             ret_value = H5I_INVALID_HID;    /* Return value */
  ------------------
  |  |   75|      8|#define H5I_INVALID_HID (-1)
  ------------------
  384|       |
  385|      8|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      8|    {                                                                                                        \
  |  | 1461|      8|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      8|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      8|                                                                                                             \
  |  |  |  | 1267|      8|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      8|        {
  ------------------
  386|       |
  387|       |    /* Check args */
  388|      8|    if (!name)
  ------------------
  |  Branch (388:9): [True: 0, False: 8]
  ------------------
  389|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, H5I_INVALID_HID, "name parameter cannot be NULL");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  390|      8|    if (!*name)
  ------------------
  |  Branch (390:9): [True: 0, False: 8]
  ------------------
  391|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, H5I_INVALID_HID, "name parameter cannot be an empty string");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  392|       |
  393|       |    /* Set up object access arguments */
  394|      8|    if (H5VL_setup_acc_args(loc_id, H5P_CLS_GACC, false, &gapl_id, vol_obj_ptr, &loc_params) < 0)
  ------------------
  |  Branch (394:9): [True: 0, False: 8]
  ------------------
  395|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTSET, H5I_INVALID_HID, "can't set object access arguments");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  396|       |
  397|      8|    if (NULL == (grp = H5VL_group_open(*vol_obj_ptr, &loc_params, name, gapl_id, H5P_DATASET_XFER_DEFAULT,
  ------------------
  |  |  160|      8|#define H5P_DATASET_XFER_DEFAULT (H5OPEN H5P_LST_DATASET_XFER_ID_g)
  ------------------
  |  Branch (397:9): [True: 0, False: 8]
  ------------------
  398|      8|                                       token_ptr)))
  399|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTOPENOBJ, H5I_INVALID_HID, "unable to open group");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  400|       |
  401|       |    /* Register an ID for the group */
  402|      8|    if ((ret_value = H5VL_register(H5I_GROUP, grp, (*vol_obj_ptr)->connector, true)) < 0)
  ------------------
  |  Branch (402:9): [True: 0, False: 8]
  ------------------
  403|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTREGISTER, H5I_INVALID_HID, "unable to register group");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  404|       |
  405|      8|done:
  406|      8|    if (H5I_INVALID_HID == ret_value)
  ------------------
  |  |   75|      8|#define H5I_INVALID_HID (-1)
  ------------------
  |  Branch (406:9): [True: 0, False: 8]
  ------------------
  407|      0|        if (grp && H5VL_group_close(*vol_obj_ptr, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL) < 0)
  ------------------
  |  |  160|      0|#define H5P_DATASET_XFER_DEFAULT (H5OPEN H5P_LST_DATASET_XFER_ID_g)
  ------------------
                      if (grp && H5VL_group_close(*vol_obj_ptr, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL) < 0)
  ------------------
  |  |  442|      0|#define H5_REQUEST_NULL NULL
  ------------------
  |  Branch (407:13): [True: 0, False: 0]
  |  Branch (407:20): [True: 0, False: 0]
  ------------------
  408|      0|            HDONE_ERROR(H5E_SYM, H5E_CLOSEERROR, H5I_INVALID_HID, "unable to release group");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  409|       |
  410|      8|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      8|    ;                                                                                                        \
  |  | 1573|      8|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      8|    return (ret_value);                                                                                      \
  |  | 1575|      8|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  411|      8|} /* H5G__open_api_common() */
H5G.c:H5G__get_info_api_common:
  541|      7|{
  542|      7|    H5VL_object_t  *tmp_vol_obj = NULL; /* Object for loc_id */
  543|      7|    H5VL_object_t **vol_obj_ptr =
  544|      7|        (_vol_obj_ptr ? _vol_obj_ptr : &tmp_vol_obj); /* Ptr to object ptr for loc_id */
  ------------------
  |  Branch (544:10): [True: 0, False: 7]
  ------------------
  545|      7|    H5VL_group_get_args_t vol_cb_args;                /* Arguments to VOL callback */
  546|      7|    H5I_type_t            id_type;                    /* Type of ID */
  547|      7|    herr_t                ret_value = SUCCEED;        /* Return value */
  ------------------
  |  |  283|      7|#define SUCCEED 0
  ------------------
  548|       |
  549|      7|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      7|    {                                                                                                        \
  |  | 1461|      7|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      7|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      7|                                                                                                             \
  |  |  |  | 1267|      7|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      7|        {
  ------------------
  550|       |
  551|       |    /* Check args */
  552|      7|    id_type = H5I_get_type(loc_id);
  553|      7|    if (!(H5I_GROUP == id_type || H5I_FILE == id_type))
  ------------------
  |  Branch (553:11): [True: 0, False: 7]
  |  Branch (553:35): [True: 7, False: 0]
  ------------------
  554|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid group (or file) ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  555|      7|    if (!group_info)
  ------------------
  |  Branch (555:9): [True: 0, False: 7]
  ------------------
  556|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "group_info parameter cannot be NULL");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  557|       |
  558|       |    /* Set up VOL callback & object access arguments */
  559|      7|    vol_cb_args.op_type = H5VL_GROUP_GET_INFO;
  560|      7|    if (H5VL_setup_self_args(loc_id, vol_obj_ptr, &vol_cb_args.args.get_info.loc_params) < 0)
  ------------------
  |  Branch (560:9): [True: 0, False: 7]
  ------------------
  561|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTSET, FAIL, "can't set object access arguments");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  562|      7|    vol_cb_args.args.get_info.ginfo = group_info;
  563|       |
  564|       |    /* Retrieve group information */
  565|      7|    if (H5VL_group_get(*vol_obj_ptr, &vol_cb_args, H5P_DATASET_XFER_DEFAULT, token_ptr) < 0)
  ------------------
  |  |  160|      7|#define H5P_DATASET_XFER_DEFAULT (H5OPEN H5P_LST_DATASET_XFER_ID_g)
  ------------------
  |  Branch (565:9): [True: 1, False: 6]
  ------------------
  566|      1|        HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "unable to get group info");
  ------------------
  |  |   68|      1|    do {                                                                                                     \
  |  |   69|      1|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      1|    do {                                                                                                     \
  |  |  |  |   40|      1|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      1|    do {                                                                                                     \
  |  |  |  |  |  |   31|      1|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      1|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      1|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      1|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      1|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      1|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      1|    do {                                                                                                     \
  |  |  |  |   92|      1|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      1|        goto done;                                                                                           \
  |  |  |  |   94|      1|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      1|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  567|       |
  568|      7|done:
  569|      7|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  570|      7|} /* H5G__get_info_api_common() */

H5Gcache.c:H5G__cache_node_get_initial_load_size:
  109|     20|{
  110|     20|    H5F_t *f = (H5F_t *)_udata; /* User data for callback */
  111|       |
  112|     20|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     20|    {                                                                                                        \
  |  | 1467|     20|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     20|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     20|        {
  ------------------
  113|       |
  114|     20|    assert(f);
  115|     20|    assert(image_len);
  116|       |
  117|       |    /* Set the image length size */
  118|     20|    *image_len = (size_t)(H5G_NODE_SIZE(f));
  ------------------
  |  |   44|     20|    (                /* General metadata fields */                                                           \
  |  |   45|     20|     H5_SIZEOF_MAGIC /*magic number */                                                                       \
  |  |  ------------------
  |  |  |  |  367|     20|#define H5_SIZEOF_MAGIC 4
  |  |  ------------------
  |  |   46|     20|     + 1             /* Version */                                                                           \
  |  |   47|     20|     + 1             /* Reserved */                                                                          \
  |  |   48|     20|     + 2             /* Number of symbols */                                                                 \
  |  |   49|     20|                                                                                                             \
  |  |   50|     20|     /* Entries */                                                                                           \
  |  |   51|     20|     + ((2 * H5F_SYM_LEAF_K(f)) * (unsigned)H5G_SIZEOF_ENTRY_FILE(f)))
  |  |  ------------------
  |  |  |  |  127|     20|#define H5F_SYM_LEAF_K(F)                (H5F_sym_leaf_k(F))
  |  |  ------------------
  |  |                    + ((2 * H5F_SYM_LEAF_K(f)) * (unsigned)H5G_SIZEOF_ENTRY_FILE(f)))
  |  |  ------------------
  |  |  |  |   44|     20|#define H5G_SIZEOF_ENTRY_FILE(F) H5G_SIZEOF_ENTRY(H5F_SIZEOF_ADDR(F), H5F_SIZEOF_SIZE(F))
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|     20|    ((sizeof_size) +     /*offset of name into heap              */                                          \
  |  |  |  |  |  |   40|     20|     (sizeof_addr) +     /*address of object header              */                                          \
  |  |  |  |  |  |   41|     20|     4 +                 /*entry type                            */                                          \
  |  |  |  |  |  |   42|     20|     4 +                 /*reserved                */                                                        \
  |  |  |  |  |  |   43|     20|     H5G_SIZEOF_SCRATCH) /*scratch pad space                     */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|     20|#define H5G_SIZEOF_SCRATCH 16
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  119|       |
  120|     20|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     20|    ;                                                                                                        \
  |  | 1573|     20|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     20|    return (ret_value);                                                                                      \
  |  | 1575|     20|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  121|     20|} /* end H5G__cache_node_get_initial_load_size() */
H5Gcache.c:H5G__cache_node_deserialize:
  142|     20|{
  143|     20|    H5F_t         *f         = (H5F_t *)_udata;         /* User data for callback */
  144|     20|    H5G_node_t    *sym       = NULL;                    /* Symbol table node created */
  145|     20|    const uint8_t *image     = (const uint8_t *)_image; /* Pointer to image to deserialize */
  146|     20|    const uint8_t *image_end = image + len - 1;         /* Pointer to end of image buffer */
  147|     20|    void          *ret_value = NULL;
  148|       |
  149|     20|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     20|    {                                                                                                        \
  |  | 1461|     20|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     20|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     20|                                                                                                             \
  |  |  |  | 1267|     20|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     20|        {
  ------------------
  150|       |
  151|     20|    assert(image);
  152|     20|    assert(len > 0);
  153|     20|    assert(f);
  154|     20|    assert(dirty);
  155|       |
  156|       |    /* Allocate symbol table data structures */
  157|     20|    if (NULL == (sym = H5FL_CALLOC(H5G_node_t)))
  ------------------
  |  |   78|     20|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|     20|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (157:9): [True: 0, False: 20]
  ------------------
  158|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  159|     20|    sym->node_size = (size_t)(H5G_NODE_SIZE(f));
  ------------------
  |  |   44|     20|    (                /* General metadata fields */                                                           \
  |  |   45|     20|     H5_SIZEOF_MAGIC /*magic number */                                                                       \
  |  |  ------------------
  |  |  |  |  367|     20|#define H5_SIZEOF_MAGIC 4
  |  |  ------------------
  |  |   46|     20|     + 1             /* Version */                                                                           \
  |  |   47|     20|     + 1             /* Reserved */                                                                          \
  |  |   48|     20|     + 2             /* Number of symbols */                                                                 \
  |  |   49|     20|                                                                                                             \
  |  |   50|     20|     /* Entries */                                                                                           \
  |  |   51|     20|     + ((2 * H5F_SYM_LEAF_K(f)) * (unsigned)H5G_SIZEOF_ENTRY_FILE(f)))
  |  |  ------------------
  |  |  |  |  127|     20|#define H5F_SYM_LEAF_K(F)                (H5F_sym_leaf_k(F))
  |  |  ------------------
  |  |                    + ((2 * H5F_SYM_LEAF_K(f)) * (unsigned)H5G_SIZEOF_ENTRY_FILE(f)))
  |  |  ------------------
  |  |  |  |   44|     20|#define H5G_SIZEOF_ENTRY_FILE(F) H5G_SIZEOF_ENTRY(H5F_SIZEOF_ADDR(F), H5F_SIZEOF_SIZE(F))
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|     20|    ((sizeof_size) +     /*offset of name into heap              */                                          \
  |  |  |  |  |  |   40|     20|     (sizeof_addr) +     /*address of object header              */                                          \
  |  |  |  |  |  |   41|     20|     4 +                 /*entry type                            */                                          \
  |  |  |  |  |  |   42|     20|     4 +                 /*reserved                */                                                        \
  |  |  |  |  |  |   43|     20|     H5G_SIZEOF_SCRATCH) /*scratch pad space                     */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|     20|#define H5G_SIZEOF_SCRATCH 16
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  160|     20|    if (NULL == (sym->entry = H5FL_SEQ_CALLOC(H5G_entry_t, (size_t)(2 * H5F_SYM_LEAF_K(f)))))
  ------------------
  |  |  285|     20|#define H5FL_SEQ_CALLOC(t, elem) (t *)H5FL_seq_calloc(&(H5FL_SEQ_NAME(t)), (elem))
  |  |  ------------------
  |  |  |  |  266|     20|#define H5FL_SEQ_NAME(t) H5_##t##_seq_free_list
  |  |  ------------------
  ------------------
  |  Branch (160:9): [True: 0, False: 20]
  ------------------
  161|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  162|       |
  163|       |    /* Magic */
  164|     20|    if (H5_IS_BUFFER_OVERFLOW(image, H5_SIZEOF_MAGIC, image_end))
  ------------------
  |  |  344|     20|    (                                                                                                        \
  |  |  345|     20|      /* Trivial case */                                                                                     \
  |  |  346|     20|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|     20|      (                                                                                                      \
  |  |  348|     20|        /* Bad precondition */                                                                               \
  |  |  349|     20|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 20]
  |  |  ------------------
  |  |  350|     20|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     20|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|     20|        /* Typical overflow */                                                                               \
  |  |  353|     20|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 20]
  |  |  ------------------
  |  |  354|     20|      )                                                                                                      \
  |  |  355|     20|    )
  ------------------
  165|      0|        HGOTO_ERROR(H5E_SYM, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  166|     20|    if (memcmp(image, H5G_NODE_MAGIC, (size_t)H5_SIZEOF_MAGIC) != 0)
  ------------------
  |  |  396|     20|#define H5G_NODE_MAGIC "SNOD"
  ------------------
                  if (memcmp(image, H5G_NODE_MAGIC, (size_t)H5_SIZEOF_MAGIC) != 0)
  ------------------
  |  |  367|     20|#define H5_SIZEOF_MAGIC 4
  ------------------
  |  Branch (166:9): [True: 1, False: 19]
  ------------------
  167|      1|        HGOTO_ERROR(H5E_SYM, H5E_BADVALUE, NULL, "bad symbol table node signature");
  ------------------
  |  |   68|      1|    do {                                                                                                     \
  |  |   69|      1|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      1|    do {                                                                                                     \
  |  |  |  |   40|      1|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      1|    do {                                                                                                     \
  |  |  |  |  |  |   31|      1|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      1|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      1|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      1|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      1|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      1|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      1|    do {                                                                                                     \
  |  |  |  |   92|      1|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      1|        goto done;                                                                                           \
  |  |  |  |   94|      1|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      1|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  168|     19|    image += H5_SIZEOF_MAGIC;
  ------------------
  |  |  367|     19|#define H5_SIZEOF_MAGIC 4
  ------------------
  169|       |
  170|       |    /* Version */
  171|     19|    if (H5_IS_BUFFER_OVERFLOW(image, 1, image_end))
  ------------------
  |  |  344|     19|    (                                                                                                        \
  |  |  345|     19|      /* Trivial case */                                                                                     \
  |  |  346|     19|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|     19|      (                                                                                                      \
  |  |  348|     19|        /* Bad precondition */                                                                               \
  |  |  349|     19|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 19]
  |  |  ------------------
  |  |  350|     19|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     19|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|     19|        /* Typical overflow */                                                                               \
  |  |  353|     19|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 19]
  |  |  ------------------
  |  |  354|     19|      )                                                                                                      \
  |  |  355|     19|    )
  ------------------
  172|      0|        HGOTO_ERROR(H5E_SYM, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  173|     19|    if (H5G_NODE_VERS != *image++)
  ------------------
  |  |   41|     19|#define H5G_NODE_VERS 1 /* Symbol table node version number   */
  ------------------
  |  Branch (173:9): [True: 0, False: 19]
  ------------------
  174|      0|        HGOTO_ERROR(H5E_SYM, H5E_VERSION, NULL, "bad symbol table node version");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  175|       |
  176|       |    /* Reserved */
  177|     19|    if (H5_IS_BUFFER_OVERFLOW(image, 1, image_end))
  ------------------
  |  |  344|     19|    (                                                                                                        \
  |  |  345|     19|      /* Trivial case */                                                                                     \
  |  |  346|     19|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|     19|      (                                                                                                      \
  |  |  348|     19|        /* Bad precondition */                                                                               \
  |  |  349|     19|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 19]
  |  |  ------------------
  |  |  350|     19|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     19|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|     19|        /* Typical overflow */                                                                               \
  |  |  353|     19|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 19]
  |  |  ------------------
  |  |  354|     19|      )                                                                                                      \
  |  |  355|     19|    )
  ------------------
  178|      0|        HGOTO_ERROR(H5E_SYM, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  179|     19|    image++;
  180|       |
  181|       |    /* Number of symbols */
  182|     19|    if (H5_IS_BUFFER_OVERFLOW(image, 2, image_end))
  ------------------
  |  |  344|     19|    (                                                                                                        \
  |  |  345|     19|      /* Trivial case */                                                                                     \
  |  |  346|     19|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|     19|      (                                                                                                      \
  |  |  348|     19|        /* Bad precondition */                                                                               \
  |  |  349|     19|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 19]
  |  |  ------------------
  |  |  350|     19|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     19|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|     19|        /* Typical overflow */                                                                               \
  |  |  353|     19|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 19]
  |  |  ------------------
  |  |  354|     19|      )                                                                                                      \
  |  |  355|     19|    )
  ------------------
  183|      0|        HGOTO_ERROR(H5E_SYM, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  184|     19|    UINT16DECODE(image, sym->nsyms);
  ------------------
  |  |  159|     19|    do {                                                                                                     \
  |  |  160|     19|        (i) = (uint16_t)(*(p)&0xff);                                                                         \
  |  |  161|     19|        (p)++;                                                                                               \
  |  |  162|     19|        (i) |= (uint16_t)((*(p)&0xff) << 8);                                                                 \
  |  |  163|     19|        (p)++;                                                                                               \
  |  |  164|     19|    } while (0)
  |  |  ------------------
  |  |  |  Branch (164:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  185|       |
  186|       |    /* Entries */
  187|     19|    if (H5G__ent_decode_vec(f, &image, image_end, sym->entry, sym->nsyms) < 0)
  ------------------
  |  Branch (187:9): [True: 0, False: 19]
  ------------------
  188|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTLOAD, NULL, "unable to decode symbol table entries");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  189|       |
  190|       |    /* Set return value */
  191|     19|    ret_value = sym;
  192|       |
  193|     20|done:
  194|     20|    if (!ret_value)
  ------------------
  |  Branch (194:9): [True: 1, False: 19]
  ------------------
  195|      1|        if (sym && H5G__node_free(sym) < 0)
  ------------------
  |  Branch (195:13): [True: 1, False: 0]
  |  Branch (195:20): [True: 0, False: 1]
  ------------------
  196|      0|            HDONE_ERROR(H5E_SYM, H5E_CANTFREE, NULL, "unable to destroy symbol table node");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  197|       |
  198|     20|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     20|    ;                                                                                                        \
  |  | 1573|     20|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     20|    return (ret_value);                                                                                      \
  |  | 1575|     20|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  199|     19|} /* end H5G__cache_node_deserialize() */
H5Gcache.c:H5G__cache_node_free_icr:
  286|     19|{
  287|     19|    H5G_node_t *sym       = (H5G_node_t *)_thing; /* Pointer to the object */
  288|     19|    herr_t      ret_value = SUCCEED;
  ------------------
  |  |  283|     19|#define SUCCEED 0
  ------------------
  289|       |
  290|     19|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     19|    {                                                                                                        \
  |  | 1461|     19|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     19|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     19|                                                                                                             \
  |  |  |  | 1267|     19|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     19|        {
  ------------------
  291|       |
  292|     19|    assert(sym);
  293|     19|    assert(sym->cache_info.type == H5AC_SNODE);
  294|       |
  295|       |    /* Destroy symbol table node */
  296|     19|    if (H5G__node_free(sym) < 0)
  ------------------
  |  Branch (296:9): [True: 0, False: 19]
  ------------------
  297|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTFREE, FAIL, "unable to destroy symbol table node");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  298|       |
  299|     19|done:
  300|     19|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     19|    ;                                                                                                        \
  |  | 1573|     19|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     19|    return (ret_value);                                                                                      \
  |  | 1575|     19|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  301|     19|} /* end H5G__cache_node_free_icr() */

H5G__ent_decode_vec:
   72|     19|{
   73|     19|    unsigned u;                   /* Local index variable */
   74|     19|    herr_t   ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     19|#define SUCCEED 0
  ------------------
   75|       |
   76|     19|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     19|    {                                                                                                        \
  |  | 1461|     19|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     19|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     19|                                                                                                             \
  |  |  |  | 1267|     19|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     19|        {
  ------------------
   77|       |
   78|       |    /* check arguments */
   79|     19|    assert(f);
   80|     19|    assert(pp);
   81|     19|    assert(ent);
   82|       |
   83|       |    /* decode entries */
   84|    116|    for (u = 0; u < n; u++) {
  ------------------
  |  Branch (84:17): [True: 97, False: 19]
  ------------------
   85|     97|        if (*pp > p_end)
  ------------------
  |  Branch (85:13): [True: 0, False: 97]
  ------------------
   86|      0|            HGOTO_ERROR(H5E_SYM, H5E_CANTDECODE, FAIL, "ran off the end of the image buffer");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   87|     97|        if (H5G_ent_decode(f, pp, ent + u, p_end) < 0)
  ------------------
  |  Branch (87:13): [True: 0, False: 97]
  ------------------
   88|      0|            HGOTO_ERROR(H5E_SYM, H5E_CANTDECODE, FAIL, "can't decode");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   89|     97|    }
   90|       |
   91|     19|done:
   92|     19|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     19|    ;                                                                                                        \
  |  | 1573|     19|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     19|    return (ret_value);                                                                                      \
  |  | 1575|     19|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
   93|     19|} /* end H5G__ent_decode_vec() */
H5G_ent_decode:
  109|    104|{
  110|    104|    const uint8_t *p_ret = *pp;
  111|    104|    uint32_t       tmp;
  112|    104|    herr_t         ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    104|#define SUCCEED 0
  ------------------
  113|       |
  114|    104|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    104|    {                                                                                                        \
  |  | 1392|    104|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    104|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    104|                                                                                                             \
  |  |  |  | 1267|    104|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    104|        {
  ------------------
  115|       |
  116|       |    /* check arguments */
  117|    104|    assert(f);
  118|    104|    assert(pp);
  119|    104|    assert(ent);
  120|       |
  121|    104|    if (H5_IS_BUFFER_OVERFLOW(*pp, ent->name_off, p_end))
  ------------------
  |  |  344|    104|    (                                                                                                        \
  |  |  345|    104|      /* Trivial case */                                                                                     \
  |  |  346|    104|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 0, False: 104]
  |  |  ------------------
  |  |  347|    104|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 0, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 0]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|    104|    )
  ------------------
  122|      0|        HGOTO_ERROR(H5E_FILE, H5E_OVERFLOW, FAIL, "image pointer is out of bounds");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  123|       |
  124|       |    /* decode header */
  125|    104|    H5F_DECODE_LENGTH(f, *pp, ent->name_off);
  ------------------
  |  |  174|    104|#define H5F_DECODE_LENGTH(f, p, l) H5_DECODE_LENGTH_LEN(p, l, H5F_SIZEOF_SIZE(f))
  |  |  ------------------
  |  |  |  |  276|    104|    do {                                                                                                     \
  |  |  |  |  277|    104|        switch (s) {                                                                                         \
  |  |  |  |  278|      0|            case 4:                                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (278:13): [True: 0, False: 104]
  |  |  |  |  ------------------
  |  |  |  |  279|      0|                UINT32DECODE(p, l);                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  179|      0|    do {                                                                                                     \
  |  |  |  |  |  |  180|      0|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  |  |  |  |  181|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  182|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  |  |  |  |  183|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  184|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  |  |  |  |  185|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  186|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  |  |  |  |  187|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  188|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  280|      0|                break;                                                                                       \
  |  |  |  |  281|    104|            case 8:                                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (281:13): [True: 104, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  282|    104|                UINT64DECODE(p, l);                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  220|    104|    do {                                                                                                     \
  |  |  |  |  |  |  221|    104|        /* WE DON'T CHECK FOR OVERFLOW! */                                                                   \
  |  |  |  |  |  |  222|    104|        size_t _i;                                                                                           \
  |  |  |  |  |  |  223|    104|                                                                                                             \
  |  |  |  |  |  |  224|    104|        n = 0;                                                                                               \
  |  |  |  |  |  |  225|    104|        (p) += 8;                                                                                            \
  |  |  |  |  |  |  226|    936|        for (_i = 0; _i < sizeof(uint64_t); _i++)                                                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (226:22): [True: 832, False: 104]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  227|    832|            n = (uint64_t)(((uint64_t)n << 8) | *(--p));                                                     \
  |  |  |  |  |  |  228|    104|        (p) += 8;                                                                                            \
  |  |  |  |  |  |  229|    104|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (229:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  283|    104|                break;                                                                                       \
  |  |  |  |  284|      0|            case 2:                                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (284:13): [True: 0, False: 104]
  |  |  |  |  ------------------
  |  |  |  |  285|      0|                UINT16DECODE(p, l);                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  159|      0|    do {                                                                                                     \
  |  |  |  |  |  |  160|      0|        (i) = (uint16_t)(*(p)&0xff);                                                                         \
  |  |  |  |  |  |  161|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  162|      0|        (i) |= (uint16_t)((*(p)&0xff) << 8);                                                                 \
  |  |  |  |  |  |  163|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  164|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (164:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  286|      0|                break;                                                                                       \
  |  |  |  |  287|      0|            default:                                                                                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (287:13): [True: 0, False: 104]
  |  |  |  |  ------------------
  |  |  |  |  288|      0|                assert("bad sizeof size" && 0);                                                              \
  |  |  |  |  289|    104|        }                                                                                                    \
  |  |  |  |  290|    104|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (290:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  126|       |
  127|    104|    if (H5_IS_BUFFER_OVERFLOW(*pp, H5F_SIZEOF_ADDR(f) + sizeof(uint32_t), p_end))
  ------------------
  |  |  344|    104|    (                                                                                                        \
  |  |  345|    104|      /* Trivial case */                                                                                     \
  |  |  346|    104|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 104, False: 0]
  |  |  ------------------
  |  |  347|    104|      (                                                                                                      \
  |  |  348|    104|        /* Bad precondition */                                                                               \
  |  |  349|    104|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 104]
  |  |  ------------------
  |  |  350|    104|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|    104|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 104, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 104]
  |  |  ------------------
  |  |  352|    104|        /* Typical overflow */                                                                               \
  |  |  353|    104|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 104]
  |  |  ------------------
  |  |  354|    104|      )                                                                                                      \
  |  |  355|    104|    )
  ------------------
  128|      0|        HGOTO_ERROR(H5E_FILE, H5E_OVERFLOW, FAIL, "image pointer is out of bounds");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  129|       |
  130|    104|    H5F_addr_decode(f, pp, &(ent->header));
  131|    104|    UINT32DECODE(*pp, tmp);
  ------------------
  |  |  179|    104|    do {                                                                                                     \
  |  |  180|    104|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  181|    104|        (p)++;                                                                                               \
  |  |  182|    104|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  183|    104|        (p)++;                                                                                               \
  |  |  184|    104|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  185|    104|        (p)++;                                                                                               \
  |  |  186|    104|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  187|    104|        (p)++;                                                                                               \
  |  |  188|    104|    } while (0)
  |  |  ------------------
  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  132|    104|    *pp += 4; /*reserved*/
  133|       |
  134|    104|    if (H5_IS_BUFFER_OVERFLOW(*pp, 1, p_end))
  ------------------
  |  |  344|    104|    (                                                                                                        \
  |  |  345|    104|      /* Trivial case */                                                                                     \
  |  |  346|    104|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|    104|      (                                                                                                      \
  |  |  348|    104|        /* Bad precondition */                                                                               \
  |  |  349|    104|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 104]
  |  |  ------------------
  |  |  350|    104|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|    104|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|    104|        /* Typical overflow */                                                                               \
  |  |  353|    104|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 104]
  |  |  ------------------
  |  |  354|    104|      )                                                                                                      \
  |  |  355|    104|    )
  ------------------
  135|      0|        HGOTO_ERROR(H5E_FILE, H5E_OVERFLOW, FAIL, "image pointer is out of bounds");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  136|       |
  137|    104|    ent->type = (H5G_cache_type_t)tmp;
  138|       |
  139|       |    /* decode scratch-pad */
  140|    104|    switch (ent->type) {
  141|     71|        case H5G_NOTHING_CACHED:
  ------------------
  |  Branch (141:9): [True: 71, False: 33]
  ------------------
  142|     71|            break;
  143|       |
  144|     31|        case H5G_CACHED_STAB:
  ------------------
  |  Branch (144:9): [True: 31, False: 73]
  ------------------
  145|     31|            assert(2 * H5F_SIZEOF_ADDR(f) <= H5G_SIZEOF_SCRATCH);
  146|     31|            if (H5_IS_BUFFER_OVERFLOW(*pp, H5F_SIZEOF_ADDR(f) * 2, p_end))
  ------------------
  |  |  344|     31|    (                                                                                                        \
  |  |  345|     31|      /* Trivial case */                                                                                     \
  |  |  346|     31|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 31, False: 0]
  |  |  ------------------
  |  |  347|     31|      (                                                                                                      \
  |  |  348|     31|        /* Bad precondition */                                                                               \
  |  |  349|     31|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 31]
  |  |  ------------------
  |  |  350|     31|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     31|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 31, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 31]
  |  |  ------------------
  |  |  352|     31|        /* Typical overflow */                                                                               \
  |  |  353|     31|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 31]
  |  |  ------------------
  |  |  354|     31|      )                                                                                                      \
  |  |  355|     31|    )
  ------------------
  147|      0|                HGOTO_ERROR(H5E_FILE, H5E_OVERFLOW, FAIL, "image pointer is out of bounds");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  148|     31|            H5F_addr_decode(f, pp, &(ent->cache.stab.btree_addr));
  149|     31|            H5F_addr_decode(f, pp, &(ent->cache.stab.heap_addr));
  150|     31|            break;
  151|       |
  152|      2|        case H5G_CACHED_SLINK:
  ------------------
  |  Branch (152:9): [True: 2, False: 102]
  ------------------
  153|      2|            if (H5_IS_BUFFER_OVERFLOW(*pp, sizeof(uint32_t), p_end))
  ------------------
  |  |  344|      2|    (                                                                                                        \
  |  |  345|      2|      /* Trivial case */                                                                                     \
  |  |  346|      2|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      2|      (                                                                                                      \
  |  |  348|      2|        /* Bad precondition */                                                                               \
  |  |  349|      2|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 2]
  |  |  ------------------
  |  |  350|      2|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      2|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      2|        /* Typical overflow */                                                                               \
  |  |  353|      2|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 2]
  |  |  ------------------
  |  |  354|      2|      )                                                                                                      \
  |  |  355|      2|    )
  ------------------
  154|      0|                HGOTO_ERROR(H5E_FILE, H5E_OVERFLOW, FAIL, "image pointer is out of bounds");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  155|      2|            UINT32DECODE(*pp, ent->cache.slink.lval_offset);
  ------------------
  |  |  179|      2|    do {                                                                                                     \
  |  |  180|      2|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  181|      2|        (p)++;                                                                                               \
  |  |  182|      2|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  183|      2|        (p)++;                                                                                               \
  |  |  184|      2|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  185|      2|        (p)++;                                                                                               \
  |  |  186|      2|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  187|      2|        (p)++;                                                                                               \
  |  |  188|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  156|      2|            break;
  157|       |
  158|      0|        case H5G_CACHED_ERROR:
  ------------------
  |  Branch (158:9): [True: 0, False: 104]
  ------------------
  159|      0|        case H5G_NCACHED:
  ------------------
  |  Branch (159:9): [True: 0, False: 104]
  ------------------
  160|      0|        default:
  ------------------
  |  Branch (160:9): [True: 0, False: 104]
  ------------------
  161|      0|            HGOTO_ERROR(H5E_SYM, H5E_BADVALUE, FAIL, "unknown symbol table entry cache type");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  162|    104|    } /* end switch */
  163|       |
  164|    104|    *pp = p_ret + H5G_SIZEOF_ENTRY_FILE(f);
  ------------------
  |  |   44|    104|#define H5G_SIZEOF_ENTRY_FILE(F) H5G_SIZEOF_ENTRY(H5F_SIZEOF_ADDR(F), H5F_SIZEOF_SIZE(F))
  |  |  ------------------
  |  |  |  |   39|    104|    ((sizeof_size) +     /*offset of name into heap              */                                          \
  |  |  |  |   40|    104|     (sizeof_addr) +     /*address of object header              */                                          \
  |  |  |  |   41|    104|     4 +                 /*entry type                            */                                          \
  |  |  |  |   42|    104|     4 +                 /*reserved                */                                                        \
  |  |  |  |   43|    104|     H5G_SIZEOF_SCRATCH) /*scratch pad space                     */
  |  |  |  |  ------------------
  |  |  |  |  |  |   37|    104|#define H5G_SIZEOF_SCRATCH 16
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  165|       |
  166|    104|done:
  167|    104|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    104|    ;                                                                                                        \
  |  | 1573|    104|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    104|    return (ret_value);                                                                                      \
  |  | 1575|    104|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  168|    104|} /* end H5G_ent_decode() */
H5G__ent_to_link:
  355|    825|{
  356|    825|    const char *name;                /* Pointer to link name in heap */
  357|    825|    size_t      block_size;          /* Size of the heap block */
  358|    825|    bool        dup_soft  = false;   /* xstrdup the symbolic link name or not */
  359|    825|    herr_t      ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    825|#define SUCCEED 0
  ------------------
  360|       |
  361|    825|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    825|    {                                                                                                        \
  |  | 1461|    825|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    825|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    825|                                                                                                             \
  |  |  |  | 1267|    825|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    825|        {
  ------------------
  362|       |
  363|       |    /* check arguments */
  364|    825|    assert(ent);
  365|    825|    assert(heap);
  366|    825|    assert(lnk);
  367|       |
  368|       |    /* Initialize structure and set (default) common info for link */
  369|    825|    lnk->type         = H5L_TYPE_ERROR;
  370|    825|    lnk->corder_valid = false; /* Creation order not valid for this link */
  371|    825|    lnk->corder       = 0;
  372|    825|    lnk->cset         = H5F_DEFAULT_CSET;
  ------------------
  |  |  197|    825|#define H5F_DEFAULT_CSET H5T_CSET_ASCII
  ------------------
  373|    825|    lnk->name         = NULL;
  374|       |
  375|       |    /* Get the size of the heap block */
  376|    825|    block_size = H5HL_heap_get_size(heap);
  377|       |
  378|       |    /* Get pointer to link's name in the heap */
  379|    825|    if (NULL == (name = (const char *)H5HL_offset_into(heap, ent->name_off)))
  ------------------
  |  Branch (379:9): [True: 0, False: 825]
  ------------------
  380|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "unable to get symbol table link name");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  381|       |
  382|    825|    if (NULL == (lnk->name = H5MM_strndup(name, (block_size - ent->name_off))))
  ------------------
  |  Branch (382:9): [True: 0, False: 825]
  ------------------
  383|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "unable to duplicate link name");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  384|    825|    if (!*lnk->name)
  ------------------
  |  Branch (384:9): [True: 0, False: 825]
  ------------------
  385|      0|        HGOTO_ERROR(H5E_SYM, H5E_BADVALUE, FAIL, "invalid link name");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  386|       |
  387|       |    /* Object is a symbolic or hard link */
  388|    825|    if (ent->type == H5G_CACHED_SLINK) {
  ------------------
  |  Branch (388:9): [True: 0, False: 825]
  ------------------
  389|      0|        const char *s; /* Pointer to link value */
  390|       |
  391|      0|        if (NULL == (s = (const char *)H5HL_offset_into(heap, ent->cache.slink.lval_offset)))
  ------------------
  |  Branch (391:13): [True: 0, False: 0]
  ------------------
  392|      0|            HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "unable to get symbolic link name");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  393|       |
  394|       |        /* Copy the link value */
  395|      0|        if (NULL == (lnk->u.soft.name = H5MM_strndup(s, (block_size - ent->cache.slink.lval_offset))))
  ------------------
  |  Branch (395:13): [True: 0, False: 0]
  ------------------
  396|      0|            HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "unable to duplicate symbolic link name");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  397|       |
  398|      0|        dup_soft = true;
  399|       |
  400|       |        /* Set link type */
  401|      0|        lnk->type = H5L_TYPE_SOFT;
  402|      0|    } /* end if */
  403|    825|    else {
  404|       |        /* Set address of object */
  405|    825|        lnk->u.hard.addr = ent->header;
  406|       |
  407|       |        /* Set link type */
  408|    825|        lnk->type = H5L_TYPE_HARD;
  409|    825|    } /* end else */
  410|       |
  411|    825|done:
  412|    825|    if (ret_value < 0) {
  ------------------
  |  Branch (412:9): [True: 0, False: 825]
  ------------------
  413|      0|        if (lnk->name)
  ------------------
  |  Branch (413:13): [True: 0, False: 0]
  ------------------
  414|      0|            H5MM_xfree(lnk->name);
  415|      0|        if (ent->type == H5G_CACHED_SLINK && dup_soft)
  ------------------
  |  Branch (415:13): [True: 0, False: 0]
  |  Branch (415:46): [True: 0, False: 0]
  ------------------
  416|      0|            H5MM_xfree(lnk->u.soft.name);
  417|      0|    }
  418|       |
  419|    825|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    825|    ;                                                                                                        \
  |  | 1573|    825|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    825|    return (ret_value);                                                                                      \
  |  | 1575|    825|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  420|    825|} /* end H5G__ent_to_link() */

H5G_init:
  127|      1|{
  128|      1|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  129|       |
  130|      1|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      1|    {                                                                                                        \
  |  | 1392|      1|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      1|        {
  ------------------
  131|       |    /* Initialize the ID group for the group IDs */
  132|      1|    if (H5I_register_type(H5I_GROUP_CLS) < 0)
  ------------------
  |  Branch (132:9): [True: 0, False: 1]
  ------------------
  133|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to initialize interface");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  134|       |
  135|      1|done:
  136|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  137|      1|} /* end H5G_init() */
H5G_top_term_package:
  152|      1|{
  153|      1|    int n = 0;
  154|       |
  155|      1|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      1|    {                                                                                                        \
  |  | 1425|      1|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      1|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      1|        {
  ------------------
  156|       |
  157|      1|    if (H5I_nmembers(H5I_GROUP) > 0) {
  ------------------
  |  Branch (157:9): [True: 0, False: 1]
  ------------------
  158|      0|        (void)H5I_clear_type(H5I_GROUP, false, false);
  159|      0|        n++;
  160|      0|    }
  161|       |
  162|      1|    FUNC_LEAVE_NOAPI(n)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  163|      1|} /* end H5G_top_term_package() */
H5G_term_package:
  181|      1|{
  182|      1|    int n = 0;
  183|       |
  184|      1|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      1|    {                                                                                                        \
  |  | 1425|      1|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      1|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      1|        {
  ------------------
  185|       |
  186|       |    /* Sanity checks */
  187|      1|    assert(0 == H5I_nmembers(H5I_GROUP));
  188|       |
  189|       |    /* Destroy the group object id group */
  190|      1|    n += (H5I_dec_type_ref(H5I_GROUP) > 0);
  191|       |
  192|      1|    FUNC_LEAVE_NOAPI(n)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  193|      1|} /* end H5G_term_package() */
H5G__open_name:
  358|     84|{
  359|     84|    H5G_t     *grp = NULL;        /* Group to open */
  360|     84|    H5G_loc_t  grp_loc;           /* Location used to open group */
  361|     84|    H5G_name_t grp_path;          /* Opened object group hier. path */
  362|     84|    H5O_loc_t  grp_oloc;          /* Opened object object location */
  363|     84|    bool       loc_found = false; /* Location at 'name' found */
  364|     84|    H5O_type_t obj_type;          /* Type of object at location */
  365|     84|    H5G_t     *ret_value = NULL;  /* Return value */
  366|       |
  367|     84|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     84|    {                                                                                                        \
  |  | 1461|     84|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     84|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     84|                                                                                                             \
  |  |  |  | 1267|     84|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     84|        {
  ------------------
  368|       |
  369|       |    /* Check args */
  370|     84|    assert(loc);
  371|     84|    assert(name);
  372|       |
  373|       |    /* Set up opened group location to fill in */
  374|     84|    grp_loc.oloc = &grp_oloc;
  375|     84|    grp_loc.path = &grp_path;
  376|     84|    H5G_loc_reset(&grp_loc);
  377|       |
  378|       |    /* Find the group object */
  379|     84|    if (H5G_loc_find(loc, name, &grp_loc /*out*/) < 0)
  ------------------
  |  Branch (379:9): [True: 0, False: 84]
  ------------------
  380|      0|        HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, NULL, "group not found");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  381|     84|    loc_found = true;
  382|       |
  383|       |    /* Check that the object found is the correct type */
  384|     84|    if (H5O_obj_type(&grp_oloc, &obj_type) < 0)
  ------------------
  |  Branch (384:9): [True: 0, False: 84]
  ------------------
  385|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTGET, NULL, "can't get object type");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  386|     84|    if (obj_type != H5O_TYPE_GROUP)
  ------------------
  |  Branch (386:9): [True: 0, False: 84]
  ------------------
  387|      0|        HGOTO_ERROR(H5E_SYM, H5E_BADTYPE, NULL, "not a group");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  388|       |
  389|       |    /* Open the group */
  390|     84|    if (NULL == (grp = H5G_open(&grp_loc)))
  ------------------
  |  Branch (390:9): [True: 0, False: 84]
  ------------------
  391|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTOPENOBJ, NULL, "unable to open group");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  392|       |
  393|       |    /* Set return value */
  394|     84|    ret_value = grp;
  395|       |
  396|     84|done:
  397|     84|    if (!ret_value)
  ------------------
  |  Branch (397:9): [True: 0, False: 84]
  ------------------
  398|      0|        if (loc_found && H5G_loc_free(&grp_loc) < 0)
  ------------------
  |  Branch (398:13): [True: 0, False: 0]
  |  Branch (398:26): [True: 0, False: 0]
  ------------------
  399|      0|            HDONE_ERROR(H5E_SYM, H5E_CANTRELEASE, NULL, "can't free location");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  400|       |
  401|     84|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     84|    ;                                                                                                        \
  |  | 1573|     84|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     84|    return (ret_value);                                                                                      \
  |  | 1575|     84|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  402|     84|} /* end H5G__open_name() */
H5G_open:
  418|     91|{
  419|     91|    H5G_t        *grp = NULL;       /* Group opened */
  420|     91|    H5G_shared_t *shared_fo;        /* Shared group object */
  421|     91|    H5G_t        *ret_value = NULL; /* Return value */
  422|       |
  423|     91|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|     91|    {                                                                                                        \
  |  | 1392|     91|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     91|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     91|                                                                                                             \
  |  |  |  | 1267|     91|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     91|        {
  ------------------
  424|       |
  425|       |    /* Check args */
  426|     91|    assert(loc);
  427|       |
  428|       |    /* Allocate the group structure */
  429|     91|    if (NULL == (grp = H5FL_CALLOC(H5G_t)))
  ------------------
  |  |   78|     91|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|     91|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (429:9): [True: 0, False: 91]
  ------------------
  430|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "can't allocate space for group");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  431|       |
  432|       |    /* Shallow copy (take ownership) of the group location object */
  433|     91|    if (H5O_loc_copy_shallow(&(grp->oloc), loc->oloc) < 0)
  ------------------
  |  Branch (433:9): [True: 0, False: 91]
  ------------------
  434|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTCOPY, NULL, "can't copy object location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  435|     91|    if (H5G_name_copy(&(grp->path), loc->path, H5_COPY_SHALLOW) < 0)
  ------------------
  |  Branch (435:9): [True: 0, False: 91]
  ------------------
  436|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTCOPY, NULL, "can't copy path");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  437|       |
  438|       |    /* Check if group was already open */
  439|     91|    if ((shared_fo = (H5G_shared_t *)H5FO_opened(grp->oloc.file, grp->oloc.addr)) == NULL) {
  ------------------
  |  Branch (439:9): [True: 91, False: 0]
  ------------------
  440|       |
  441|       |        /* Clear any errors from H5FO_opened() */
  442|     91|        H5E_clear_stack();
  443|       |
  444|       |        /* Open the group object */
  445|     91|        if (H5G__open_oid(grp) < 0)
  ------------------
  |  Branch (445:13): [True: 0, False: 91]
  ------------------
  446|      0|            HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, NULL, "not found");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  447|       |
  448|       |        /* Add group to list of open objects in file */
  449|     91|        if (H5FO_insert(grp->oloc.file, grp->oloc.addr, grp->shared, false) < 0) {
  ------------------
  |  Branch (449:13): [True: 0, False: 91]
  ------------------
  450|      0|            grp->shared = H5FL_FREE(H5G_shared_t, grp->shared);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  451|      0|            HGOTO_ERROR(H5E_SYM, H5E_CANTINSERT, NULL, "can't insert group into list of open objects");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  452|      0|        } /* end if */
  453|       |
  454|       |        /* Increment object count for the object in the top file */
  455|     91|        if (H5FO_top_incr(grp->oloc.file, grp->oloc.addr) < 0)
  ------------------
  |  Branch (455:13): [True: 0, False: 91]
  ------------------
  456|      0|            HGOTO_ERROR(H5E_SYM, H5E_CANTINC, NULL, "can't increment object count");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  457|       |
  458|       |        /* Set open object count */
  459|     91|        grp->shared->fo_count = 1;
  460|     91|    } /* end if */
  461|      0|    else {
  462|       |        /* Point to shared group info */
  463|      0|        grp->shared = shared_fo;
  464|       |
  465|       |        /* Increment shared reference count */
  466|      0|        shared_fo->fo_count++;
  467|       |
  468|       |        /* Check if the object has been opened through the top file yet */
  469|      0|        if (H5FO_top_count(grp->oloc.file, grp->oloc.addr) == 0) {
  ------------------
  |  Branch (469:13): [True: 0, False: 0]
  ------------------
  470|       |            /* Open the object through this top file */
  471|      0|            if (H5O_open(&(grp->oloc)) < 0)
  ------------------
  |  Branch (471:17): [True: 0, False: 0]
  ------------------
  472|      0|                HGOTO_ERROR(H5E_SYM, H5E_CANTOPENOBJ, NULL, "unable to open object header");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  473|      0|        } /* end if */
  474|       |
  475|       |        /* Increment object count for the object in the top file */
  476|      0|        if (H5FO_top_incr(grp->oloc.file, grp->oloc.addr) < 0)
  ------------------
  |  Branch (476:13): [True: 0, False: 0]
  ------------------
  477|      0|            HGOTO_ERROR(H5E_SYM, H5E_CANTINC, NULL, "can't increment object count");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  478|      0|    } /* end else */
  479|       |
  480|       |    /* Set return value */
  481|     91|    ret_value = grp;
  482|       |
  483|     91|done:
  484|     91|    if (!ret_value && grp) {
  ------------------
  |  Branch (484:9): [True: 0, False: 91]
  |  Branch (484:23): [True: 0, False: 0]
  ------------------
  485|      0|        H5O_loc_free(&(grp->oloc));
  486|      0|        H5G_name_free(&(grp->path));
  487|      0|        grp = H5FL_FREE(H5G_t, grp);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  488|      0|    } /* end if */
  489|       |
  490|     91|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     91|    ;                                                                                                        \
  |  | 1573|     91|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     91|    return (ret_value);                                                                                      \
  |  | 1575|     91|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  491|     91|} /* end H5G_open() */
H5G_close:
  558|     91|{
  559|     91|    bool   corked;                /* Whether the group is corked or not   */
  560|     91|    bool   file_closed = true;    /* H5O_close also closed the file?      */
  561|     91|    herr_t ret_value   = SUCCEED; /* Return value                         */
  ------------------
  |  |  283|     91|#define SUCCEED 0
  ------------------
  562|       |
  563|     91|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     91|    {                                                                                                        \
  |  | 1392|     91|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     91|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     91|                                                                                                             \
  |  |  |  | 1267|     91|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     91|        {
  ------------------
  564|       |
  565|       |    /* Check args */
  566|     91|    assert(grp && grp->shared);
  567|     91|    assert(grp->shared->fo_count > 0);
  568|       |
  569|     91|    --grp->shared->fo_count;
  570|       |
  571|     91|    if (0 == grp->shared->fo_count) {
  ------------------
  |  Branch (571:9): [True: 91, False: 0]
  ------------------
  572|     91|        assert(grp != H5G_rootof(H5G_fileof(grp)));
  573|       |
  574|       |        /* Uncork cache entries with object address tag */
  575|     91|        if (H5AC_cork(grp->oloc.file, grp->oloc.addr, H5AC__GET_CORKED, &corked) < 0)
  ------------------
  |  |  143|     91|#define H5AC__GET_CORKED H5C__GET_CORKED
  |  |  ------------------
  |  |  |  |  217|     91|#define H5C__GET_CORKED 0x4
  |  |  ------------------
  ------------------
  |  Branch (575:13): [True: 0, False: 91]
  ------------------
  576|      0|            HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "unable to retrieve an object's cork status");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  577|     91|        if (corked)
  ------------------
  |  Branch (577:13): [True: 0, False: 91]
  ------------------
  578|      0|            if (H5AC_cork(grp->oloc.file, grp->oloc.addr, H5AC__UNCORK, NULL) < 0)
  ------------------
  |  |  142|      0|#define H5AC__UNCORK     H5C__UNCORK
  |  |  ------------------
  |  |  |  |  216|      0|#define H5C__UNCORK     0x2
  |  |  ------------------
  ------------------
  |  Branch (578:17): [True: 0, False: 0]
  ------------------
  579|      0|                HGOTO_ERROR(H5E_SYM, H5E_CANTUNCORK, FAIL, "unable to uncork an object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  580|       |
  581|       |        /* Remove the group from the list of opened objects in the file */
  582|     91|        if (H5FO_top_decr(grp->oloc.file, grp->oloc.addr) < 0)
  ------------------
  |  Branch (582:13): [True: 0, False: 91]
  ------------------
  583|      0|            HGOTO_ERROR(H5E_SYM, H5E_CANTRELEASE, FAIL, "can't decrement count for object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  584|     91|        if (H5FO_delete(grp->oloc.file, grp->oloc.addr) < 0)
  ------------------
  |  Branch (584:13): [True: 0, False: 91]
  ------------------
  585|      0|            HGOTO_ERROR(H5E_SYM, H5E_CANTRELEASE, FAIL, "can't remove group from list of open objects");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  586|     91|        if (H5O_close(&(grp->oloc), &file_closed) < 0)
  ------------------
  |  Branch (586:13): [True: 0, False: 91]
  ------------------
  587|      0|            HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to close");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  588|       |
  589|       |        /* Evict group metadata if evicting on close */
  590|     91|        if (!file_closed && H5F_SHARED(grp->oloc.file) && H5F_EVICT_ON_CLOSE(grp->oloc.file)) {
  ------------------
  |  |  113|    182|#define H5F_SHARED(F)                    (H5F_get_shared(F))
  |  |  ------------------
  |  |  |  Branch (113:42): [True: 91, False: 0]
  |  |  ------------------
  ------------------
                      if (!file_closed && H5F_SHARED(grp->oloc.file) && H5F_EVICT_ON_CLOSE(grp->oloc.file)) {
  ------------------
  |  |  140|     91|#define H5F_EVICT_ON_CLOSE(F)            (H5F_get_evict_on_close(F))
  |  |  ------------------
  |  |  |  Branch (140:42): [True: 0, False: 91]
  |  |  ------------------
  ------------------
  |  Branch (590:13): [True: 91, False: 0]
  ------------------
  591|      0|            if (H5AC_flush_tagged_metadata(grp->oloc.file, grp->oloc.addr) < 0)
  ------------------
  |  Branch (591:17): [True: 0, False: 0]
  ------------------
  592|      0|                HGOTO_ERROR(H5E_CACHE, H5E_CANTFLUSH, FAIL, "unable to flush tagged metadata");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  593|      0|            if (H5AC_evict_tagged_metadata(grp->oloc.file, grp->oloc.addr, false) < 0)
  ------------------
  |  Branch (593:17): [True: 0, False: 0]
  ------------------
  594|      0|                HGOTO_ERROR(H5E_CACHE, H5E_CANTFLUSH, FAIL, "unable to evict tagged metadata");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  595|      0|        } /* end if */
  596|       |
  597|       |        /* Free memory */
  598|     91|        grp->shared = H5FL_FREE(H5G_shared_t, grp->shared);
  ------------------
  |  |   81|     91|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|     91|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  599|     91|    }
  600|      0|    else {
  601|       |        /* Decrement the ref. count for this object in the top file */
  602|      0|        if (H5FO_top_decr(grp->oloc.file, grp->oloc.addr) < 0)
  ------------------
  |  Branch (602:13): [True: 0, False: 0]
  ------------------
  603|      0|            HGOTO_ERROR(H5E_SYM, H5E_CANTRELEASE, FAIL, "can't decrement count for object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  604|       |
  605|       |        /* Check reference count for this object in the top file */
  606|      0|        if (H5FO_top_count(grp->oloc.file, grp->oloc.addr) == 0) {
  ------------------
  |  Branch (606:13): [True: 0, False: 0]
  ------------------
  607|      0|            if (H5O_close(&(grp->oloc), NULL) < 0)
  ------------------
  |  Branch (607:17): [True: 0, False: 0]
  ------------------
  608|      0|                HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to close");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  609|      0|        } /* end if */
  610|      0|        else
  611|       |            /* Free object location (i.e. "unhold" the file if appropriate) */
  612|      0|            if (H5O_loc_free(&(grp->oloc)) < 0)
  ------------------
  |  Branch (612:17): [True: 0, False: 0]
  ------------------
  613|      0|                HGOTO_ERROR(H5E_SYM, H5E_CANTRELEASE, FAIL, "problem attempting to free location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  614|       |
  615|       |        /* If this group is a mount point and the mount point is the last open
  616|       |         * reference to the group (i.e. fo_count == 1 now), then attempt to
  617|       |         * close down the file hierarchy
  618|       |         */
  619|      0|        if (grp->shared->mounted && grp->shared->fo_count == 1) {
  ------------------
  |  Branch (619:13): [True: 0, False: 0]
  |  Branch (619:37): [True: 0, False: 0]
  ------------------
  620|       |            /* Attempt to close down the file hierarchy */
  621|      0|            if (H5F_try_close(grp->oloc.file, NULL) < 0)
  ------------------
  |  Branch (621:17): [True: 0, False: 0]
  ------------------
  622|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTCLOSEFILE, FAIL, "problem attempting file close");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  623|      0|        } /* end if */
  624|      0|    }     /* end else */
  625|       |
  626|     91|    if (H5G_name_free(&(grp->path)) < 0) {
  ------------------
  |  Branch (626:9): [True: 0, False: 91]
  ------------------
  627|      0|        grp = H5FL_FREE(H5G_t, grp);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  628|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "can't free group entry name");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  629|      0|    } /* end if */
  630|       |
  631|     91|    grp = H5FL_FREE(H5G_t, grp);
  ------------------
  |  |   81|     91|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|     91|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  632|       |
  633|     91|done:
  634|     91|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     91|    ;                                                                                                        \
  |  | 1573|     91|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     91|    return (ret_value);                                                                                      \
  |  | 1575|     91|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  635|     91|} /* end H5G_close() */
H5G_oloc:
  649|    395|{
  650|       |    /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */
  651|    395|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|    395|    {                                                                                                        \
  |  | 1425|    395|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    395|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|    395|        {
  ------------------
  652|       |
  653|    395|    FUNC_LEAVE_NOAPI(grp ? &(grp->oloc) : NULL)
  ------------------
  |  | 1572|    395|    ;                                                                                                        \
  |  | 1573|    395|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    790|    return (ret_value);                                                                                      \
  |  |  ------------------
  |  |  |  Branch (1574:13): [True: 395, False: 0]
  |  |  ------------------
  |  | 1575|    395|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  654|    395|} /* end H5G_oloc() */
H5G_nameof:
  668|    395|{
  669|       |    /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */
  670|    395|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|    395|    {                                                                                                        \
  |  | 1425|    395|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    395|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|    395|        {
  ------------------
  671|       |
  672|    395|    FUNC_LEAVE_NOAPI(grp ? &(grp->path) : NULL)
  ------------------
  |  | 1572|    395|    ;                                                                                                        \
  |  | 1573|    395|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    790|    return (ret_value);                                                                                      \
  |  |  ------------------
  |  |  |  Branch (1574:13): [True: 395, False: 0]
  |  |  ------------------
  |  | 1575|    395|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  673|    395|} /* end H5G_nameof() */
H5G_iterate:
  846|     76|{
  847|     76|    hid_t                 gid = H5I_INVALID_HID; /* ID of group to iterate over */
  ------------------
  |  |   75|     76|#define H5I_INVALID_HID (-1)
  ------------------
  848|     76|    H5G_t                *grp = NULL;            /* Pointer to group data structure to iterate over */
  849|     76|    H5G_iter_appcall_ud_t udata;                 /* User data for callback */
  850|     76|    herr_t                ret_value = FAIL;      /* Return value */
  ------------------
  |  |  284|     76|#define FAIL    (-1)
  ------------------
  851|       |
  852|     76|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     76|    {                                                                                                        \
  |  | 1392|     76|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     76|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     76|                                                                                                             \
  |  |  |  | 1267|     76|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     76|        {
  ------------------
  853|       |
  854|       |    /* Sanity check */
  855|     76|    assert(loc);
  856|     76|    assert(group_name);
  857|     76|    assert(last_lnk);
  858|     76|    assert(lnk_op && lnk_op->op_func.op_new);
  859|       |
  860|       |    /* Open the group on which to operate.  We also create a group ID which
  861|       |     * we can pass to the application-defined operator.
  862|       |     */
  863|     76|    if (NULL == (grp = H5G__open_name(loc, group_name)))
  ------------------
  |  Branch (863:9): [True: 0, False: 76]
  ------------------
  864|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTOPENOBJ, FAIL, "unable to open group");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  865|     76|    if ((gid = H5VL_wrap_register(H5I_GROUP, grp, true)) < 0)
  ------------------
  |  Branch (865:9): [True: 0, False: 76]
  ------------------
  866|      0|        HGOTO_ERROR(H5E_ID, H5E_CANTREGISTER, FAIL, "unable to register group");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  867|       |
  868|       |    /* Set up user data for callback */
  869|     76|    udata.gid      = gid;
  870|     76|    udata.link_loc = &grp->oloc;
  871|     76|    udata.lnk_op   = *lnk_op;
  872|     76|    udata.op_data  = op_data;
  873|       |
  874|       |    /* Call the real group iteration routine */
  875|     76|    if ((ret_value =
  ------------------
  |  Branch (875:9): [True: 50, False: 26]
  ------------------
  876|     76|             H5G__obj_iterate(&(grp->oloc), idx_type, order, skip, last_lnk, H5G__iterate_cb, &udata)) < 0)
  877|     50|        HGOTO_ERROR(H5E_SYM, H5E_BADITER, FAIL, "error iterating over links");
  ------------------
  |  |   68|     50|    do {                                                                                                     \
  |  |   69|     50|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     50|    do {                                                                                                     \
  |  |  |  |   40|     50|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     50|    do {                                                                                                     \
  |  |  |  |  |  |   31|     50|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     50|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     50|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     50|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     50|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     50|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     50|    do {                                                                                                     \
  |  |  |  |   92|     50|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     50|        goto done;                                                                                           \
  |  |  |  |   94|     50|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     50|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  878|       |
  879|     76|done:
  880|       |    /* Release the group opened */
  881|     76|    if (gid != H5I_INVALID_HID) {
  ------------------
  |  |   75|     76|#define H5I_INVALID_HID (-1)
  ------------------
  |  Branch (881:9): [True: 76, False: 0]
  ------------------
  882|     76|        if (H5I_dec_app_ref(gid) < 0)
  ------------------
  |  Branch (882:13): [True: 0, False: 76]
  ------------------
  883|      0|            HDONE_ERROR(H5E_SYM, H5E_CANTRELEASE, FAIL, "unable to close group");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  884|     76|    }
  885|      0|    else if (grp && H5G_close(grp) < 0)
  ------------------
  |  Branch (885:14): [True: 0, False: 0]
  |  Branch (885:21): [True: 0, False: 0]
  ------------------
  886|      0|        HDONE_ERROR(H5E_SYM, H5E_CLOSEERROR, FAIL, "unable to release group");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  887|       |
  888|     76|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     76|    ;                                                                                                        \
  |  | 1573|     76|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     76|    return (ret_value);                                                                                      \
  |  | 1575|     76|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  889|     76|} /* end H5G_iterate() */
H5Gint.c:H5G__close_cb:
  206|     84|{
  207|     84|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     84|#define SUCCEED 0
  ------------------
  208|       |
  209|     84|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     84|    {                                                                                                        \
  |  | 1461|     84|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     84|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     84|                                                                                                             \
  |  |  |  | 1267|     84|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     84|        {
  ------------------
  210|       |
  211|       |    /* Sanity check */
  212|     84|    assert(grp_vol_obj);
  213|       |
  214|       |    /* Close the group */
  215|     84|    if (H5VL_group_close(grp_vol_obj, H5P_DATASET_XFER_DEFAULT, request) < 0)
  ------------------
  |  |  160|     84|#define H5P_DATASET_XFER_DEFAULT (H5OPEN H5P_LST_DATASET_XFER_ID_g)
  ------------------
  |  Branch (215:9): [True: 0, False: 84]
  ------------------
  216|      0|        HGOTO_ERROR(H5E_SYM, H5E_CLOSEERROR, FAIL, "unable to close group");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  217|       |
  218|       |    /* Free the VOL object */
  219|     84|    if (H5VL_free_object(grp_vol_obj) < 0)
  ------------------
  |  Branch (219:9): [True: 0, False: 84]
  ------------------
  220|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTDEC, FAIL, "unable to free VOL object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  221|       |
  222|     84|done:
  223|     84|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     84|    ;                                                                                                        \
  |  | 1573|     84|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     84|    return (ret_value);                                                                                      \
  |  | 1575|     84|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  224|     84|} /* end H5G__close_cb() */
H5Gint.c:H5G__open_oid:
  507|     91|{
  508|     91|    bool   obj_opened = false;
  509|     91|    htri_t msg_exists;
  510|     91|    herr_t ret_value = SUCCEED;
  ------------------
  |  |  283|     91|#define SUCCEED 0
  ------------------
  511|       |
  512|     91|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     91|    {                                                                                                        \
  |  | 1461|     91|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     91|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     91|                                                                                                             \
  |  |  |  | 1267|     91|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     91|        {
  ------------------
  513|       |
  514|       |    /* Check args */
  515|     91|    assert(grp);
  516|       |
  517|       |    /* Allocate the shared information for the group */
  518|     91|    if (NULL == (grp->shared = H5FL_CALLOC(H5G_shared_t)))
  ------------------
  |  |   78|     91|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|     91|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (518:9): [True: 0, False: 91]
  ------------------
  519|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  520|       |
  521|       |    /* Grab the object header */
  522|     91|    if (H5O_open(&(grp->oloc)) < 0)
  ------------------
  |  Branch (522:9): [True: 0, False: 91]
  ------------------
  523|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTOPENOBJ, FAIL, "unable to open group");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  524|     91|    obj_opened = true;
  525|       |
  526|       |    /* Check if this object has the right message(s) to be treated as a group */
  527|     91|    if ((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_STAB_ID)) < 0)
  ------------------
  |  |  223|     91|#define H5O_STAB_ID        0x0011 /* Symbol table message.  */
  ------------------
  |  Branch (527:9): [True: 0, False: 91]
  ------------------
  528|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "can't check if symbol table message exists");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  529|     91|    if (!msg_exists) {
  ------------------
  |  Branch (529:9): [True: 0, False: 91]
  ------------------
  530|      0|        if ((msg_exists = H5O_msg_exists(&(grp->oloc), H5O_LINFO_ID)) < 0)
  ------------------
  |  |  208|      0|#define H5O_LINFO_ID       0x0002 /* Link info Message. */
  ------------------
  |  Branch (530:13): [True: 0, False: 0]
  ------------------
  531|      0|            HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "can't check if link info message exists");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  532|      0|        if (!msg_exists)
  ------------------
  |  Branch (532:13): [True: 0, False: 0]
  ------------------
  533|      0|            HGOTO_ERROR(H5E_SYM, H5E_CANTOPENOBJ, FAIL, "not a group");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  534|      0|    }
  535|       |
  536|     91|done:
  537|     91|    if (ret_value < 0) {
  ------------------
  |  Branch (537:9): [True: 0, False: 91]
  ------------------
  538|      0|        if (obj_opened)
  ------------------
  |  Branch (538:13): [True: 0, False: 0]
  ------------------
  539|      0|            H5O_close(&(grp->oloc), NULL);
  540|      0|        if (grp->shared)
  ------------------
  |  Branch (540:13): [True: 0, False: 0]
  ------------------
  541|      0|            grp->shared = H5FL_FREE(H5G_shared_t, grp->shared);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  542|      0|    } /* end if */
  543|       |
  544|     91|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     91|    ;                                                                                                        \
  |  | 1573|     91|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     91|    return (ret_value);                                                                                      \
  |  | 1575|     91|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  545|     91|} /* end H5G__open_oid() */
H5Gint.c:H5G__iterate_cb:
  797|    685|{
  798|    685|    H5G_iter_appcall_ud_t *udata     = (H5G_iter_appcall_ud_t *)_udata; /* User data for callback */
  799|    685|    herr_t                 ret_value = H5_ITER_ERROR;                   /* Return value */
  ------------------
  |  |  361|    685|#define H5_ITER_ERROR (-1) /**< Error, stop iteration */
  ------------------
  800|       |
  801|    685|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    685|    {                                                                                                        \
  |  | 1461|    685|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    685|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    685|                                                                                                             \
  |  |  |  | 1267|    685|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    685|        {
  ------------------
  802|       |
  803|       |    /* Sanity check */
  804|    685|    assert(lnk);
  805|    685|    assert(udata);
  806|       |
  807|    685|    switch (udata->lnk_op.op_type) {
  808|       |#ifndef H5_NO_DEPRECATED_SYMBOLS
  809|       |        case H5G_LINK_OP_OLD:
  810|       |            /* Make the old-type application callback */
  811|       |            ret_value = (udata->lnk_op.op_func.op_old)(udata->gid, lnk->name, udata->op_data);
  812|       |            break;
  813|       |#endif /* H5_NO_DEPRECATED_SYMBOLS */
  814|       |
  815|    685|        case H5G_LINK_OP_NEW: {
  ------------------
  |  Branch (815:9): [True: 685, False: 0]
  ------------------
  816|    685|            H5L_info2_t info; /* Link info */
  817|       |
  818|       |            /* Retrieve the info for the link */
  819|    685|            if (H5G_link_to_info(udata->link_loc, lnk, &info) < 0)
  ------------------
  |  Branch (819:17): [True: 0, False: 685]
  ------------------
  820|      0|                HGOTO_ERROR(H5E_SYM, H5E_CANTGET, H5_ITER_ERROR, "unable to get info for link");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  821|       |
  822|       |            /* Make the application callback */
  823|    685|            ret_value = (udata->lnk_op.op_func.op_new)(udata->gid, lnk->name, &info, udata->op_data);
  824|    685|        } break;
  825|       |
  826|      0|        default:
  ------------------
  |  Branch (826:9): [True: 0, False: 685]
  ------------------
  827|      0|            assert(0 && "Unknown link op type?!?");
  828|    685|    } /* end switch */
  829|       |
  830|    685|done:
  831|    685|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    685|    ;                                                                                                        \
  |  | 1573|    685|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    685|    return (ret_value);                                                                                      \
  |  | 1575|    685|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  832|    685|} /* end H5G__iterate_cb() */

H5G_link_to_info:
  189|    685|{
  190|    685|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    685|#define SUCCEED 0
  ------------------
  191|       |
  192|    685|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    685|    {                                                                                                        \
  |  | 1392|    685|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    685|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    685|                                                                                                             \
  |  |  |  | 1267|    685|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    685|        {
  ------------------
  193|       |
  194|       |    /* Sanity check */
  195|    685|    assert(link_loc);
  196|    685|    assert(lnk);
  197|       |
  198|       |    /* Get information from the link */
  199|    685|    if (info) {
  ------------------
  |  Branch (199:9): [True: 685, False: 0]
  ------------------
  200|    685|        info->cset         = lnk->cset;
  201|    685|        info->corder       = lnk->corder;
  202|    685|        info->corder_valid = lnk->corder_valid;
  203|    685|        info->type         = lnk->type;
  204|       |
  205|    685|        switch (lnk->type) {
  206|    685|            case H5L_TYPE_HARD:
  ------------------
  |  Branch (206:13): [True: 685, False: 0]
  ------------------
  207|       |                /* Serialize the address into a VOL token */
  208|    685|                if (H5VL_native_addr_to_token(link_loc->file, H5I_FILE, lnk->u.hard.addr, &info->u.token) < 0)
  ------------------
  |  Branch (208:21): [True: 0, False: 685]
  ------------------
  209|      0|                    HGOTO_ERROR(H5E_LINK, H5E_CANTSERIALIZE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  210|    685|                                "can't serialize address into object token");
  211|    685|                break;
  212|       |
  213|    685|            case H5L_TYPE_SOFT:
  ------------------
  |  Branch (213:13): [True: 0, False: 685]
  ------------------
  214|      0|                info->u.val_size = strlen(lnk->u.soft.name) + 1; /*count the null terminator*/
  215|      0|                break;
  216|       |
  217|      0|            case H5L_TYPE_ERROR:
  ------------------
  |  Branch (217:13): [True: 0, False: 685]
  ------------------
  218|      0|            case H5L_TYPE_EXTERNAL:
  ------------------
  |  Branch (218:13): [True: 0, False: 685]
  ------------------
  219|      0|            case H5L_TYPE_MAX:
  ------------------
  |  Branch (219:13): [True: 0, False: 685]
  ------------------
  220|      0|            default: {
  ------------------
  |  Branch (220:13): [True: 0, False: 685]
  ------------------
  221|      0|                const H5L_class_t *link_class; /* User-defined link class */
  222|       |
  223|      0|                if (lnk->type < H5L_TYPE_UD_MIN || lnk->type > H5L_TYPE_MAX)
  ------------------
  |  |   77|      0|#define H5L_TYPE_UD_MIN H5L_TYPE_EXTERNAL
  ------------------
  |  Branch (223:21): [True: 0, False: 0]
  |  Branch (223:52): [True: 0, False: 0]
  ------------------
  224|      0|                    HGOTO_ERROR(H5E_LINK, H5E_BADTYPE, FAIL, "unknown link class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  225|       |
  226|       |                /* User-defined link; call its query function to get the link udata size. */
  227|       |                /* Get the link class for this type of link.  It's okay if the class
  228|       |                 * isn't registered, though--we just can't give any more information
  229|       |                 * about it
  230|       |                 */
  231|      0|                link_class = H5L_find_class(lnk->type);
  232|       |
  233|      0|                if (link_class != NULL && link_class->query_func != NULL) {
  ------------------
  |  Branch (233:21): [True: 0, False: 0]
  |  Branch (233:43): [True: 0, False: 0]
  ------------------
  234|      0|                    ssize_t cb_ret; /* Return value from UD callback */
  235|       |
  236|       |                    /* Call the link's query routine to retrieve the user-defined link's value size */
  237|       |                    /* (in case the query routine packs/unpacks the link value in some way that changes its
  238|       |                     * size) */
  239|      0|                    if ((cb_ret = (link_class->query_func)(lnk->name, lnk->u.ud.udata, lnk->u.ud.size, NULL,
  ------------------
  |  Branch (239:25): [True: 0, False: 0]
  ------------------
  240|      0|                                                           (size_t)0)) < 0)
  241|      0|                        HGOTO_ERROR(H5E_LINK, H5E_CALLBACK, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  242|      0|                                    "query buffer size callback returned failure");
  243|       |
  244|      0|                    info->u.val_size = (size_t)cb_ret;
  245|      0|                } /* end if */
  246|      0|                else
  247|      0|                    info->u.val_size = 0;
  248|      0|            } /* end case */
  249|    685|        }     /* end switch */
  250|    685|    }         /* end if */
  251|       |
  252|    685|done:
  253|    685|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    685|    ;                                                                                                        \
  |  | 1573|    685|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    685|    return (ret_value);                                                                                      \
  |  | 1575|    685|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  254|    685|} /* end H5G_link_to_info() */
H5G__link_to_loc:
  401|    140|{
  402|    140|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    140|#define SUCCEED 0
  ------------------
  403|       |
  404|    140|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    140|    {                                                                                                        \
  |  | 1461|    140|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    140|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    140|                                                                                                             \
  |  |  |  | 1267|    140|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    140|        {
  ------------------
  405|       |
  406|       |    /* Sanity check */
  407|    140|    assert(grp_loc);
  408|    140|    assert(lnk);
  409|    140|    assert(obj_loc);
  410|       |
  411|       |    /*
  412|       |     * Build location from the link
  413|       |     */
  414|       |
  415|       |    /* Check for unknown library-internal link */
  416|    140|    if (lnk->type > H5L_TYPE_BUILTIN_MAX && lnk->type < H5L_TYPE_UD_MIN)
  ------------------
  |  |   73|    280|#define H5L_TYPE_BUILTIN_MAX H5L_TYPE_SOFT
  ------------------
                  if (lnk->type > H5L_TYPE_BUILTIN_MAX && lnk->type < H5L_TYPE_UD_MIN)
  ------------------
  |  |   77|      0|#define H5L_TYPE_UD_MIN H5L_TYPE_EXTERNAL
  ------------------
  |  Branch (416:9): [True: 0, False: 140]
  |  Branch (416:45): [True: 0, False: 0]
  ------------------
  417|      0|        HGOTO_ERROR(H5E_SYM, H5E_UNSUPPORTED, FAIL, "unknown link type");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  418|       |
  419|       |    /* Build object's group hier. location */
  420|    140|    if (H5G_name_set(grp_loc->path, obj_loc->path, lnk->name) < 0)
  ------------------
  |  Branch (420:9): [True: 0, False: 140]
  ------------------
  421|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "cannot set name");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  422|       |
  423|       |    /* Set the object location, if it's a hard link set the address also */
  424|    140|    obj_loc->oloc->file         = grp_loc->oloc->file;
  425|    140|    obj_loc->oloc->holding_file = false;
  426|    140|    if (lnk->type == H5L_TYPE_HARD)
  ------------------
  |  Branch (426:9): [True: 140, False: 0]
  ------------------
  427|    140|        obj_loc->oloc->addr = lnk->u.hard.addr;
  428|       |
  429|    140|done:
  430|    140|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    140|    ;                                                                                                        \
  |  | 1573|    140|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    140|    return (ret_value);                                                                                      \
  |  | 1575|    140|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  431|    140|} /* end H5G__link_to_loc() */

H5G_loc_real:
  143|    578|{
  144|    578|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    578|#define SUCCEED 0
  ------------------
  145|       |
  146|    578|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    578|    {                                                                                                        \
  |  | 1392|    578|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    578|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    578|                                                                                                             \
  |  |  |  | 1267|    578|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    578|        {
  ------------------
  147|       |
  148|    578|    switch (type) {
  149|    221|        case H5I_FILE: {
  ------------------
  |  Branch (149:9): [True: 221, False: 357]
  ------------------
  150|    221|            H5F_t *f = (H5F_t *)obj;
  151|       |
  152|       |            /* Construct a group location for root group of the file */
  153|    221|            if (H5G_root_loc(f, loc) < 0)
  ------------------
  |  Branch (153:17): [True: 0, False: 221]
  ------------------
  154|      0|                HGOTO_ERROR(H5E_SYM, H5E_BADVALUE, FAIL, "unable to create location for file");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  155|    221|            break;
  156|    221|        }
  157|       |
  158|    221|        case H5I_GROUP: {
  ------------------
  |  Branch (158:9): [True: 174, False: 404]
  ------------------
  159|    174|            H5G_t *group = (H5G_t *)obj;
  160|       |
  161|    174|            if (NULL == (loc->oloc = H5G_oloc(group)))
  ------------------
  |  Branch (161:17): [True: 0, False: 174]
  ------------------
  162|      0|                HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unable to get object location of group");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  163|    174|            if (NULL == (loc->path = H5G_nameof(group)))
  ------------------
  |  Branch (163:17): [True: 0, False: 174]
  ------------------
  164|      0|                HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unable to get path of group");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  165|    174|            break;
  166|    174|        }
  167|       |
  168|    174|        case H5I_DATATYPE: {
  ------------------
  |  Branch (168:9): [True: 0, False: 578]
  ------------------
  169|      0|            H5T_t *dt = NULL;
  170|       |
  171|       |            /* Get the actual datatype object if the VOL object is set */
  172|      0|            dt = H5T_get_actual_type((H5T_t *)obj);
  173|       |
  174|      0|            if (NULL == (loc->oloc = H5T_oloc(dt)))
  ------------------
  |  Branch (174:17): [True: 0, False: 0]
  ------------------
  175|      0|                HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unable to get object location of datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  176|      0|            if (NULL == (loc->path = H5T_nameof(dt)))
  ------------------
  |  Branch (176:17): [True: 0, False: 0]
  ------------------
  177|      0|                HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unable to get path of datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  178|      0|            break;
  179|      0|        }
  180|       |
  181|    183|        case H5I_DATASET: {
  ------------------
  |  Branch (181:9): [True: 183, False: 395]
  ------------------
  182|    183|            H5D_t *dset = (H5D_t *)obj;
  183|       |
  184|    183|            if (NULL == (loc->oloc = H5D_oloc(dset)))
  ------------------
  |  Branch (184:17): [True: 0, False: 183]
  ------------------
  185|      0|                HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unable to get object location of dataset");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  186|    183|            if (NULL == (loc->path = H5D_nameof(dset)))
  ------------------
  |  Branch (186:17): [True: 0, False: 183]
  ------------------
  187|      0|                HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unable to get path of dataset");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  188|    183|            break;
  189|    183|        }
  190|       |
  191|    183|        case H5I_ATTR: {
  ------------------
  |  Branch (191:9): [True: 0, False: 578]
  ------------------
  192|      0|            H5A_t *attr = (H5A_t *)obj;
  193|       |
  194|      0|            if (NULL == (loc->oloc = H5A_oloc(attr)))
  ------------------
  |  Branch (194:17): [True: 0, False: 0]
  ------------------
  195|      0|                HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unable to get object location of attribute");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  196|      0|            if (NULL == (loc->path = H5A_nameof(attr)))
  ------------------
  |  Branch (196:17): [True: 0, False: 0]
  ------------------
  197|      0|                HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unable to get path of attribute");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  198|      0|            break;
  199|      0|        }
  200|       |
  201|      0|        case H5I_DATASPACE:
  ------------------
  |  Branch (201:9): [True: 0, False: 578]
  ------------------
  202|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unable to get group location of dataspace");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  203|       |
  204|      0|        case H5I_MAP:
  ------------------
  |  Branch (204:9): [True: 0, False: 578]
  ------------------
  205|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "maps not supported in native VOL connector");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  206|       |
  207|      0|        case H5I_GENPROP_CLS:
  ------------------
  |  Branch (207:9): [True: 0, False: 578]
  ------------------
  208|      0|        case H5I_GENPROP_LST:
  ------------------
  |  Branch (208:9): [True: 0, False: 578]
  ------------------
  209|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unable to get group location of property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  210|       |
  211|      0|        case H5I_ERROR_CLASS:
  ------------------
  |  Branch (211:9): [True: 0, False: 578]
  ------------------
  212|      0|        case H5I_ERROR_MSG:
  ------------------
  |  Branch (212:9): [True: 0, False: 578]
  ------------------
  213|      0|        case H5I_ERROR_STACK:
  ------------------
  |  Branch (213:9): [True: 0, False: 578]
  ------------------
  214|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  215|      0|                        "unable to get group location of error class, message or stack");
  216|       |
  217|      0|        case H5I_VFL:
  ------------------
  |  Branch (217:9): [True: 0, False: 578]
  ------------------
  218|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  219|      0|                        "unable to get group location of a virtual file driver (VFD)");
  220|       |
  221|      0|        case H5I_VOL:
  ------------------
  |  Branch (221:9): [True: 0, False: 578]
  ------------------
  222|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  223|      0|                        "unable to get group location of a virtual object layer (VOL) connector");
  224|       |
  225|      0|        case H5I_SPACE_SEL_ITER:
  ------------------
  |  Branch (225:9): [True: 0, False: 578]
  ------------------
  226|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  227|      0|                        "unable to get group location of a dataspace selection iterator");
  228|       |
  229|      0|        case H5I_EVENTSET:
  ------------------
  |  Branch (229:9): [True: 0, False: 578]
  ------------------
  230|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unable to get group location of a event set");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  231|       |
  232|      0|        case H5I_UNINIT:
  ------------------
  |  Branch (232:9): [True: 0, False: 578]
  ------------------
  233|      0|        case H5I_BADID:
  ------------------
  |  Branch (233:9): [True: 0, False: 578]
  ------------------
  234|      0|        case H5I_NTYPES:
  ------------------
  |  Branch (234:9): [True: 0, False: 578]
  ------------------
  235|      0|        default:
  ------------------
  |  Branch (235:9): [True: 0, False: 578]
  ------------------
  236|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid location ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  237|    578|    } /* end switch */
  238|       |
  239|    578|done:
  240|    578|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    578|    ;                                                                                                        \
  |  | 1573|    578|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    578|    return (ret_value);                                                                                      \
  |  | 1575|    578|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  241|    578|} /* end H5G_loc_real() */
H5G_loc_copy:
  283|    862|{
  284|    862|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    862|#define SUCCEED 0
  ------------------
  285|       |
  286|    862|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    862|    {                                                                                                        \
  |  | 1392|    862|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    862|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    862|                                                                                                             \
  |  |  |  | 1267|    862|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    862|        {
  ------------------
  287|       |
  288|       |    /* Check args. */
  289|    862|    assert(dst);
  290|    862|    assert(src);
  291|       |
  292|       |    /* Copy components of the location */
  293|    862|    if (H5O_loc_copy(dst->oloc, src->oloc, depth) < 0)
  ------------------
  |  Branch (293:9): [True: 0, False: 862]
  ------------------
  294|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTOPENOBJ, FAIL, "unable to copy entry");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  295|    862|    if (H5G_name_copy(dst->path, src->path, depth) < 0)
  ------------------
  |  Branch (295:9): [True: 0, False: 862]
  ------------------
  296|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTOPENOBJ, FAIL, "unable to copy path");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  297|       |
  298|    862|done:
  299|    862|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    862|    ;                                                                                                        \
  |  | 1573|    862|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    862|    return (ret_value);                                                                                      \
  |  | 1575|    862|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  300|    862|} /* end H5G_loc_copy() */
H5G_loc_reset:
  313|    891|{
  314|    891|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    891|#define SUCCEED 0
  ------------------
  315|       |
  316|    891|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    891|    {                                                                                                        \
  |  | 1392|    891|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    891|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    891|                                                                                                             \
  |  |  |  | 1267|    891|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    891|        {
  ------------------
  317|       |
  318|       |    /* Check args. */
  319|    891|    assert(loc);
  320|       |
  321|       |    /* Reset components of the location */
  322|    891|    if (H5O_loc_reset(loc->oloc) < 0)
  ------------------
  |  Branch (322:9): [True: 0, False: 891]
  ------------------
  323|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTOPENOBJ, FAIL, "unable to reset entry");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  324|    891|    if (H5G_name_reset(loc->path) < 0)
  ------------------
  |  Branch (324:9): [True: 0, False: 891]
  ------------------
  325|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTOPENOBJ, FAIL, "unable to reset path");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  326|       |
  327|    891|done:
  328|    891|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    891|    ;                                                                                                        \
  |  | 1573|    891|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    891|    return (ret_value);                                                                                      \
  |  | 1575|    891|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  329|    891|} /* end H5G_loc_reset() */
H5G_loc_free:
  342|    554|{
  343|    554|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    554|#define SUCCEED 0
  ------------------
  344|       |
  345|    554|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    554|    {                                                                                                        \
  |  | 1392|    554|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    554|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    554|                                                                                                             \
  |  |  |  | 1267|    554|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    554|        {
  ------------------
  346|       |
  347|       |    /* Check args. */
  348|    554|    assert(loc);
  349|       |
  350|       |    /* Reset components of the location */
  351|    554|    if (H5G_name_free(loc->path) < 0)
  ------------------
  |  Branch (351:9): [True: 0, False: 554]
  ------------------
  352|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTRELEASE, FAIL, "unable to free path");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  353|    554|    if (H5O_loc_free(loc->oloc) < 0)
  ------------------
  |  Branch (353:9): [True: 0, False: 554]
  ------------------
  354|      0|        HGOTO_ERROR(H5E_OHDR, H5E_CANTRELEASE, FAIL, "unable to free object header location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  355|       |
  356|    554|done:
  357|    554|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    554|    ;                                                                                                        \
  |  | 1573|    554|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    554|    return (ret_value);                                                                                      \
  |  | 1575|    554|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  358|    554|} /* end H5G_loc_free() */
H5G_loc_find:
  405|    321|{
  406|    321|    H5G_loc_fnd_t udata;               /* User data for traversal callback */
  407|    321|    herr_t        ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    321|#define SUCCEED 0
  ------------------
  408|       |
  409|    321|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    321|    {                                                                                                        \
  |  | 1392|    321|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    321|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    321|                                                                                                             \
  |  |  |  | 1267|    321|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    321|        {
  ------------------
  410|       |
  411|       |    /* Check args. */
  412|    321|    assert(loc);
  413|    321|    assert(name);
  414|    321|    assert(obj_loc);
  415|       |
  416|    321|    if (!*name)
  ------------------
  |  Branch (416:9): [True: 0, False: 321]
  ------------------
  417|      0|        HGOTO_ERROR(H5E_SYM, H5E_BADVALUE, FAIL, "invalid object name");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  418|       |
  419|       |    /* Set up user data for locating object */
  420|    321|    udata.loc = obj_loc;
  421|       |
  422|       |    /* Traverse group hierarchy to locate object */
  423|    321|    if (H5G_traverse(loc, name, H5G_TARGET_NORMAL, H5G__loc_find_cb, &udata) < 0)
  ------------------
  |  |  108|    321|#define H5G_TARGET_NORMAL   0x0000
  ------------------
  |  Branch (423:9): [True: 0, False: 321]
  ------------------
  424|      0|        HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "can't find object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  425|       |
  426|    321|done:
  427|    321|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    321|    ;                                                                                                        \
  |  | 1573|    321|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    321|    return (ret_value);                                                                                      \
  |  | 1575|    321|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  428|    321|} /* end H5G_loc_find() */
H5G_loc_info:
  744|     76|{
  745|     76|    H5G_loc_info_t udata;               /* User data for traversal callback */
  746|     76|    herr_t         ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     76|#define SUCCEED 0
  ------------------
  747|       |
  748|     76|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     76|    {                                                                                                        \
  |  | 1392|     76|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     76|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     76|                                                                                                             \
  |  |  |  | 1267|     76|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     76|        {
  ------------------
  749|       |
  750|       |    /* Check args. */
  751|     76|    assert(loc);
  752|     76|    assert(name && *name);
  753|     76|    assert(oinfo);
  754|       |
  755|       |    /* Set up user data for locating object */
  756|     76|    udata.fields = fields;
  757|     76|    udata.oinfo  = oinfo;
  758|       |
  759|       |    /* Traverse group hierarchy to locate object */
  760|     76|    if (H5G_traverse(loc, name, H5G_TARGET_NORMAL, H5G__loc_info_cb, &udata) < 0)
  ------------------
  |  |  108|     76|#define H5G_TARGET_NORMAL   0x0000
  ------------------
  |  Branch (760:9): [True: 24, False: 52]
  ------------------
  761|     24|        HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "can't find object");
  ------------------
  |  |   68|     24|    do {                                                                                                     \
  |  |   69|     24|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     24|    do {                                                                                                     \
  |  |  |  |   40|     24|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     24|    do {                                                                                                     \
  |  |  |  |  |  |   31|     24|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     24|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     24|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     24|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     24|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     24|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     24|    do {                                                                                                     \
  |  |  |  |   92|     24|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     24|        goto done;                                                                                           \
  |  |  |  |   94|     24|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     24|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  762|       |
  763|     76|done:
  764|     76|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     76|    ;                                                                                                        \
  |  | 1573|     76|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     76|    return (ret_value);                                                                                      \
  |  | 1575|     76|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  765|     76|} /* end H5G_loc_info() */
H5Gloc.c:H5G__loc_find_cb:
  373|    321|{
  374|    321|    H5G_loc_fnd_t *udata     = (H5G_loc_fnd_t *)_udata; /* User data passed in */
  375|    321|    herr_t         ret_value = SUCCEED;                 /* Return value */
  ------------------
  |  |  283|    321|#define SUCCEED 0
  ------------------
  376|       |
  377|    321|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    321|    {                                                                                                        \
  |  | 1461|    321|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    321|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    321|                                                                                                             \
  |  |  |  | 1267|    321|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    321|        {
  ------------------
  378|       |
  379|       |    /* Check if the name in this group resolved to a valid object */
  380|    321|    if (obj_loc == NULL)
  ------------------
  |  Branch (380:9): [True: 0, False: 321]
  ------------------
  381|      0|        HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "object '%s' doesn't exist", name);
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  382|       |
  383|       |    /* Take ownership of the object's group location */
  384|       |    /* (Group traversal callbacks are responsible for either taking ownership
  385|       |     *  of the group location for the object, or freeing it. - QAK)
  386|       |     */
  387|    321|    H5G_loc_copy(udata->loc, obj_loc, H5_COPY_SHALLOW);
  388|    321|    *own_loc = H5G_OWN_OBJ_LOC;
  ------------------
  |  |  127|    321|#define H5G_OWN_OBJ_LOC 1
  ------------------
  389|       |
  390|    321|done:
  391|    321|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    321|    ;                                                                                                        \
  |  | 1573|    321|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    321|    return (ret_value);                                                                                      \
  |  | 1575|    321|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  392|    321|} /* end H5G__loc_find_cb() */
H5Gloc.c:H5G__loc_info_cb:
  710|     76|{
  711|     76|    H5G_loc_info_t *udata     = (H5G_loc_info_t *)_udata; /* User data passed in */
  712|     76|    herr_t          ret_value = SUCCEED;                  /* Return value */
  ------------------
  |  |  283|     76|#define SUCCEED 0
  ------------------
  713|       |
  714|     76|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     76|    {                                                                                                        \
  |  | 1461|     76|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     76|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     76|                                                                                                             \
  |  |  |  | 1267|     76|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     76|        {
  ------------------
  715|       |
  716|       |    /* Check if the name in this group resolved to a valid link */
  717|     76|    if (obj_loc == NULL)
  ------------------
  |  Branch (717:9): [True: 2, False: 74]
  ------------------
  718|      2|        HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "name doesn't exist");
  ------------------
  |  |   68|      2|    do {                                                                                                     \
  |  |   69|      2|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      2|    do {                                                                                                     \
  |  |  |  |   40|      2|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      2|    do {                                                                                                     \
  |  |  |  |  |  |   31|      2|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      2|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      2|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      2|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      2|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      2|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      2|    do {                                                                                                     \
  |  |  |  |   92|      2|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      2|        goto done;                                                                                           \
  |  |  |  |   94|      2|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  719|       |
  720|       |    /* Query object information */
  721|     74|    if (H5O_get_info(obj_loc->oloc, udata->oinfo, udata->fields) < 0)
  ------------------
  |  Branch (721:9): [True: 22, False: 52]
  ------------------
  722|     22|        HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "can't get object info");
  ------------------
  |  |   68|     22|    do {                                                                                                     \
  |  |   69|     22|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     22|    do {                                                                                                     \
  |  |  |  |   40|     22|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     22|    do {                                                                                                     \
  |  |  |  |  |  |   31|     22|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     22|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     22|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     22|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     22|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     22|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     22|    do {                                                                                                     \
  |  |  |  |   92|     22|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     22|        goto done;                                                                                           \
  |  |  |  |   94|     22|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     22|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  723|       |
  724|     76|done:
  725|       |    /* Indicate that this callback didn't take ownership of the group *
  726|       |     * location for the object */
  727|     76|    *own_loc = H5G_OWN_NONE;
  ------------------
  |  |  126|     76|#define H5G_OWN_NONE    0
  ------------------
  728|       |
  729|     76|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     76|    ;                                                                                                        \
  |  | 1573|     76|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     76|    return (ret_value);                                                                                      \
  |  | 1575|     76|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  730|     74|} /* end H5G__loc_info_cb() */

H5G__component:
  110|    944|{
  111|    944|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|    944|    {                                                                                                        \
  |  | 1467|    944|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|    944|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|    944|        {
  ------------------
  112|       |
  113|    944|    assert(name);
  114|       |
  115|  1.08k|    while ('/' == *name)
  ------------------
  |  Branch (115:12): [True: 138, False: 944]
  ------------------
  116|    138|        name++;
  117|    944|    if (size_p)
  ------------------
  |  Branch (117:9): [True: 802, False: 142]
  ------------------
  118|    802|        *size_p = strcspn(name, "/");
  119|       |
  120|    944|    FUNC_LEAVE_NOAPI(name)
  ------------------
  |  | 1572|    944|    ;                                                                                                        \
  |  | 1573|    944|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    944|    return (ret_value);                                                                                      \
  |  | 1575|    944|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  121|    944|} /* end H5G__component() */
H5G_build_fullpath_refstr_str:
  288|    280|{
  289|    280|    const char *prefix;           /* Pointer to raw string for path */
  290|    280|    H5RS_str_t *ret_value = NULL; /* Return value */
  291|       |
  292|    280|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|    280|    {                                                                                                        \
  |  | 1425|    280|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    280|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|    280|        {
  ------------------
  293|       |
  294|    280|    assert(prefix_r);
  295|    280|    assert(name);
  296|       |
  297|       |    /* Get the raw string for the user path */
  298|    280|    prefix = H5RS_get_str(prefix_r);
  299|    280|    assert(prefix);
  300|       |
  301|       |    /* Create reference counted string for path */
  302|    280|    ret_value = H5G__build_fullpath(prefix, name);
  303|       |
  304|    280|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    280|    ;                                                                                                        \
  |  | 1573|    280|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    280|    return (ret_value);                                                                                      \
  |  | 1575|    280|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  305|    280|} /* end H5G_build_fullpath_refstr_str() */
H5G__name_init:
  319|      7|{
  320|      7|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|      7|    {                                                                                                        \
  |  | 1467|      7|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|      7|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|      7|        {
  ------------------
  321|       |
  322|       |    /* Check arguments */
  323|      7|    assert(name);
  324|       |
  325|       |    /* Set the initial paths for a name object */
  326|      7|    name->full_path_r = H5RS_create(path);
  327|      7|    assert(name->full_path_r);
  328|      7|    name->user_path_r = H5RS_create(path);
  329|      7|    assert(name->user_path_r);
  330|      7|    name->obj_hidden = 0;
  331|       |
  332|      7|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  333|      7|} /* end H5G__name_init() */
H5G_name_set:
  347|    140|{
  348|    140|    herr_t ret_value = SUCCEED;
  ------------------
  |  |  283|    140|#define SUCCEED 0
  ------------------
  349|       |
  350|    140|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    140|    {                                                                                                        \
  |  | 1392|    140|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    140|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    140|                                                                                                             \
  |  |  |  | 1267|    140|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    140|        {
  ------------------
  351|       |
  352|    140|    assert(loc);
  353|    140|    assert(obj);
  354|    140|    assert(name);
  355|       |
  356|       |    /* Free & reset the object's previous paths info (if they exist) */
  357|    140|    H5G_name_free(obj);
  358|       |
  359|       |    /* Create the object's full path, if a full path exists in the location */
  360|    140|    if (loc->full_path_r) {
  ------------------
  |  Branch (360:9): [True: 140, False: 0]
  ------------------
  361|       |        /* Go build the new full path */
  362|    140|        if ((obj->full_path_r = H5G_build_fullpath_refstr_str(loc->full_path_r, name)) == NULL)
  ------------------
  |  Branch (362:13): [True: 0, False: 140]
  ------------------
  363|      0|            HGOTO_ERROR(H5E_SYM, H5E_PATH, FAIL, "can't build user path name");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  364|    140|    } /* end if */
  365|       |
  366|       |    /* Create the object's user path, if a user path exists in the location */
  367|    140|    if (loc->user_path_r) {
  ------------------
  |  Branch (367:9): [True: 140, False: 0]
  ------------------
  368|       |        /* Go build the new user path */
  369|    140|        if ((obj->user_path_r = H5G_build_fullpath_refstr_str(loc->user_path_r, name)) == NULL)
  ------------------
  |  Branch (369:13): [True: 0, False: 140]
  ------------------
  370|      0|            HGOTO_ERROR(H5E_SYM, H5E_PATH, FAIL, "can't build user path name");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  371|    140|    } /* end if */
  372|       |
  373|    140|done:
  374|    140|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    140|    ;                                                                                                        \
  |  | 1573|    140|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    140|    return (ret_value);                                                                                      \
  |  | 1575|    140|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  375|    140|} /* end H5G_name_set() */
H5G_name_copy:
  399|  1.13k|{
  400|  1.13k|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|  1.13k|    {                                                                                                        \
  |  | 1425|  1.13k|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|  1.13k|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|  1.13k|        {
  ------------------
  401|       |
  402|       |    /* Check arguments */
  403|  1.13k|    assert(src);
  404|  1.13k|    assert(dst);
  405|       |#if defined(H5_USING_MEMCHECKER) || !defined(NDEBUG)
  406|       |    assert(dst->full_path_r == NULL);
  407|       |    assert(dst->user_path_r == NULL);
  408|       |#endif /* H5_USING_MEMCHECKER */
  409|  1.13k|    assert(depth == H5_COPY_SHALLOW || depth == H5_COPY_DEEP);
  410|       |
  411|       |    /* Copy the top level information */
  412|  1.13k|    H5MM_memcpy(dst, src, sizeof(H5G_name_t));
  ------------------
  |  |   41|  1.13k|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  413|       |
  414|       |    /* Deep copy the names */
  415|  1.13k|    if (depth == H5_COPY_DEEP) {
  ------------------
  |  Branch (415:9): [True: 669, False: 467]
  ------------------
  416|    669|        dst->full_path_r = H5RS_dup(src->full_path_r);
  417|    669|        dst->user_path_r = H5RS_dup(src->user_path_r);
  418|    669|    }
  419|    467|    else {
  420|    467|        H5_GCC_CLANG_DIAG_OFF("cast-qual")
  421|    467|        H5G_name_reset((H5G_name_t *)src);
  422|    467|        H5_GCC_CLANG_DIAG_ON("cast-qual")
  423|    467|    }
  424|       |
  425|  1.13k|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|  1.13k|    ;                                                                                                        \
  |  | 1573|  1.13k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  1.13k|    return (ret_value);                                                                                      \
  |  | 1575|  1.13k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  426|  1.13k|} /* end H5G_name_copy() */
H5G_name_reset:
  498|  2.00k|{
  499|  2.00k|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|  2.00k|    {                                                                                                        \
  |  | 1425|  2.00k|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|  2.00k|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|  2.00k|        {
  ------------------
  500|       |
  501|       |    /* Check arguments */
  502|  2.00k|    assert(name);
  503|       |
  504|       |    /* Clear the group hier. name to an empty state */
  505|  2.00k|    memset(name, 0, sizeof(H5G_name_t));
  506|       |
  507|  2.00k|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|  2.00k|    ;                                                                                                        \
  |  | 1573|  2.00k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  2.00k|    return (ret_value);                                                                                      \
  |  | 1575|  2.00k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  508|  2.00k|} /* end H5G_name_reset() */
H5G_name_free:
  521|  1.72k|{
  522|  1.72k|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|  1.72k|    {                                                                                                        \
  |  | 1425|  1.72k|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|  1.72k|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|  1.72k|        {
  ------------------
  523|       |
  524|       |    /* Check args */
  525|  1.72k|    assert(name);
  526|       |
  527|  1.72k|    if (name->full_path_r) {
  ------------------
  |  Branch (527:9): [True: 716, False: 1.01k]
  ------------------
  528|    716|        H5RS_decr(name->full_path_r);
  529|    716|        name->full_path_r = NULL;
  530|    716|    } /* end if */
  531|  1.72k|    if (name->user_path_r) {
  ------------------
  |  Branch (531:9): [True: 716, False: 1.01k]
  ------------------
  532|    716|        H5RS_decr(name->user_path_r);
  533|    716|        name->user_path_r = NULL;
  534|    716|    } /* end if */
  535|  1.72k|    name->obj_hidden = 0;
  536|       |
  537|  1.72k|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|  1.72k|    ;                                                                                                        \
  |  | 1573|  1.72k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  1.72k|    return (ret_value);                                                                                      \
  |  | 1575|  1.72k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  538|  1.72k|} /* end H5G_name_free() */
H5Gname.c:H5G__build_fullpath:
  256|    280|{
  257|    280|    H5RS_str_t *ret_value = NULL; /* Return value */
  258|       |
  259|    280|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    280|    {                                                                                                        \
  |  | 1461|    280|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    280|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    280|                                                                                                             \
  |  |  |  | 1267|    280|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    280|        {
  ------------------
  260|       |
  261|       |    /* Sanity check */
  262|    280|    assert(prefix);
  263|    280|    assert(name);
  264|       |
  265|       |    /* Create full path */
  266|    280|    if (NULL == (ret_value = H5RS_create(prefix)))
  ------------------
  |  Branch (266:9): [True: 0, False: 280]
  ------------------
  267|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTCREATE, NULL, "can't create ref-counted string");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  268|    280|    if (prefix[strlen(prefix) - 1] != '/')
  ------------------
  |  Branch (268:9): [True: 30, False: 250]
  ------------------
  269|     30|        H5RS_aputc(ret_value, '/'); /* Add separator, if the prefix doesn't end in one */
  270|    280|    H5RS_acat(ret_value, name);
  271|       |
  272|    280|done:
  273|    280|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    280|    ;                                                                                                        \
  |  | 1573|    280|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    280|    return (ret_value);                                                                                      \
  |  | 1575|    280|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  274|    280|} /* end H5G__build_fullpath() */

H5G__node_free:
  240|     20|{
  241|     20|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     20|    {                                                                                                        \
  |  | 1467|     20|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     20|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     20|        {
  ------------------
  242|       |
  243|       |    /*
  244|       |     * Check arguments.
  245|       |     */
  246|     20|    assert(sym);
  247|       |
  248|       |    /* Verify that node is clean */
  249|     20|    assert(sym->cache_info.is_dirty == false);
  250|       |
  251|     20|    if (sym->entry)
  ------------------
  |  Branch (251:9): [True: 20, False: 0]
  ------------------
  252|     20|        sym->entry = H5FL_SEQ_FREE(H5G_entry_t, sym->entry);
  ------------------
  |  |  288|     20|#define H5FL_SEQ_FREE(t, obj) (t *)H5FL_seq_free(&(H5FL_SEQ_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |  266|     20|#define H5FL_SEQ_NAME(t) H5_##t##_seq_free_list
  |  |  ------------------
  ------------------
  253|     20|    sym = H5FL_FREE(H5G_node_t, sym);
  ------------------
  |  |   81|     20|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|     20|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  254|       |
  255|     20|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     20|    ;                                                                                                        \
  |  | 1573|     20|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     20|    return (ret_value);                                                                                      \
  |  | 1575|     20|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  256|     20|} /* end H5G__node_free() */
H5G__node_iterate:
  904|    184|{
  905|    184|    H5G_bt_it_it_t *udata = (H5G_bt_it_it_t *)_udata;
  906|    184|    H5G_node_t     *sn    = NULL;
  907|    184|    H5G_entry_t    *ents; /* Pointer to entries in this node */
  908|    184|    unsigned        u;    /* Local index variable */
  909|    184|    int             ret_value = H5_ITER_CONT;
  ------------------
  |  |  362|    184|#define H5_ITER_CONT  (0)  /**< Continue iteration */
  ------------------
  910|       |
  911|    184|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    184|    {                                                                                                        \
  |  | 1461|    184|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    184|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    184|                                                                                                             \
  |  |  |  | 1267|    184|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    184|        {
  ------------------
  912|       |
  913|       |    /*
  914|       |     * Check arguments.
  915|       |     */
  916|    184|    assert(f);
  917|    184|    assert(H5_addr_defined(addr));
  918|    184|    assert(udata && udata->heap);
  919|       |
  920|       |    /* Protect the symbol table node & local heap while we iterate over entries */
  921|    184|    if (NULL == (sn = (H5G_node_t *)H5AC_protect(f, H5AC_SNODE, addr, f, H5AC__READ_ONLY_FLAG)))
  ------------------
  |  |  322|    184|#define H5AC__READ_ONLY_FLAG              H5C__READ_ONLY_FLAG
  |  |  ------------------
  |  |  |  |  183|    184|#define H5C__READ_ONLY_FLAG                 0x00080
  |  |  ------------------
  ------------------
  |  Branch (921:9): [True: 0, False: 184]
  ------------------
  922|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTLOAD, H5_ITER_ERROR, "unable to load symbol table node");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  923|       |
  924|       |    /*
  925|       |     * Iterate over the symbol table node entries.
  926|       |     */
  927|    869|    for (u = 0, ents = sn->entry; u < sn->nsyms && ret_value == H5_ITER_CONT; u++) {
  ------------------
  |  |  362|    747|#define H5_ITER_CONT  (0)  /**< Continue iteration */
  ------------------
  |  Branch (927:35): [True: 747, False: 122]
  |  Branch (927:52): [True: 685, False: 62]
  ------------------
  928|    685|        if (udata->skip > 0)
  ------------------
  |  Branch (928:13): [True: 0, False: 685]
  ------------------
  929|      0|            --udata->skip;
  930|    685|        else {
  931|    685|            H5O_link_t lnk; /* Link for entry */
  932|       |
  933|       |            /* Convert the entry to a link */
  934|    685|            if (H5G__ent_to_link(&ents[u], udata->heap, &lnk) < 0)
  ------------------
  |  Branch (934:17): [True: 0, False: 685]
  ------------------
  935|      0|                HGOTO_ERROR(H5E_SYM, H5E_CANTCONVERT, H5_ITER_ERROR,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  936|    685|                            "unable to convert symbol table entry to link");
  937|       |
  938|       |            /* Make the callback */
  939|    685|            ret_value = (udata->op)(&lnk, udata->op_data);
  940|       |
  941|       |            /* Release memory for link object */
  942|    685|            if (H5O_msg_reset(H5O_LINK_ID, &lnk) < 0)
  ------------------
  |  |  212|    685|#define H5O_LINK_ID        0x0006 /* Link Message. */
  ------------------
  |  Branch (942:17): [True: 0, False: 685]
  ------------------
  943|      0|                HGOTO_ERROR(H5E_SYM, H5E_CANTFREE, H5_ITER_ERROR, "unable to release link message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  944|    685|        } /* end else */
  945|       |
  946|       |        /* Increment the number of entries passed through */
  947|       |        /* (whether we skipped them or not) */
  948|    685|        if (udata->final_ent)
  ------------------
  |  Branch (948:13): [True: 685, False: 0]
  ------------------
  949|    685|            (*udata->final_ent)++;
  950|    685|    } /* end for */
  951|    184|    if (ret_value < 0)
  ------------------
  |  Branch (951:9): [True: 50, False: 134]
  ------------------
  952|     50|        HERROR(H5E_SYM, H5E_CANTNEXT, "iteration operator failed");
  ------------------
  |  |   30|     50|    do {                                                                                                     \
  |  |   31|     50|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |   32|     50|    } while (0)
  |  |  ------------------
  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  953|       |
  954|    184|done:
  955|       |    /* Release resources */
  956|    184|    if (sn && H5AC_unprotect(f, H5AC_SNODE, addr, sn, H5AC__NO_FLAGS_SET) < 0)
  ------------------
  |  |  314|    184|#define H5AC__NO_FLAGS_SET                H5C__NO_FLAGS_SET
  |  |  ------------------
  |  |  |  |  175|    184|#define H5C__NO_FLAGS_SET                   0x00000
  |  |  ------------------
  ------------------
  |  Branch (956:9): [True: 184, False: 0]
  |  Branch (956:15): [True: 0, False: 184]
  ------------------
  957|      0|        HDONE_ERROR(H5E_SYM, H5E_PROTECT, H5_ITER_ERROR, "unable to release object header");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  958|       |
  959|    184|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    184|    ;                                                                                                        \
  |  | 1573|    184|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    184|    return (ret_value);                                                                                      \
  |  | 1575|    184|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  960|    184|} /* end H5G__node_iterate() */
H5G__node_sumup:
  975|     17|{
  976|     17|    hsize_t    *num_objs  = (hsize_t *)_udata;
  977|     17|    H5G_node_t *sn        = NULL;
  978|     17|    int         ret_value = H5_ITER_CONT;
  ------------------
  |  |  362|     17|#define H5_ITER_CONT  (0)  /**< Continue iteration */
  ------------------
  979|       |
  980|     17|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     17|    {                                                                                                        \
  |  | 1461|     17|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     17|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     17|                                                                                                             \
  |  |  |  | 1267|     17|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     17|        {
  ------------------
  981|       |
  982|       |    /*
  983|       |     * Check arguments.
  984|       |     */
  985|     17|    assert(f);
  986|     17|    assert(H5_addr_defined(addr));
  987|     17|    assert(num_objs);
  988|       |
  989|       |    /* Find the object node and add the number of symbol entries. */
  990|     17|    if (NULL == (sn = (H5G_node_t *)H5AC_protect(f, H5AC_SNODE, addr, f, H5AC__READ_ONLY_FLAG)))
  ------------------
  |  |  322|     17|#define H5AC__READ_ONLY_FLAG              H5C__READ_ONLY_FLAG
  |  |  ------------------
  |  |  |  |  183|     17|#define H5C__READ_ONLY_FLAG                 0x00080
  |  |  ------------------
  ------------------
  |  Branch (990:9): [True: 1, False: 16]
  ------------------
  991|      1|        HGOTO_ERROR(H5E_SYM, H5E_CANTLOAD, H5_ITER_ERROR, "unable to load symbol table node");
  ------------------
  |  |   68|      1|    do {                                                                                                     \
  |  |   69|      1|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      1|    do {                                                                                                     \
  |  |  |  |   40|      1|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      1|    do {                                                                                                     \
  |  |  |  |  |  |   31|      1|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      1|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      1|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      1|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      1|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      1|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      1|    do {                                                                                                     \
  |  |  |  |   92|      1|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      1|        goto done;                                                                                           \
  |  |  |  |   94|      1|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      1|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  992|       |
  993|     16|    *num_objs += sn->nsyms;
  994|       |
  995|     17|done:
  996|     17|    if (sn && H5AC_unprotect(f, H5AC_SNODE, addr, sn, H5AC__NO_FLAGS_SET) < 0)
  ------------------
  |  |  314|     16|#define H5AC__NO_FLAGS_SET                H5C__NO_FLAGS_SET
  |  |  ------------------
  |  |  |  |  175|     16|#define H5C__NO_FLAGS_SET                   0x00000
  |  |  ------------------
  ------------------
  |  Branch (996:9): [True: 16, False: 1]
  |  Branch (996:15): [True: 0, False: 16]
  ------------------
  997|      0|        HDONE_ERROR(H5E_SYM, H5E_PROTECT, H5_ITER_ERROR, "unable to release object header");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  998|       |
  999|     17|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     17|    ;                                                                                                        \
  |  | 1573|     17|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     17|    return (ret_value);                                                                                      \
  |  | 1575|     17|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1000|     16|} /* end H5G__node_sumup() */
H5G__node_by_idx:
 1016|    352|{
 1017|    352|    H5G_bt_it_idx_common_t *udata     = (H5G_bt_it_idx_common_t *)_udata;
 1018|    352|    H5G_node_t             *sn        = NULL;
 1019|    352|    int                     ret_value = H5_ITER_CONT;
  ------------------
  |  |  362|    352|#define H5_ITER_CONT  (0)  /**< Continue iteration */
  ------------------
 1020|       |
 1021|    352|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    352|    {                                                                                                        \
  |  | 1461|    352|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    352|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    352|                                                                                                             \
  |  |  |  | 1267|    352|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    352|        {
  ------------------
 1022|       |
 1023|       |    /*
 1024|       |     * Check arguments.
 1025|       |     */
 1026|    352|    assert(f);
 1027|    352|    assert(H5_addr_defined(addr));
 1028|    352|    assert(udata);
 1029|       |
 1030|       |    /* Get a pointer to the symbol table node */
 1031|    352|    if (NULL == (sn = (H5G_node_t *)H5AC_protect(f, H5AC_SNODE, addr, f, H5AC__READ_ONLY_FLAG)))
  ------------------
  |  |  322|    352|#define H5AC__READ_ONLY_FLAG              H5C__READ_ONLY_FLAG
  |  |  ------------------
  |  |  |  |  183|    352|#define H5C__READ_ONLY_FLAG                 0x00080
  |  |  ------------------
  ------------------
  |  Branch (1031:9): [True: 0, False: 352]
  ------------------
 1032|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTLOAD, H5_ITER_ERROR, "unable to load symbol table node");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1033|       |
 1034|       |    /* Find the node, locate the object symbol table entry and retrieve the name */
 1035|    352|    if (udata->idx >= udata->num_objs && udata->idx < (udata->num_objs + sn->nsyms)) {
  ------------------
  |  Branch (1035:9): [True: 352, False: 0]
  |  Branch (1035:42): [True: 136, False: 216]
  ------------------
 1036|    136|        hsize_t ent_idx; /* Entry index in this node */
 1037|       |
 1038|       |        /* Compute index of entry */
 1039|    136|        ent_idx = udata->idx - udata->num_objs;
 1040|       |
 1041|       |        /* Call 'by index' callback */
 1042|    136|        assert(udata->op);
 1043|    136|        if ((udata->op)(&sn->entry[ent_idx], udata) < 0)
  ------------------
  |  Branch (1043:13): [True: 0, False: 136]
  ------------------
 1044|      0|            HGOTO_ERROR(H5E_SYM, H5E_CANTGET, H5B_INS_ERROR, "'by index' callback failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1045|       |
 1046|       |        /* Indicate that we found the entry we are interested in */
 1047|    136|        ret_value = H5_ITER_STOP;
  ------------------
  |  |  363|    136|#define H5_ITER_STOP  (1)  /**< Stop iteration, short-circuit success */
  ------------------
 1048|    136|    } /* end if */
 1049|    216|    else
 1050|    216|        udata->num_objs += sn->nsyms;
 1051|       |
 1052|    352|done:
 1053|    352|    if (sn && H5AC_unprotect(f, H5AC_SNODE, addr, sn, H5AC__NO_FLAGS_SET) < 0)
  ------------------
  |  |  314|    352|#define H5AC__NO_FLAGS_SET                H5C__NO_FLAGS_SET
  |  |  ------------------
  |  |  |  |  175|    352|#define H5C__NO_FLAGS_SET                   0x00000
  |  |  ------------------
  ------------------
  |  Branch (1053:9): [True: 352, False: 0]
  |  Branch (1053:15): [True: 0, False: 352]
  ------------------
 1054|      0|        HDONE_ERROR(H5E_SYM, H5E_PROTECT, H5_ITER_ERROR, "unable to release object header");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1055|       |
 1056|    352|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    352|    ;                                                                                                        \
  |  | 1573|    352|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    352|    return (ret_value);                                                                                      \
  |  | 1575|    352|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1057|    352|} /* end H5G__node_by_idx() */
H5G__node_init:
 1072|      7|{
 1073|      7|    H5B_shared_t *shared;              /* Shared B-tree node info  */
 1074|      7|    size_t        sizeof_rkey;         /* Size of raw (disk) key   */
 1075|      7|    herr_t        ret_value = SUCCEED; /* Return value             */
  ------------------
  |  |  283|      7|#define SUCCEED 0
  ------------------
 1076|       |
 1077|      7|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      7|    {                                                                                                        \
  |  | 1461|      7|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      7|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      7|                                                                                                             \
  |  |  |  | 1267|      7|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      7|        {
  ------------------
 1078|       |
 1079|       |    /* Check arguments. */
 1080|      7|    assert(f);
 1081|       |
 1082|       |    /* Set the raw key size */
 1083|      7|    sizeof_rkey = H5F_SIZEOF_SIZE(f); /*name offset */
  ------------------
  |  |  131|      7|#define H5F_SIZEOF_SIZE(F)               (H5F_sizeof_size(F))
  ------------------
 1084|       |
 1085|       |    /* Allocate & initialize global info for the shared structure */
 1086|      7|    if (NULL == (shared = H5B_shared_new(f, H5B_SNODE, sizeof_rkey)))
  ------------------
  |  Branch (1086:9): [True: 0, False: 7]
  ------------------
 1087|      0|        HGOTO_ERROR(H5E_BTREE, H5E_NOSPACE, FAIL, "memory allocation failed for shared B-tree info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1088|       |
 1089|       |    /* Set up the "local" information for this file's groups */
 1090|       |    /* <none> */
 1091|       |
 1092|       |    /* Make shared B-tree info reference counted */
 1093|      7|    if (H5F_SET_GRP_BTREE_SHARED(f, H5UC_create(shared, H5B_shared_free)) < 0)
  ------------------
  |  |  149|      7|#define H5F_SET_GRP_BTREE_SHARED(F, RC)  (H5F_set_grp_btree_shared((F), (RC)))
  ------------------
  |  Branch (1093:9): [True: 0, False: 7]
  ------------------
 1094|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "can't create ref-count wrapper for shared B-tree info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1095|       |
 1096|      7|done:
 1097|      7|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1098|      7|} /* end H5G__node_init() */
H5G_node_close:
 1114|     10|{
 1115|     10|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|     10|    {                                                                                                        \
  |  | 1425|     10|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|     10|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|     10|        {
  ------------------
 1116|       |
 1117|       |    /* Check arguments. */
 1118|     10|    assert(f);
 1119|       |
 1120|       |    /* Free the raw B-tree node buffer */
 1121|     10|    if (H5F_GRP_BTREE_SHARED(f))
  ------------------
  |  |  148|     10|#define H5F_GRP_BTREE_SHARED(F)          (H5F_grp_btree_shared(F))
  |  |  ------------------
  |  |  |  Branch (148:42): [True: 7, False: 3]
  |  |  ------------------
  ------------------
 1122|      7|        H5UC_DEC(H5F_GRP_BTREE_SHARED(f));
  ------------------
  |  |   49|      7|#define H5UC_DEC(rc)     (H5UC_decr(rc))
  ------------------
 1123|       |
 1124|     10|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1125|     10|} /* end H5G_node_close */
H5Gnode.c:H5G__node_get_shared:
  135|    361|{
  136|    361|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|    361|    {                                                                                                        \
  |  | 1467|    361|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|    361|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|    361|        {
  ------------------
  137|       |
  138|    361|    assert(f);
  139|       |
  140|       |    /* Return the pointer to the ref-count object */
  141|    361|    FUNC_LEAVE_NOAPI(H5F_GRP_BTREE_SHARED(f))
  ------------------
  |  | 1572|    361|    ;                                                                                                        \
  |  | 1573|    361|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    361|    return (ret_value);                                                                                      \
  |  | 1575|    361|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  142|    361|} /* end H5G__node_get_shared() */
H5Gnode.c:H5G__node_decode_key:
  155|     32|{
  156|     32|    H5G_node_key_t *key = (H5G_node_key_t *)_key;
  157|       |
  158|     32|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     32|    {                                                                                                        \
  |  | 1467|     32|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     32|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     32|        {
  ------------------
  159|       |
  160|     32|    assert(shared);
  161|     32|    assert(raw);
  162|     32|    assert(key);
  163|       |
  164|     32|    H5_DECODE_LENGTH_LEN(raw, key->offset, shared->sizeof_len);
  ------------------
  |  |  276|     32|    do {                                                                                                     \
  |  |  277|     32|        switch (s) {                                                                                         \
  |  |  278|      0|            case 4:                                                                                          \
  |  |  ------------------
  |  |  |  Branch (278:13): [True: 0, False: 32]
  |  |  ------------------
  |  |  279|      0|                UINT32DECODE(p, l);                                                                          \
  |  |  ------------------
  |  |  |  |  179|      0|    do {                                                                                                     \
  |  |  |  |  180|      0|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  |  |  181|      0|        (p)++;                                                                                               \
  |  |  |  |  182|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  |  |  183|      0|        (p)++;                                                                                               \
  |  |  |  |  184|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  |  |  185|      0|        (p)++;                                                                                               \
  |  |  |  |  186|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  |  |  187|      0|        (p)++;                                                                                               \
  |  |  |  |  188|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  280|      0|                break;                                                                                       \
  |  |  281|     32|            case 8:                                                                                          \
  |  |  ------------------
  |  |  |  Branch (281:13): [True: 32, False: 0]
  |  |  ------------------
  |  |  282|     32|                UINT64DECODE(p, l);                                                                          \
  |  |  ------------------
  |  |  |  |  220|     32|    do {                                                                                                     \
  |  |  |  |  221|     32|        /* WE DON'T CHECK FOR OVERFLOW! */                                                                   \
  |  |  |  |  222|     32|        size_t _i;                                                                                           \
  |  |  |  |  223|     32|                                                                                                             \
  |  |  |  |  224|     32|        n = 0;                                                                                               \
  |  |  |  |  225|     32|        (p) += 8;                                                                                            \
  |  |  |  |  226|    288|        for (_i = 0; _i < sizeof(uint64_t); _i++)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (226:22): [True: 256, False: 32]
  |  |  |  |  ------------------
  |  |  |  |  227|    256|            n = (uint64_t)(((uint64_t)n << 8) | *(--p));                                                     \
  |  |  |  |  228|     32|        (p) += 8;                                                                                            \
  |  |  |  |  229|     32|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (229:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  283|     32|                break;                                                                                       \
  |  |  284|      0|            case 2:                                                                                          \
  |  |  ------------------
  |  |  |  Branch (284:13): [True: 0, False: 32]
  |  |  ------------------
  |  |  285|      0|                UINT16DECODE(p, l);                                                                          \
  |  |  ------------------
  |  |  |  |  159|      0|    do {                                                                                                     \
  |  |  |  |  160|      0|        (i) = (uint16_t)(*(p)&0xff);                                                                         \
  |  |  |  |  161|      0|        (p)++;                                                                                               \
  |  |  |  |  162|      0|        (i) |= (uint16_t)((*(p)&0xff) << 8);                                                                 \
  |  |  |  |  163|      0|        (p)++;                                                                                               \
  |  |  |  |  164|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (164:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  286|      0|                break;                                                                                       \
  |  |  287|      0|            default:                                                                                         \
  |  |  ------------------
  |  |  |  Branch (287:13): [True: 0, False: 32]
  |  |  ------------------
  |  |  288|      0|                assert("bad sizeof size" && 0);                                                              \
  |  |  289|     32|        }                                                                                                    \
  |  |  290|     32|    } while (0)
  |  |  ------------------
  |  |  |  Branch (290:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  165|       |
  166|     32|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     32|    ;                                                                                                        \
  |  | 1573|     32|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     32|    return (ret_value);                                                                                      \
  |  | 1575|     32|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  167|     32|} /* end H5G__node_decode_key() */
H5Gnode.c:H5G__node_cmp3:
  399|    256|{
  400|    256|    H5G_bt_common_t *udata  = (H5G_bt_common_t *)_udata;
  401|    256|    H5G_node_key_t  *lt_key = (H5G_node_key_t *)_lt_key;
  402|    256|    H5G_node_key_t  *rt_key = (H5G_node_key_t *)_rt_key;
  403|    256|    const char      *s;
  404|    256|    herr_t           ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    256|#define SUCCEED 0
  ------------------
  405|       |
  406|    256|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    256|    {                                                                                                        \
  |  | 1461|    256|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    256|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    256|                                                                                                             \
  |  |  |  | 1267|    256|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    256|        {
  ------------------
  407|       |
  408|       |    /* Sanity checks */
  409|    256|    assert(udata && udata->heap);
  410|    256|    assert(lt_key);
  411|    256|    assert(rt_key);
  412|       |
  413|       |    /* left side */
  414|    256|    if ((s = (const char *)H5HL_offset_into(udata->heap, lt_key->offset)) == NULL)
  ------------------
  |  Branch (414:9): [True: 0, False: 256]
  ------------------
  415|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "unable to get key name");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  416|    256|    if (strncmp(udata->name, s, (udata->block_size - lt_key->offset)) <= 0)
  ------------------
  |  Branch (416:9): [True: 75, False: 181]
  ------------------
  417|     75|        ret_value = (-1);
  418|    181|    else {
  419|       |        /* right side */
  420|    181|        if ((s = (const char *)H5HL_offset_into(udata->heap, rt_key->offset)) == NULL)
  ------------------
  |  Branch (420:13): [True: 0, False: 181]
  ------------------
  421|      0|            HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "unable to get key name");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  422|    181|        if (strncmp(udata->name, s, (udata->block_size - rt_key->offset)) > 0)
  ------------------
  |  Branch (422:13): [True: 39, False: 142]
  ------------------
  423|     39|            ret_value = 1;
  424|    181|    } /* end else */
  425|       |
  426|    256|done:
  427|    256|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    256|    ;                                                                                                        \
  |  | 1573|    256|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    256|    return (ret_value);                                                                                      \
  |  | 1575|    256|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  428|    256|} /* end H5G__node_cmp3() */
H5Gnode.c:H5G__node_found:
  453|    142|{
  454|    142|    H5G_bt_lkp_t *udata = (H5G_bt_lkp_t *)_udata;
  455|    142|    H5G_node_t   *sn    = NULL;
  456|    142|    unsigned      lt = 0, idx = 0, rt;
  457|    142|    int           cmp = 1;
  458|    142|    const char   *s;
  459|    142|    herr_t        ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    142|#define SUCCEED 0
  ------------------
  460|       |
  461|    142|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    142|    {                                                                                                        \
  |  | 1461|    142|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    142|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    142|                                                                                                             \
  |  |  |  | 1267|    142|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    142|        {
  ------------------
  462|       |
  463|       |    /*
  464|       |     * Check arguments.
  465|       |     */
  466|    142|    assert(f);
  467|    142|    assert(H5_addr_defined(addr));
  468|    142|    assert(found);
  469|    142|    assert(udata && udata->common.heap);
  470|       |
  471|       |    /*
  472|       |     * Load the symbol table node for exclusive access.
  473|       |     */
  474|    142|    if (NULL == (sn = (H5G_node_t *)H5AC_protect(f, H5AC_SNODE, addr, f, H5AC__READ_ONLY_FLAG)))
  ------------------
  |  |  322|    142|#define H5AC__READ_ONLY_FLAG              H5C__READ_ONLY_FLAG
  |  |  ------------------
  |  |  |  |  183|    142|#define H5C__READ_ONLY_FLAG                 0x00080
  |  |  ------------------
  ------------------
  |  Branch (474:9): [True: 0, False: 142]
  ------------------
  475|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTLOAD, FAIL, "unable to protect symbol table node");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  476|       |
  477|       |    /*
  478|       |     * Binary search.
  479|       |     */
  480|    142|    rt = sn->nsyms;
  481|    461|    while (lt < rt && cmp) {
  ------------------
  |  Branch (481:12): [True: 360, False: 101]
  |  Branch (481:23): [True: 319, False: 41]
  ------------------
  482|    319|        idx = (lt + rt) / 2;
  483|       |
  484|    319|        if ((s = (const char *)H5HL_offset_into(udata->common.heap, sn->entry[idx].name_off)) == NULL)
  ------------------
  |  Branch (484:13): [True: 0, False: 319]
  ------------------
  485|      0|            HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "unable to get symbol table name");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  486|    319|        cmp = strncmp(udata->common.name, s, (udata->common.block_size - sn->entry[idx].name_off));
  487|       |
  488|    319|        if (cmp < 0)
  ------------------
  |  Branch (488:13): [True: 130, False: 189]
  ------------------
  489|    130|            rt = idx;
  490|    189|        else
  491|    189|            lt = idx + 1;
  492|    319|    } /* end while */
  493|       |
  494|    142|    if (cmp)
  ------------------
  |  Branch (494:9): [True: 2, False: 140]
  ------------------
  495|      2|        *found = false;
  496|    140|    else {
  497|       |        /* Set the 'found it' flag */
  498|    140|        *found = true;
  499|       |
  500|       |        /* Call user's callback operator */
  501|    140|        if ((udata->op)(&sn->entry[idx], udata->op_data) < 0)
  ------------------
  |  Branch (501:13): [True: 0, False: 140]
  ------------------
  502|      0|            HGOTO_ERROR(H5E_SYM, H5E_BADITER, FAIL, "iterator callback failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  503|    140|    } /* end else */
  504|       |
  505|    142|done:
  506|    142|    if (sn && H5AC_unprotect(f, H5AC_SNODE, addr, sn, H5AC__NO_FLAGS_SET) < 0)
  ------------------
  |  |  314|    142|#define H5AC__NO_FLAGS_SET                H5C__NO_FLAGS_SET
  |  |  ------------------
  |  |  |  |  175|    142|#define H5C__NO_FLAGS_SET                   0x00000
  |  |  ------------------
  ------------------
  |  Branch (506:9): [True: 142, False: 0]
  |  Branch (506:15): [True: 0, False: 142]
  ------------------
  507|      0|        HDONE_ERROR(H5E_SYM, H5E_PROTECT, FAIL, "unable to release symbol table node");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  508|       |
  509|    142|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    142|    ;                                                                                                        \
  |  | 1573|    142|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    142|    return (ret_value);                                                                                      \
  |  | 1575|    142|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  510|    142|} /* end H5G__node_found() */

H5G__obj_get_linfo:
  298|    363|{
  299|    363|    H5B2_t *bt2_name  = NULL; /* v2 B-tree handle for name index */
  300|    363|    htri_t  ret_value = FAIL; /* Return value */
  ------------------
  |  |  284|    363|#define FAIL    (-1)
  ------------------
  301|       |
  302|    363|    FUNC_ENTER_PACKAGE_TAG(grp_oloc->addr)
  ------------------
  |  | 1473|    363|    {                                                                                                        \
  |  | 1474|    363|        haddr_t prev_tag = HADDR_UNDEF;                                                                      \
  |  |  ------------------
  |  |  |  |  336|    363|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  | 1475|    363|                                                                                                             \
  |  | 1476|    363|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    363|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    363|                                                                                                             \
  |  |  |  | 1267|    363|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1477|    363|        H5AC_tag(tag, &prev_tag);                                                                            \
  |  | 1478|    363|        {
  ------------------
  303|       |
  304|       |    /* check arguments */
  305|    363|    assert(grp_oloc);
  306|    363|    assert(linfo);
  307|       |
  308|       |    /* Check for the group having a link info message */
  309|    363|    if ((ret_value = H5O_msg_exists(grp_oloc, H5O_LINFO_ID)) < 0)
  ------------------
  |  |  208|    363|#define H5O_LINFO_ID       0x0002 /* Link info Message. */
  ------------------
  |  Branch (309:9): [True: 0, False: 363]
  ------------------
  310|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "unable to read object header");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  311|    363|    if (ret_value) {
  ------------------
  |  Branch (311:9): [True: 0, False: 363]
  ------------------
  312|       |        /* Retrieve the "link info" structure */
  313|      0|        if (NULL == H5O_msg_read(grp_oloc, H5O_LINFO_ID, linfo))
  ------------------
  |  |  208|      0|#define H5O_LINFO_ID       0x0002 /* Link info Message. */
  ------------------
  |  Branch (313:13): [True: 0, False: 0]
  ------------------
  314|      0|            HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "link info message not present");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  315|       |
  316|       |        /* Check if we don't know how many links there are */
  317|      0|        if (linfo->nlinks == HSIZET_MAX) {
  ------------------
  |  |  389|      0|#define HSIZET_MAX  ((hsize_t)ULLONG_MAX)
  ------------------
  |  Branch (317:13): [True: 0, False: 0]
  ------------------
  318|       |            /* Check if we are using "dense" link storage */
  319|      0|            if (H5_addr_defined(linfo->fheap_addr)) {
  ------------------
  |  |  449|      0|#define H5_addr_defined(X)       ((X) != HADDR_UNDEF)
  |  |  ------------------
  |  |  |  |  336|      0|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  |  |  Branch (449:34): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  320|       |                /* Open the name index v2 B-tree */
  321|      0|                if (NULL == (bt2_name = H5B2_open(grp_oloc->file, linfo->name_bt2_addr, NULL)))
  ------------------
  |  Branch (321:21): [True: 0, False: 0]
  ------------------
  322|      0|                    HGOTO_ERROR(H5E_SYM, H5E_CANTOPENOBJ, FAIL, "unable to open v2 B-tree for name index");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  323|       |
  324|       |                /* Retrieve # of records in "name" B-tree */
  325|       |                /* (should be same # of records in all indices) */
  326|      0|                if (H5B2_get_nrec(bt2_name, &linfo->nlinks) < 0)
  ------------------
  |  Branch (326:21): [True: 0, False: 0]
  ------------------
  327|      0|                    HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "can't retrieve # of records in index");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  328|      0|            } /* end if */
  329|      0|            else {
  330|       |                /* Retrieve # of links from object header */
  331|      0|                if (H5O_get_nlinks(grp_oloc, &linfo->nlinks) < 0)
  ------------------
  |  Branch (331:21): [True: 0, False: 0]
  ------------------
  332|      0|                    HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "can't retrieve # of links for object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  333|      0|            } /* end if */
  334|      0|        }     /* end if */
  335|      0|    }         /* end if */
  336|       |
  337|    363|done:
  338|       |    /* Release resources */
  339|    363|    if (bt2_name && H5B2_close(bt2_name) < 0)
  ------------------
  |  Branch (339:9): [True: 0, False: 363]
  |  Branch (339:21): [True: 0, False: 0]
  ------------------
  340|      0|        HDONE_ERROR(H5E_SYM, H5E_CLOSEERROR, FAIL, "can't close v2 B-tree for name index");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  341|       |
  342|    363|    FUNC_LEAVE_NOAPI_TAG(ret_value)
  ------------------
  |  | 1593|    363|    ;                                                                                                        \
  |  | 1594|    363|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1595|    363|    H5AC_tag(prev_tag, NULL);                                                                                \
  |  | 1596|    363|    return (ret_value);                                                                                      \
  |  | 1597|    363|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  343|    363|} /* end H5G__obj_get_linfo() */
H5G__obj_iterate:
  619|     76|{
  620|     76|    H5O_linfo_t linfo;            /* Link info message */
  621|     76|    htri_t      linfo_exists;     /* Whether the link info message exists */
  622|     76|    herr_t      ret_value = FAIL; /* Return value */
  ------------------
  |  |  284|     76|#define FAIL    (-1)
  ------------------
  623|       |
  624|     76|    FUNC_ENTER_PACKAGE_TAG(grp_oloc->addr)
  ------------------
  |  | 1473|     76|    {                                                                                                        \
  |  | 1474|     76|        haddr_t prev_tag = HADDR_UNDEF;                                                                      \
  |  |  ------------------
  |  |  |  |  336|     76|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  | 1475|     76|                                                                                                             \
  |  | 1476|     76|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     76|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     76|                                                                                                             \
  |  |  |  | 1267|     76|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1477|     76|        H5AC_tag(tag, &prev_tag);                                                                            \
  |  | 1478|     76|        {
  ------------------
  625|       |
  626|       |    /* Sanity check */
  627|     76|    assert(grp_oloc);
  628|     76|    assert(op);
  629|       |
  630|       |    /* Attempt to get the link info for this group */
  631|     76|    if ((linfo_exists = H5G__obj_get_linfo(grp_oloc, &linfo)) < 0)
  ------------------
  |  Branch (631:9): [True: 0, False: 76]
  ------------------
  632|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "can't check for link info message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  633|     76|    if (linfo_exists) {
  ------------------
  |  Branch (633:9): [True: 0, False: 76]
  ------------------
  634|       |        /* Check for going out of bounds */
  635|      0|        if (skip > 0 && (size_t)skip >= linfo.nlinks)
  ------------------
  |  Branch (635:13): [True: 0, False: 0]
  |  Branch (635:25): [True: 0, False: 0]
  ------------------
  636|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "index out of bound");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  637|       |
  638|       |        /* Check for creation order tracking, if creation order index lookup requested */
  639|      0|        if (idx_type == H5_INDEX_CRT_ORDER) {
  ------------------
  |  Branch (639:13): [True: 0, False: 0]
  ------------------
  640|       |            /* Check if creation order is tracked */
  641|      0|            if (!linfo.track_corder)
  ------------------
  |  Branch (641:17): [True: 0, False: 0]
  ------------------
  642|      0|                HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "creation order not tracked for links in group");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  643|      0|        } /* end if */
  644|       |
  645|      0|        if (H5_addr_defined(linfo.fheap_addr)) {
  ------------------
  |  |  449|      0|#define H5_addr_defined(X)       ((X) != HADDR_UNDEF)
  |  |  ------------------
  |  |  |  |  336|      0|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  |  |  Branch (449:34): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  646|       |            /* Iterate over the links in the group, building a table of the link messages */
  647|      0|            if ((ret_value = H5G__dense_iterate(grp_oloc->file, &linfo, idx_type, order, skip, last_lnk, op,
  ------------------
  |  Branch (647:17): [True: 0, False: 0]
  ------------------
  648|      0|                                                op_data)) < 0)
  649|      0|                HGOTO_ERROR(H5E_SYM, H5E_BADITER, FAIL, "can't iterate over dense links");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  650|      0|        } /* end if */
  651|      0|        else {
  652|       |            /* Get the object's name from the link messages */
  653|      0|            if ((ret_value = H5G__compact_iterate(grp_oloc, &linfo, idx_type, order, skip, last_lnk, op,
  ------------------
  |  Branch (653:17): [True: 0, False: 0]
  ------------------
  654|      0|                                                  op_data)) < 0)
  655|      0|                HGOTO_ERROR(H5E_SYM, H5E_BADITER, FAIL, "can't iterate over compact links");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  656|      0|        } /* end else */
  657|      0|    }     /* end if */
  658|     76|    else {
  659|       |        /* Can only perform name lookups on groups with symbol tables */
  660|     76|        if (idx_type != H5_INDEX_NAME)
  ------------------
  |  Branch (660:13): [True: 0, False: 76]
  ------------------
  661|      0|            HGOTO_ERROR(H5E_SYM, H5E_BADVALUE, FAIL, "no creation order index to query");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  662|       |
  663|       |        /* Iterate over symbol table */
  664|     76|        if ((ret_value = H5G__stab_iterate(grp_oloc, order, skip, last_lnk, op, op_data)) < 0)
  ------------------
  |  Branch (664:13): [True: 50, False: 26]
  ------------------
  665|     50|            HGOTO_ERROR(H5E_SYM, H5E_BADITER, FAIL, "can't iterate over symbol table");
  ------------------
  |  |   68|     50|    do {                                                                                                     \
  |  |   69|     50|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     50|    do {                                                                                                     \
  |  |  |  |   40|     50|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     50|    do {                                                                                                     \
  |  |  |  |  |  |   31|     50|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     50|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     50|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     50|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     50|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     50|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     50|    do {                                                                                                     \
  |  |  |  |   92|     50|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     50|        goto done;                                                                                           \
  |  |  |  |   94|     50|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     50|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  666|     76|    } /* end else */
  667|       |
  668|     76|done:
  669|     76|    FUNC_LEAVE_NOAPI_TAG(ret_value)
  ------------------
  |  | 1593|     76|    ;                                                                                                        \
  |  | 1594|     76|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1595|     76|    H5AC_tag(prev_tag, NULL);                                                                                \
  |  | 1596|     76|    return (ret_value);                                                                                      \
  |  | 1597|     76|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  670|     76|} /* end H5G__obj_iterate() */
H5G__obj_info:
  683|      7|{
  684|      7|    H5G_t      *grp = NULL;          /* Group to query */
  685|      7|    H5G_loc_t   grp_loc;             /* Entry of group to be queried */
  686|      7|    H5G_name_t  grp_path;            /* Group hier. path */
  687|      7|    H5O_loc_t   grp_oloc;            /* Group object location */
  688|      7|    H5O_linfo_t linfo;               /* Link info message */
  689|      7|    htri_t      linfo_exists;        /* Whether the link info message exists */
  690|      7|    herr_t      ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      7|#define SUCCEED 0
  ------------------
  691|       |
  692|      7|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      7|    {                                                                                                        \
  |  | 1461|      7|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      7|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      7|                                                                                                             \
  |  |  |  | 1267|      7|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      7|        {
  ------------------
  693|       |
  694|       |    /* Sanity check */
  695|      7|    assert(oloc);
  696|      7|    assert(grp_info);
  697|       |
  698|       |    /* Set up group location to fill in */
  699|      7|    grp_loc.oloc = &grp_oloc;
  700|      7|    grp_loc.path = &grp_path;
  701|      7|    H5G_loc_reset(&grp_loc);
  702|       |
  703|       |    /* Deep copy (duplicate) of the group location object */
  704|      7|    if (H5O_loc_copy_deep(&grp_oloc, oloc) < 0)
  ------------------
  |  Branch (704:9): [True: 0, False: 7]
  ------------------
  705|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTCOPY, FAIL, "can't copy object location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  706|       |
  707|       |    /* Open the group */
  708|      7|    if (NULL == (grp = H5G_open(&grp_loc)))
  ------------------
  |  Branch (708:9): [True: 0, False: 7]
  ------------------
  709|      0|        HGOTO_ERROR(H5E_FILE, H5E_MOUNT, FAIL, "mount point not found");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  710|       |
  711|       |    /* Get information from the group */
  712|      7|    grp_info->mounted = H5G_MOUNTED(grp);
  ------------------
  |  |   96|      7|#define H5G_MOUNTED(G) ((G)->shared->mounted)
  ------------------
  713|       |
  714|       |    /* Attempt to get the link info for this group */
  715|      7|    if ((linfo_exists = H5G__obj_get_linfo(oloc, &linfo)) < 0)
  ------------------
  |  Branch (715:9): [True: 0, False: 7]
  ------------------
  716|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "can't check for link info message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  717|      7|    if (linfo_exists) {
  ------------------
  |  Branch (717:9): [True: 0, False: 7]
  ------------------
  718|       |        /* Retrieve the information about the links */
  719|      0|        grp_info->nlinks     = linfo.nlinks;
  720|      0|        grp_info->max_corder = linfo.max_corder;
  721|       |
  722|       |        /* Check if the group is using compact or dense storage for its links */
  723|      0|        if (H5_addr_defined(linfo.fheap_addr))
  ------------------
  |  |  449|      0|#define H5_addr_defined(X)       ((X) != HADDR_UNDEF)
  |  |  ------------------
  |  |  |  |  336|      0|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  |  |  Branch (449:34): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  724|      0|            grp_info->storage_type = H5G_STORAGE_TYPE_DENSE;
  725|      0|        else
  726|      0|            grp_info->storage_type = H5G_STORAGE_TYPE_COMPACT;
  727|      0|    } /* end if */
  728|      7|    else {
  729|       |        /* Get the number of objects in this group by iterating over symbol table */
  730|      7|        if (H5G__stab_count(oloc, &grp_info->nlinks) < 0)
  ------------------
  |  Branch (730:13): [True: 1, False: 6]
  ------------------
  731|      1|            HGOTO_ERROR(H5E_SYM, H5E_CANTCOUNT, FAIL, "can't count objects");
  ------------------
  |  |   68|      1|    do {                                                                                                     \
  |  |   69|      1|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      1|    do {                                                                                                     \
  |  |  |  |   40|      1|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      1|    do {                                                                                                     \
  |  |  |  |  |  |   31|      1|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      1|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      1|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      1|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      1|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      1|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      1|    do {                                                                                                     \
  |  |  |  |   92|      1|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      1|        goto done;                                                                                           \
  |  |  |  |   94|      1|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      1|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  732|       |
  733|       |        /* Set the other information about the group */
  734|      6|        grp_info->storage_type = H5G_STORAGE_TYPE_SYMBOL_TABLE;
  735|      6|        grp_info->max_corder   = 0;
  736|      6|    } /* end else */
  737|       |
  738|      7|done:
  739|       |    /* Clean up resources */
  740|      7|    if (grp && H5G_close(grp) < 0)
  ------------------
  |  Branch (740:9): [True: 7, False: 0]
  |  Branch (740:16): [True: 0, False: 7]
  ------------------
  741|      0|        HDONE_ERROR(H5E_SYM, H5E_CANTCLOSEOBJ, FAIL, "unable to close queried group");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  742|       |
  743|      7|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  744|      7|} /* end H5G__obj_info() */
H5G_obj_get_name_by_idx:
  759|    138|{
  760|    138|    H5O_linfo_t linfo;               /* Link info message */
  761|    138|    htri_t      linfo_exists;        /* Whether the link info message exists */
  762|    138|    herr_t      ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    138|#define SUCCEED 0
  ------------------
  763|       |
  764|    138|    FUNC_ENTER_NOAPI_TAG(oloc->addr, FAIL)
  ------------------
  |  | 1443|    138|    {                                                                                                        \
  |  | 1444|    138|        haddr_t prev_tag = HADDR_UNDEF;                                                                      \
  |  |  ------------------
  |  |  |  |  336|    138|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  | 1445|    138|                                                                                                             \
  |  | 1446|    138|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    138|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    138|                                                                                                             \
  |  |  |  | 1267|    138|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1447|    138|        H5AC_tag(tag, &prev_tag);                                                                            \
  |  | 1448|    138|        {
  ------------------
  765|       |
  766|       |    /* Sanity check */
  767|    138|    assert(oloc && oloc->file);
  768|       |
  769|       |    /* Attempt to get the link info for this group */
  770|    138|    if ((linfo_exists = H5G__obj_get_linfo(oloc, &linfo)) < 0)
  ------------------
  |  Branch (770:9): [True: 0, False: 138]
  ------------------
  771|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "can't check for link info message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  772|    138|    if (linfo_exists) {
  ------------------
  |  Branch (772:9): [True: 0, False: 138]
  ------------------
  773|       |        /* Check for creation order tracking, if creation order index lookup requested */
  774|      0|        if (idx_type == H5_INDEX_CRT_ORDER)
  ------------------
  |  Branch (774:13): [True: 0, False: 0]
  ------------------
  775|       |            /* Check if creation order is tracked */
  776|      0|            if (!linfo.track_corder)
  ------------------
  |  Branch (776:17): [True: 0, False: 0]
  ------------------
  777|      0|                HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "creation order not tracked for links in group");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  778|       |
  779|       |        /* Check for dense link storage */
  780|      0|        if (H5_addr_defined(linfo.fheap_addr)) {
  ------------------
  |  |  449|      0|#define H5_addr_defined(X)       ((X) != HADDR_UNDEF)
  |  |  ------------------
  |  |  |  |  336|      0|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  |  |  Branch (449:34): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  781|       |            /* Get the object's name from the dense link storage */
  782|      0|            if (H5G__dense_get_name_by_idx(oloc->file, &linfo, idx_type, order, n, name, name_size,
  ------------------
  |  Branch (782:17): [True: 0, False: 0]
  ------------------
  783|      0|                                           name_len) < 0)
  784|      0|                HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "can't locate name");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  785|      0|        } /* end if */
  786|      0|        else {
  787|       |            /* Get the object's name from the link messages */
  788|      0|            if (H5G__compact_get_name_by_idx(oloc, &linfo, idx_type, order, n, name, name_size, name_len) < 0)
  ------------------
  |  Branch (788:17): [True: 0, False: 0]
  ------------------
  789|      0|                HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "can't locate name");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  790|      0|        } /* end else */
  791|      0|    }     /* end if */
  792|    138|    else {
  793|       |        /* Can only perform name lookups on groups with symbol tables */
  794|    138|        if (idx_type != H5_INDEX_NAME)
  ------------------
  |  Branch (794:13): [True: 0, False: 138]
  ------------------
  795|      0|            HGOTO_ERROR(H5E_SYM, H5E_BADVALUE, FAIL, "no creation order index to query");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  796|       |
  797|       |        /* Get the object's name from the symbol table */
  798|    138|        if (H5G__stab_get_name_by_idx(oloc, order, n, name, name_size, name_len) < 0)
  ------------------
  |  Branch (798:13): [True: 2, False: 136]
  ------------------
  799|      2|            HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "can't locate name");
  ------------------
  |  |   68|      2|    do {                                                                                                     \
  |  |   69|      2|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      2|    do {                                                                                                     \
  |  |  |  |   40|      2|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      2|    do {                                                                                                     \
  |  |  |  |  |  |   31|      2|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      2|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      2|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      2|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      2|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      2|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      2|    do {                                                                                                     \
  |  |  |  |   92|      2|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      2|        goto done;                                                                                           \
  |  |  |  |   94|      2|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  800|    138|    } /* end else */
  801|       |
  802|    138|done:
  803|    138|    FUNC_LEAVE_NOAPI_TAG(ret_value)
  ------------------
  |  | 1593|    138|    ;                                                                                                        \
  |  | 1594|    138|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1595|    138|    H5AC_tag(prev_tag, NULL);                                                                                \
  |  | 1596|    138|    return (ret_value);                                                                                      \
  |  | 1597|    138|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  804|    138|} /* end H5G_obj_get_name_by_idx() */
H5G__obj_lookup:
 1057|    142|{
 1058|    142|    H5O_linfo_t linfo;               /* Link info message */
 1059|    142|    htri_t      linfo_exists;        /* Whether the link info message exists */
 1060|    142|    herr_t      ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    142|#define SUCCEED 0
  ------------------
 1061|       |
 1062|    142|    FUNC_ENTER_PACKAGE_TAG(grp_oloc->addr)
  ------------------
  |  | 1473|    142|    {                                                                                                        \
  |  | 1474|    142|        haddr_t prev_tag = HADDR_UNDEF;                                                                      \
  |  |  ------------------
  |  |  |  |  336|    142|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  | 1475|    142|                                                                                                             \
  |  | 1476|    142|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    142|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    142|                                                                                                             \
  |  |  |  | 1267|    142|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1477|    142|        H5AC_tag(tag, &prev_tag);                                                                            \
  |  | 1478|    142|        {
  ------------------
 1063|       |
 1064|       |    /* check arguments */
 1065|    142|    assert(grp_oloc && grp_oloc->file);
 1066|    142|    assert(name && *name);
 1067|       |
 1068|       |    /* Attempt to get the link info message for this group */
 1069|    142|    if ((linfo_exists = H5G__obj_get_linfo(grp_oloc, &linfo)) < 0)
  ------------------
  |  Branch (1069:9): [True: 0, False: 142]
  ------------------
 1070|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "can't check for link info message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1071|    142|    if (linfo_exists) {
  ------------------
  |  Branch (1071:9): [True: 0, False: 142]
  ------------------
 1072|       |        /* Check for dense link storage */
 1073|      0|        if (H5_addr_defined(linfo.fheap_addr)) {
  ------------------
  |  |  449|      0|#define H5_addr_defined(X)       ((X) != HADDR_UNDEF)
  |  |  ------------------
  |  |  |  |  336|      0|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  |  |  Branch (449:34): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1074|       |            /* Get the object's info from the dense link storage */
 1075|      0|            if (H5G__dense_lookup(grp_oloc->file, &linfo, name, found, lnk) < 0)
  ------------------
  |  Branch (1075:17): [True: 0, False: 0]
  ------------------
 1076|      0|                HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "can't locate object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1077|      0|        } /* end if */
 1078|      0|        else {
 1079|       |            /* Get the object's info from the link messages */
 1080|      0|            if (H5G__compact_lookup(grp_oloc, name, found, lnk) < 0)
  ------------------
  |  Branch (1080:17): [True: 0, False: 0]
  ------------------
 1081|      0|                HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "can't locate object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1082|      0|        } /* end else */
 1083|      0|    }     /* end if */
 1084|    142|    else
 1085|       |        /* Get the object's info from the symbol table */
 1086|    142|        if (H5G__stab_lookup(grp_oloc, name, found, lnk) < 0)
  ------------------
  |  Branch (1086:13): [True: 0, False: 142]
  ------------------
 1087|      0|            HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "can't locate object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1088|       |
 1089|    142|done:
 1090|    142|    FUNC_LEAVE_NOAPI_TAG(ret_value)
  ------------------
  |  | 1593|    142|    ;                                                                                                        \
  |  | 1594|    142|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1595|    142|    H5AC_tag(prev_tag, NULL);                                                                                \
  |  | 1596|    142|    return (ret_value);                                                                                      \
  |  | 1597|    142|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1091|    142|} /* end H5G__obj_lookup() */

H5Goh.c:H5O__group_isa:
  154|    191|{
  155|    191|    htri_t stab_exists;      /* Whether the 'stab' message is in the object header */
  156|    191|    htri_t linfo_exists;     /* Whether the 'linfo' message is in the object header */
  157|    191|    htri_t ret_value = FAIL; /* Return value */
  ------------------
  |  |  284|    191|#define FAIL    (-1)
  ------------------
  158|       |
  159|    191|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    191|    {                                                                                                        \
  |  | 1461|    191|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    191|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    191|                                                                                                             \
  |  |  |  | 1267|    191|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    191|        {
  ------------------
  160|       |
  161|    191|    assert(oh);
  162|       |
  163|       |    /* Check for any of the messages that indicate a group */
  164|    191|    if ((stab_exists = H5O_msg_exists_oh(oh, H5O_STAB_ID)) < 0)
  ------------------
  |  |  223|    191|#define H5O_STAB_ID        0x0011 /* Symbol table message.  */
  ------------------
  |  Branch (164:9): [True: 0, False: 191]
  ------------------
  165|      0|        HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "unable to read object header");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  166|    191|    if ((linfo_exists = H5O_msg_exists_oh(oh, H5O_LINFO_ID)) < 0)
  ------------------
  |  |  208|    191|#define H5O_LINFO_ID       0x0002 /* Link info Message. */
  ------------------
  |  Branch (166:9): [True: 0, False: 191]
  ------------------
  167|      0|        HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "unable to read object header");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  168|       |
  169|    191|    ret_value = (stab_exists > 0 || linfo_exists > 0);
  ------------------
  |  Branch (169:18): [True: 92, False: 99]
  |  Branch (169:37): [True: 0, False: 99]
  ------------------
  170|       |
  171|    191|done:
  172|    191|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    191|    ;                                                                                                        \
  |  | 1573|    191|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    191|    return (ret_value);                                                                                      \
  |  | 1575|    191|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  173|    191|} /* end H5O__group_isa() */

H5G_rootof:
   84|    359|{
   85|    359|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|    359|    {                                                                                                        \
  |  | 1425|    359|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    359|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|    359|        {
  ------------------
   86|       |
   87|       |    /* Sanity check */
   88|    359|    assert(f);
   89|    359|    assert(f->shared);
   90|       |
   91|       |    /* Walk to top of mounted files */
   92|    359|    while (f->parent)
  ------------------
  |  Branch (92:12): [True: 0, False: 359]
  ------------------
   93|      0|        f = f->parent;
   94|       |
   95|       |    /* Sanity check */
   96|    359|    assert(f);
   97|    359|    assert(f->shared);
   98|    359|    assert(f->shared->root_grp);
   99|       |
  100|       |    /* Check to see if the root group was opened through a different
  101|       |     * "top" file, and switch it to point at the current "top" file.
  102|       |     */
  103|    359|    if (f->shared->root_grp->oloc.file != f)
  ------------------
  |  Branch (103:9): [True: 0, False: 359]
  ------------------
  104|      0|        f->shared->root_grp->oloc.file = f;
  105|       |
  106|    359|    FUNC_LEAVE_NOAPI(f->shared->root_grp)
  ------------------
  |  | 1572|    359|    ;                                                                                                        \
  |  | 1573|    359|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    359|    return (ret_value);                                                                                      \
  |  | 1575|    359|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  107|    359|} /* end H5G_rootof() */
H5G_mkroot:
  125|      7|{
  126|      7|    H5G_loc_t        root_loc;               /* Root location information */
  127|      7|    H5G_obj_create_t gcrt_info;              /* Root group object creation info */
  128|      7|    htri_t           stab_exists  = -1;      /* Whether the symbol table exists */
  129|      7|    bool             sblock_dirty = false;   /* Whether superblock was dirtied */
  130|      7|    bool             path_init    = false;   /* Whether path was initialized */
  131|      7|    herr_t           ret_value    = SUCCEED; /* Return value */
  ------------------
  |  |  283|      7|#define SUCCEED 0
  ------------------
  132|       |
  133|      7|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      7|    {                                                                                                        \
  |  | 1392|      7|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      7|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      7|                                                                                                             \
  |  |  |  | 1267|      7|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      7|        {
  ------------------
  134|       |
  135|       |    /* check args */
  136|      7|    assert(f);
  137|      7|    assert(f->shared);
  138|      7|    assert(f->shared->sblock);
  139|       |
  140|       |    /* Check if the root group is already initialized */
  141|      7|    if (f->shared->root_grp)
  ------------------
  |  Branch (141:9): [True: 0, False: 7]
  ------------------
  142|      0|        HGOTO_DONE(SUCCEED);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  143|       |
  144|       |    /* Create information needed for group nodes */
  145|      7|    if (H5G__node_init(f) < 0)
  ------------------
  |  Branch (145:9): [True: 0, False: 7]
  ------------------
  146|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to create group node info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  147|       |
  148|       |    /*
  149|       |     * Create the group pointer
  150|       |     */
  151|      7|    if (NULL == (f->shared->root_grp = H5FL_CALLOC(H5G_t)))
  ------------------
  |  |   78|      7|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|      7|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (151:9): [True: 0, False: 7]
  ------------------
  152|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  153|      7|    if (NULL == (f->shared->root_grp->shared = H5FL_CALLOC(H5G_shared_t))) {
  ------------------
  |  |   78|      7|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|      7|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (153:9): [True: 0, False: 7]
  ------------------
  154|      0|        f->shared->root_grp = H5FL_FREE(H5G_t, f->shared->root_grp);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  155|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  156|      0|    } /* end if */
  157|       |
  158|       |    /* Initialize the root_loc structure to point to fields in the newly created
  159|       |     * f->shared->root_grp structure */
  160|      7|    root_loc.oloc = &(f->shared->root_grp->oloc);
  161|      7|    root_loc.path = &(f->shared->root_grp->path);
  162|      7|    H5G_loc_reset(&root_loc);
  163|       |
  164|       |    /*
  165|       |     * If there is no root object then create one. The root group always starts
  166|       |     * with a hard link count of one since it's pointed to by the superblock.
  167|       |     */
  168|      7|    if (create_root) {
  ------------------
  |  Branch (168:9): [True: 0, False: 7]
  ------------------
  169|       |        /* Create root group */
  170|       |        /* (Pass the FCPL which is a sub-class of the group creation property class) */
  171|      0|        gcrt_info.gcpl_id    = f->shared->fcpl_id;
  172|      0|        gcrt_info.cache_type = H5G_NOTHING_CACHED;
  173|      0|        if (H5G__obj_create(f, &gcrt_info, root_loc.oloc /*out*/) < 0)
  ------------------
  |  Branch (173:13): [True: 0, False: 0]
  ------------------
  174|      0|            HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to create group entry");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  175|      0|        if (1 != H5O_link(root_loc.oloc, 1))
  ------------------
  |  Branch (175:13): [True: 0, False: 0]
  ------------------
  176|      0|            HGOTO_ERROR(H5E_SYM, H5E_LINKCOUNT, FAIL, "internal error (wrong link count)");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  177|       |
  178|       |        /* Decrement refcount on root group's object header in memory */
  179|      0|        if (H5O_dec_rc_by_loc(root_loc.oloc) < 0)
  ------------------
  |  Branch (179:13): [True: 0, False: 0]
  ------------------
  180|      0|            HGOTO_ERROR(H5E_SYM, H5E_CANTDEC, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  181|      0|                        "unable to decrement refcount on root group's object header");
  182|       |
  183|       |        /* Mark superblock dirty, so root group info is flushed */
  184|      0|        sblock_dirty = true;
  185|       |
  186|       |        /* Create the root group symbol table entry */
  187|      0|        assert(!f->shared->sblock->root_ent);
  188|      0|        if (f->shared->sblock->super_vers < HDF5_SUPERBLOCK_VERSION_2) {
  ------------------
  |  |  304|      0|#define HDF5_SUPERBLOCK_VERSION_2   2 /* Revised version with superblock extension and checksum */
  ------------------
  |  Branch (188:13): [True: 0, False: 0]
  ------------------
  189|       |            /* Allocate space for the root group symbol table entry */
  190|      0|            if (NULL == (f->shared->sblock->root_ent = (H5G_entry_t *)H5MM_calloc(sizeof(H5G_entry_t))))
  ------------------
  |  |   36|      0|#define H5MM_calloc(Z) calloc(1, Z)
  ------------------
  |  Branch (190:17): [True: 0, False: 0]
  ------------------
  191|      0|                HGOTO_ERROR(H5E_RESOURCE, H5E_CANTALLOC, FAIL, "can't allocate space for symbol table entry");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  192|       |
  193|       |            /* Initialize the root group symbol table entry */
  194|      0|            f->shared->sblock->root_ent->type = gcrt_info.cache_type;
  195|      0|            if (gcrt_info.cache_type != H5G_NOTHING_CACHED)
  ------------------
  |  Branch (195:17): [True: 0, False: 0]
  ------------------
  196|      0|                f->shared->sblock->root_ent->cache = gcrt_info.cache;
  197|      0|            f->shared->sblock->root_ent->name_off = 0; /* No name (yet) */
  198|      0|            f->shared->sblock->root_ent->header   = root_loc.oloc->addr;
  199|      0|        } /* end if */
  200|      0|    }     /* end if */
  201|      7|    else {
  202|       |        /* Create root group object location from f */
  203|      7|        root_loc.oloc->addr = f->shared->sblock->root_addr;
  204|      7|        root_loc.oloc->file = f;
  205|       |
  206|       |        /*
  207|       |         * Open the root object as a group.
  208|       |         */
  209|      7|        if (H5O_open(root_loc.oloc) < 0)
  ------------------
  |  Branch (209:13): [True: 0, False: 7]
  ------------------
  210|      0|            HGOTO_ERROR(H5E_SYM, H5E_CANTOPENOBJ, FAIL, "unable to open root group");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  211|       |
  212|       |        /* Actions to take if the symbol table information is cached */
  213|      7|        if (f->shared->sblock->root_ent && f->shared->sblock->root_ent->type == H5G_CACHED_STAB) {
  ------------------
  |  Branch (213:13): [True: 7, False: 0]
  |  Branch (213:44): [True: 7, False: 0]
  ------------------
  214|       |            /* Check for the situation where the symbol table is cached but does
  215|       |             * not exist.  This can happen if, for example, an external link is
  216|       |             * added to the root group. */
  217|      7|            if ((stab_exists = H5O_msg_exists(root_loc.oloc, H5O_STAB_ID)) < 0)
  ------------------
  |  |  223|      7|#define H5O_STAB_ID        0x0011 /* Symbol table message.  */
  ------------------
  |  Branch (217:17): [True: 0, False: 7]
  ------------------
  218|      0|                HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "can't check if symbol table message exists");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  219|       |
  220|       |            /* Remove the cache if the stab does not exist */
  221|      7|            if (!stab_exists)
  ------------------
  |  Branch (221:17): [True: 0, False: 7]
  ------------------
  222|      0|                f->shared->sblock->root_ent->type = H5G_NOTHING_CACHED;
  223|       |#ifndef H5_STRICT_FORMAT_CHECKS
  224|       |            /* If symbol table information is cached, check if we should replace the
  225|       |             * symbol table message with the cached symbol table information */
  226|       |            else if (H5F_INTENT(f) & H5F_ACC_RDWR) {
  227|       |                H5O_stab_t cached_stab;
  228|       |
  229|       |                /* Retrieve the cached symbol table information */
  230|       |                cached_stab.btree_addr = f->shared->sblock->root_ent->cache.stab.btree_addr;
  231|       |                cached_stab.heap_addr  = f->shared->sblock->root_ent->cache.stab.heap_addr;
  232|       |
  233|       |                /* Check if the symbol table message is valid, and replace with the
  234|       |                 * cached symbol table if necessary */
  235|       |                if (H5G__stab_valid(root_loc.oloc, &cached_stab) < 0)
  236|       |                    HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "unable to verify symbol table");
  237|       |            } /* end if */
  238|       |#endif        /* H5_STRICT_FORMAT_CHECKS */
  239|      7|        }     /* end if */
  240|      7|    }         /* end else */
  241|       |
  242|       |    /* Cache the root group's symbol table information in the root group symbol
  243|       |     * table entry.  It will have been allocated by now if it needs to be
  244|       |     * present, so we don't need to check the superblock version.  We do this if
  245|       |     * we have write access, the root entry has been allocated (i.e.
  246|       |     * super_vers < 2) and the stab info is not already cached. */
  247|      7|    if ((H5F_INTENT(f) & H5F_ACC_RDWR) && stab_exists != false && f->shared->sblock->root_ent &&
  ------------------
  |  |  109|      7|#define H5F_INTENT(F)                    (H5F_get_intent(F))
  ------------------
                  if ((H5F_INTENT(f) & H5F_ACC_RDWR) && stab_exists != false && f->shared->sblock->root_ent &&
  ------------------
  |  |   49|      7|#define H5F_ACC_RDWR   (H5CHECK H5OPEN 0x0001u) /**< Open for read and write    */
  ------------------
  |  Branch (247:9): [True: 0, False: 7]
  |  Branch (247:43): [True: 0, False: 0]
  |  Branch (247:67): [True: 0, False: 0]
  ------------------
  248|      7|        f->shared->sblock->root_ent->type != H5G_CACHED_STAB) {
  ------------------
  |  Branch (248:9): [True: 0, False: 0]
  ------------------
  249|      0|        H5O_stab_t stab; /* Symbol table */
  250|       |
  251|       |        /* Check if the stab message exists.  It's possible for the root group
  252|       |         * to use the latest version while the superblock is an old version.
  253|       |         * If stab_exists is not -1 then we have already checked. */
  254|      0|        if (stab_exists == -1 && (stab_exists = H5O_msg_exists(root_loc.oloc, H5O_STAB_ID)) < 0)
  ------------------
  |  |  223|      0|#define H5O_STAB_ID        0x0011 /* Symbol table message.  */
  ------------------
  |  Branch (254:13): [True: 0, False: 0]
  |  Branch (254:34): [True: 0, False: 0]
  ------------------
  255|      0|            HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "can't check if symbol table message exists");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  256|       |
  257|      0|        if (stab_exists) {
  ------------------
  |  Branch (257:13): [True: 0, False: 0]
  ------------------
  258|       |            /* Read the root group's symbol table message */
  259|      0|            if (NULL == H5O_msg_read(root_loc.oloc, H5O_STAB_ID, &stab))
  ------------------
  |  |  223|      0|#define H5O_STAB_ID        0x0011 /* Symbol table message.  */
  ------------------
  |  Branch (259:17): [True: 0, False: 0]
  ------------------
  260|      0|                HGOTO_ERROR(H5E_SYM, H5E_BADMESG, FAIL, "unable to read symbol table message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  261|       |
  262|       |            /* Update the root group symbol table entry */
  263|      0|            f->shared->sblock->root_ent->type                  = H5G_CACHED_STAB;
  264|      0|            f->shared->sblock->root_ent->cache.stab.btree_addr = stab.btree_addr;
  265|      0|            f->shared->sblock->root_ent->cache.stab.heap_addr  = stab.heap_addr;
  266|       |
  267|       |            /* Mark superblock dirty, so root group info is flushed */
  268|      0|            sblock_dirty = true;
  269|      0|        } /* end if */
  270|      0|    }     /* end if */
  271|       |
  272|       |    /* Create the path names for the root group's entry */
  273|      7|    H5G__name_init(root_loc.path, "/");
  274|      7|    path_init = true;
  275|       |
  276|      7|    f->shared->root_grp->shared->fo_count = 1;
  277|       |    /* The only other open object should be the superblock extension, if it
  278|       |     * exists.  Don't count either the superblock extension or the root group
  279|       |     * in the number of open objects in the file.
  280|       |     */
  281|      7|    assert((1 == f->nopen_objs) || (2 == f->nopen_objs && HADDR_UNDEF != f->shared->sblock->ext_addr));
  282|      7|    f->nopen_objs--;
  283|       |
  284|      7|done:
  285|       |    /* In case of error, free various memory locations that may have been
  286|       |     * allocated */
  287|      7|    if (ret_value < 0) {
  ------------------
  |  Branch (287:9): [True: 0, False: 7]
  ------------------
  288|      0|        if (f->shared->root_grp) {
  ------------------
  |  Branch (288:13): [True: 0, False: 0]
  ------------------
  289|      0|            if (path_init)
  ------------------
  |  Branch (289:17): [True: 0, False: 0]
  ------------------
  290|      0|                H5G_name_free(root_loc.path);
  291|      0|            if (f->shared->root_grp->shared)
  ------------------
  |  Branch (291:17): [True: 0, False: 0]
  ------------------
  292|      0|                f->shared->root_grp->shared = H5FL_FREE(H5G_shared_t, f->shared->root_grp->shared);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  293|      0|            f->shared->root_grp = H5FL_FREE(H5G_t, f->shared->root_grp);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  294|      0|        } /* end if */
  295|      0|        if (f->shared->sblock)
  ------------------
  |  Branch (295:13): [True: 0, False: 0]
  ------------------
  296|      0|            f->shared->sblock->root_ent = (H5G_entry_t *)H5MM_xfree(f->shared->sblock->root_ent);
  297|      0|    } /* end if */
  298|       |
  299|       |    /* Mark superblock dirty in cache, if necessary */
  300|      7|    if (sblock_dirty)
  ------------------
  |  Branch (300:9): [True: 0, False: 7]
  ------------------
  301|      0|        if (H5AC_mark_entry_dirty(f->shared->sblock) < 0)
  ------------------
  |  Branch (301:13): [True: 0, False: 0]
  ------------------
  302|      0|            HDONE_ERROR(H5E_FILE, H5E_CANTMARKDIRTY, FAIL, "unable to mark superblock as dirty");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  303|       |
  304|      7|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  305|      7|} /* end H5G_mkroot() */
H5G_root_free:
  321|      7|{
  322|      7|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      7|    {                                                                                                        \
  |  | 1425|      7|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      7|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      7|        {
  ------------------
  323|       |
  324|       |    /* Check args */
  325|      7|    assert(grp && grp->shared);
  326|      7|    assert(grp->shared->fo_count > 0);
  327|       |
  328|       |    /* Free the path */
  329|      7|    H5G_name_free(&(grp->path));
  330|       |
  331|      7|    grp->shared = H5FL_FREE(H5G_shared_t, grp->shared);
  ------------------
  |  |   81|      7|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      7|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  332|      7|    grp         = H5FL_FREE(H5G_t, grp);
  ------------------
  |  |   81|      7|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      7|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  333|       |
  334|      7|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  335|      7|} /* end H5G_root_free() */
H5G_root_loc:
  349|    221|{
  350|    221|    H5G_t *root_grp;            /* Pointer to root group's info */
  351|    221|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    221|#define SUCCEED 0
  ------------------
  352|       |
  353|    221|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    221|    {                                                                                                        \
  |  | 1392|    221|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    221|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    221|                                                                                                             \
  |  |  |  | 1267|    221|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    221|        {
  ------------------
  354|       |
  355|    221|    assert(f);
  356|    221|    assert(loc);
  357|       |
  358|       |    /* Retrieve the root group for the file */
  359|    221|    root_grp = H5G_rootof(f);
  360|    221|    assert(root_grp);
  361|       |
  362|       |    /* Build the group location for the root group */
  363|    221|    if (NULL == (loc->oloc = H5G_oloc(root_grp)))
  ------------------
  |  Branch (363:9): [True: 0, False: 221]
  ------------------
  364|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unable to get object location for root group");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  365|    221|    if (NULL == (loc->path = H5G_nameof(root_grp)))
  ------------------
  |  Branch (365:9): [True: 0, False: 221]
  ------------------
  366|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unable to get path for root group");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  367|       |
  368|       |    /* Patch up root group's object location to reflect this file */
  369|       |    /* (Since the root group info is only stored once for files which
  370|       |     *  share an underlying low-level file)
  371|       |     */
  372|       |    /* (but only for non-mounted files) */
  373|    221|    if (!H5F_is_mount(f)) {
  ------------------
  |  Branch (373:9): [True: 221, False: 0]
  ------------------
  374|    221|        loc->oloc->file         = f;
  375|    221|        loc->oloc->holding_file = false;
  376|    221|    } /* end if */
  377|       |
  378|    221|done:
  379|    221|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    221|    ;                                                                                                        \
  |  | 1573|    221|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    221|    return (ret_value);                                                                                      \
  |  | 1575|    221|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  380|    221|} /* end H5G_root_loc() */

H5G__stab_iterate:
  471|     76|{
  472|     76|    H5HL_t          *heap = NULL;           /* Local heap for group */
  473|     76|    H5O_stab_t       stab;                  /* Info about symbol table */
  474|     76|    H5G_link_table_t ltable    = {0, NULL}; /* Link table */
  475|     76|    herr_t           ret_value = FAIL;      /* Return value */
  ------------------
  |  |  284|     76|#define FAIL    (-1)
  ------------------
  476|       |
  477|     76|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     76|    {                                                                                                        \
  |  | 1461|     76|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     76|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     76|                                                                                                             \
  |  |  |  | 1267|     76|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     76|        {
  ------------------
  478|       |
  479|       |    /* Sanity check */
  480|     76|    assert(oloc);
  481|     76|    assert(op);
  482|       |
  483|       |    /* Get the B-tree info */
  484|     76|    if (NULL == H5O_msg_read(oloc, H5O_STAB_ID, &stab))
  ------------------
  |  |  223|     76|#define H5O_STAB_ID        0x0011 /* Symbol table message.  */
  ------------------
  |  Branch (484:9): [True: 0, False: 76]
  ------------------
  485|      0|        HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "unable to determine local heap address");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  486|       |
  487|       |    /* Pin the heap down in memory */
  488|     76|    if (NULL == (heap = H5HL_protect(oloc->file, stab.heap_addr, H5AC__READ_ONLY_FLAG)))
  ------------------
  |  |  322|     76|#define H5AC__READ_ONLY_FLAG              H5C__READ_ONLY_FLAG
  |  |  ------------------
  |  |  |  |  183|     76|#define H5C__READ_ONLY_FLAG                 0x00080
  |  |  ------------------
  ------------------
  |  Branch (488:9): [True: 0, False: 76]
  ------------------
  489|      0|        HGOTO_ERROR(H5E_SYM, H5E_PROTECT, FAIL, "unable to protect symbol table heap");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  490|       |
  491|       |    /* Check on iteration order */
  492|       |    /* ("native" iteration order is increasing for this link storage mechanism) */
  493|     76|    if (order != H5_ITER_DEC) {
  ------------------
  |  Branch (493:9): [True: 76, False: 0]
  ------------------
  494|     76|        H5G_bt_it_it_t udata; /* User data to pass to B-tree callback */
  495|       |
  496|       |        /* Build udata to pass through H5B_iterate() to H5G__node_iterate() */
  497|     76|        udata.heap      = heap;
  498|     76|        udata.skip      = skip;
  499|     76|        udata.final_ent = last_lnk;
  500|     76|        udata.op        = op;
  501|     76|        udata.op_data   = op_data;
  502|       |
  503|       |        /* Iterate over the group members */
  504|     76|        if ((ret_value = H5B_iterate(oloc->file, H5B_SNODE, stab.btree_addr, H5G__node_iterate, &udata)) < 0)
  ------------------
  |  Branch (504:13): [True: 50, False: 26]
  ------------------
  505|     50|            HERROR(H5E_SYM, H5E_CANTNEXT, "iteration operator failed");
  ------------------
  |  |   30|     50|    do {                                                                                                     \
  |  |   31|     50|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |   32|     50|    } while (0)
  |  |  ------------------
  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  506|       |
  507|       |        /* Check for too high of a starting index (ex post facto :-) */
  508|       |        /* (Skipping exactly as many entries as are in the group is currently an error) */
  509|     76|        if (skip > 0 && skip >= *last_lnk)
  ------------------
  |  Branch (509:13): [True: 0, False: 76]
  |  Branch (509:25): [True: 0, False: 0]
  ------------------
  510|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid index specified");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  511|     76|    } /* end if */
  512|      0|    else {
  513|      0|        H5G_bt_it_bt_t udata; /* User data to pass to B-tree callback */
  514|       |
  515|       |        /* Build udata to pass through H5B_iterate() to H5G__node_build_table() */
  516|      0|        udata.alloc_nlinks = 0;
  517|      0|        udata.heap         = heap;
  518|      0|        udata.ltable       = &ltable;
  519|       |
  520|       |        /* Iterate over the group members */
  521|      0|        if (H5B_iterate(oloc->file, H5B_SNODE, stab.btree_addr, H5G__node_build_table, &udata) < 0)
  ------------------
  |  Branch (521:13): [True: 0, False: 0]
  ------------------
  522|      0|            HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "unable to build link table");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  523|       |
  524|       |        /* Check for skipping out of bounds */
  525|      0|        if (skip > 0 && (size_t)skip >= ltable.nlinks)
  ------------------
  |  Branch (525:13): [True: 0, False: 0]
  |  Branch (525:25): [True: 0, False: 0]
  ------------------
  526|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "index out of bound");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  527|       |
  528|       |        /* Sort link table in correct iteration order */
  529|      0|        if (H5G__link_sort_table(&ltable, H5_INDEX_NAME, order) < 0)
  ------------------
  |  Branch (529:13): [True: 0, False: 0]
  ------------------
  530|      0|            HGOTO_ERROR(H5E_SYM, H5E_CANTSORT, FAIL, "error sorting link messages");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  531|       |
  532|       |        /* Iterate over links in table */
  533|      0|        if ((ret_value = H5G__link_iterate_table(&ltable, skip, last_lnk, op, op_data)) < 0)
  ------------------
  |  Branch (533:13): [True: 0, False: 0]
  ------------------
  534|      0|            HERROR(H5E_SYM, H5E_CANTNEXT, "iteration operator failed");
  ------------------
  |  |   30|      0|    do {                                                                                                     \
  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |   32|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  535|      0|    } /* end else */
  536|       |
  537|     76|done:
  538|       |    /* Release resources */
  539|     76|    if (heap && H5HL_unprotect(heap) < 0)
  ------------------
  |  Branch (539:9): [True: 76, False: 0]
  |  Branch (539:17): [True: 0, False: 76]
  ------------------
  540|      0|        HDONE_ERROR(H5E_SYM, H5E_PROTECT, FAIL, "unable to unprotect symbol table heap");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  541|     76|    if (ltable.lnks && H5G__link_release_table(&ltable) < 0)
  ------------------
  |  Branch (541:9): [True: 0, False: 76]
  |  Branch (541:24): [True: 0, False: 0]
  ------------------
  542|      0|        HDONE_ERROR(H5E_SYM, H5E_CANTFREE, FAIL, "unable to release link table");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  543|       |
  544|     76|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     76|    ;                                                                                                        \
  |  | 1573|     76|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     76|    return (ret_value);                                                                                      \
  |  | 1575|     76|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  545|     76|} /* end H5G__stab_iterate() */
H5G__stab_count:
  558|      7|{
  559|      7|    H5O_stab_t stab; /* Info about symbol table */
  560|      7|    herr_t     ret_value = SUCCEED;
  ------------------
  |  |  283|      7|#define SUCCEED 0
  ------------------
  561|       |
  562|      7|    FUNC_ENTER_PACKAGE_TAG(oloc->addr)
  ------------------
  |  | 1473|      7|    {                                                                                                        \
  |  | 1474|      7|        haddr_t prev_tag = HADDR_UNDEF;                                                                      \
  |  |  ------------------
  |  |  |  |  336|      7|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  | 1475|      7|                                                                                                             \
  |  | 1476|      7|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      7|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      7|                                                                                                             \
  |  |  |  | 1267|      7|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1477|      7|        H5AC_tag(tag, &prev_tag);                                                                            \
  |  | 1478|      7|        {
  ------------------
  563|       |
  564|       |    /* Sanity check */
  565|      7|    assert(oloc);
  566|      7|    assert(num_objs);
  567|       |
  568|       |    /* Reset the number of objects in the group */
  569|      7|    *num_objs = 0;
  570|       |
  571|       |    /* Get the B-tree info */
  572|      7|    if (NULL == H5O_msg_read(oloc, H5O_STAB_ID, &stab))
  ------------------
  |  |  223|      7|#define H5O_STAB_ID        0x0011 /* Symbol table message.  */
  ------------------
  |  Branch (572:9): [True: 0, False: 7]
  ------------------
  573|      0|        HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "unable to determine local heap address");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  574|       |
  575|       |    /* Iterate over the group members */
  576|      7|    if (H5B_iterate(oloc->file, H5B_SNODE, stab.btree_addr, H5G__node_sumup, num_objs) < 0)
  ------------------
  |  Branch (576:9): [True: 1, False: 6]
  ------------------
  577|      1|        HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "iteration operator failed");
  ------------------
  |  |   68|      1|    do {                                                                                                     \
  |  |   69|      1|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      1|    do {                                                                                                     \
  |  |  |  |   40|      1|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      1|    do {                                                                                                     \
  |  |  |  |  |  |   31|      1|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      1|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      1|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      1|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      1|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      1|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      1|    do {                                                                                                     \
  |  |  |  |   92|      1|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      1|        goto done;                                                                                           \
  |  |  |  |   94|      1|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      1|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  578|       |
  579|      7|done:
  580|      7|    FUNC_LEAVE_NOAPI_TAG(ret_value)
  ------------------
  |  | 1593|      7|    ;                                                                                                        \
  |  | 1594|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1595|      7|    H5AC_tag(prev_tag, NULL);                                                                                \
  |  | 1596|      7|    return (ret_value);                                                                                      \
  |  | 1597|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  581|      7|} /* end H5G__stab_count() */
H5G__stab_get_name_by_idx:
  678|    138|{
  679|    138|    H5HL_t          *heap = NULL;           /* Pointer to local heap */
  680|    138|    H5O_stab_t       stab;                  /* Info about local heap & B-tree */
  681|    138|    H5G_bt_it_gnbi_t udata;                 /* Iteration information */
  682|    138|    bool             udata_valid = false;   /* Whether iteration information is valid */
  683|    138|    herr_t           ret_value   = SUCCEED; /* Return value */
  ------------------
  |  |  283|    138|#define SUCCEED 0
  ------------------
  684|       |
  685|       |    /* Portably clear udata struct (before FUNC_ENTER) */
  686|    138|    memset(&udata, 0, sizeof(udata));
  687|       |
  688|    138|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    138|    {                                                                                                        \
  |  | 1392|    138|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    138|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    138|                                                                                                             \
  |  |  |  | 1267|    138|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    138|        {
  ------------------
  689|       |
  690|       |    /* Sanity check */
  691|    138|    assert(oloc);
  692|       |
  693|       |    /* Get the B-tree & local heap info */
  694|    138|    if (NULL == H5O_msg_read(oloc, H5O_STAB_ID, &stab))
  ------------------
  |  |  223|    138|#define H5O_STAB_ID        0x0011 /* Symbol table message.  */
  ------------------
  |  Branch (694:9): [True: 0, False: 138]
  ------------------
  695|      0|        HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "unable to determine local heap address");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  696|       |
  697|       |    /* Pin the heap down in memory */
  698|    138|    if (NULL == (heap = H5HL_protect(oloc->file, stab.heap_addr, H5AC__READ_ONLY_FLAG)))
  ------------------
  |  |  322|    138|#define H5AC__READ_ONLY_FLAG              H5C__READ_ONLY_FLAG
  |  |  ------------------
  |  |  |  |  183|    138|#define H5C__READ_ONLY_FLAG                 0x00080
  |  |  ------------------
  ------------------
  |  Branch (698:9): [True: 2, False: 136]
  ------------------
  699|      2|        HGOTO_ERROR(H5E_SYM, H5E_PROTECT, FAIL, "unable to protect symbol table heap");
  ------------------
  |  |   68|      2|    do {                                                                                                     \
  |  |   69|      2|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      2|    do {                                                                                                     \
  |  |  |  |   40|      2|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      2|    do {                                                                                                     \
  |  |  |  |  |  |   31|      2|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      2|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      2|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      2|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      2|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      2|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      2|    do {                                                                                                     \
  |  |  |  |   92|      2|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      2|        goto done;                                                                                           \
  |  |  |  |   94|      2|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  700|       |
  701|       |    /* Remap index for decreasing iteration order */
  702|    136|    if (order == H5_ITER_DEC) {
  ------------------
  |  Branch (702:9): [True: 0, False: 136]
  ------------------
  703|      0|        hsize_t nlinks = 0; /* Number of links in group */
  704|       |
  705|       |        /* Iterate over the symbol table nodes, to count the links */
  706|      0|        if (H5B_iterate(oloc->file, H5B_SNODE, stab.btree_addr, H5G__node_sumup, &nlinks) < 0)
  ------------------
  |  Branch (706:13): [True: 0, False: 0]
  ------------------
  707|      0|            HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "iteration operator failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  708|       |
  709|       |        /* Map decreasing iteration order index to increasing iteration order index */
  710|      0|        n = nlinks - (n + 1);
  711|      0|    } /* end if */
  712|       |
  713|       |    /* Set iteration information */
  714|    136|    udata.common.idx      = n;
  715|    136|    udata.common.num_objs = 0;
  716|    136|    udata.common.op       = H5G__stab_get_name_by_idx_cb;
  717|    136|    udata.heap            = heap;
  718|    136|    udata.name            = NULL;
  719|    136|    udata_valid           = true;
  720|       |
  721|       |    /* Iterate over the group members */
  722|    136|    if (H5B_iterate(oloc->file, H5B_SNODE, stab.btree_addr, H5G__node_by_idx, &udata) < 0)
  ------------------
  |  Branch (722:9): [True: 0, False: 136]
  ------------------
  723|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "iteration operator failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  724|       |
  725|       |    /* If we don't know the name now, we almost certainly went out of bounds */
  726|    136|    if (udata.name == NULL)
  ------------------
  |  Branch (726:9): [True: 0, False: 136]
  ------------------
  727|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "index out of bound");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  728|       |
  729|       |    /* Get the length of the name */
  730|    136|    *name_len = strlen(udata.name);
  731|       |
  732|       |    /* Copy the name into the user's buffer, if given */
  733|    136|    if (name) {
  ------------------
  |  Branch (733:9): [True: 68, False: 68]
  ------------------
  734|     68|        strncpy(name, udata.name, MIN((*name_len + 1), name_size));
  ------------------
  |  |  293|     68|#define MIN(a, b)        (((a) < (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (293:27): [True: 0, False: 68]
  |  |  ------------------
  ------------------
  735|     68|        if (*name_len >= name_size)
  ------------------
  |  Branch (735:13): [True: 0, False: 68]
  ------------------
  736|      0|            name[name_size - 1] = '\0';
  737|     68|    } /* end if */
  738|       |
  739|    138|done:
  740|       |    /* Release resources */
  741|    138|    if (heap && H5HL_unprotect(heap) < 0)
  ------------------
  |  Branch (741:9): [True: 136, False: 2]
  |  Branch (741:17): [True: 0, False: 136]
  ------------------
  742|      0|        HDONE_ERROR(H5E_SYM, H5E_PROTECT, FAIL, "unable to unprotect symbol table heap");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  743|       |
  744|       |    /* Free the duplicated name */
  745|    138|    if (udata_valid && udata.name != NULL)
  ------------------
  |  Branch (745:9): [True: 136, False: 2]
  |  Branch (745:24): [True: 136, False: 0]
  ------------------
  746|    136|        H5MM_xfree(udata.name);
  747|       |
  748|    138|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    138|    ;                                                                                                        \
  |  | 1573|    138|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    138|    return (ret_value);                                                                                      \
  |  | 1575|    138|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  749|    136|} /* end H5G__stab_get_name_by_idx() */
H5G__stab_lookup:
  791|    142|{
  792|    142|    H5HL_t           *heap = NULL;         /* Pointer to local heap */
  793|    142|    H5G_bt_lkp_t      bt_udata;            /* Data to pass through B-tree	*/
  794|    142|    H5G_stab_fnd_ud_t udata;               /* 'User data' to give to callback */
  795|    142|    H5O_stab_t        stab;                /* Symbol table message		*/
  796|    142|    herr_t            ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    142|#define SUCCEED 0
  ------------------
  797|       |
  798|    142|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    142|    {                                                                                                        \
  |  | 1461|    142|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    142|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    142|                                                                                                             \
  |  |  |  | 1267|    142|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    142|        {
  ------------------
  799|       |
  800|       |    /* check arguments */
  801|    142|    assert(grp_oloc && grp_oloc->file);
  802|    142|    assert(name && *name);
  803|    142|    assert(found);
  804|    142|    assert(lnk);
  805|       |
  806|       |    /* Retrieve the symbol table message for the group */
  807|    142|    if (NULL == H5O_msg_read(grp_oloc, H5O_STAB_ID, &stab))
  ------------------
  |  |  223|    142|#define H5O_STAB_ID        0x0011 /* Symbol table message.  */
  ------------------
  |  Branch (807:9): [True: 0, False: 142]
  ------------------
  808|      0|        HGOTO_ERROR(H5E_SYM, H5E_BADMESG, FAIL, "can't read message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  809|       |
  810|       |    /* Pin the heap down in memory */
  811|    142|    if (NULL == (heap = H5HL_protect(grp_oloc->file, stab.heap_addr, H5AC__READ_ONLY_FLAG)))
  ------------------
  |  |  322|    142|#define H5AC__READ_ONLY_FLAG              H5C__READ_ONLY_FLAG
  |  |  ------------------
  |  |  |  |  183|    142|#define H5C__READ_ONLY_FLAG                 0x00080
  |  |  ------------------
  ------------------
  |  Branch (811:9): [True: 0, False: 142]
  ------------------
  812|      0|        HGOTO_ERROR(H5E_SYM, H5E_PROTECT, FAIL, "unable to protect symbol table heap");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  813|       |
  814|       |    /* Set up user data to pass to 'find' operation callback */
  815|    142|    udata.name = name;
  816|    142|    udata.lnk  = lnk;
  817|    142|    udata.heap = heap;
  818|       |
  819|       |    /* Set up the user data for actual B-tree find operation */
  820|    142|    bt_udata.common.name       = name;
  821|    142|    bt_udata.common.heap       = heap;
  822|    142|    bt_udata.common.block_size = H5HL_heap_get_size(heap);
  823|    142|    bt_udata.op                = H5G__stab_lookup_cb;
  824|    142|    bt_udata.op_data           = &udata;
  825|       |
  826|       |    /* Search the B-tree */
  827|    142|    if (H5B_find(grp_oloc->file, H5B_SNODE, stab.btree_addr, found, &bt_udata) < 0)
  ------------------
  |  Branch (827:9): [True: 0, False: 142]
  ------------------
  828|      0|        HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "not found");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  829|       |
  830|    142|done:
  831|       |    /* Release resources */
  832|    142|    if (heap && H5HL_unprotect(heap) < 0)
  ------------------
  |  Branch (832:9): [True: 142, False: 0]
  |  Branch (832:17): [True: 0, False: 142]
  ------------------
  833|      0|        HDONE_ERROR(H5E_SYM, H5E_PROTECT, FAIL, "unable to unprotect symbol table heap");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  834|       |
  835|    142|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    142|    ;                                                                                                        \
  |  | 1573|    142|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    142|    return (ret_value);                                                                                      \
  |  | 1575|    142|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  836|    142|} /* end H5G__stab_lookup() */
H5Gstab.c:H5G__stab_get_name_by_idx_cb:
  637|    136|{
  638|    136|    H5G_bt_it_gnbi_t *udata = (H5G_bt_it_gnbi_t *)_udata;
  639|    136|    size_t            name_off;            /* Offset of name in heap */
  640|    136|    const char       *name;                /* Pointer to name string in heap */
  641|    136|    size_t            block_size;          /* Size of the heap block */
  642|    136|    herr_t            ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    136|#define SUCCEED 0
  ------------------
  643|       |
  644|    136|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    136|    {                                                                                                        \
  |  | 1461|    136|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    136|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    136|                                                                                                             \
  |  |  |  | 1267|    136|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    136|        {
  ------------------
  645|       |
  646|       |    /* Sanity check */
  647|    136|    assert(ent);
  648|    136|    assert(udata && udata->heap);
  649|       |
  650|       |    /* Get the size of the heap block */
  651|    136|    block_size = H5HL_heap_get_size(udata->heap);
  652|       |
  653|       |    /* Get name offset in heap */
  654|    136|    name_off = ent->name_off;
  655|       |
  656|    136|    if ((name = (const char *)H5HL_offset_into(udata->heap, name_off)) == NULL)
  ------------------
  |  Branch (656:9): [True: 0, False: 136]
  ------------------
  657|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "unable to get symbol table link name");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  658|       |
  659|    136|    if (NULL == (udata->name = H5MM_strndup(name, (block_size - name_off))))
  ------------------
  |  Branch (659:9): [True: 0, False: 136]
  ------------------
  660|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "unable to duplicate symbol table link name");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  661|       |
  662|    136|done:
  663|    136|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    136|    ;                                                                                                        \
  |  | 1573|    136|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    136|    return (ret_value);                                                                                      \
  |  | 1575|    136|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  664|    136|} /* end H5G__stab_get_name_by_idx_cb */
H5Gstab.c:H5G__stab_lookup_cb:
  764|    140|{
  765|    140|    H5G_stab_fnd_ud_t *udata     = (H5G_stab_fnd_ud_t *)_udata; /* 'User data' passed in */
  766|    140|    herr_t             ret_value = SUCCEED;                     /* Return value */
  ------------------
  |  |  283|    140|#define SUCCEED 0
  ------------------
  767|       |
  768|    140|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    140|    {                                                                                                        \
  |  | 1461|    140|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    140|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    140|                                                                                                             \
  |  |  |  | 1267|    140|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    140|        {
  ------------------
  769|       |
  770|       |    /* Check for setting link info */
  771|    140|    if (udata->lnk)
  ------------------
  |  Branch (771:9): [True: 140, False: 0]
  ------------------
  772|       |        /* Convert the entry to a link */
  773|    140|        if (H5G__ent_to_link(ent, udata->heap, udata->lnk) < 0)
  ------------------
  |  Branch (773:13): [True: 0, False: 140]
  ------------------
  774|      0|            HGOTO_ERROR(H5E_SYM, H5E_CANTCONVERT, FAIL, "unable to convert symbol table entry to link");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  775|       |
  776|    140|done:
  777|    140|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    140|    ;                                                                                                        \
  |  | 1573|    140|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    140|    return (ret_value);                                                                                      \
  |  | 1575|    140|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  778|    140|} /* end H5G__stab_lookup_cb() */

H5G__traverse_special:
  340|    140|{
  341|    140|    size_t nlinks;              /* # of soft / UD links left to traverse */
  342|    140|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    140|#define SUCCEED 0
  ------------------
  343|       |
  344|    140|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    140|    {                                                                                                        \
  |  | 1461|    140|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    140|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    140|                                                                                                             \
  |  |  |  | 1267|    140|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    140|        {
  ------------------
  345|       |
  346|       |    /* Sanity check */
  347|    140|    assert(grp_loc);
  348|    140|    assert(lnk);
  349|    140|    assert(obj_loc);
  350|       |
  351|       |    /* If we found a symbolic link then we should follow it.  But if this
  352|       |     * is the last component of the name and the H5G_TARGET_SLINK bit of
  353|       |     * TARGET is set then we don't follow it.
  354|       |     */
  355|    140|    if (H5L_TYPE_SOFT == lnk->type && (0 == (target & H5G_TARGET_SLINK) || !last_comp)) {
  ------------------
  |  |  109|      0|#define H5G_TARGET_SLINK    0x0001
  ------------------
  |  Branch (355:9): [True: 0, False: 140]
  |  Branch (355:40): [True: 0, False: 0]
  |  Branch (355:76): [True: 0, False: 0]
  ------------------
  356|       |
  357|       |        /* Get the # of soft / UD links left to traverse */
  358|      0|        if (H5CX_get_nlinks(&nlinks) < 0)
  ------------------
  |  Branch (358:13): [True: 0, False: 0]
  ------------------
  359|      0|            HGOTO_ERROR(H5E_LINK, H5E_CANTGET, FAIL, "unable to retrieve # of soft / UD links to traverse");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  360|       |
  361|       |        /* Decrement # of links and range check */
  362|      0|        if ((nlinks)-- <= 0)
  ------------------
  |  Branch (362:13): [True: 0, False: 0]
  ------------------
  363|      0|            HGOTO_ERROR(H5E_LINK, H5E_NLINKS, FAIL, "too many links");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  364|       |
  365|       |        /* Update the # of links in the API context */
  366|      0|        if (H5CX_set_nlinks(nlinks) < 0)
  ------------------
  |  Branch (366:13): [True: 0, False: 0]
  ------------------
  367|      0|            HGOTO_ERROR(H5E_LINK, H5E_CANTSET, FAIL, "can't update # of soft / UD links to traverse");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  368|       |
  369|       |        /* Traverse soft link */
  370|      0|        if (H5G__traverse_slink(grp_loc, lnk, obj_loc, (target & H5G_TARGET_EXISTS), obj_exists) < 0)
  ------------------
  |  |  112|      0|#define H5G_TARGET_EXISTS   0x0008
  ------------------
  |  Branch (370:13): [True: 0, False: 0]
  ------------------
  371|      0|            HGOTO_ERROR(H5E_LINK, H5E_TRAVERSE, FAIL, "symbolic link traversal failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  372|      0|    } /* end if */
  373|       |
  374|       |    /*
  375|       |     * If we found a user-defined link then we should follow it.  But if this
  376|       |     * is the last component of the name and the H5G_TARGET_UDLINK bit of
  377|       |     * TARGET is set then we don't follow it.
  378|       |     */
  379|    140|    if (lnk->type >= H5L_TYPE_UD_MIN && (0 == (target & H5G_TARGET_UDLINK) || !last_comp)) {
  ------------------
  |  |   77|    280|#define H5L_TYPE_UD_MIN H5L_TYPE_EXTERNAL
  ------------------
                  if (lnk->type >= H5L_TYPE_UD_MIN && (0 == (target & H5G_TARGET_UDLINK) || !last_comp)) {
  ------------------
  |  |  111|      0|#define H5G_TARGET_UDLINK   0x0004
  ------------------
  |  Branch (379:9): [True: 0, False: 140]
  |  Branch (379:42): [True: 0, False: 0]
  |  Branch (379:79): [True: 0, False: 0]
  ------------------
  380|       |
  381|       |        /* Get the # of soft / UD links left to traverse */
  382|      0|        if (H5CX_get_nlinks(&nlinks) < 0)
  ------------------
  |  Branch (382:13): [True: 0, False: 0]
  ------------------
  383|      0|            HGOTO_ERROR(H5E_LINK, H5E_CANTGET, FAIL, "unable to retrieve # of soft / UD links to traverse");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  384|       |
  385|       |        /* Decrement # of links and range check */
  386|      0|        if ((nlinks)-- <= 0)
  ------------------
  |  Branch (386:13): [True: 0, False: 0]
  ------------------
  387|      0|            HGOTO_ERROR(H5E_LINK, H5E_NLINKS, FAIL, "too many links");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  388|       |
  389|       |        /* Update the # of links in the API context */
  390|      0|        if (H5CX_set_nlinks(nlinks) < 0)
  ------------------
  |  Branch (390:13): [True: 0, False: 0]
  ------------------
  391|      0|            HGOTO_ERROR(H5E_LINK, H5E_CANTSET, FAIL, "can't update # of soft / UD links to traverse");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  392|       |
  393|       |        /* Traverse user-defined link */
  394|      0|        if (H5G__traverse_ud(grp_loc, lnk, obj_loc, (target & H5G_TARGET_EXISTS), obj_exists) < 0)
  ------------------
  |  |  112|      0|#define H5G_TARGET_EXISTS   0x0008
  ------------------
  |  Branch (394:13): [True: 0, False: 0]
  ------------------
  395|      0|            HGOTO_ERROR(H5E_LINK, H5E_TRAVERSE, FAIL, "user-defined link traversal failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  396|      0|    } /* end if */
  397|       |
  398|       |    /*
  399|       |     * Resolve mount points to the mounted group.  Do not do this step if
  400|       |     * the H5G_TARGET_MOUNT bit of TARGET is set and this is the last
  401|       |     * component of the name.
  402|       |     *
  403|       |     * (If this link is a hard link, try to perform mount point traversal)
  404|       |     *
  405|       |     * (Note that the soft and external link traversal above can change
  406|       |     *  the status of the object (into a hard link), so don't use an 'else'
  407|       |     *  statement here. -QAK)
  408|       |     */
  409|    140|    if (H5_addr_defined(obj_loc->oloc->addr) && (0 == (target & H5G_TARGET_MOUNT) || !last_comp)) {
  ------------------
  |  |  449|    280|#define H5_addr_defined(X)       ((X) != HADDR_UNDEF)
  |  |  ------------------
  |  |  |  |  336|    140|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  |  |  Branch (449:34): [True: 140, False: 0]
  |  |  ------------------
  ------------------
                  if (H5_addr_defined(obj_loc->oloc->addr) && (0 == (target & H5G_TARGET_MOUNT) || !last_comp)) {
  ------------------
  |  |  110|    140|#define H5G_TARGET_MOUNT    0x0002
  ------------------
  |  Branch (409:50): [True: 140, False: 0]
  |  Branch (409:86): [True: 0, False: 0]
  ------------------
  410|    140|        if (H5F_traverse_mount(obj_loc->oloc /*in,out*/) < 0)
  ------------------
  |  Branch (410:13): [True: 0, False: 140]
  ------------------
  411|      0|            HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "mount point traversal failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  412|    140|    } /* end if */
  413|       |
  414|       |    /* If the grp_loc is the only thing holding an external file open
  415|       |     * and obj_loc is in the same file, obj_loc should also hold the
  416|       |     * file open so that closing the grp_loc doesn't close the file.
  417|       |     */
  418|    140|    if (grp_loc->oloc->holding_file && grp_loc->oloc->file == obj_loc->oloc->file)
  ------------------
  |  Branch (418:9): [True: 0, False: 140]
  |  Branch (418:40): [True: 0, False: 0]
  ------------------
  419|      0|        if (H5O_loc_hold_file(obj_loc->oloc) < 0)
  ------------------
  |  Branch (419:13): [True: 0, False: 0]
  ------------------
  420|      0|            HGOTO_ERROR(H5E_SYM, H5E_CANTOPENOBJ, FAIL, "unable to hold file open");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  421|       |
  422|    140|done:
  423|    140|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    140|    ;                                                                                                        \
  |  | 1573|    140|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    140|    return (ret_value);                                                                                      \
  |  | 1575|    140|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  424|    140|} /* end H5G__traverse_special() */
H5G_traverse:
  791|    541|{
  792|    541|    size_t orig_nlinks;         /* Original value for # of soft / UD links able to traverse */
  793|    541|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    541|#define SUCCEED 0
  ------------------
  794|       |
  795|    541|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    541|    {                                                                                                        \
  |  | 1392|    541|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    541|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    541|                                                                                                             \
  |  |  |  | 1267|    541|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    541|        {
  ------------------
  796|       |
  797|       |    /* Check args */
  798|    541|    if (!name || !*name)
  ------------------
  |  Branch (798:9): [True: 0, False: 541]
  |  Branch (798:18): [True: 0, False: 541]
  ------------------
  799|      0|        HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "no name given");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  800|    541|    if (!loc)
  ------------------
  |  Branch (800:9): [True: 0, False: 541]
  ------------------
  801|      0|        HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "no starting location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  802|    541|    if (!op)
  ------------------
  |  Branch (802:9): [True: 0, False: 541]
  ------------------
  803|      0|        HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "no operation provided");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  804|       |
  805|       |    /* Retrieve the original # of soft / UD links that are able to be traversed
  806|       |     * (So that multiple calls to H5G_traverse don't incorrectly look
  807|       |     *  like they've traversed too many.  Nested calls, like in H5L__move(),
  808|       |     *  may need their own mechanism to set & reset the # of links to traverse)
  809|       |     */
  810|    541|    if (H5CX_get_nlinks(&orig_nlinks) < 0)
  ------------------
  |  Branch (810:9): [True: 0, False: 541]
  ------------------
  811|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "unable to retrieve # of soft / UD links to traverse");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  812|       |
  813|       |    /* Set up invalid tag. This is a precautionary step only. Setting an invalid
  814|       |     * tag here will ensure that no metadata accessed while doing the traversal
  815|       |     * is given an improper tag, unless another one is specifically set up
  816|       |     * first. This will ensure we're not accidentally tagging something we
  817|       |     * shouldn't be during the traversal. Note that for best tagging assertion
  818|       |     * coverage, setting H5C_DO_TAGGING_SANITY_CHECKS is advised.
  819|       |     */
  820|    541|    H5_BEGIN_TAG(H5AC__INVALID_TAG)
  ------------------
  |  | 1602|    541|    {                                                                                                        \
  |  | 1603|    541|        haddr_t prv_tag = HADDR_UNDEF;                                                                       \
  |  |  ------------------
  |  |  |  |  336|    541|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  | 1604|    541|        H5AC_tag(tag, &prv_tag);
  ------------------
  821|       |
  822|       |    /* Go perform "real" traversal */
  823|    541|    if (H5G__traverse_real(loc, name, target, op, op_data) < 0)
  ------------------
  |  Branch (823:9): [True: 26, False: 515]
  ------------------
  824|     26|        HGOTO_ERROR_TAG(H5E_SYM, H5E_NOTFOUND, FAIL, "internal path traversal failed");
  ------------------
  |  |   78|     26|    do {                                                                                                     \
  |  |   79|     26|        H5AC_tag(prv_tag, NULL);                                                                             \
  |  |   80|     26|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     26|    do {                                                                                                     \
  |  |  |  |   40|     26|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     26|    do {                                                                                                     \
  |  |  |  |  |  |   31|     26|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     26|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     26|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     26|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     26|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   81|     26|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     26|    do {                                                                                                     \
  |  |  |  |   92|     26|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     26|        goto done;                                                                                           \
  |  |  |  |   94|     26|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   82|     26|    } while (0)
  |  |  ------------------
  |  |  |  Branch (82:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  825|       |
  826|       |    /* Reset tag after traversal */
  827|    515|    H5_END_TAG
  ------------------
  |  | 1607|    515|    H5AC_tag(prv_tag, NULL);                                                                                 \
  |  | 1608|    515|    }
  ------------------
  828|       |
  829|       |    /* Reset the # of soft / UD links that can be traversed */
  830|    515|    if (H5CX_set_nlinks(orig_nlinks) < 0)
  ------------------
  |  Branch (830:9): [True: 0, False: 515]
  ------------------
  831|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTSET, FAIL, "can't reset # of soft / UD links to traverse");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  832|       |
  833|    541|done:
  834|    541|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    541|    ;                                                                                                        \
  |  | 1573|    541|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    541|    return (ret_value);                                                                                      \
  |  | 1575|    541|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  835|    515|} /* end H5G_traverse() */
H5Gtraverse.c:H5G__traverse_real:
  440|    541|{
  441|    541|    H5G_loc_t     loc;                    /* Location of start object     */
  442|    541|    H5O_loc_t     grp_oloc;               /* Object loc. for current group */
  443|    541|    H5G_name_t    grp_path;               /* Path for current group	*/
  444|    541|    H5G_loc_t     grp_loc;                /* Location of group            */
  445|    541|    H5O_loc_t     obj_oloc;               /* Object found			*/
  446|    541|    H5G_name_t    obj_path;               /* Path for object found	*/
  447|    541|    H5G_loc_t     obj_loc;                /* Location of object           */
  448|    541|    size_t        nchars;                 /* component name length	*/
  449|    541|    H5O_link_t    lnk;                    /* Link information for object  */
  450|    541|    bool          link_valid    = false;  /* Flag to indicate that the link information is valid */
  451|    541|    bool          obj_loc_valid = false;  /* Flag to indicate that the object location is valid */
  452|    541|    H5G_own_loc_t own_loc = H5G_OWN_NONE; /* Enum to indicate whether callback took ownership of locations*/
  ------------------
  |  |  126|    541|#define H5G_OWN_NONE    0
  ------------------
  453|    541|    bool          group_copy = false;     /* Flag to indicate that the group entry is copied */
  454|    541|    char          comp_buf[1024];         /* Temporary buffer for path components */
  455|    541|    char         *comp;                   /* Pointer to buffer for path components */
  456|    541|    H5WB_t       *wb        = NULL;       /* Wrapped buffer for temporary buffer */
  457|    541|    bool          last_comp = false; /* Flag to indicate that a component is the last component in the name */
  458|    541|    herr_t        ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    541|#define SUCCEED 0
  ------------------
  459|       |
  460|    541|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    541|    {                                                                                                        \
  |  | 1461|    541|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    541|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    541|                                                                                                             \
  |  |  |  | 1267|    541|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    541|        {
  ------------------
  461|       |
  462|       |    /* Check parameters */
  463|    541|    assert(_loc);
  464|    541|    assert(name);
  465|    541|    assert(op);
  466|       |
  467|       |    /*
  468|       |     * Where does the searching start?  For absolute names it starts at the
  469|       |     * root of the file; for relative names it starts at CWG.
  470|       |     */
  471|       |    /* Check if we need to get the root group's entry */
  472|    541|    if ('/' == *name) {
  ------------------
  |  Branch (472:9): [True: 138, False: 403]
  ------------------
  473|    138|        H5G_t *root_grp; /* Temporary pointer to root group of file */
  474|       |
  475|       |        /* Look up root group for starting location */
  476|    138|        root_grp = H5G_rootof(_loc->oloc->file);
  477|    138|        assert(root_grp);
  478|       |
  479|       |        /* Set the location entry to the root group's info */
  480|    138|        loc.oloc = &(root_grp->oloc);
  481|    138|        loc.path = &(root_grp->path);
  482|    138|    } /* end if */
  483|    403|    else {
  484|    403|        loc.oloc = _loc->oloc;
  485|    403|        loc.path = _loc->path;
  486|    403|    } /* end else */
  487|       |
  488|       |    /* Set up group & object locations */
  489|    541|    grp_loc.oloc = &grp_oloc;
  490|    541|    grp_loc.path = &grp_path;
  491|    541|    obj_loc.oloc = &obj_oloc;
  492|    541|    obj_loc.path = &obj_path;
  493|       |
  494|       |#if defined(H5_USING_MEMCHECKER) || !defined(NDEBUG)
  495|       |    /* Clear group location */
  496|       |    if (H5G_loc_reset(&grp_loc) < 0)
  497|       |        HGOTO_ERROR(H5E_SYM, H5E_CANTOPENOBJ, FAIL, "unable to reset location");
  498|       |#endif /* H5_USING_MEMCHECKER */
  499|       |
  500|       |    /* Deep copy of the starting location to group location */
  501|    541|    if (H5G_loc_copy(&grp_loc, &loc, H5_COPY_DEEP) < 0)
  ------------------
  |  Branch (501:9): [True: 0, False: 541]
  ------------------
  502|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTOPENOBJ, FAIL, "unable to copy location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  503|    541|    group_copy = true;
  504|       |
  505|       |    /* Clear object location */
  506|    541|    if (H5G_loc_reset(&obj_loc) < 0)
  ------------------
  |  Branch (506:9): [True: 0, False: 541]
  ------------------
  507|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTOPENOBJ, FAIL, "unable to reset location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  508|       |
  509|       |    /* Wrap the local buffer for serialized header info */
  510|    541|    if (NULL == (wb = H5WB_wrap(comp_buf, sizeof(comp_buf))))
  ------------------
  |  Branch (510:9): [True: 0, False: 541]
  ------------------
  511|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "can't wrap buffer");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  512|       |
  513|       |    /* Get a pointer to a buffer that's large enough  */
  514|    541|    if (NULL == (comp = (char *)H5WB_actual(wb, (strlen(name) + 1))))
  ------------------
  |  Branch (514:9): [True: 0, False: 541]
  ------------------
  515|      0|        HGOTO_ERROR(H5E_SYM, H5E_NOSPACE, FAIL, "can't get actual buffer");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  516|       |
  517|       |    /* Traverse the path */
  518|    802|    while ((name = H5G__component(name, &nchars)) && *name) {
  ------------------
  |  Branch (518:12): [True: 802, False: 0]
  |  Branch (518:54): [True: 403, False: 399]
  ------------------
  519|    403|        const char *s;             /* Temporary string pointer */
  520|    403|        bool        lookup_status; /* Status from object lookup */
  521|    403|        bool        obj_exists;    /* Whether the object exists */
  522|       |
  523|       |        /*
  524|       |         * Copy the component name into a null-terminated buffer so
  525|       |         * we can pass it down to the other symbol table functions.
  526|       |         */
  527|    403|        H5MM_memcpy(comp, name, nchars);
  ------------------
  |  |   41|    403|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  528|    403|        comp[nchars] = '\0';
  529|       |
  530|       |        /*
  531|       |         * The special name `.' is a no-op.
  532|       |         */
  533|    403|        if ('.' == comp[0] && !comp[1]) {
  ------------------
  |  Branch (533:13): [True: 261, False: 142]
  |  Branch (533:31): [True: 261, False: 0]
  ------------------
  534|    261|            name += nchars;
  535|    261|            continue;
  536|    261|        } /* end if */
  537|       |
  538|       |        /* Check if this is the last component of the name */
  539|    142|        if (!((s = H5G__component(name + nchars, NULL)) && *s))
  ------------------
  |  Branch (539:15): [True: 142, False: 0]
  |  Branch (539:60): [True: 0, False: 142]
  ------------------
  540|    142|            last_comp = true;
  541|       |
  542|       |        /* If there's valid information in the link, reset it */
  543|    142|        if (link_valid) {
  ------------------
  |  Branch (543:13): [True: 0, False: 142]
  ------------------
  544|      0|            H5O_msg_reset(H5O_LINK_ID, &lnk);
  ------------------
  |  |  212|      0|#define H5O_LINK_ID        0x0006 /* Link Message. */
  ------------------
  545|      0|            link_valid = false;
  546|      0|        } /* end if */
  547|       |
  548|       |        /* Get information for object in current group */
  549|    142|        lookup_status = false;
  550|    142|        if (H5G__obj_lookup(grp_loc.oloc, comp, &lookup_status, &lnk /*out*/) < 0)
  ------------------
  |  Branch (550:13): [True: 0, False: 142]
  ------------------
  551|      0|            HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "can't look up component");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  552|    142|        obj_exists = false;
  553|       |
  554|       |        /* If the lookup was OK, build object location and traverse special links, etc. */
  555|    142|        if (lookup_status) {
  ------------------
  |  Branch (555:13): [True: 140, False: 2]
  ------------------
  556|       |            /* Sanity check link and indicate it's valid */
  557|    140|            assert(lnk.type >= H5L_TYPE_HARD);
  558|    140|            assert(!strcmp(comp, lnk.name));
  559|    140|            link_valid = true;
  560|       |
  561|       |            /* Build object location from the link */
  562|    140|            if (H5G__link_to_loc(&grp_loc, &lnk, &obj_loc) < 0)
  ------------------
  |  Branch (562:17): [True: 0, False: 140]
  ------------------
  563|      0|                HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "cannot initialize object location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  564|    140|            obj_loc_valid = true;
  565|       |
  566|       |            /* Assume object exists */
  567|    140|            obj_exists = true;
  568|       |
  569|       |            /* Perform any special traversals that the link needs */
  570|       |            /* (soft links, user-defined links, file mounting, etc.) */
  571|    140|            if (H5G__traverse_special(&grp_loc, &lnk, target, last_comp, &obj_loc, &obj_exists) < 0)
  ------------------
  |  Branch (571:17): [True: 0, False: 140]
  ------------------
  572|      0|                HGOTO_ERROR(H5E_LINK, H5E_TRAVERSE, FAIL, "special link traversal failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  573|    140|        } /* end if */
  574|       |
  575|       |        /* Check for last component in name provided */
  576|    142|        if (last_comp) {
  ------------------
  |  Branch (576:13): [True: 142, False: 0]
  ------------------
  577|    142|            H5O_link_t *cb_lnk; /* Pointer to link info for callback */
  578|    142|            H5G_loc_t  *cb_loc; /* Pointer to object location for callback */
  579|       |
  580|       |            /* Set callback parameters appropriately, based on link being found */
  581|    142|            if (lookup_status) {
  ------------------
  |  Branch (581:17): [True: 140, False: 2]
  ------------------
  582|    140|                cb_lnk = &lnk;
  583|    140|                if (obj_exists)
  ------------------
  |  Branch (583:21): [True: 140, False: 0]
  ------------------
  584|    140|                    cb_loc = &obj_loc;
  585|      0|                else
  586|      0|                    cb_loc = NULL;
  587|    140|            } /* end if */
  588|      2|            else {
  589|      2|                assert(!obj_loc_valid);
  590|      2|                cb_lnk = NULL;
  591|      2|                cb_loc = NULL;
  592|      2|            } /* end else */
  593|       |
  594|       |            /* Call 'operator' routine */
  595|    142|            if ((op)(&grp_loc, comp, cb_lnk, cb_loc, op_data, &own_loc) < 0)
  ------------------
  |  Branch (595:17): [True: 24, False: 118]
  ------------------
  596|     24|                HGOTO_ERROR(H5E_SYM, H5E_CALLBACK, FAIL, "traversal operator failed");
  ------------------
  |  |   68|     24|    do {                                                                                                     \
  |  |   69|     24|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     24|    do {                                                                                                     \
  |  |  |  |   40|     24|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     24|    do {                                                                                                     \
  |  |  |  |  |  |   31|     24|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     24|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     24|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     24|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     24|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     24|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     24|    do {                                                                                                     \
  |  |  |  |   92|     24|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     24|        goto done;                                                                                           \
  |  |  |  |   94|     24|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     24|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  597|       |
  598|    118|            HGOTO_DONE(SUCCEED);
  ------------------
  |  |   91|    118|    do {                                                                                                     \
  |  |   92|    118|        ret_value = ret_val;                                                                                 \
  |  |   93|    118|        goto done;                                                                                           \
  |  |   94|    118|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  599|    118|        } /* end if */
  600|       |
  601|       |        /* Handle lookup failures now */
  602|      0|        if (!lookup_status) {
  ------------------
  |  Branch (602:13): [True: 0, False: 0]
  ------------------
  603|       |            /* If an intermediate group doesn't exist & flag is set, create the group */
  604|      0|            if (target & H5G_CRT_INTMD_GROUP) {
  ------------------
  |  |  113|      0|#define H5G_CRT_INTMD_GROUP 0x0010
  ------------------
  |  Branch (604:17): [True: 0, False: 0]
  ------------------
  605|      0|                const H5O_ginfo_t  def_ginfo = H5G_CRT_GROUP_INFO_DEF; /* Default group info settings */
  ------------------
  |  |   84|      0|#define H5G_CRT_GROUP_INFO_DEF                  {H5G_CRT_GINFO_LHEAP_SIZE_HINT, \
  |  |  ------------------
  |  |  |  |   72|      0|#define H5G_CRT_GINFO_LHEAP_SIZE_HINT         0
  |  |  ------------------
  |  |   85|      0|                                                    H5G_CRT_GINFO_STORE_LINK_PHASE_CHANGE, \
  |  |  ------------------
  |  |  |  |   73|      0|#define H5G_CRT_GINFO_STORE_LINK_PHASE_CHANGE false
  |  |  ------------------
  |  |   86|      0|                                                    H5G_CRT_GINFO_MAX_COMPACT, \
  |  |  ------------------
  |  |  |  |   74|      0|#define H5G_CRT_GINFO_MAX_COMPACT             8
  |  |  ------------------
  |  |   87|      0|                                                    H5G_CRT_GINFO_MIN_DENSE, \
  |  |  ------------------
  |  |  |  |   75|      0|#define H5G_CRT_GINFO_MIN_DENSE               6
  |  |  ------------------
  |  |   88|      0|                                                    H5G_CRT_GINFO_STORE_EST_ENTRY_INFO, \
  |  |  ------------------
  |  |  |  |   76|      0|#define H5G_CRT_GINFO_STORE_EST_ENTRY_INFO    false
  |  |  ------------------
  |  |   89|      0|                                                    H5G_CRT_GINFO_EST_NUM_ENTRIES, \
  |  |  ------------------
  |  |  |  |   77|      0|#define H5G_CRT_GINFO_EST_NUM_ENTRIES         4
  |  |  ------------------
  |  |   90|      0|                                                    H5G_CRT_GINFO_EST_NAME_LEN \
  |  |  ------------------
  |  |  |  |   78|      0|#define H5G_CRT_GINFO_EST_NAME_LEN            8
  |  |  ------------------
  |  |   91|      0|                                                }
  ------------------
  606|      0|                const H5O_linfo_t  def_linfo = H5G_CRT_LINK_INFO_DEF;  /* Default link info settings */
  ------------------
  |  |   61|      0|#define H5G_CRT_LINK_INFO_DEF                   {H5G_CRT_LINFO_TRACK_CORDER, \
  |  |  ------------------
  |  |  |  |   49|      0|#define H5G_CRT_LINFO_TRACK_CORDER    false
  |  |  ------------------
  |  |   62|      0|                                                    H5G_CRT_LINFO_INDEX_CORDER, \
  |  |  ------------------
  |  |  |  |   50|      0|#define H5G_CRT_LINFO_INDEX_CORDER    false
  |  |  ------------------
  |  |   63|      0|                                                    H5G_CRT_LINFO_MAX_CORDER, \
  |  |  ------------------
  |  |  |  |   52|      0|#define H5G_CRT_LINFO_MAX_CORDER      0
  |  |  ------------------
  |  |   64|      0|                                                    H5G_CRT_LINFO_CORDER_BT2_ADDR, \
  |  |  ------------------
  |  |  |  |   55|      0|#define H5G_CRT_LINFO_CORDER_BT2_ADDR HADDR_UNDEF
  |  |  |  |  ------------------
  |  |  |  |  |  |  336|      0|#define HADDR_UNDEF         UINT64_MAX
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   65|      0|                                                    H5G_CRT_LINFO_NLINKS, \
  |  |  ------------------
  |  |  |  |   51|      0|#define H5G_CRT_LINFO_NLINKS          0
  |  |  ------------------
  |  |   66|      0|                                                    H5G_CRT_LINFO_LINK_FHEAP_ADDR, \
  |  |  ------------------
  |  |  |  |   53|      0|#define H5G_CRT_LINFO_LINK_FHEAP_ADDR HADDR_UNDEF
  |  |  |  |  ------------------
  |  |  |  |  |  |  336|      0|#define HADDR_UNDEF         UINT64_MAX
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   67|      0|                                                    H5G_CRT_LINFO_NAME_BT2_ADDR \
  |  |  ------------------
  |  |  |  |   54|      0|#define H5G_CRT_LINFO_NAME_BT2_ADDR   HADDR_UNDEF
  |  |  |  |  ------------------
  |  |  |  |  |  |  336|      0|#define HADDR_UNDEF         UINT64_MAX
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   68|      0|                                                }
  ------------------
  607|      0|                const H5O_pline_t  def_pline = H5O_CRT_PIPELINE_DEF;   /* Default filter pipeline settings */
  ------------------
  |  |  101|      0|    {                                                                                                        \
  |  |  102|      0|        {0, NULL, H5O_NULL_ID, {{0, HADDR_UNDEF}}}, H5O_PLINE_VERSION_1, 0, 0, NULL                          \
  |  |  ------------------
  |  |  |  |  206|      0|#define H5O_NULL_ID        0x0000 /* Null Message.  */
  |  |  ------------------
  |  |                       {0, NULL, H5O_NULL_ID, {{0, HADDR_UNDEF}}}, H5O_PLINE_VERSION_1, 0, 0, NULL                          \
  |  |  ------------------
  |  |  |  |  336|      0|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  |                       {0, NULL, H5O_NULL_ID, {{0, HADDR_UNDEF}}}, H5O_PLINE_VERSION_1, 0, 0, NULL                          \
  |  |  ------------------
  |  |  |  |  705|      0|#define H5O_PLINE_VERSION_1 1
  |  |  ------------------
  |  |  103|      0|    }
  ------------------
  608|      0|                H5O_ginfo_t        par_ginfo; /* Group info settings for parent group */
  609|      0|                H5O_linfo_t        par_linfo; /* Link info settings for parent group */
  610|      0|                H5O_pline_t        par_pline; /* Filter pipeline settings for parent group */
  611|      0|                H5O_linfo_t        tmp_linfo; /* Temporary link info settings */
  612|      0|                htri_t             exists;    /* Whether a group or link info message exists */
  613|      0|                const H5O_ginfo_t *ginfo;     /* Group info settings for new group */
  614|      0|                const H5O_linfo_t *linfo;     /* Link info settings for new group */
  615|      0|                const H5O_pline_t *pline;     /* Filter pipeline settings for new group */
  616|      0|                H5G_obj_create_t   gcrt_info; /* Group creation info */
  617|      0|                H5O_obj_create_t  *ocrt_info; /* Object creation info in op_data */
  618|       |
  619|       |                /* Check for the parent group having a group info message */
  620|       |                /* (OK if not found) */
  621|      0|                if ((exists = H5O_msg_exists(grp_loc.oloc, H5O_GINFO_ID)) < 0)
  ------------------
  |  |  216|      0|#define H5O_GINFO_ID       0x000a /* Group info Message.  */
  ------------------
  |  Branch (621:21): [True: 0, False: 0]
  ------------------
  622|      0|                    HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "unable to read object header");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  623|      0|                if (exists) {
  ------------------
  |  Branch (623:21): [True: 0, False: 0]
  ------------------
  624|       |                    /* Get the group info for parent group */
  625|      0|                    if (NULL == H5O_msg_read(grp_loc.oloc, H5O_GINFO_ID, &par_ginfo))
  ------------------
  |  |  216|      0|#define H5O_GINFO_ID       0x000a /* Group info Message.  */
  ------------------
  |  Branch (625:25): [True: 0, False: 0]
  ------------------
  626|      0|                        HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "group info message not present");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  627|       |
  628|       |                    /* Use parent group info settings */
  629|      0|                    ginfo = &par_ginfo;
  630|      0|                } /* end if */
  631|      0|                else
  632|       |                    /* Use default group info settings */
  633|      0|                    ginfo = &def_ginfo;
  634|       |
  635|       |                /* Check for the parent group having a link info message */
  636|       |                /* (OK if not found) */
  637|       |                /* Get the link info for parent group */
  638|      0|                if ((exists = H5G__obj_get_linfo(grp_loc.oloc, &par_linfo)) < 0)
  ------------------
  |  Branch (638:21): [True: 0, False: 0]
  ------------------
  639|      0|                    HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "unable to read object header");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  640|      0|                if (exists) {
  ------------------
  |  Branch (640:21): [True: 0, False: 0]
  ------------------
  641|       |                    /* Only keep the creation order information from the parent
  642|       |                     *  group's link info
  643|       |                     */
  644|      0|                    H5MM_memcpy(&tmp_linfo, &def_linfo, sizeof(H5O_linfo_t));
  ------------------
  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  645|      0|                    tmp_linfo.track_corder = par_linfo.track_corder;
  646|      0|                    tmp_linfo.index_corder = par_linfo.index_corder;
  647|      0|                    linfo                  = &tmp_linfo;
  648|      0|                } /* end if */
  649|      0|                else
  650|       |                    /* Use default link info settings */
  651|      0|                    linfo = &def_linfo;
  652|       |
  653|       |                /* Check for the parent group having a filter pipeline message */
  654|       |                /* (OK if not found) */
  655|      0|                if ((exists = H5O_msg_exists(grp_loc.oloc, H5O_PLINE_ID)) < 0)
  ------------------
  |  |  217|      0|#define H5O_PLINE_ID       0x000b /* Filter pipeline message.  */
  ------------------
  |  Branch (655:21): [True: 0, False: 0]
  ------------------
  656|      0|                    HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "unable to read object header");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  657|      0|                if (exists) {
  ------------------
  |  Branch (657:21): [True: 0, False: 0]
  ------------------
  658|       |                    /* Get the filter pipeline for parent group */
  659|      0|                    if (NULL == H5O_msg_read(grp_loc.oloc, H5O_PLINE_ID, &par_pline))
  ------------------
  |  |  217|      0|#define H5O_PLINE_ID       0x000b /* Filter pipeline message.  */
  ------------------
  |  Branch (659:25): [True: 0, False: 0]
  ------------------
  660|      0|                        HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "filter pipeline message not present");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  661|       |
  662|       |                    /* Use parent filter pipeline settings */
  663|      0|                    pline = &par_pline;
  664|      0|                } /* end if */
  665|      0|                else
  666|       |                    /* Use default filter pipeline settings */
  667|      0|                    pline = &def_pline;
  668|       |
  669|       |                /* Create the intermediate group */
  670|      0|                gcrt_info.gcpl_id = H5P_GROUP_CREATE_DEFAULT;
  ------------------
  |  |  168|      0|#define H5P_GROUP_CREATE_DEFAULT (H5OPEN H5P_LST_GROUP_CREATE_ID_g)
  ------------------
  671|       |                /* Propagate the object creation properties when creating intermedidate groups */
  672|      0|                if ((target & H5G_CRT_OBJ) && (ocrt_info = H5L_OCRT_INFO(op_data)) != NULL) {
  ------------------
  |  |  114|      0|#define H5G_CRT_OBJ         0x0020
  ------------------
                              if ((target & H5G_CRT_OBJ) && (ocrt_info = H5L_OCRT_INFO(op_data)) != NULL) {
  ------------------
  |  |   53|      0|#define H5L_OCRT_INFO(L) (H5L_get_ocrt_info(L))
  ------------------
  |  Branch (672:21): [True: 0, False: 0]
  |  Branch (672:47): [True: 0, False: 0]
  ------------------
  673|      0|                    if (ocrt_info->obj_type == H5O_TYPE_GROUP)
  ------------------
  |  Branch (673:25): [True: 0, False: 0]
  ------------------
  674|      0|                        gcrt_info.gcpl_id = H5G_OBJ_ID(ocrt_info->crt_info);
  ------------------
  |  |   97|      0|#define H5G_OBJ_ID(G)  (((H5G_obj_create_t *)(G))->gcpl_id)
  ------------------
  675|      0|                    else if (ocrt_info->obj_type == H5O_TYPE_DATASET)
  ------------------
  |  Branch (675:30): [True: 0, False: 0]
  ------------------
  676|      0|                        gcrt_info.gcpl_id = H5D_OBJ_ID(ocrt_info->crt_info);
  ------------------
  |  |  130|      0|#define H5D_OBJ_ID(D) (H5D_get_dcpl_id(D))
  ------------------
  677|      0|                }
  678|       |
  679|      0|                gcrt_info.cache_type = H5G_NOTHING_CACHED;
  680|      0|                memset(&gcrt_info.cache, 0, sizeof(gcrt_info.cache));
  681|      0|                if (H5G__obj_create_real(grp_oloc.file, ginfo, linfo, pline, &gcrt_info,
  ------------------
  |  Branch (681:21): [True: 0, False: 0]
  ------------------
  682|      0|                                         obj_loc.oloc /*out*/) < 0)
  683|      0|                    HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to create group entry");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  684|       |
  685|       |                /* Insert new group into current group's symbol table */
  686|      0|                if (H5G__loc_insert(&grp_loc, comp, &obj_loc, H5O_TYPE_GROUP, &gcrt_info) < 0)
  ------------------
  |  Branch (686:21): [True: 0, False: 0]
  ------------------
  687|      0|                    HGOTO_ERROR(H5E_SYM, H5E_CANTINSERT, FAIL, "unable to insert intermediate group");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  688|       |
  689|       |                /* Decrement refcount on intermediate group's object header in memory */
  690|      0|                if (H5O_dec_rc_by_loc(obj_loc.oloc) < 0)
  ------------------
  |  Branch (690:21): [True: 0, False: 0]
  ------------------
  691|      0|                    HGOTO_ERROR(H5E_SYM, H5E_CANTDEC, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  692|      0|                                "unable to decrement refcount on newly created object");
  693|       |
  694|       |                /* Close new group */
  695|      0|                if (H5O_close(obj_loc.oloc, NULL) < 0)
  ------------------
  |  Branch (695:21): [True: 0, False: 0]
  ------------------
  696|      0|                    HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to close");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  697|       |
  698|       |                /* If the parent group was holding the file open, the
  699|       |                 * newly-created group should, as well.
  700|       |                 */
  701|      0|                if (grp_loc.oloc->holding_file)
  ------------------
  |  Branch (701:21): [True: 0, False: 0]
  ------------------
  702|      0|                    if (H5O_loc_hold_file(obj_loc.oloc) < 0)
  ------------------
  |  Branch (702:25): [True: 0, False: 0]
  ------------------
  703|      0|                        HGOTO_ERROR(H5E_SYM, H5E_CANTOPENOBJ, FAIL, "unable to hold file open");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  704|       |
  705|       |                /* Reset any non-default object header messages */
  706|      0|                H5_GCC_CLANG_DIAG_OFF("cast-qual")
  707|      0|                if (ginfo != &def_ginfo)
  ------------------
  |  Branch (707:21): [True: 0, False: 0]
  ------------------
  708|      0|                    if (H5O_msg_reset(H5O_GINFO_ID, (void *)ginfo) < 0)
  ------------------
  |  |  216|      0|#define H5O_GINFO_ID       0x000a /* Group info Message.  */
  ------------------
  |  Branch (708:25): [True: 0, False: 0]
  ------------------
  709|      0|                        HGOTO_ERROR(H5E_SYM, H5E_CANTRELEASE, FAIL, "unable to reset group info message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  710|      0|                if (linfo != &def_linfo)
  ------------------
  |  Branch (710:21): [True: 0, False: 0]
  ------------------
  711|      0|                    if (H5O_msg_reset(H5O_LINFO_ID, (void *)linfo) < 0)
  ------------------
  |  |  208|      0|#define H5O_LINFO_ID       0x0002 /* Link info Message. */
  ------------------
  |  Branch (711:25): [True: 0, False: 0]
  ------------------
  712|      0|                        HGOTO_ERROR(H5E_SYM, H5E_CANTRELEASE, FAIL, "unable to reset link info message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  713|      0|                if (pline != &def_pline)
  ------------------
  |  Branch (713:21): [True: 0, False: 0]
  ------------------
  714|      0|                    if (H5O_msg_reset(H5O_PLINE_ID, (void *)pline) < 0)
  ------------------
  |  |  217|      0|#define H5O_PLINE_ID       0x000b /* Filter pipeline message.  */
  ------------------
  |  Branch (714:25): [True: 0, False: 0]
  ------------------
  715|      0|                        HGOTO_ERROR(H5E_SYM, H5E_CANTRELEASE, FAIL, "unable to reset I/O pipeline message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  716|      0|                H5_GCC_CLANG_DIAG_ON("cast-qual")
  717|      0|            } /* end if */
  718|      0|            else
  719|      0|                HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "component not found");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  720|      0|        } /* end if */
  721|       |
  722|       |        /*
  723|       |         * Advance to the next component of the path.
  724|       |         */
  725|       |
  726|       |        /* Transfer "ownership" of the object's information to the group object */
  727|      0|        H5G_loc_free(&grp_loc);
  728|      0|        H5G_loc_copy(&grp_loc, &obj_loc, H5_COPY_SHALLOW);
  729|      0|        H5G_loc_reset(&obj_loc);
  730|      0|        obj_loc_valid = false;
  731|       |
  732|       |        /* Advance to next component in string */
  733|      0|        name += nchars;
  734|      0|    } /* end while */
  735|       |
  736|       |    /* Call 'operator' routine */
  737|       |    /* If we've fallen through to here, the name must be something like just '.'
  738|       |     * and we should issue the callback on that. -QAK
  739|       |     * Since we don't have a group location or a link to the object we pass in
  740|       |     * NULL.
  741|       |     */
  742|    399|    assert(group_copy);
  743|    399|    if ((op)(NULL, ".", NULL, &grp_loc, op_data, &own_loc) < 0)
  ------------------
  |  Branch (743:9): [True: 2, False: 397]
  ------------------
  744|      2|        HGOTO_ERROR(H5E_SYM, H5E_CANTNEXT, FAIL, "traversal operator failed");
  ------------------
  |  |   68|      2|    do {                                                                                                     \
  |  |   69|      2|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      2|    do {                                                                                                     \
  |  |  |  |   40|      2|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      2|    do {                                                                                                     \
  |  |  |  |  |  |   31|      2|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      2|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      2|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      2|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      2|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      2|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      2|    do {                                                                                                     \
  |  |  |  |   92|      2|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      2|        goto done;                                                                                           \
  |  |  |  |   94|      2|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  745|       |
  746|       |    /* If the callback took ownership of the object location, it actually has
  747|       |     * ownership of grp_loc.  It shouldn't have tried to take ownership of
  748|       |     * the "group location", which was NULL. */
  749|    397|    assert(!(own_loc & H5G_OWN_GRP_LOC));
  750|    397|    if (own_loc & H5G_OWN_OBJ_LOC)
  ------------------
  |  |  127|    397|#define H5G_OWN_OBJ_LOC 1
  ------------------
  |  Branch (750:9): [True: 261, False: 136]
  ------------------
  751|    261|        own_loc |= H5G_OWN_GRP_LOC;
  ------------------
  |  |  128|    261|#define H5G_OWN_GRP_LOC 2
  ------------------
  752|       |
  753|    541|done:
  754|       |    /* If there's been an error, the callback doesn't really get ownership of
  755|       |     * any location and we should close them both */
  756|    541|    if (ret_value < 0)
  ------------------
  |  Branch (756:9): [True: 26, False: 515]
  ------------------
  757|     26|        own_loc = H5G_OWN_NONE;
  ------------------
  |  |  126|     26|#define H5G_OWN_NONE    0
  ------------------
  758|       |
  759|       |    /* Free all open locations.  This also closes any open external files. */
  760|    541|    if (obj_loc_valid && !(own_loc & H5G_OWN_OBJ_LOC))
  ------------------
  |  |  127|    140|#define H5G_OWN_OBJ_LOC 1
  ------------------
  |  Branch (760:9): [True: 140, False: 401]
  |  Branch (760:26): [True: 80, False: 60]
  ------------------
  761|     80|        H5G_loc_free(&obj_loc);
  762|    541|    if (group_copy && !(own_loc & H5G_OWN_GRP_LOC))
  ------------------
  |  |  128|    541|#define H5G_OWN_GRP_LOC 2
  ------------------
  |  Branch (762:9): [True: 541, False: 0]
  |  Branch (762:23): [True: 280, False: 261]
  ------------------
  763|    280|        H5G_loc_free(&grp_loc);
  764|       |
  765|       |    /* If there's valid information in the link, reset it */
  766|    541|    if (link_valid)
  ------------------
  |  Branch (766:9): [True: 140, False: 401]
  ------------------
  767|    140|        if (H5O_msg_reset(H5O_LINK_ID, &lnk) < 0)
  ------------------
  |  |  212|    140|#define H5O_LINK_ID        0x0006 /* Link Message. */
  ------------------
  |  Branch (767:13): [True: 0, False: 140]
  ------------------
  768|      0|            HDONE_ERROR(H5E_SYM, H5E_CANTRELEASE, FAIL, "unable to reset link message");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  769|       |
  770|       |    /* Release temporary component buffer */
  771|    541|    if (wb && H5WB_unwrap(wb) < 0)
  ------------------
  |  Branch (771:9): [True: 541, False: 0]
  |  Branch (771:15): [True: 0, False: 541]
  ------------------
  772|      0|        HDONE_ERROR(H5E_SYM, H5E_CANTRELEASE, FAIL, "can't release wrapped buffer");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  773|       |
  774|    541|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    541|    ;                                                                                                        \
  |  | 1573|    541|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    541|    return (ret_value);                                                                                      \
  |  | 1575|    541|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  775|    397|} /* end H5G__traverse_real() */

H5HG__protect:
  221|      3|{
  222|      3|    H5HG_heap_t *heap;             /* Global heap */
  223|      3|    H5HG_heap_t *ret_value = NULL; /* Return value */
  224|       |
  225|      3|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      3|    {                                                                                                        \
  |  | 1461|      3|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      3|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      3|                                                                                                             \
  |  |  |  | 1267|      3|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      3|        {
  ------------------
  226|       |
  227|       |    /* Check arguments */
  228|      3|    assert(f);
  229|      3|    assert(H5_addr_defined(addr));
  230|       |
  231|       |    /* only H5AC__READ_ONLY_FLAG may appear in flags */
  232|      3|    assert((flags & (unsigned)(~H5AC__READ_ONLY_FLAG)) == 0);
  233|       |
  234|       |    /* Lock the heap into memory */
  235|      3|    if (NULL == (heap = (H5HG_heap_t *)H5AC_protect(f, H5AC_GHEAP, addr, f, flags)))
  ------------------
  |  Branch (235:9): [True: 3, False: 0]
  ------------------
  236|      3|        HGOTO_ERROR(H5E_HEAP, H5E_CANTPROTECT, NULL, "unable to protect global heap");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  237|       |
  238|       |    /* Set the heap's address */
  239|      0|    heap->addr = addr;
  240|       |
  241|       |    /* Set the return value */
  242|      0|    ret_value = heap;
  243|       |
  244|      3|done:
  245|      3|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      3|    ;                                                                                                        \
  |  | 1573|      3|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      3|    return (ret_value);                                                                                      \
  |  | 1575|      3|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  246|      0|} /* H5HG__protect() */
H5HG_get_obj_size:
  684|      3|{
  685|      3|    H5HG_heap_t *heap      = NULL;    /* Pointer to global heap object */
  686|      3|    herr_t       ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      3|#define SUCCEED 0
  ------------------
  687|       |
  688|      3|    FUNC_ENTER_NOAPI_TAG(H5AC__GLOBALHEAP_TAG, FAIL)
  ------------------
  |  | 1443|      3|    {                                                                                                        \
  |  | 1444|      3|        haddr_t prev_tag = HADDR_UNDEF;                                                                      \
  |  |  ------------------
  |  |  |  |  336|      3|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  | 1445|      3|                                                                                                             \
  |  | 1446|      3|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      3|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      3|                                                                                                             \
  |  |  |  | 1267|      3|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1447|      3|        H5AC_tag(tag, &prev_tag);                                                                            \
  |  | 1448|      3|        {
  ------------------
  689|       |
  690|       |    /* Check args */
  691|      3|    assert(f);
  692|      3|    assert(hobj);
  693|      3|    assert(obj_size);
  694|       |
  695|       |    /* Heap object idx 0 is the free space in the heap and should never be given out */
  696|      3|    if (0 == hobj->idx)
  ------------------
  |  Branch (696:9): [True: 0, False: 3]
  ------------------
  697|      0|        HGOTO_ERROR(H5E_HEAP, H5E_BADVALUE, FAIL, "bad heap index, heap object = {%" PRIxHADDR ", %zu}",
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  698|      3|                    hobj->addr, hobj->idx);
  699|       |
  700|       |    /* Load the heap */
  701|      3|    if (NULL == (heap = H5HG__protect(f, hobj->addr, H5AC__READ_ONLY_FLAG)))
  ------------------
  |  |  322|      3|#define H5AC__READ_ONLY_FLAG              H5C__READ_ONLY_FLAG
  |  |  ------------------
  |  |  |  |  183|      3|#define H5C__READ_ONLY_FLAG                 0x00080
  |  |  ------------------
  ------------------
  |  Branch (701:9): [True: 3, False: 0]
  ------------------
  702|      3|        HGOTO_ERROR(H5E_HEAP, H5E_CANTPROTECT, FAIL, "unable to protect global heap");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  703|       |
  704|       |    /* Sanity check the heap object */
  705|      0|    if (hobj->idx >= heap->nused)
  ------------------
  |  Branch (705:9): [True: 0, False: 0]
  ------------------
  706|      0|        HGOTO_ERROR(H5E_HEAP, H5E_BADVALUE, FAIL, "bad heap index, heap object = {%" PRIxHADDR ", %zu}",
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  707|      0|                    hobj->addr, hobj->idx);
  708|      0|    if (NULL == heap->obj[hobj->idx].begin)
  ------------------
  |  Branch (708:9): [True: 0, False: 0]
  ------------------
  709|      0|        HGOTO_ERROR(H5E_HEAP, H5E_BADVALUE, FAIL, "bad heap pointer, heap object = {%" PRIxHADDR ", %zu}",
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  710|      0|                    hobj->addr, hobj->idx);
  711|       |
  712|       |    /* Set object size */
  713|      0|    *obj_size = heap->obj[hobj->idx].size;
  714|       |
  715|      3|done:
  716|      3|    if (heap && H5AC_unprotect(f, H5AC_GHEAP, hobj->addr, heap, H5AC__NO_FLAGS_SET) < 0)
  ------------------
  |  |  314|      0|#define H5AC__NO_FLAGS_SET                H5C__NO_FLAGS_SET
  |  |  ------------------
  |  |  |  |  175|      0|#define H5C__NO_FLAGS_SET                   0x00000
  |  |  ------------------
  ------------------
  |  Branch (716:9): [True: 0, False: 3]
  |  Branch (716:17): [True: 0, False: 0]
  ------------------
  717|      0|        HDONE_ERROR(H5E_HEAP, H5E_CANTUNPROTECT, FAIL, "unable to release object header");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  718|       |
  719|      3|    FUNC_LEAVE_NOAPI_TAG(ret_value)
  ------------------
  |  | 1593|      3|    ;                                                                                                        \
  |  | 1594|      3|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1595|      3|    H5AC_tag(prev_tag, NULL);                                                                                \
  |  | 1596|      3|    return (ret_value);                                                                                      \
  |  | 1597|      3|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  720|      0|} /* end H5HG_get_obj_size() */

H5HGcache.c:H5HG__cache_heap_get_initial_load_size:
  159|      3|{
  160|      3|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|      3|    {                                                                                                        \
  |  | 1467|      3|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|      3|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|      3|        {
  ------------------
  161|       |
  162|      3|    assert(image_len);
  163|       |
  164|      3|    *image_len = H5HG_MINSIZE;
  ------------------
  |  |   60|      3|#define H5HG_MINSIZE 4096
  ------------------
  165|       |
  166|      3|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|      3|    ;                                                                                                        \
  |  | 1573|      3|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      3|    return (ret_value);                                                                                      \
  |  | 1575|      3|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  167|      3|} /* end H5HG__cache_heap_get_initial_load_size() */
H5HGcache.c:H5HG__cache_heap_get_final_load_size:
  180|      3|{
  181|      3|    H5HG_heap_t heap;
  182|      3|    herr_t      ret_value = SUCCEED;
  ------------------
  |  |  283|      3|#define SUCCEED 0
  ------------------
  183|       |
  184|      3|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      3|    {                                                                                                        \
  |  | 1461|      3|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      3|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      3|                                                                                                             \
  |  |  |  | 1267|      3|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      3|        {
  ------------------
  185|       |
  186|      3|    assert(image);
  187|      3|    assert(udata);
  188|      3|    assert(actual_len);
  189|      3|    assert(*actual_len == image_len);
  190|      3|    assert(image_len == H5HG_MINSIZE);
  191|       |
  192|       |    /* Deserialize the heap's header */
  193|      3|    heap.size = 0;
  194|      3|    if (H5HG__hdr_deserialize(&heap, (const uint8_t *)image, image_len, (const H5F_t *)udata) < 0)
  ------------------
  |  Branch (194:9): [True: 3, False: 0]
  ------------------
  195|      3|        HGOTO_ERROR(H5E_HEAP, H5E_CANTDECODE, FAIL, "can't decode global heap prefix");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  196|       |
  197|       |    /* Set the actual global heap size */
  198|      0|    *actual_len = heap.size;
  199|       |
  200|      3|done:
  201|      3|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      3|    ;                                                                                                        \
  |  | 1573|      3|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      3|    return (ret_value);                                                                                      \
  |  | 1575|      3|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  202|      0|} /* end H5HG__cache_heap_get_final_load_size() */
H5HGcache.c:H5HG__hdr_deserialize:
  106|      3|{
  107|      3|    const uint8_t *p_end     = image + len - 1; /* End of image buffer */
  108|      3|    herr_t         ret_value = SUCCEED;
  ------------------
  |  |  283|      3|#define SUCCEED 0
  ------------------
  109|       |
  110|      3|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      3|    {                                                                                                        \
  |  | 1461|      3|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      3|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      3|                                                                                                             \
  |  |  |  | 1267|      3|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      3|        {
  ------------------
  111|       |
  112|      3|    assert(heap);
  113|      3|    assert(image);
  114|      3|    assert(f);
  115|       |
  116|       |    /* Magic number */
  117|      3|    if (H5_IS_BUFFER_OVERFLOW(image, H5_SIZEOF_MAGIC, p_end))
  ------------------
  |  |  344|      3|    (                                                                                                        \
  |  |  345|      3|      /* Trivial case */                                                                                     \
  |  |  346|      3|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      3|      (                                                                                                      \
  |  |  348|      3|        /* Bad precondition */                                                                               \
  |  |  349|      3|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 3]
  |  |  ------------------
  |  |  350|      3|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      3|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      3|        /* Typical overflow */                                                                               \
  |  |  353|      3|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 3]
  |  |  ------------------
  |  |  354|      3|      )                                                                                                      \
  |  |  355|      3|    )
  ------------------
  118|      0|        HGOTO_ERROR(H5E_HEAP, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  119|      3|    if (memcmp(image, H5HG_MAGIC, (size_t)H5_SIZEOF_MAGIC) != 0)
  ------------------
  |  |  404|      3|#define H5HG_MAGIC "GCOL"
  ------------------
                  if (memcmp(image, H5HG_MAGIC, (size_t)H5_SIZEOF_MAGIC) != 0)
  ------------------
  |  |  367|      3|#define H5_SIZEOF_MAGIC 4
  ------------------
  |  Branch (119:9): [True: 3, False: 0]
  ------------------
  120|      3|        HGOTO_ERROR(H5E_HEAP, H5E_BADVALUE, FAIL, "bad global heap collection signature");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  121|      0|    image += H5_SIZEOF_MAGIC;
  ------------------
  |  |  367|      0|#define H5_SIZEOF_MAGIC 4
  ------------------
  122|       |
  123|       |    /* Version */
  124|      0|    if (H5_IS_BUFFER_OVERFLOW(image, 1, p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  125|      0|        HGOTO_ERROR(H5E_HEAP, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  126|      0|    if (H5HG_VERSION != *image++)
  ------------------
  |  |   52|      0|#define H5HG_VERSION 1
  ------------------
  |  Branch (126:9): [True: 0, False: 0]
  ------------------
  127|      0|        HGOTO_ERROR(H5E_HEAP, H5E_VERSION, FAIL, "wrong version number in global heap");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  128|       |
  129|       |    /* Reserved */
  130|      0|    if (H5_IS_BUFFER_OVERFLOW(image, 3, p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  131|      0|        HGOTO_ERROR(H5E_HEAP, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  132|      0|    image += 3;
  133|       |
  134|       |    /* Size */
  135|      0|    if (H5_IS_BUFFER_OVERFLOW(image, H5F_sizeof_size(f), p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 0, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 0]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  136|      0|        HGOTO_ERROR(H5E_HEAP, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  137|      0|    H5F_DECODE_LENGTH(f, image, heap->size);
  ------------------
  |  |  174|      0|#define H5F_DECODE_LENGTH(f, p, l) H5_DECODE_LENGTH_LEN(p, l, H5F_SIZEOF_SIZE(f))
  |  |  ------------------
  |  |  |  |  276|      0|    do {                                                                                                     \
  |  |  |  |  277|      0|        switch (s) {                                                                                         \
  |  |  |  |  278|      0|            case 4:                                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (278:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  279|      0|                UINT32DECODE(p, l);                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  179|      0|    do {                                                                                                     \
  |  |  |  |  |  |  180|      0|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  |  |  |  |  181|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  182|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  |  |  |  |  183|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  184|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  |  |  |  |  185|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  186|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  |  |  |  |  187|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  188|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  280|      0|                break;                                                                                       \
  |  |  |  |  281|      0|            case 8:                                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (281:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  282|      0|                UINT64DECODE(p, l);                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  220|      0|    do {                                                                                                     \
  |  |  |  |  |  |  221|      0|        /* WE DON'T CHECK FOR OVERFLOW! */                                                                   \
  |  |  |  |  |  |  222|      0|        size_t _i;                                                                                           \
  |  |  |  |  |  |  223|      0|                                                                                                             \
  |  |  |  |  |  |  224|      0|        n = 0;                                                                                               \
  |  |  |  |  |  |  225|      0|        (p) += 8;                                                                                            \
  |  |  |  |  |  |  226|      0|        for (_i = 0; _i < sizeof(uint64_t); _i++)                                                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (226:22): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  227|      0|            n = (uint64_t)(((uint64_t)n << 8) | *(--p));                                                     \
  |  |  |  |  |  |  228|      0|        (p) += 8;                                                                                            \
  |  |  |  |  |  |  229|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (229:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  283|      0|                break;                                                                                       \
  |  |  |  |  284|      0|            case 2:                                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (284:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  285|      0|                UINT16DECODE(p, l);                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  159|      0|    do {                                                                                                     \
  |  |  |  |  |  |  160|      0|        (i) = (uint16_t)(*(p)&0xff);                                                                         \
  |  |  |  |  |  |  161|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  162|      0|        (i) |= (uint16_t)((*(p)&0xff) << 8);                                                                 \
  |  |  |  |  |  |  163|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  164|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (164:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  286|      0|                break;                                                                                       \
  |  |  |  |  287|      0|            default:                                                                                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (287:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  288|      0|                assert("bad sizeof size" && 0);                                                              \
  |  |  |  |  289|      0|        }                                                                                                    \
  |  |  |  |  290|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (290:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  138|      0|    if (heap->size < H5HG_MINSIZE)
  ------------------
  |  |   60|      0|#define H5HG_MINSIZE 4096
  ------------------
  |  Branch (138:9): [True: 0, False: 0]
  ------------------
  139|      0|        HGOTO_ERROR(H5E_HEAP, H5E_BADVALUE, FAIL, "global heap size is too small");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  140|       |
  141|      3|done:
  142|      3|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      3|    ;                                                                                                        \
  |  | 1573|      3|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      3|    return (ret_value);                                                                                      \
  |  | 1575|      3|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  143|      0|} /* end H5HG__hdr_deserialize() */

H5HL_protect:
  297|    356|{
  298|    356|    H5HL_cache_prfx_ud_t prfx_udata;       /* User data for protecting local heap prefix       */
  299|    356|    H5HL_prfx_t         *prfx      = NULL; /* Local heap prefix                                */
  300|    356|    H5HL_dblk_t         *dblk      = NULL; /* Local heap data block                            */
  301|    356|    H5HL_t              *heap      = NULL; /* Heap data structure                              */
  302|    356|    H5HL_t              *ret_value = NULL;
  303|       |
  304|    356|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|    356|    {                                                                                                        \
  |  | 1392|    356|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    356|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    356|                                                                                                             \
  |  |  |  | 1267|    356|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    356|        {
  ------------------
  305|       |
  306|       |    /* Check arguments */
  307|    356|    assert(f);
  308|    356|    assert(H5_addr_defined(addr));
  309|       |
  310|       |    /* Only the H5AC__READ_ONLY_FLAG may appear in flags */
  311|    356|    assert((flags & (unsigned)(~H5AC__READ_ONLY_FLAG)) == 0);
  312|       |
  313|       |    /* Construct the user data for protect callback */
  314|    356|    prfx_udata.sizeof_size = H5F_SIZEOF_SIZE(f);
  ------------------
  |  |  131|    356|#define H5F_SIZEOF_SIZE(F)               (H5F_sizeof_size(F))
  ------------------
  315|    356|    prfx_udata.sizeof_addr = H5F_SIZEOF_ADDR(f);
  ------------------
  |  |  130|    356|#define H5F_SIZEOF_ADDR(F)               (H5F_sizeof_addr(F))
  ------------------
  316|    356|    prfx_udata.prfx_addr   = addr;
  317|    356|    prfx_udata.sizeof_prfx = H5HL_SIZEOF_HDR(f);
  ------------------
  |  |   55|    356|    H5HL_ALIGN(H5_SIZEOF_MAGIC +    /* heap signature   */                                                   \
  |  |  ------------------
  |  |  |  |   29|    356|#define H5HL_ALIGN(X) ((((unsigned)X) + 7) & (unsigned)(~0x07)) /* align on 8-byte boundary   */
  |  |  ------------------
  |  |   56|    356|               1 +                  /* version          */                                                   \
  |  |   57|    356|               3 +                  /* reserved         */                                                   \
  |  |   58|    356|               H5F_SIZEOF_SIZE(F) + /* data size        */                                                   \
  |  |   59|    356|               H5F_SIZEOF_SIZE(F) + /* free list head   */                                                   \
  |  |   60|    356|               H5F_SIZEOF_ADDR(F))  /* data address     */
  ------------------
  318|       |
  319|       |    /* Protect the local heap prefix */
  320|    356|    if (NULL == (prfx = (H5HL_prfx_t *)H5AC_protect(f, H5AC_LHEAP_PRFX, addr, &prfx_udata, flags)))
  ------------------
  |  Branch (320:9): [True: 0, False: 356]
  ------------------
  321|      0|        HGOTO_ERROR(H5E_HEAP, H5E_CANTPROTECT, NULL, "unable to load heap prefix");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  322|       |
  323|       |    /* Get the pointer to the heap */
  324|    356|    heap = prfx->heap;
  325|       |
  326|       |    /* Check if the heap is already pinned in memory */
  327|       |    /* (for re-entrant situation) */
  328|    356|    if (heap->prots == 0) {
  ------------------
  |  Branch (328:9): [True: 229, False: 127]
  ------------------
  329|    229|        void *pin_obj; /* Pointer to local heap object to pin */
  330|       |
  331|       |        /* Check if heap has separate data block */
  332|    229|        if (heap->single_cache_obj)
  ------------------
  |  Branch (332:13): [True: 15, False: 214]
  ------------------
  333|       |            /* Pin prefix */
  334|     15|            pin_obj = prfx;
  335|    214|        else {
  336|       |            /* Protect the local heap data block */
  337|    214|            if (NULL ==
  ------------------
  |  Branch (337:17): [True: 2, False: 212]
  ------------------
  338|    214|                (dblk = (H5HL_dblk_t *)H5AC_protect(f, H5AC_LHEAP_DBLK, heap->dblk_addr, heap, flags)))
  339|      2|                HGOTO_ERROR(H5E_HEAP, H5E_CANTPROTECT, NULL, "unable to load heap data block");
  ------------------
  |  |   68|      2|    do {                                                                                                     \
  |  |   69|      2|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      2|    do {                                                                                                     \
  |  |  |  |   40|      2|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      2|    do {                                                                                                     \
  |  |  |  |  |  |   31|      2|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      2|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      2|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      2|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      2|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      2|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      2|    do {                                                                                                     \
  |  |  |  |   92|      2|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      2|        goto done;                                                                                           \
  |  |  |  |   94|      2|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  340|       |
  341|       |            /* Pin data block */
  342|    212|            pin_obj = dblk;
  343|    212|        }
  344|       |
  345|       |        /* Pin local heap object */
  346|    227|        if (H5AC_pin_protected_entry(pin_obj) < 0)
  ------------------
  |  Branch (346:13): [True: 0, False: 227]
  ------------------
  347|      0|            HGOTO_ERROR(H5E_HEAP, H5E_CANTPIN, NULL, "unable to pin local heap object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  348|    227|    }
  349|       |
  350|       |    /* Increment # of times heap is protected */
  351|    354|    heap->prots++;
  352|       |
  353|       |    /* Set return value */
  354|    354|    ret_value = heap;
  355|       |
  356|    356|done:
  357|       |    /* Release the prefix from the cache, now pinned */
  358|    356|    if (prfx && heap && H5AC_unprotect(f, H5AC_LHEAP_PRFX, heap->prfx_addr, prfx, H5AC__NO_FLAGS_SET) < 0)
  ------------------
  |  |  314|    356|#define H5AC__NO_FLAGS_SET                H5C__NO_FLAGS_SET
  |  |  ------------------
  |  |  |  |  175|    356|#define H5C__NO_FLAGS_SET                   0x00000
  |  |  ------------------
  ------------------
  |  Branch (358:9): [True: 356, False: 0]
  |  Branch (358:17): [True: 356, False: 0]
  |  Branch (358:25): [True: 0, False: 356]
  ------------------
  359|      0|        HDONE_ERROR(H5E_HEAP, H5E_CANTUNPROTECT, NULL, "unable to release local heap prefix");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  360|       |
  361|       |    /* Release the data block from the cache, now pinned */
  362|    356|    if (dblk && heap && H5AC_unprotect(f, H5AC_LHEAP_DBLK, heap->dblk_addr, dblk, H5AC__NO_FLAGS_SET) < 0)
  ------------------
  |  |  314|    212|#define H5AC__NO_FLAGS_SET                H5C__NO_FLAGS_SET
  |  |  ------------------
  |  |  |  |  175|    212|#define H5C__NO_FLAGS_SET                   0x00000
  |  |  ------------------
  ------------------
  |  Branch (362:9): [True: 212, False: 144]
  |  Branch (362:17): [True: 212, False: 0]
  |  Branch (362:25): [True: 0, False: 212]
  ------------------
  363|      0|        HDONE_ERROR(H5E_HEAP, H5E_CANTUNPROTECT, NULL, "unable to release local heap data block");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  364|       |
  365|    356|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    356|    ;                                                                                                        \
  |  | 1573|    356|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    356|    return (ret_value);                                                                                      \
  |  | 1575|    356|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  366|    354|} /* end H5HL_protect() */
H5HL_offset_into:
  381|  1.71k|{
  382|  1.71k|    void *ret_value = NULL;
  383|       |
  384|  1.71k|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|  1.71k|    {                                                                                                        \
  |  | 1392|  1.71k|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|  1.71k|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|  1.71k|                                                                                                             \
  |  |  |  | 1267|  1.71k|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|  1.71k|        {
  ------------------
  385|       |
  386|       |    /* Sanity check */
  387|  1.71k|    assert(heap);
  388|  1.71k|    if (offset >= heap->dblk_size)
  ------------------
  |  Branch (388:9): [True: 0, False: 1.71k]
  ------------------
  389|      0|        HGOTO_ERROR(H5E_HEAP, H5E_CANTGET, NULL, "unable to offset into local heap data block");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  390|       |
  391|  1.71k|    ret_value = heap->dblk_image + offset;
  392|       |
  393|  1.71k|done:
  394|  1.71k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  1.71k|    ;                                                                                                        \
  |  | 1573|  1.71k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  1.71k|    return (ret_value);                                                                                      \
  |  | 1575|  1.71k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  395|  1.71k|} /* end H5HL_offset_into() */
H5HL_unprotect:
  408|    354|{
  409|    354|    herr_t ret_value = SUCCEED;
  ------------------
  |  |  283|    354|#define SUCCEED 0
  ------------------
  410|       |
  411|    354|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    354|    {                                                                                                        \
  |  | 1392|    354|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    354|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    354|                                                                                                             \
  |  |  |  | 1267|    354|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    354|        {
  ------------------
  412|       |
  413|       |    /* Check arguments */
  414|    354|    assert(heap);
  415|       |
  416|       |    /* Decrement # of times heap is protected */
  417|    354|    heap->prots--;
  418|       |
  419|       |    /* Check for last unprotection of heap */
  420|    354|    if (heap->prots == 0) {
  ------------------
  |  Branch (420:9): [True: 227, False: 127]
  ------------------
  421|       |        /* Check for separate heap data block */
  422|    227|        if (heap->single_cache_obj) {
  ------------------
  |  Branch (422:13): [True: 15, False: 212]
  ------------------
  423|       |            /* Mark local heap prefix as evictable again */
  424|     15|            if (FAIL == H5AC_unpin_entry(heap->prfx))
  ------------------
  |  |  284|     15|#define FAIL    (-1)
  ------------------
  |  Branch (424:17): [True: 0, False: 15]
  ------------------
  425|      0|                HGOTO_ERROR(H5E_HEAP, H5E_CANTUNPIN, FAIL, "unable to unpin local heap data block");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  426|     15|        }
  427|    212|        else {
  428|       |            /* Sanity check */
  429|    212|            assert(heap->dblk);
  430|       |
  431|       |            /* Mark local heap data block as evictable again */
  432|       |            /* (data block still pins prefix) */
  433|    212|            if (FAIL == H5AC_unpin_entry(heap->dblk))
  ------------------
  |  |  284|    212|#define FAIL    (-1)
  ------------------
  |  Branch (433:17): [True: 0, False: 212]
  ------------------
  434|      0|                HGOTO_ERROR(H5E_HEAP, H5E_CANTUNPIN, FAIL, "unable to unpin local heap data block");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  435|    212|        }
  436|    227|    }
  437|       |
  438|    354|done:
  439|    354|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    354|    ;                                                                                                        \
  |  | 1573|    354|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    354|    return (ret_value);                                                                                      \
  |  | 1575|    354|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  440|    354|} /* end H5HL_unprotect() */
H5HL_heap_get_size:
  906|  1.10k|{
  907|  1.10k|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|  1.10k|    {                                                                                                        \
  |  | 1425|  1.10k|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|  1.10k|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|  1.10k|        {
  ------------------
  908|       |
  909|       |    /* Check arguments */
  910|  1.10k|    assert(heap);
  911|       |
  912|  1.10k|    FUNC_LEAVE_NOAPI(heap->dblk_size)
  ------------------
  |  | 1572|  1.10k|    ;                                                                                                        \
  |  | 1573|  1.10k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  1.10k|    return (ret_value);                                                                                      \
  |  | 1575|  1.10k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  913|  1.10k|} /* end H5HL_heap_get_size() */

H5HLcache.c:H5HL__cache_prefix_get_initial_load_size:
  325|      9|{
  326|      9|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|      9|    {                                                                                                        \
  |  | 1467|      9|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|      9|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|      9|        {
  ------------------
  327|       |
  328|       |    /* Sanity check */
  329|      9|    assert(image_len);
  330|       |
  331|       |    /* Set the image length size */
  332|      9|    *image_len = H5HL_SPEC_READ_SIZE;
  ------------------
  |  |   51|      9|#define H5HL_SPEC_READ_SIZE 512
  ------------------
  333|       |
  334|      9|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|      9|    ;                                                                                                        \
  |  | 1573|      9|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      9|    return (ret_value);                                                                                      \
  |  | 1575|      9|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  335|      9|} /* end H5HL__cache_prefix_get_initial_load_size() */
H5HLcache.c:H5HL__cache_prefix_get_final_load_size:
  350|      9|{
  351|      9|    const uint8_t        *image = (const uint8_t *)_image;        /* Pointer into raw data buffer */
  352|      9|    H5HL_cache_prfx_ud_t *udata = (H5HL_cache_prfx_ud_t *)_udata; /* User data for callback */
  353|      9|    H5HL_t                heap;                                   /* Local heap */
  354|      9|    herr_t                ret_value = SUCCEED;                    /* Return value */
  ------------------
  |  |  283|      9|#define SUCCEED 0
  ------------------
  355|       |
  356|      9|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      9|    {                                                                                                        \
  |  | 1461|      9|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      9|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      9|                                                                                                             \
  |  |  |  | 1267|      9|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      9|        {
  ------------------
  357|       |
  358|       |    /* Sanity checks */
  359|      9|    assert(image);
  360|      9|    assert(udata);
  361|      9|    assert(actual_len);
  362|      9|    assert(*actual_len == image_len);
  363|       |
  364|      9|    memset(&heap, 0, sizeof(H5HL_t));
  365|       |
  366|       |    /* Deserialize the heap's header */
  367|      9|    if (H5HL__hdr_deserialize(&heap, (const uint8_t *)image, image_len, udata) < 0)
  ------------------
  |  Branch (367:9): [True: 0, False: 9]
  ------------------
  368|      0|        HGOTO_ERROR(H5E_HEAP, H5E_CANTDECODE, FAIL, "can't decode local heap header");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  369|       |
  370|       |    /* Set the final size for the cache image */
  371|      9|    *actual_len = heap.prfx_size;
  372|       |
  373|       |    /* Check if heap block exists */
  374|      9|    if (heap.dblk_size)
  ------------------
  |  Branch (374:9): [True: 9, False: 0]
  ------------------
  375|       |        /* Check if heap data block is contiguous with header */
  376|      9|        if (H5_addr_eq((heap.prfx_addr + heap.prfx_size), heap.dblk_addr))
  ------------------
  |  |  453|      9|#define H5_addr_eq(X,Y)          ((X) != HADDR_UNDEF && (X) == (Y))
  |  |  ------------------
  |  |  |  |  336|     18|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  |  |  Branch (453:35): [True: 9, False: 0]
  |  |  |  Branch (453:57): [True: 3, False: 6]
  |  |  ------------------
  ------------------
  377|       |            /* Note that the heap should be a single object in the cache */
  378|      3|            *actual_len += heap.dblk_size;
  379|       |
  380|      9|done:
  381|      9|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      9|    ;                                                                                                        \
  |  | 1573|      9|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      9|    return (ret_value);                                                                                      \
  |  | 1575|      9|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  382|      9|} /* end H5HL__cache_prefix_get_final_load_size() */
H5HLcache.c:H5HL__hdr_deserialize:
  148|     18|{
  149|     18|    const uint8_t *p_end     = image + len - 1; /* End of image buffer */
  150|     18|    herr_t         ret_value = SUCCEED;
  ------------------
  |  |  283|     18|#define SUCCEED 0
  ------------------
  151|       |
  152|     18|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     18|    {                                                                                                        \
  |  | 1461|     18|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     18|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     18|                                                                                                             \
  |  |  |  | 1267|     18|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     18|        {
  ------------------
  153|       |
  154|     18|    assert(heap);
  155|     18|    assert(image);
  156|     18|    assert(udata);
  157|       |
  158|       |    /* Magic number */
  159|     18|    if (H5_IS_BUFFER_OVERFLOW(image, H5_SIZEOF_MAGIC, p_end))
  ------------------
  |  |  344|     18|    (                                                                                                        \
  |  |  345|     18|      /* Trivial case */                                                                                     \
  |  |  346|     18|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|     18|      (                                                                                                      \
  |  |  348|     18|        /* Bad precondition */                                                                               \
  |  |  349|     18|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 18]
  |  |  ------------------
  |  |  350|     18|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     18|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|     18|        /* Typical overflow */                                                                               \
  |  |  353|     18|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 18]
  |  |  ------------------
  |  |  354|     18|      )                                                                                                      \
  |  |  355|     18|    )
  ------------------
  160|      0|        HGOTO_ERROR(H5E_HEAP, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  161|     18|    if (memcmp(image, H5HL_MAGIC, (size_t)H5_SIZEOF_MAGIC) != 0)
  ------------------
  |  |  407|     18|#define H5HL_MAGIC "HEAP"
  ------------------
                  if (memcmp(image, H5HL_MAGIC, (size_t)H5_SIZEOF_MAGIC) != 0)
  ------------------
  |  |  367|     18|#define H5_SIZEOF_MAGIC 4
  ------------------
  |  Branch (161:9): [True: 0, False: 18]
  ------------------
  162|      0|        HGOTO_ERROR(H5E_HEAP, H5E_BADVALUE, FAIL, "bad local heap signature");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  163|     18|    image += H5_SIZEOF_MAGIC;
  ------------------
  |  |  367|     18|#define H5_SIZEOF_MAGIC 4
  ------------------
  164|       |
  165|       |    /* Version */
  166|     18|    if (H5_IS_BUFFER_OVERFLOW(image, 1, p_end))
  ------------------
  |  |  344|     18|    (                                                                                                        \
  |  |  345|     18|      /* Trivial case */                                                                                     \
  |  |  346|     18|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|     18|      (                                                                                                      \
  |  |  348|     18|        /* Bad precondition */                                                                               \
  |  |  349|     18|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 18]
  |  |  ------------------
  |  |  350|     18|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     18|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|     18|        /* Typical overflow */                                                                               \
  |  |  353|     18|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 18]
  |  |  ------------------
  |  |  354|     18|      )                                                                                                      \
  |  |  355|     18|    )
  ------------------
  167|      0|        HGOTO_ERROR(H5E_HEAP, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  168|     18|    if (H5HL_VERSION != *image++)
  ------------------
  |  |   44|     18|#define H5HL_VERSION 0 /* Local heap collection version    */
  ------------------
  |  Branch (168:9): [True: 0, False: 18]
  ------------------
  169|      0|        HGOTO_ERROR(H5E_HEAP, H5E_VERSION, FAIL, "wrong version number in local heap");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  170|       |
  171|       |    /* Reserved */
  172|     18|    if (H5_IS_BUFFER_OVERFLOW(image, 3, p_end))
  ------------------
  |  |  344|     18|    (                                                                                                        \
  |  |  345|     18|      /* Trivial case */                                                                                     \
  |  |  346|     18|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|     18|      (                                                                                                      \
  |  |  348|     18|        /* Bad precondition */                                                                               \
  |  |  349|     18|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 18]
  |  |  ------------------
  |  |  350|     18|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     18|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|     18|        /* Typical overflow */                                                                               \
  |  |  353|     18|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 18]
  |  |  ------------------
  |  |  354|     18|      )                                                                                                      \
  |  |  355|     18|    )
  ------------------
  173|      0|        HGOTO_ERROR(H5E_HEAP, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  174|     18|    image += 3;
  175|       |
  176|       |    /* Store the prefix's address & length */
  177|     18|    heap->prfx_addr = udata->prfx_addr;
  178|     18|    heap->prfx_size = udata->sizeof_prfx;
  179|       |
  180|       |    /* Heap data size */
  181|     18|    if (H5_IS_BUFFER_OVERFLOW(image, udata->sizeof_size, p_end))
  ------------------
  |  |  344|     18|    (                                                                                                        \
  |  |  345|     18|      /* Trivial case */                                                                                     \
  |  |  346|     18|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 18, False: 0]
  |  |  ------------------
  |  |  347|     18|      (                                                                                                      \
  |  |  348|     18|        /* Bad precondition */                                                                               \
  |  |  349|     18|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 18]
  |  |  ------------------
  |  |  350|     18|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     18|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 18, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 18]
  |  |  ------------------
  |  |  352|     18|        /* Typical overflow */                                                                               \
  |  |  353|     18|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 18]
  |  |  ------------------
  |  |  354|     18|      )                                                                                                      \
  |  |  355|     18|    )
  ------------------
  182|      0|        HGOTO_ERROR(H5E_HEAP, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  183|     18|    H5_DECODE_LENGTH_LEN(image, heap->dblk_size, udata->sizeof_size);
  ------------------
  |  |  276|     18|    do {                                                                                                     \
  |  |  277|     18|        switch (s) {                                                                                         \
  |  |  278|      0|            case 4:                                                                                          \
  |  |  ------------------
  |  |  |  Branch (278:13): [True: 0, False: 18]
  |  |  ------------------
  |  |  279|      0|                UINT32DECODE(p, l);                                                                          \
  |  |  ------------------
  |  |  |  |  179|      0|    do {                                                                                                     \
  |  |  |  |  180|      0|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  |  |  181|      0|        (p)++;                                                                                               \
  |  |  |  |  182|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  |  |  183|      0|        (p)++;                                                                                               \
  |  |  |  |  184|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  |  |  185|      0|        (p)++;                                                                                               \
  |  |  |  |  186|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  |  |  187|      0|        (p)++;                                                                                               \
  |  |  |  |  188|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  280|      0|                break;                                                                                       \
  |  |  281|     18|            case 8:                                                                                          \
  |  |  ------------------
  |  |  |  Branch (281:13): [True: 18, False: 0]
  |  |  ------------------
  |  |  282|     18|                UINT64DECODE(p, l);                                                                          \
  |  |  ------------------
  |  |  |  |  220|     18|    do {                                                                                                     \
  |  |  |  |  221|     18|        /* WE DON'T CHECK FOR OVERFLOW! */                                                                   \
  |  |  |  |  222|     18|        size_t _i;                                                                                           \
  |  |  |  |  223|     18|                                                                                                             \
  |  |  |  |  224|     18|        n = 0;                                                                                               \
  |  |  |  |  225|     18|        (p) += 8;                                                                                            \
  |  |  |  |  226|    162|        for (_i = 0; _i < sizeof(uint64_t); _i++)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (226:22): [True: 144, False: 18]
  |  |  |  |  ------------------
  |  |  |  |  227|    144|            n = (uint64_t)(((uint64_t)n << 8) | *(--p));                                                     \
  |  |  |  |  228|     18|        (p) += 8;                                                                                            \
  |  |  |  |  229|     18|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (229:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  283|     18|                break;                                                                                       \
  |  |  284|      0|            case 2:                                                                                          \
  |  |  ------------------
  |  |  |  Branch (284:13): [True: 0, False: 18]
  |  |  ------------------
  |  |  285|      0|                UINT16DECODE(p, l);                                                                          \
  |  |  ------------------
  |  |  |  |  159|      0|    do {                                                                                                     \
  |  |  |  |  160|      0|        (i) = (uint16_t)(*(p)&0xff);                                                                         \
  |  |  |  |  161|      0|        (p)++;                                                                                               \
  |  |  |  |  162|      0|        (i) |= (uint16_t)((*(p)&0xff) << 8);                                                                 \
  |  |  |  |  163|      0|        (p)++;                                                                                               \
  |  |  |  |  164|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (164:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  286|      0|                break;                                                                                       \
  |  |  287|      0|            default:                                                                                         \
  |  |  ------------------
  |  |  |  Branch (287:13): [True: 0, False: 18]
  |  |  ------------------
  |  |  288|      0|                assert("bad sizeof size" && 0);                                                              \
  |  |  289|     18|        }                                                                                                    \
  |  |  290|     18|    } while (0)
  |  |  ------------------
  |  |  |  Branch (290:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  184|       |
  185|       |    /* Free list head */
  186|     18|    if (H5_IS_BUFFER_OVERFLOW(image, udata->sizeof_size, p_end))
  ------------------
  |  |  344|     18|    (                                                                                                        \
  |  |  345|     18|      /* Trivial case */                                                                                     \
  |  |  346|     18|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 18, False: 0]
  |  |  ------------------
  |  |  347|     18|      (                                                                                                      \
  |  |  348|     18|        /* Bad precondition */                                                                               \
  |  |  349|     18|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 18]
  |  |  ------------------
  |  |  350|     18|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     18|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 18, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 18]
  |  |  ------------------
  |  |  352|     18|        /* Typical overflow */                                                                               \
  |  |  353|     18|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 18]
  |  |  ------------------
  |  |  354|     18|      )                                                                                                      \
  |  |  355|     18|    )
  ------------------
  187|      0|        HGOTO_ERROR(H5E_HEAP, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  188|     18|    H5_DECODE_LENGTH_LEN(image, heap->free_block, udata->sizeof_size);
  ------------------
  |  |  276|     18|    do {                                                                                                     \
  |  |  277|     18|        switch (s) {                                                                                         \
  |  |  278|      0|            case 4:                                                                                          \
  |  |  ------------------
  |  |  |  Branch (278:13): [True: 0, False: 18]
  |  |  ------------------
  |  |  279|      0|                UINT32DECODE(p, l);                                                                          \
  |  |  ------------------
  |  |  |  |  179|      0|    do {                                                                                                     \
  |  |  |  |  180|      0|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  |  |  181|      0|        (p)++;                                                                                               \
  |  |  |  |  182|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  |  |  183|      0|        (p)++;                                                                                               \
  |  |  |  |  184|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  |  |  185|      0|        (p)++;                                                                                               \
  |  |  |  |  186|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  |  |  187|      0|        (p)++;                                                                                               \
  |  |  |  |  188|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  280|      0|                break;                                                                                       \
  |  |  281|     18|            case 8:                                                                                          \
  |  |  ------------------
  |  |  |  Branch (281:13): [True: 18, False: 0]
  |  |  ------------------
  |  |  282|     18|                UINT64DECODE(p, l);                                                                          \
  |  |  ------------------
  |  |  |  |  220|     18|    do {                                                                                                     \
  |  |  |  |  221|     18|        /* WE DON'T CHECK FOR OVERFLOW! */                                                                   \
  |  |  |  |  222|     18|        size_t _i;                                                                                           \
  |  |  |  |  223|     18|                                                                                                             \
  |  |  |  |  224|     18|        n = 0;                                                                                               \
  |  |  |  |  225|     18|        (p) += 8;                                                                                            \
  |  |  |  |  226|    162|        for (_i = 0; _i < sizeof(uint64_t); _i++)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (226:22): [True: 144, False: 18]
  |  |  |  |  ------------------
  |  |  |  |  227|    144|            n = (uint64_t)(((uint64_t)n << 8) | *(--p));                                                     \
  |  |  |  |  228|     18|        (p) += 8;                                                                                            \
  |  |  |  |  229|     18|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (229:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  283|     18|                break;                                                                                       \
  |  |  284|      0|            case 2:                                                                                          \
  |  |  ------------------
  |  |  |  Branch (284:13): [True: 0, False: 18]
  |  |  ------------------
  |  |  285|      0|                UINT16DECODE(p, l);                                                                          \
  |  |  ------------------
  |  |  |  |  159|      0|    do {                                                                                                     \
  |  |  |  |  160|      0|        (i) = (uint16_t)(*(p)&0xff);                                                                         \
  |  |  |  |  161|      0|        (p)++;                                                                                               \
  |  |  |  |  162|      0|        (i) |= (uint16_t)((*(p)&0xff) << 8);                                                                 \
  |  |  |  |  163|      0|        (p)++;                                                                                               \
  |  |  |  |  164|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (164:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  286|      0|                break;                                                                                       \
  |  |  287|      0|            default:                                                                                         \
  |  |  ------------------
  |  |  |  Branch (287:13): [True: 0, False: 18]
  |  |  ------------------
  |  |  288|      0|                assert("bad sizeof size" && 0);                                                              \
  |  |  289|     18|        }                                                                                                    \
  |  |  290|     18|    } while (0)
  |  |  ------------------
  |  |  |  Branch (290:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  189|     18|    if (heap->free_block != H5HL_FREE_NULL && heap->free_block >= heap->dblk_size)
  ------------------
  |  |   63|     36|#define H5HL_FREE_NULL 1
  ------------------
  |  Branch (189:9): [True: 18, False: 0]
  |  Branch (189:47): [True: 0, False: 18]
  ------------------
  190|      0|        HGOTO_ERROR(H5E_HEAP, H5E_BADVALUE, FAIL, "bad heap free list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  191|       |
  192|       |    /* Heap data address */
  193|     18|    if (H5_IS_BUFFER_OVERFLOW(image, udata->sizeof_addr, p_end))
  ------------------
  |  |  344|     18|    (                                                                                                        \
  |  |  345|     18|      /* Trivial case */                                                                                     \
  |  |  346|     18|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 18, False: 0]
  |  |  ------------------
  |  |  347|     18|      (                                                                                                      \
  |  |  348|     18|        /* Bad precondition */                                                                               \
  |  |  349|     18|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 18]
  |  |  ------------------
  |  |  350|     18|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     18|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 18, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 18]
  |  |  ------------------
  |  |  352|     18|        /* Typical overflow */                                                                               \
  |  |  353|     18|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 18]
  |  |  ------------------
  |  |  354|     18|      )                                                                                                      \
  |  |  355|     18|    )
  ------------------
  194|      0|        HGOTO_ERROR(H5E_HEAP, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  195|     18|    H5F_addr_decode_len(udata->sizeof_addr, &image, &(heap->dblk_addr));
  196|       |
  197|       |    /* Check that the datablock address is valid (might not be true
  198|       |     * in a corrupt file)
  199|       |     */
  200|     18|    if (!H5_addr_defined(heap->dblk_addr))
  ------------------
  |  |  449|     18|#define H5_addr_defined(X)       ((X) != HADDR_UNDEF)
  |  |  ------------------
  |  |  |  |  336|     18|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  ------------------
  |  Branch (200:9): [True: 0, False: 18]
  ------------------
  201|      0|        HGOTO_ERROR(H5E_HEAP, H5E_BADVALUE, FAIL, "bad datablock address");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  202|       |
  203|     18|done:
  204|     18|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     18|    ;                                                                                                        \
  |  | 1573|     18|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     18|    return (ret_value);                                                                                      \
  |  | 1575|     18|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  205|     18|} /* end H5HL__hdr_deserialize() */
H5HLcache.c:H5HL__cache_prefix_deserialize:
  398|      9|{
  399|      9|    H5HL_t               *heap      = NULL;                           /* Local heap */
  400|      9|    H5HL_prfx_t          *prfx      = NULL;                           /* Heap prefix deserialized */
  401|      9|    const uint8_t        *image     = (const uint8_t *)_image;        /* Pointer into decoding buffer */
  402|      9|    const uint8_t        *p_end     = image + len - 1;                /* End of image buffer */
  403|      9|    H5HL_cache_prfx_ud_t *udata     = (H5HL_cache_prfx_ud_t *)_udata; /* User data for callback */
  404|      9|    void                 *ret_value = NULL;                           /* Return value */
  405|       |
  406|      9|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      9|    {                                                                                                        \
  |  | 1461|      9|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      9|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      9|                                                                                                             \
  |  |  |  | 1267|      9|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      9|        {
  ------------------
  407|       |
  408|       |    /* Check arguments */
  409|      9|    assert(image);
  410|      9|    assert(len > 0);
  411|      9|    assert(udata);
  412|      9|    assert(udata->sizeof_size > 0);
  413|      9|    assert(udata->sizeof_addr > 0);
  414|      9|    assert(udata->sizeof_prfx > 0);
  415|      9|    assert(H5_addr_defined(udata->prfx_addr));
  416|      9|    assert(dirty);
  417|       |
  418|       |    /* Allocate space in memory for the heap */
  419|      9|    if (NULL == (heap = H5HL__new(udata->sizeof_size, udata->sizeof_addr, udata->sizeof_prfx)))
  ------------------
  |  Branch (419:9): [True: 0, False: 9]
  ------------------
  420|      0|        HGOTO_ERROR(H5E_HEAP, H5E_CANTALLOC, NULL, "can't allocate local heap structure");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  421|       |
  422|       |    /* Deserialize the heap's header */
  423|      9|    if (H5HL__hdr_deserialize(heap, (const uint8_t *)image, len, udata) < 0)
  ------------------
  |  Branch (423:9): [True: 0, False: 9]
  ------------------
  424|      0|        HGOTO_ERROR(H5E_HEAP, H5E_CANTDECODE, NULL, "can't decode local heap header");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  425|       |
  426|       |    /* Allocate the heap prefix */
  427|      9|    if (NULL == (prfx = H5HL__prfx_new(heap)))
  ------------------
  |  Branch (427:9): [True: 0, False: 9]
  ------------------
  428|      0|        HGOTO_ERROR(H5E_HEAP, H5E_CANTALLOC, NULL, "can't allocate local heap prefix");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  429|       |
  430|       |    /* Check if heap block exists */
  431|      9|    if (heap->dblk_size) {
  ------------------
  |  Branch (431:9): [True: 9, False: 0]
  ------------------
  432|       |        /* Check if heap data block is contiguous with header */
  433|      9|        if (H5_addr_eq((heap->prfx_addr + heap->prfx_size), heap->dblk_addr)) {
  ------------------
  |  |  453|      9|#define H5_addr_eq(X,Y)          ((X) != HADDR_UNDEF && (X) == (Y))
  |  |  ------------------
  |  |  |  |  336|     18|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  |  |  Branch (453:35): [True: 9, False: 0]
  |  |  |  Branch (453:57): [True: 3, False: 6]
  |  |  ------------------
  ------------------
  434|       |            /* Note that the heap should be a single object in the cache */
  435|      3|            heap->single_cache_obj = true;
  436|       |
  437|       |            /* Allocate space for the heap data image */
  438|      3|            if (NULL == (heap->dblk_image = H5FL_BLK_MALLOC(lheap_chunk, heap->dblk_size)))
  ------------------
  |  |  146|      3|#define H5FL_BLK_MALLOC(t, size) (uint8_t *)H5FL_blk_malloc(&(H5FL_BLK_NAME(t)), (size))
  |  |  ------------------
  |  |  |  |  131|      3|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
  |  Branch (438:17): [True: 0, False: 3]
  ------------------
  439|      0|                HGOTO_ERROR(H5E_HEAP, H5E_CANTALLOC, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  440|       |
  441|       |            /* Set image to the start of the data block.  This is necessary
  442|       |             * because there may be a gap between the used portion of the
  443|       |             * prefix and the data block due to alignment constraints. */
  444|      3|            image = ((const uint8_t *)_image) + heap->prfx_size;
  445|       |
  446|       |            /* Copy the heap data from the speculative read buffer */
  447|      3|            if (H5_IS_BUFFER_OVERFLOW(image, heap->dblk_size, p_end))
  ------------------
  |  |  344|      3|    (                                                                                                        \
  |  |  345|      3|      /* Trivial case */                                                                                     \
  |  |  346|      3|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 3, False: 0]
  |  |  ------------------
  |  |  347|      3|      (                                                                                                      \
  |  |  348|      3|        /* Bad precondition */                                                                               \
  |  |  349|      3|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 3]
  |  |  ------------------
  |  |  350|      3|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      3|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 3, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 3]
  |  |  ------------------
  |  |  352|      3|        /* Typical overflow */                                                                               \
  |  |  353|      3|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 3]
  |  |  ------------------
  |  |  354|      3|      )                                                                                                      \
  |  |  355|      3|    )
  ------------------
  448|      0|                HGOTO_ERROR(H5E_HEAP, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  449|      3|            H5MM_memcpy(heap->dblk_image, image, heap->dblk_size);
  ------------------
  |  |   41|      3|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  450|       |
  451|       |            /* Build free list */
  452|      3|            if (H5HL__fl_deserialize(heap) < 0)
  ------------------
  |  Branch (452:17): [True: 0, False: 3]
  ------------------
  453|      0|                HGOTO_ERROR(H5E_HEAP, H5E_CANTINIT, NULL, "can't initialize free list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  454|      3|        }
  455|      6|        else
  456|       |            /* Note that the heap should _NOT_ be a single
  457|       |             * object in the cache
  458|       |             */
  459|      6|            heap->single_cache_obj = false;
  460|      9|    }
  461|       |
  462|       |    /* Set return value */
  463|      9|    ret_value = prfx;
  464|       |
  465|      9|done:
  466|       |    /* Release the [possibly partially initialized] local heap on errors */
  467|      9|    if (!ret_value) {
  ------------------
  |  Branch (467:9): [True: 0, False: 9]
  ------------------
  468|      0|        if (prfx) {
  ------------------
  |  Branch (468:13): [True: 0, False: 0]
  ------------------
  469|      0|            if (FAIL == H5HL__prfx_dest(prfx))
  ------------------
  |  |  284|      0|#define FAIL    (-1)
  ------------------
  |  Branch (469:17): [True: 0, False: 0]
  ------------------
  470|      0|                HDONE_ERROR(H5E_HEAP, H5E_CANTRELEASE, NULL, "unable to destroy local heap prefix");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  471|      0|        }
  472|      0|        else {
  473|      0|            if (heap && FAIL == H5HL__dest(heap))
  ------------------
  |  |  284|      0|#define FAIL    (-1)
  ------------------
  |  Branch (473:17): [True: 0, False: 0]
  |  Branch (473:25): [True: 0, False: 0]
  ------------------
  474|      0|                HDONE_ERROR(H5E_HEAP, H5E_CANTRELEASE, NULL, "unable to destroy local heap");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  475|      0|        }
  476|      0|    }
  477|       |
  478|      9|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      9|    ;                                                                                                        \
  |  | 1573|      9|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      9|    return (ret_value);                                                                                      \
  |  | 1575|      9|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  479|      9|} /* end H5HL__cache_prefix_deserialize() */
H5HLcache.c:H5HL__fl_deserialize:
  218|      9|{
  219|      9|    H5HL_free_t *fl = NULL, *tail = NULL; /* Heap free block nodes */
  220|      9|    hsize_t      free_block;              /* Offset of free block */
  221|      9|    herr_t       ret_value = SUCCEED;     /* Return value */
  ------------------
  |  |  283|      9|#define SUCCEED 0
  ------------------
  222|       |
  223|      9|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      9|    {                                                                                                        \
  |  | 1461|      9|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      9|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      9|                                                                                                             \
  |  |  |  | 1267|      9|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      9|        {
  ------------------
  224|       |
  225|       |    /* check arguments */
  226|      9|    assert(heap);
  227|      9|    assert(!heap->freelist);
  228|       |
  229|       |    /* Build free list */
  230|      9|    free_block = heap->free_block;
  231|     16|    while (H5HL_FREE_NULL != free_block) {
  ------------------
  |  |   63|     16|#define H5HL_FREE_NULL 1
  ------------------
  |  Branch (231:12): [True: 9, False: 7]
  ------------------
  232|      9|        const uint8_t *image; /* Pointer into image buffer */
  233|       |
  234|       |        /* Sanity check */
  235|      9|        if ((free_block + (2 * heap->sizeof_size)) > heap->dblk_size)
  ------------------
  |  Branch (235:13): [True: 0, False: 9]
  ------------------
  236|      0|            HGOTO_ERROR(H5E_HEAP, H5E_BADRANGE, FAIL, "bad heap free list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  237|       |
  238|       |        /* Allocate & initialize free list node */
  239|      9|        if (NULL == (fl = H5FL_MALLOC(H5HL_free_t)))
  ------------------
  |  |   75|      9|#define H5FL_MALLOC(t) (t *)H5FL_reg_malloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|      9|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (239:13): [True: 0, False: 9]
  ------------------
  240|      0|            HGOTO_ERROR(H5E_HEAP, H5E_CANTALLOC, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  241|      9|        fl->offset = (size_t)free_block;
  242|      9|        fl->prev   = tail;
  243|      9|        fl->next   = NULL;
  244|       |
  245|       |        /* Decode offset of next free block */
  246|      9|        image = heap->dblk_image + free_block;
  247|      9|        H5_DECODE_LENGTH_LEN(image, free_block, heap->sizeof_size);
  ------------------
  |  |  276|      9|    do {                                                                                                     \
  |  |  277|      9|        switch (s) {                                                                                         \
  |  |  278|      0|            case 4:                                                                                          \
  |  |  ------------------
  |  |  |  Branch (278:13): [True: 0, False: 9]
  |  |  ------------------
  |  |  279|      0|                UINT32DECODE(p, l);                                                                          \
  |  |  ------------------
  |  |  |  |  179|      0|    do {                                                                                                     \
  |  |  |  |  180|      0|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  |  |  181|      0|        (p)++;                                                                                               \
  |  |  |  |  182|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  |  |  183|      0|        (p)++;                                                                                               \
  |  |  |  |  184|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  |  |  185|      0|        (p)++;                                                                                               \
  |  |  |  |  186|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  |  |  187|      0|        (p)++;                                                                                               \
  |  |  |  |  188|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  280|      0|                break;                                                                                       \
  |  |  281|      9|            case 8:                                                                                          \
  |  |  ------------------
  |  |  |  Branch (281:13): [True: 9, False: 0]
  |  |  ------------------
  |  |  282|      9|                UINT64DECODE(p, l);                                                                          \
  |  |  ------------------
  |  |  |  |  220|      9|    do {                                                                                                     \
  |  |  |  |  221|      9|        /* WE DON'T CHECK FOR OVERFLOW! */                                                                   \
  |  |  |  |  222|      9|        size_t _i;                                                                                           \
  |  |  |  |  223|      9|                                                                                                             \
  |  |  |  |  224|      9|        n = 0;                                                                                               \
  |  |  |  |  225|      9|        (p) += 8;                                                                                            \
  |  |  |  |  226|     81|        for (_i = 0; _i < sizeof(uint64_t); _i++)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (226:22): [True: 72, False: 9]
  |  |  |  |  ------------------
  |  |  |  |  227|     72|            n = (uint64_t)(((uint64_t)n << 8) | *(--p));                                                     \
  |  |  |  |  228|      9|        (p) += 8;                                                                                            \
  |  |  |  |  229|      9|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (229:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  283|      9|                break;                                                                                       \
  |  |  284|      0|            case 2:                                                                                          \
  |  |  ------------------
  |  |  |  Branch (284:13): [True: 0, False: 9]
  |  |  ------------------
  |  |  285|      0|                UINT16DECODE(p, l);                                                                          \
  |  |  ------------------
  |  |  |  |  159|      0|    do {                                                                                                     \
  |  |  |  |  160|      0|        (i) = (uint16_t)(*(p)&0xff);                                                                         \
  |  |  |  |  161|      0|        (p)++;                                                                                               \
  |  |  |  |  162|      0|        (i) |= (uint16_t)((*(p)&0xff) << 8);                                                                 \
  |  |  |  |  163|      0|        (p)++;                                                                                               \
  |  |  |  |  164|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (164:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  286|      0|                break;                                                                                       \
  |  |  287|      0|            default:                                                                                         \
  |  |  ------------------
  |  |  |  Branch (287:13): [True: 0, False: 9]
  |  |  ------------------
  |  |  288|      0|                assert("bad sizeof size" && 0);                                                              \
  |  |  289|      9|        }                                                                                                    \
  |  |  290|      9|    } while (0)
  |  |  ------------------
  |  |  |  Branch (290:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  248|      9|        if (0 == free_block)
  ------------------
  |  Branch (248:13): [True: 0, False: 9]
  ------------------
  249|      0|            HGOTO_ERROR(H5E_HEAP, H5E_BADVALUE, FAIL, "free block size is zero?");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  250|       |
  251|       |        /* Decode length of this free block */
  252|      9|        H5_DECODE_LENGTH_LEN(image, fl->size, heap->sizeof_size);
  ------------------
  |  |  276|      9|    do {                                                                                                     \
  |  |  277|      9|        switch (s) {                                                                                         \
  |  |  278|      0|            case 4:                                                                                          \
  |  |  ------------------
  |  |  |  Branch (278:13): [True: 0, False: 9]
  |  |  ------------------
  |  |  279|      0|                UINT32DECODE(p, l);                                                                          \
  |  |  ------------------
  |  |  |  |  179|      0|    do {                                                                                                     \
  |  |  |  |  180|      0|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  |  |  181|      0|        (p)++;                                                                                               \
  |  |  |  |  182|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  |  |  183|      0|        (p)++;                                                                                               \
  |  |  |  |  184|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  |  |  185|      0|        (p)++;                                                                                               \
  |  |  |  |  186|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  |  |  187|      0|        (p)++;                                                                                               \
  |  |  |  |  188|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  280|      0|                break;                                                                                       \
  |  |  281|      9|            case 8:                                                                                          \
  |  |  ------------------
  |  |  |  Branch (281:13): [True: 9, False: 0]
  |  |  ------------------
  |  |  282|      9|                UINT64DECODE(p, l);                                                                          \
  |  |  ------------------
  |  |  |  |  220|      9|    do {                                                                                                     \
  |  |  |  |  221|      9|        /* WE DON'T CHECK FOR OVERFLOW! */                                                                   \
  |  |  |  |  222|      9|        size_t _i;                                                                                           \
  |  |  |  |  223|      9|                                                                                                             \
  |  |  |  |  224|      9|        n = 0;                                                                                               \
  |  |  |  |  225|      9|        (p) += 8;                                                                                            \
  |  |  |  |  226|     81|        for (_i = 0; _i < sizeof(uint64_t); _i++)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (226:22): [True: 72, False: 9]
  |  |  |  |  ------------------
  |  |  |  |  227|     72|            n = (uint64_t)(((uint64_t)n << 8) | *(--p));                                                     \
  |  |  |  |  228|      9|        (p) += 8;                                                                                            \
  |  |  |  |  229|      9|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (229:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  283|      9|                break;                                                                                       \
  |  |  284|      0|            case 2:                                                                                          \
  |  |  ------------------
  |  |  |  Branch (284:13): [True: 0, False: 9]
  |  |  ------------------
  |  |  285|      0|                UINT16DECODE(p, l);                                                                          \
  |  |  ------------------
  |  |  |  |  159|      0|    do {                                                                                                     \
  |  |  |  |  160|      0|        (i) = (uint16_t)(*(p)&0xff);                                                                         \
  |  |  |  |  161|      0|        (p)++;                                                                                               \
  |  |  |  |  162|      0|        (i) |= (uint16_t)((*(p)&0xff) << 8);                                                                 \
  |  |  |  |  163|      0|        (p)++;                                                                                               \
  |  |  |  |  164|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (164:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  286|      0|                break;                                                                                       \
  |  |  287|      0|            default:                                                                                         \
  |  |  ------------------
  |  |  |  Branch (287:13): [True: 0, False: 9]
  |  |  ------------------
  |  |  288|      0|                assert("bad sizeof size" && 0);                                                              \
  |  |  289|      9|        }                                                                                                    \
  |  |  290|      9|    } while (0)
  |  |  ------------------
  |  |  |  Branch (290:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  253|      9|        if ((fl->offset + fl->size) > heap->dblk_size)
  ------------------
  |  Branch (253:13): [True: 2, False: 7]
  ------------------
  254|      2|            HGOTO_ERROR(H5E_HEAP, H5E_BADRANGE, FAIL, "bad heap free list");
  ------------------
  |  |   68|      2|    do {                                                                                                     \
  |  |   69|      2|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      2|    do {                                                                                                     \
  |  |  |  |   40|      2|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      2|    do {                                                                                                     \
  |  |  |  |  |  |   31|      2|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      2|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      2|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      2|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      2|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      2|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      2|    do {                                                                                                     \
  |  |  |  |   92|      2|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      2|        goto done;                                                                                           \
  |  |  |  |   94|      2|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  255|       |
  256|       |        /* Append node onto list */
  257|      7|        if (tail)
  ------------------
  |  Branch (257:13): [True: 0, False: 7]
  ------------------
  258|      0|            tail->next = fl;
  259|      7|        else
  260|      7|            heap->freelist = fl;
  261|      7|        tail = fl;
  262|      7|        fl   = NULL;
  263|      7|    }
  264|       |
  265|      9|done:
  266|      9|    if (ret_value < 0)
  ------------------
  |  Branch (266:9): [True: 2, False: 7]
  ------------------
  267|      2|        if (fl)
  ------------------
  |  Branch (267:13): [True: 2, False: 0]
  ------------------
  268|       |            /* H5FL_FREE always returns NULL so we can't check for errors */
  269|      2|            fl = H5FL_FREE(H5HL_free_t, fl);
  ------------------
  |  |   81|      2|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      2|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  270|       |
  271|      9|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      9|    ;                                                                                                        \
  |  | 1573|      9|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      9|    return (ret_value);                                                                                      \
  |  | 1575|      9|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  272|      9|} /* end H5HL__fl_deserialize() */
H5HLcache.c:H5HL__cache_prefix_free_icr:
  624|      9|{
  625|      9|    H5HL_prfx_t *prfx      = (H5HL_prfx_t *)_thing; /* Pointer to local heap prefix to query */
  626|      9|    herr_t       ret_value = SUCCEED;               /* Return value */
  ------------------
  |  |  283|      9|#define SUCCEED 0
  ------------------
  627|       |
  628|      9|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      9|    {                                                                                                        \
  |  | 1461|      9|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      9|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      9|                                                                                                             \
  |  |  |  | 1267|      9|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      9|        {
  ------------------
  629|       |
  630|       |    /* Check arguments */
  631|      9|    assert(prfx);
  632|      9|    assert(prfx->cache_info.type == H5AC_LHEAP_PRFX);
  633|      9|    assert(H5_addr_eq(prfx->cache_info.addr, prfx->heap->prfx_addr));
  634|       |
  635|       |    /* Destroy local heap prefix */
  636|      9|    if (H5HL__prfx_dest(prfx) < 0)
  ------------------
  |  Branch (636:9): [True: 0, False: 9]
  ------------------
  637|      0|        HGOTO_ERROR(H5E_HEAP, H5E_CANTRELEASE, FAIL, "can't destroy local heap prefix");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  638|       |
  639|      9|done:
  640|      9|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      9|    ;                                                                                                        \
  |  | 1573|      9|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      9|    return (ret_value);                                                                                      \
  |  | 1575|      9|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  641|      9|} /* end H5HL__cache_prefix_free_icr() */
H5HLcache.c:H5HL__cache_datablock_get_initial_load_size:
  657|      8|{
  658|      8|    H5HL_t *heap = (H5HL_t *)_udata; /* User data for callback */
  659|       |
  660|      8|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|      8|    {                                                                                                        \
  |  | 1467|      8|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|      8|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|      8|        {
  ------------------
  661|       |
  662|       |    /* Check arguments */
  663|      8|    assert(heap);
  664|      8|    assert(heap->dblk_size > 0);
  665|      8|    assert(image_len);
  666|       |
  667|       |    /* Set the image length size */
  668|      8|    *image_len = heap->dblk_size;
  669|       |
  670|      8|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|      8|    ;                                                                                                        \
  |  | 1573|      8|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      8|    return (ret_value);                                                                                      \
  |  | 1575|      8|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  671|      8|} /* end H5HL__cache_datablock_get_initial_load_size() */
H5HLcache.c:H5HL__cache_datablock_deserialize:
  687|      8|{
  688|      8|    H5HL_dblk_t *dblk      = NULL;             /* Local heap data block deserialized */
  689|      8|    H5HL_t      *heap      = (H5HL_t *)_udata; /* User data for callback */
  690|      8|    void        *ret_value = NULL;             /* Return value */
  691|       |
  692|      8|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      8|    {                                                                                                        \
  |  | 1461|      8|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      8|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      8|                                                                                                             \
  |  |  |  | 1267|      8|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      8|        {
  ------------------
  693|       |
  694|       |    /* Check arguments */
  695|      8|    assert(image);
  696|      8|    assert(len > 0);
  697|      8|    assert(heap);
  698|      8|    assert(heap->dblk_size == len);
  699|      8|    assert(!heap->single_cache_obj);
  700|      8|    assert(NULL == heap->dblk);
  701|      8|    assert(dirty);
  702|       |
  703|       |    /* Allocate space in memory for the heap data block */
  704|      8|    if (NULL == (dblk = H5HL__dblk_new(heap)))
  ------------------
  |  Branch (704:9): [True: 0, False: 8]
  ------------------
  705|      0|        HGOTO_ERROR(H5E_HEAP, H5E_CANTALLOC, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  706|       |
  707|       |    /* Check for heap still retaining image */
  708|      8|    if (NULL == heap->dblk_image) {
  ------------------
  |  Branch (708:9): [True: 6, False: 2]
  ------------------
  709|       |        /* Allocate space for the heap data image */
  710|      6|        if (NULL == (heap->dblk_image = H5FL_BLK_MALLOC(lheap_chunk, heap->dblk_size)))
  ------------------
  |  |  146|      6|#define H5FL_BLK_MALLOC(t, size) (uint8_t *)H5FL_blk_malloc(&(H5FL_BLK_NAME(t)), (size))
  |  |  ------------------
  |  |  |  |  131|      6|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
  |  Branch (710:13): [True: 0, False: 6]
  ------------------
  711|      0|            HGOTO_ERROR(H5E_HEAP, H5E_CANTALLOC, NULL, "can't allocate data block image buffer");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  712|       |
  713|       |        /* copy the datablock from the read buffer */
  714|      6|        H5MM_memcpy(heap->dblk_image, image, len);
  ------------------
  |  |   41|      6|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  715|       |
  716|       |        /* Build free list */
  717|      6|        if (FAIL == H5HL__fl_deserialize(heap))
  ------------------
  |  |  284|      6|#define FAIL    (-1)
  ------------------
  |  Branch (717:13): [True: 2, False: 4]
  ------------------
  718|      2|            HGOTO_ERROR(H5E_HEAP, H5E_CANTINIT, NULL, "can't initialize free list");
  ------------------
  |  |   68|      2|    do {                                                                                                     \
  |  |   69|      2|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      2|    do {                                                                                                     \
  |  |  |  |   40|      2|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      2|    do {                                                                                                     \
  |  |  |  |  |  |   31|      2|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      2|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      2|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      2|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      2|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      2|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      2|    do {                                                                                                     \
  |  |  |  |   92|      2|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      2|        goto done;                                                                                           \
  |  |  |  |   94|      2|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  719|      6|    }
  720|       |
  721|       |    /* Set return value */
  722|      6|    ret_value = dblk;
  723|       |
  724|      8|done:
  725|       |    /* Release the [possibly partially initialized] local heap on errors */
  726|      8|    if (!ret_value && dblk)
  ------------------
  |  Branch (726:9): [True: 2, False: 6]
  |  Branch (726:23): [True: 2, False: 0]
  ------------------
  727|      2|        if (FAIL == H5HL__dblk_dest(dblk))
  ------------------
  |  |  284|      2|#define FAIL    (-1)
  ------------------
  |  Branch (727:13): [True: 0, False: 2]
  ------------------
  728|      0|            HDONE_ERROR(H5E_HEAP, H5E_CANTRELEASE, NULL, "unable to destroy local heap data block");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  729|       |
  730|      8|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      8|    ;                                                                                                        \
  |  | 1573|      8|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      8|    return (ret_value);                                                                                      \
  |  | 1575|      8|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  731|      6|} /* end H5HL__cache_datablock_deserialize() */
H5HLcache.c:H5HL__cache_datablock_notify:
  817|     12|{
  818|     12|    H5HL_dblk_t *dblk      = (H5HL_dblk_t *)_thing; /* Pointer to the local heap data block */
  819|     12|    herr_t       ret_value = SUCCEED;               /* Return value */
  ------------------
  |  |  283|     12|#define SUCCEED 0
  ------------------
  820|       |
  821|     12|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     12|    {                                                                                                        \
  |  | 1461|     12|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     12|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     12|                                                                                                             \
  |  |  |  | 1267|     12|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     12|        {
  ------------------
  822|       |
  823|       |    /* Sanity check */
  824|     12|    assert(dblk);
  825|       |
  826|     12|    switch (action) {
  827|      0|        case H5AC_NOTIFY_ACTION_AFTER_INSERT:
  ------------------
  |  |  157|      0|#define H5AC_NOTIFY_ACTION_AFTER_INSERT       H5C_NOTIFY_ACTION_AFTER_INSERT
  ------------------
  |  Branch (827:9): [True: 0, False: 12]
  ------------------
  828|       |            /* do nothing */
  829|      0|            break;
  830|       |
  831|      6|        case H5AC_NOTIFY_ACTION_AFTER_LOAD:
  ------------------
  |  |  158|      6|#define H5AC_NOTIFY_ACTION_AFTER_LOAD         H5C_NOTIFY_ACTION_AFTER_LOAD
  ------------------
  |  Branch (831:9): [True: 6, False: 6]
  ------------------
  832|       |            /* Sanity checks */
  833|      6|            assert(dblk->heap);
  834|      6|            assert(dblk->heap->prfx);
  835|       |
  836|       |            /* Pin the heap's prefix */
  837|      6|            if (FAIL == H5AC_pin_protected_entry(dblk->heap->prfx))
  ------------------
  |  |  284|      6|#define FAIL    (-1)
  ------------------
  |  Branch (837:17): [True: 0, False: 6]
  ------------------
  838|      0|                HGOTO_ERROR(H5E_HEAP, H5E_CANTPIN, FAIL, "unable to pin local heap prefix");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  839|      6|            break;
  840|       |
  841|      6|        case H5AC_NOTIFY_ACTION_AFTER_FLUSH:
  ------------------
  |  |  159|      0|#define H5AC_NOTIFY_ACTION_AFTER_FLUSH        H5C_NOTIFY_ACTION_AFTER_FLUSH
  ------------------
  |  Branch (841:9): [True: 0, False: 12]
  ------------------
  842|      0|        case H5AC_NOTIFY_ACTION_ENTRY_DIRTIED:
  ------------------
  |  |  161|      0|#define H5AC_NOTIFY_ACTION_ENTRY_DIRTIED      H5C_NOTIFY_ACTION_ENTRY_DIRTIED
  ------------------
  |  Branch (842:9): [True: 0, False: 12]
  ------------------
  843|      0|        case H5AC_NOTIFY_ACTION_ENTRY_CLEANED:
  ------------------
  |  |  162|      0|#define H5AC_NOTIFY_ACTION_ENTRY_CLEANED      H5C_NOTIFY_ACTION_ENTRY_CLEANED
  ------------------
  |  Branch (843:9): [True: 0, False: 12]
  ------------------
  844|      0|        case H5AC_NOTIFY_ACTION_CHILD_DIRTIED:
  ------------------
  |  |  163|      0|#define H5AC_NOTIFY_ACTION_CHILD_DIRTIED      H5C_NOTIFY_ACTION_CHILD_DIRTIED
  ------------------
  |  Branch (844:9): [True: 0, False: 12]
  ------------------
  845|      0|        case H5AC_NOTIFY_ACTION_CHILD_CLEANED:
  ------------------
  |  |  164|      0|#define H5AC_NOTIFY_ACTION_CHILD_CLEANED      H5C_NOTIFY_ACTION_CHILD_CLEANED
  ------------------
  |  Branch (845:9): [True: 0, False: 12]
  ------------------
  846|      0|        case H5AC_NOTIFY_ACTION_CHILD_UNSERIALIZED:
  ------------------
  |  |  165|      0|#define H5AC_NOTIFY_ACTION_CHILD_UNSERIALIZED H5C_NOTIFY_ACTION_CHILD_UNSERIALIZED
  ------------------
  |  Branch (846:9): [True: 0, False: 12]
  ------------------
  847|      0|        case H5AC_NOTIFY_ACTION_CHILD_SERIALIZED:
  ------------------
  |  |  166|      0|#define H5AC_NOTIFY_ACTION_CHILD_SERIALIZED   H5C_NOTIFY_ACTION_CHILD_SERIALIZED
  ------------------
  |  Branch (847:9): [True: 0, False: 12]
  ------------------
  848|       |            /* do nothing */
  849|      0|            break;
  850|       |
  851|      6|        case H5AC_NOTIFY_ACTION_BEFORE_EVICT:
  ------------------
  |  |  160|      6|#define H5AC_NOTIFY_ACTION_BEFORE_EVICT       H5C_NOTIFY_ACTION_BEFORE_EVICT
  ------------------
  |  Branch (851:9): [True: 6, False: 6]
  ------------------
  852|       |            /* Sanity checks */
  853|      6|            assert(dblk->heap);
  854|      6|            assert(dblk->heap->prfx);
  855|       |
  856|       |            /* Unpin the local heap prefix */
  857|      6|            if (FAIL == H5AC_unpin_entry(dblk->heap->prfx))
  ------------------
  |  |  284|      6|#define FAIL    (-1)
  ------------------
  |  Branch (857:17): [True: 0, False: 6]
  ------------------
  858|      0|                HGOTO_ERROR(H5E_HEAP, H5E_CANTUNPIN, FAIL, "unable to unpin local heap prefix");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  859|      6|            break;
  860|       |
  861|      6|        default:
  ------------------
  |  Branch (861:9): [True: 0, False: 12]
  ------------------
  862|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unknown action from metadata cache");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  863|      0|            break;
  864|     12|    }
  865|       |
  866|     12|done:
  867|     12|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     12|    ;                                                                                                        \
  |  | 1573|     12|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     12|    return (ret_value);                                                                                      \
  |  | 1575|     12|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  868|     12|} /* end H5HL__cache_datablock_notify() */
H5HLcache.c:H5HL__cache_datablock_free_icr:
  882|      6|{
  883|      6|    H5HL_dblk_t *dblk      = (H5HL_dblk_t *)_thing; /* Pointer to the local heap data block */
  884|      6|    herr_t       ret_value = SUCCEED;               /* Return value */
  ------------------
  |  |  283|      6|#define SUCCEED 0
  ------------------
  885|       |
  886|      6|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      6|    {                                                                                                        \
  |  | 1461|      6|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      6|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      6|                                                                                                             \
  |  |  |  | 1267|      6|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      6|        {
  ------------------
  887|       |
  888|       |    /* Check arguments */
  889|      6|    assert(dblk);
  890|      6|    assert(dblk->cache_info.type == H5AC_LHEAP_DBLK);
  891|       |
  892|       |    /* Destroy the data block */
  893|      6|    if (H5HL__dblk_dest(dblk) < 0)
  ------------------
  |  Branch (893:9): [True: 0, False: 6]
  ------------------
  894|      0|        HGOTO_ERROR(H5E_HEAP, H5E_CANTFREE, FAIL, "unable to destroy local heap data block");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  895|       |
  896|      6|done:
  897|      6|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      6|    ;                                                                                                        \
  |  | 1573|      6|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      6|    return (ret_value);                                                                                      \
  |  | 1575|      6|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  898|      6|} /* end H5HL__cache_datablock_free_icr() */

H5HL__dblk_new:
   80|      8|{
   81|      8|    H5HL_dblk_t *dblk      = NULL; /* New local heap data block */
   82|      8|    H5HL_dblk_t *ret_value = NULL;
   83|       |
   84|      8|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      8|    {                                                                                                        \
  |  | 1461|      8|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      8|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      8|                                                                                                             \
  |  |  |  | 1267|      8|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      8|        {
  ------------------
   85|       |
   86|       |    /* check arguments */
   87|      8|    assert(heap);
   88|       |
   89|       |    /* Allocate new local heap data block */
   90|      8|    if (NULL == (dblk = H5FL_CALLOC(H5HL_dblk_t)))
  ------------------
  |  |   78|      8|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|      8|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (90:9): [True: 0, False: 8]
  ------------------
   91|      0|        HGOTO_ERROR(H5E_HEAP, H5E_CANTALLOC, NULL, "memory allocation failed for local heap data block");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   92|       |
   93|       |    /* Increment ref. count on heap data structure */
   94|      8|    if (FAIL == H5HL__inc_rc(heap))
  ------------------
  |  |  284|      8|#define FAIL    (-1)
  ------------------
  |  Branch (94:9): [True: 0, False: 8]
  ------------------
   95|      0|        HGOTO_ERROR(H5E_HEAP, H5E_CANTINC, NULL, "can't increment heap ref. count");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   96|       |
   97|       |    /* Link the heap & the data block */
   98|      8|    dblk->heap = heap;
   99|      8|    heap->dblk = dblk;
  100|       |
  101|       |    /* Set the return value */
  102|      8|    ret_value = dblk;
  103|       |
  104|      8|done:
  105|       |    /* Ensure that the data block memory is deallocated on errors */
  106|      8|    if (!ret_value && dblk != NULL)
  ------------------
  |  Branch (106:9): [True: 0, False: 8]
  |  Branch (106:23): [True: 0, False: 0]
  ------------------
  107|       |        /* H5FL_FREE always returns NULL so we can't check for errors */
  108|      0|        dblk = H5FL_FREE(H5HL_dblk_t, dblk);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  109|       |
  110|      8|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      8|    ;                                                                                                        \
  |  | 1573|      8|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      8|    return (ret_value);                                                                                      \
  |  | 1575|      8|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  111|      8|} /* end H5HL__dblk_new() */
H5HL__dblk_dest:
  124|      8|{
  125|      8|    herr_t ret_value = SUCCEED;
  ------------------
  |  |  283|      8|#define SUCCEED 0
  ------------------
  126|       |
  127|      8|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      8|    {                                                                                                        \
  |  | 1461|      8|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      8|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      8|                                                                                                             \
  |  |  |  | 1267|      8|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      8|        {
  ------------------
  128|       |
  129|       |    /* check arguments */
  130|      8|    assert(dblk);
  131|       |
  132|       |    /* Check if data block was initialized */
  133|      8|    if (dblk->heap) {
  ------------------
  |  Branch (133:9): [True: 8, False: 0]
  ------------------
  134|       |        /* Unlink data block from heap */
  135|      8|        dblk->heap->dblk = NULL;
  136|       |
  137|       |        /* Decrement ref. count on heap data structure */
  138|      8|        if (FAIL == H5HL__dec_rc(dblk->heap))
  ------------------
  |  |  284|      8|#define FAIL    (-1)
  ------------------
  |  Branch (138:13): [True: 0, False: 8]
  ------------------
  139|      0|            HGOTO_ERROR(H5E_HEAP, H5E_CANTDEC, FAIL, "can't decrement heap ref. count");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  140|       |
  141|       |        /* Unlink heap from data block */
  142|      8|        dblk->heap = NULL;
  143|      8|    }
  144|       |
  145|      8|done:
  146|       |    /* Free local heap data block */
  147|       |    /* H5FL_FREE always returns NULL so we can't check for errors */
  148|      8|    dblk = H5FL_FREE(H5HL_dblk_t, dblk);
  ------------------
  |  |   81|      8|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      8|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  149|       |
  150|      8|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      8|    ;                                                                                                        \
  |  | 1573|      8|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      8|    return (ret_value);                                                                                      \
  |  | 1575|      8|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  151|      8|} /* end H5HL__dblk_dest() */

H5HL__new:
   79|      9|{
   80|      9|    H5HL_t *heap      = NULL; /* New local heap */
   81|      9|    H5HL_t *ret_value = NULL;
   82|       |
   83|      9|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      9|    {                                                                                                        \
  |  | 1461|      9|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      9|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      9|                                                                                                             \
  |  |  |  | 1267|      9|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      9|        {
  ------------------
   84|       |
   85|       |    /* check arguments */
   86|      9|    assert(sizeof_size > 0);
   87|      9|    assert(sizeof_addr > 0);
   88|      9|    assert(prfx_size > 0);
   89|       |
   90|       |    /* Allocate new local heap structure */
   91|      9|    if (NULL == (heap = H5FL_CALLOC(H5HL_t)))
  ------------------
  |  |   78|      9|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|      9|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (91:9): [True: 0, False: 9]
  ------------------
   92|      0|        HGOTO_ERROR(H5E_HEAP, H5E_CANTALLOC, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   93|       |
   94|       |    /* Initialize non-zero fields */
   95|      9|    heap->sizeof_size = sizeof_size;
   96|      9|    heap->sizeof_addr = sizeof_addr;
   97|      9|    heap->prfx_size   = prfx_size;
   98|       |
   99|       |    /* Set the return value */
  100|      9|    ret_value = heap;
  101|       |
  102|      9|done:
  103|      9|    if (!ret_value && heap != NULL)
  ------------------
  |  Branch (103:9): [True: 0, False: 9]
  |  Branch (103:23): [True: 0, False: 0]
  ------------------
  104|      0|        if (NULL == (heap = H5FL_FREE(H5HL_t, heap)))
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (104:13): [True: 0, False: 0]
  ------------------
  105|      0|            HDONE_ERROR(H5E_HEAP, H5E_CANTFREE, NULL, "can't free heap memory");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  106|       |
  107|      9|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      9|    ;                                                                                                        \
  |  | 1573|      9|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      9|    return (ret_value);                                                                                      \
  |  | 1575|      9|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  108|      9|} /* end H5HL__new() */
H5HL__inc_rc:
  121|     17|{
  122|     17|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     17|    {                                                                                                        \
  |  | 1467|     17|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     17|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     17|        {
  ------------------
  123|       |
  124|       |    /* check arguments */
  125|     17|    assert(heap);
  126|       |
  127|       |    /* Increment heap's ref. count */
  128|     17|    heap->rc++;
  129|       |
  130|     17|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     17|    ;                                                                                                        \
  |  | 1573|     17|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     17|    return (ret_value);                                                                                      \
  |  | 1575|     17|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  131|     17|} /* end H5HL__inc_rc() */
H5HL__dec_rc:
  144|     17|{
  145|     17|    herr_t ret_value = SUCCEED;
  ------------------
  |  |  283|     17|#define SUCCEED 0
  ------------------
  146|       |
  147|     17|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     17|    {                                                                                                        \
  |  | 1461|     17|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     17|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     17|                                                                                                             \
  |  |  |  | 1267|     17|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     17|        {
  ------------------
  148|       |
  149|       |    /* check arguments */
  150|     17|    assert(heap);
  151|       |
  152|       |    /* Decrement heap's ref. count */
  153|     17|    heap->rc--;
  154|       |
  155|       |    /* Check if we should destroy the heap */
  156|     17|    if (heap->rc == 0 && FAIL == H5HL__dest(heap))
  ------------------
  |  |  284|      9|#define FAIL    (-1)
  ------------------
  |  Branch (156:9): [True: 9, False: 8]
  |  Branch (156:26): [True: 0, False: 9]
  ------------------
  157|      0|        HGOTO_ERROR(H5E_HEAP, H5E_CANTFREE, FAIL, "unable to destroy local heap");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  158|       |
  159|     17|done:
  160|     17|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     17|    ;                                                                                                        \
  |  | 1573|     17|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     17|    return (ret_value);                                                                                      \
  |  | 1575|     17|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  161|     17|} /* end H5HL__dec_rc() */
H5HL__dest:
  174|      9|{
  175|      9|    herr_t ret_value = SUCCEED;
  ------------------
  |  |  283|      9|#define SUCCEED 0
  ------------------
  176|       |
  177|      9|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      9|    {                                                                                                        \
  |  | 1461|      9|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      9|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      9|                                                                                                             \
  |  |  |  | 1267|      9|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      9|        {
  ------------------
  178|       |
  179|       |    /* check arguments */
  180|      9|    assert(heap);
  181|       |
  182|       |    /* Verify that node is unused */
  183|      9|    assert(heap->prots == 0);
  184|      9|    assert(heap->rc == 0);
  185|      9|    assert(heap->prfx == NULL);
  186|      9|    assert(heap->dblk == NULL);
  187|       |
  188|       |    /* Use DONE errors here to try to free as much as possible */
  189|      9|    if (heap->dblk_image)
  ------------------
  |  Branch (189:9): [True: 9, False: 0]
  ------------------
  190|      9|        if (NULL != (heap->dblk_image = H5FL_BLK_FREE(lheap_chunk, heap->dblk_image)))
  ------------------
  |  |  152|      9|#define H5FL_BLK_FREE(t, blk) (uint8_t *)H5FL_blk_free(&(H5FL_BLK_NAME(t)), blk)
  |  |  ------------------
  |  |  |  |  131|      9|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
  |  Branch (190:13): [True: 0, False: 9]
  ------------------
  191|      0|            HDONE_ERROR(H5E_HEAP, H5E_CANTFREE, FAIL, "unable to free local heap data block image");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  192|     16|    while (heap->freelist) {
  ------------------
  |  Branch (192:12): [True: 7, False: 9]
  ------------------
  193|      7|        H5HL_free_t *fl;
  194|       |
  195|      7|        fl             = heap->freelist;
  196|      7|        heap->freelist = fl->next;
  197|      7|        if (NULL != (fl = H5FL_FREE(H5HL_free_t, fl)))
  ------------------
  |  |   81|      7|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      7|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (197:13): [True: 0, False: 7]
  ------------------
  198|      0|            HDONE_ERROR(H5E_HEAP, H5E_CANTFREE, FAIL, "unable to free local heap free list");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  199|      7|    }
  200|       |
  201|      9|    if (NULL != (heap = H5FL_FREE(H5HL_t, heap)))
  ------------------
  |  |   81|      9|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      9|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (201:9): [True: 0, False: 9]
  ------------------
  202|      0|        HDONE_ERROR(H5E_HEAP, H5E_CANTFREE, FAIL, "unable to free local heap");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  203|       |
  204|      9|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      9|    ;                                                                                                        \
  |  | 1573|      9|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      9|    return (ret_value);                                                                                      \
  |  | 1575|      9|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  205|      9|} /* end H5HL__dest() */

H5HL__prfx_new:
   79|      9|{
   80|      9|    H5HL_prfx_t *prfx      = NULL; /* New local heap prefix */
   81|      9|    H5HL_prfx_t *ret_value = NULL;
   82|       |
   83|      9|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      9|    {                                                                                                        \
  |  | 1461|      9|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      9|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      9|                                                                                                             \
  |  |  |  | 1267|      9|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      9|        {
  ------------------
   84|       |
   85|       |    /* check arguments */
   86|      9|    assert(heap);
   87|       |
   88|       |    /* Allocate new local heap prefix */
   89|      9|    if (NULL == (prfx = H5FL_CALLOC(H5HL_prfx_t)))
  ------------------
  |  |   78|      9|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|      9|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (89:9): [True: 0, False: 9]
  ------------------
   90|      0|        HGOTO_ERROR(H5E_HEAP, H5E_CANTALLOC, NULL, "memory allocation failed for local heap prefix");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   91|       |
   92|       |    /* Increment ref. count on heap data structure */
   93|      9|    if (FAIL == H5HL__inc_rc(heap))
  ------------------
  |  |  284|      9|#define FAIL    (-1)
  ------------------
  |  Branch (93:9): [True: 0, False: 9]
  ------------------
   94|      0|        HGOTO_ERROR(H5E_HEAP, H5E_CANTINC, NULL, "can't increment heap ref. count");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   95|       |
   96|       |    /* Link the heap & the prefix */
   97|      9|    prfx->heap = heap;
   98|      9|    heap->prfx = prfx;
   99|       |
  100|       |    /* Set the return value */
  101|      9|    ret_value = prfx;
  102|       |
  103|      9|done:
  104|       |    /* Ensure that the prefix memory is deallocated on errors */
  105|      9|    if (!ret_value && prfx != NULL)
  ------------------
  |  Branch (105:9): [True: 0, False: 9]
  |  Branch (105:23): [True: 0, False: 0]
  ------------------
  106|       |        /* H5FL_FREE always returns NULL so we can't check for errors */
  107|      0|        prfx = H5FL_FREE(H5HL_prfx_t, prfx);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  108|       |
  109|      9|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      9|    ;                                                                                                        \
  |  | 1573|      9|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      9|    return (ret_value);                                                                                      \
  |  | 1575|      9|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  110|      9|} /* end H5HL__prfx_new() */
H5HL__prfx_dest:
  123|      9|{
  124|      9|    herr_t ret_value = SUCCEED;
  ------------------
  |  |  283|      9|#define SUCCEED 0
  ------------------
  125|       |
  126|      9|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      9|    {                                                                                                        \
  |  | 1461|      9|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      9|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      9|                                                                                                             \
  |  |  |  | 1267|      9|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      9|        {
  ------------------
  127|       |
  128|       |    /* check arguments */
  129|      9|    assert(prfx);
  130|       |
  131|       |    /* Check if prefix was initialized */
  132|      9|    if (prfx->heap) {
  ------------------
  |  Branch (132:9): [True: 9, False: 0]
  ------------------
  133|       |        /* Unlink prefix from heap */
  134|      9|        prfx->heap->prfx = NULL;
  135|       |
  136|       |        /* Decrement ref. count on heap data structure */
  137|      9|        if (FAIL == H5HL__dec_rc(prfx->heap))
  ------------------
  |  |  284|      9|#define FAIL    (-1)
  ------------------
  |  Branch (137:13): [True: 0, False: 9]
  ------------------
  138|      0|            HGOTO_ERROR(H5E_HEAP, H5E_CANTDEC, FAIL, "can't decrement heap ref. count");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  139|       |
  140|       |        /* Unlink heap from prefix */
  141|      9|        prfx->heap = NULL;
  142|      9|    }
  143|       |
  144|      9|done:
  145|       |    /* Free prefix memory */
  146|       |    /* H5FL_FREE always returns NULL so we can't check for errors */
  147|      9|    prfx = H5FL_FREE(H5HL_prfx_t, prfx);
  ------------------
  |  |   81|      9|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      9|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  148|       |
  149|      9|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      9|    ;                                                                                                        \
  |  | 1573|      9|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      9|    return (ret_value);                                                                                      \
  |  | 1575|      9|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  150|      9|} /* end H5HL__prfx_dest() */

H5Iget_type:
  392|     66|{
  393|     66|    H5I_type_t ret_value = H5I_BADID; /* Return value */
  394|       |
  395|    132|    FUNC_ENTER_API(H5I_BADID)
  ------------------
  |  | 1300|     66|    {                                                                                                        \
  |  | 1301|     66|        {                                                                                                    \
  |  | 1302|     66|            bool api_ctx_pushed = false;                                                                     \
  |  | 1303|     66|                                                                                                             \
  |  | 1304|     66|            FUNC_ENTER_API_COMMON                                                                            \
  |  |  ------------------
  |  |  |  | 1281|     66|    FUNC_ENTER_COMMON(H5_IS_API(__func__));                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1265|     66|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  | 1266|     66|                                                                                                             \
  |  |  |  |  |  | 1267|     66|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  ------------------
  |  |  |  | 1282|     66|    FUNC_ENTER_API_THREADSAFE;
  |  |  ------------------
  |  | 1305|     66|            FUNC_ENTER_API_INIT(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1286|     66|    if (H5_UNLIKELY(!H5_INIT_GLOBAL && !H5_TERM_GLOBAL)) {                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     66|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 66]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 66]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1287|      0|        if (H5_UNLIKELY(H5_init_library() < 0))                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      0|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1288|      0|            HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, err, "library initialization failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1289|      0|    }
  |  |  ------------------
  |  | 1306|     66|            FUNC_ENTER_API_PUSH(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1293|     66|    if (H5_UNLIKELY(H5CX_push() < 0))                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     66|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 66]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1294|     66|        HGOTO_ERROR(H5E_FUNC, H5E_CANTSET, err, "can't set API context");                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1295|     66|    else                                                                                                     \
  |  |  |  | 1296|     66|        api_ctx_pushed = true;
  |  |  ------------------
  |  | 1307|     66|            /* Clear thread error stack entering public functions */                                         \
  |  | 1308|     66|            H5E_clear_stack();                                                                               \
  |  | 1309|     66|            {
  ------------------
  396|       |
  397|    132|    ret_value = H5I_get_type(id);
  398|       |
  399|    132|    if (ret_value <= H5I_BADID || (int)ret_value >= H5I_next_type_g || NULL == H5I_object(id))
  ------------------
  |  Branch (399:9): [True: 0, False: 66]
  |  Branch (399:35): [True: 0, False: 66]
  |  Branch (399:72): [True: 0, False: 66]
  ------------------
  400|      0|        HGOTO_DONE(H5I_BADID);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  401|       |
  402|     66|done:
  403|     66|    FUNC_LEAVE_API(ret_value)
  ------------------
  |  | 1509|     66|    ;                                                                                                        \
  |  | 1510|     66|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1511|     66|    if (H5_LIKELY(api_ctx_pushed)) {                                                                         \
  |  |  ------------------
  |  |  |  |  167|     66|#define H5_LIKELY(expression)   __builtin_expect(!!(expression), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (167:33): [True: 66, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1512|     66|        (void)H5CX_pop(true);                                                                                \
  |  | 1513|     66|        api_ctx_pushed = false;                                                                              \
  |  | 1514|     66|    }                                                                                                        \
  |  | 1515|     66|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|     66|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 0, False: 66]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1516|     66|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1517|     66|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1518|     66|    return (ret_value);                                                                                      \
  |  | 1519|     66|    }                                                                                                        \
  |  | 1520|     66|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  404|    132|} /* end H5Iget_type() */
H5Iinc_ref:
  480|     44|{
  481|     44|    int ret_value = -1; /* Return value */
  482|       |
  483|     88|    FUNC_ENTER_API((-1))
  ------------------
  |  | 1300|     44|    {                                                                                                        \
  |  | 1301|     44|        {                                                                                                    \
  |  | 1302|     44|            bool api_ctx_pushed = false;                                                                     \
  |  | 1303|     44|                                                                                                             \
  |  | 1304|     44|            FUNC_ENTER_API_COMMON                                                                            \
  |  |  ------------------
  |  |  |  | 1281|     44|    FUNC_ENTER_COMMON(H5_IS_API(__func__));                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1265|     44|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  | 1266|     44|                                                                                                             \
  |  |  |  |  |  | 1267|     44|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  ------------------
  |  |  |  | 1282|     44|    FUNC_ENTER_API_THREADSAFE;
  |  |  ------------------
  |  | 1305|     44|            FUNC_ENTER_API_INIT(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1286|     44|    if (H5_UNLIKELY(!H5_INIT_GLOBAL && !H5_TERM_GLOBAL)) {                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     44|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 44]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 44]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1287|      0|        if (H5_UNLIKELY(H5_init_library() < 0))                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      0|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1288|      0|            HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, err, "library initialization failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1289|      0|    }
  |  |  ------------------
  |  | 1306|     44|            FUNC_ENTER_API_PUSH(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1293|     44|    if (H5_UNLIKELY(H5CX_push() < 0))                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     44|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 44]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1294|     44|        HGOTO_ERROR(H5E_FUNC, H5E_CANTSET, err, "can't set API context");                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1295|     44|    else                                                                                                     \
  |  |  |  | 1296|     44|        api_ctx_pushed = true;
  |  |  ------------------
  |  | 1307|     44|            /* Clear thread error stack entering public functions */                                         \
  |  | 1308|     44|            H5E_clear_stack();                                                                               \
  |  | 1309|     44|            {
  ------------------
  484|       |
  485|       |    /* Check arguments */
  486|     88|    if (id < 0)
  ------------------
  |  Branch (486:9): [True: 0, False: 44]
  ------------------
  487|      0|        HGOTO_ERROR(H5E_ID, H5E_BADID, (-1), "invalid ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  488|       |
  489|       |    /* Do actual increment operation */
  490|     44|    if ((ret_value = H5I_inc_ref(id, true)) < 0)
  ------------------
  |  Branch (490:9): [True: 0, False: 44]
  ------------------
  491|      0|        HGOTO_ERROR(H5E_ID, H5E_CANTINC, (-1), "can't increment ID ref count");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  492|       |
  493|     44|done:
  494|     44|    FUNC_LEAVE_API(ret_value)
  ------------------
  |  | 1509|     44|    ;                                                                                                        \
  |  | 1510|     44|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1511|     44|    if (H5_LIKELY(api_ctx_pushed)) {                                                                         \
  |  |  ------------------
  |  |  |  |  167|     44|#define H5_LIKELY(expression)   __builtin_expect(!!(expression), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (167:33): [True: 44, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1512|     44|        (void)H5CX_pop(true);                                                                                \
  |  | 1513|     44|        api_ctx_pushed = false;                                                                              \
  |  | 1514|     44|    }                                                                                                        \
  |  | 1515|     44|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|     44|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 0, False: 44]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1516|     44|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1517|     44|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1518|     44|    return (ret_value);                                                                                      \
  |  | 1519|     44|    }                                                                                                        \
  |  | 1520|     44|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  495|     44|} /* end H5Iinc_ref() */

H5I_term_package:
  121|      1|{
  122|      1|    int in_use = 0; /* Number of ID types still in use */
  123|       |
  124|      1|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      1|    {                                                                                                        \
  |  | 1425|      1|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      1|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      1|        {
  ------------------
  125|       |
  126|      1|    H5I_type_info_t *type_info = NULL; /* Pointer to ID type */
  127|      1|    int              i;
  128|       |
  129|       |    /* Count the number of types still in use */
  130|     18|    for (i = 0; i < H5I_next_type_g; i++)
  ------------------
  |  Branch (130:17): [True: 17, False: 1]
  ------------------
  131|     17|        if ((type_info = H5I_type_info_array_g[i]) && type_info->hash_table)
  ------------------
  |  Branch (131:13): [True: 0, False: 17]
  |  Branch (131:55): [True: 0, False: 0]
  ------------------
  132|      0|            in_use++;
  133|       |
  134|       |    /* If no types are still being used then clean up */
  135|      1|    if (0 == in_use) {
  ------------------
  |  Branch (135:9): [True: 1, False: 0]
  ------------------
  136|     18|        for (i = 0; i < H5I_next_type_g; i++) {
  ------------------
  |  Branch (136:21): [True: 17, False: 1]
  ------------------
  137|     17|            type_info = H5I_type_info_array_g[i];
  138|     17|            if (type_info) {
  ------------------
  |  Branch (138:17): [True: 0, False: 17]
  ------------------
  139|      0|                assert(NULL == type_info->hash_table);
  140|      0|                type_info                = H5MM_xfree(type_info);
  141|      0|                H5I_type_info_array_g[i] = NULL;
  142|      0|                in_use++;
  143|      0|            }
  144|     17|        }
  145|      1|    }
  146|       |
  147|      1|    FUNC_LEAVE_NOAPI(in_use)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  148|      1|} /* end H5I_term_package() */
H5I_register_type:
  163|     16|{
  164|     16|    H5I_type_info_t *type_info = NULL;    /* Pointer to the ID type*/
  165|     16|    herr_t           ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     16|#define SUCCEED 0
  ------------------
  166|       |
  167|     16|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     16|    {                                                                                                        \
  |  | 1392|     16|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     16|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     16|                                                                                                             \
  |  |  |  | 1267|     16|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     16|        {
  ------------------
  168|       |
  169|       |    /* Sanity check */
  170|     16|    assert(cls);
  171|     16|    assert(cls->type > 0 && (int)cls->type < H5I_MAX_NUM_TYPES);
  172|       |
  173|       |    /* Initialize the type */
  174|     16|    if (NULL == H5I_type_info_array_g[cls->type]) {
  ------------------
  |  Branch (174:9): [True: 16, False: 0]
  ------------------
  175|       |        /* Allocate the type information for new type */
  176|     16|        if (NULL == (type_info = (H5I_type_info_t *)H5MM_calloc(sizeof(H5I_type_info_t))))
  ------------------
  |  |   36|     16|#define H5MM_calloc(Z) calloc(1, Z)
  ------------------
  |  Branch (176:13): [True: 0, False: 16]
  ------------------
  177|      0|            HGOTO_ERROR(H5E_ID, H5E_CANTALLOC, FAIL, "ID type allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  178|     16|        H5I_type_info_array_g[cls->type] = type_info;
  179|     16|    }
  180|      0|    else {
  181|       |        /* Get the pointer to the existing type */
  182|      0|        type_info = H5I_type_info_array_g[cls->type];
  183|      0|    }
  184|       |
  185|       |    /* Initialize the ID type structure for new types */
  186|     16|    if (type_info->init_count == 0) {
  ------------------
  |  Branch (186:9): [True: 16, False: 0]
  ------------------
  187|     16|        type_info->cls          = cls;
  188|     16|        type_info->id_count     = 0;
  189|     16|        type_info->nextid       = cls->reserved;
  190|     16|        type_info->last_id_info = NULL;
  191|     16|        type_info->hash_table   = NULL;
  192|     16|    }
  193|       |
  194|       |    /* Increment the count of the times this type has been initialized */
  195|     16|    type_info->init_count++;
  196|       |
  197|     16|done:
  198|       |    /* Clean up on error */
  199|     16|    if (ret_value < 0)
  ------------------
  |  Branch (199:9): [True: 0, False: 16]
  ------------------
  200|      0|        if (type_info)
  ------------------
  |  Branch (200:13): [True: 0, False: 0]
  ------------------
  201|      0|            H5MM_free(type_info);
  ------------------
  |  |   37|      0|#define H5MM_free(Z)   free(Z)
  ------------------
  202|       |
  203|     16|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     16|    ;                                                                                                        \
  |  | 1573|     16|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     16|    return (ret_value);                                                                                      \
  |  | 1575|     16|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  204|     16|} /* end H5I_register_type() */
H5I_nmembers:
  220|     29|{
  221|     29|    H5I_type_info_t *type_info = NULL; /* Pointer to the ID type */
  222|     29|    int64_t          ret_value = 0;    /* Return value */
  223|       |
  224|     29|    FUNC_ENTER_NOAPI((-1))
  ------------------
  |  | 1391|     29|    {                                                                                                        \
  |  | 1392|     29|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     29|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     29|                                                                                                             \
  |  |  |  | 1267|     29|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     29|        {
  ------------------
  225|       |
  226|       |    /* Validate parameter */
  227|     29|    if (type <= H5I_BADID || (int)type >= H5I_next_type_g)
  ------------------
  |  Branch (227:9): [True: 0, False: 29]
  |  Branch (227:30): [True: 0, False: 29]
  ------------------
  228|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADRANGE, FAIL, "invalid type number");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  229|     29|    if (NULL == (type_info = H5I_type_info_array_g[type]) || type_info->init_count <= 0)
  ------------------
  |  Branch (229:9): [True: 0, False: 29]
  |  Branch (229:62): [True: 0, False: 29]
  ------------------
  230|      0|        HGOTO_DONE(0);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  231|       |
  232|       |    /* Set return value */
  233|     29|    H5_CHECKED_ASSIGN(ret_value, int64_t, type_info->id_count, uint64_t);
  ------------------
  |  |  977|     29|    do {                                                                                                     \
  |  |  978|     29|        (dst) = (dsttype)(src);                                                                              \
  |  |  979|     29|    } while (0)
  |  |  ------------------
  |  |  |  Branch (979:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  234|       |
  235|     29|done:
  236|     29|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     29|    ;                                                                                                        \
  |  | 1573|     29|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     29|    return (ret_value);                                                                                      \
  |  | 1575|     29|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  237|     29|} /* end H5I_nmembers() */
H5I_clear_type:
  291|     23|{
  292|     23|    H5I_clear_type_ud_t udata; /* udata struct for callback */
  293|     23|    H5I_id_info_t      *item      = NULL;
  294|     23|    H5I_id_info_t      *tmp       = NULL;
  295|     23|    herr_t              ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     23|#define SUCCEED 0
  ------------------
  296|       |
  297|     23|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     23|    {                                                                                                        \
  |  | 1392|     23|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     23|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     23|                                                                                                             \
  |  |  |  | 1267|     23|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     23|        {
  ------------------
  298|       |
  299|       |    /* Validate parameters */
  300|     23|    if (type <= H5I_BADID || (int)type >= H5I_next_type_g)
  ------------------
  |  Branch (300:9): [True: 0, False: 23]
  |  Branch (300:30): [True: 0, False: 23]
  ------------------
  301|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADRANGE, FAIL, "invalid type number");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  302|       |
  303|     23|    udata.type_info = H5I_type_info_array_g[type];
  304|     23|    if (udata.type_info == NULL || udata.type_info->init_count <= 0)
  ------------------
  |  Branch (304:9): [True: 0, False: 23]
  |  Branch (304:36): [True: 0, False: 23]
  ------------------
  305|      0|        HGOTO_ERROR(H5E_ID, H5E_BADGROUP, FAIL, "invalid type");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  306|       |
  307|       |    /* Finish constructing udata */
  308|     23|    udata.force   = force;
  309|     23|    udata.app_ref = app_ref;
  310|       |
  311|       |    /* Clearing a type is done in two phases (mark-and-sweep). This is because
  312|       |     * the type's free callback can free other IDs, potentially corrupting
  313|       |     * the data structure during the traversal.
  314|       |     */
  315|       |
  316|       |    /* Set marking flag */
  317|     23|    H5I_marking_s = true;
  318|       |
  319|       |    /* Mark nodes for deletion */
  320|     23|    HASH_ITER(hh, udata.type_info->hash_table, item, tmp)
  ------------------
  |  | 1097|    345|    for (((el) = (head)), ((tmp) = DECLTYPE(el)((head != NULL) ? (head)->hh.next : NULL)); (el) != NULL;     \
  |  |  ------------------
  |  |  |  |   57|     23|#define DECLTYPE(x) (__typeof(x))
  |  |  ------------------
  |  |  |  Branch (1097:49): [True: 7, False: 16]
  |  |  |  Branch (1097:92): [True: 322, False: 23]
  |  |  ------------------
  |  | 1098|    322|         ((el) = (tmp)), ((tmp) = DECLTYPE(el)((tmp != NULL) ? (tmp)->hh.next : NULL)))
  |  |  ------------------
  |  |  |  |   57|    322|#define DECLTYPE(x) (__typeof(x))
  |  |  ------------------
  |  |  |  Branch (1098:48): [True: 315, False: 7]
  |  |  ------------------
  ------------------
  321|    322|    {
  322|    322|        if (!item->marked)
  ------------------
  |  Branch (322:13): [True: 143, False: 179]
  ------------------
  323|    143|            if (H5I__mark_node((void *)item, NULL, (void *)&udata) < 0)
  ------------------
  |  Branch (323:17): [True: 0, False: 143]
  ------------------
  324|      0|                HGOTO_ERROR(H5E_ID, H5E_BADITER, FAIL, "iteration failed while clearing the ID type");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  325|    322|    }
  326|       |
  327|       |    /* Unset marking flag */
  328|     23|    H5I_marking_s = false;
  329|       |
  330|       |    /* Perform sweep */
  331|     23|    HASH_ITER(hh, udata.type_info->hash_table, item, tmp)
  ------------------
  |  | 1097|    345|    for (((el) = (head)), ((tmp) = DECLTYPE(el)((head != NULL) ? (head)->hh.next : NULL)); (el) != NULL;     \
  |  |  ------------------
  |  |  |  |   57|     23|#define DECLTYPE(x) (__typeof(x))
  |  |  ------------------
  |  |  |  Branch (1097:49): [True: 7, False: 16]
  |  |  |  Branch (1097:92): [True: 322, False: 23]
  |  |  ------------------
  |  | 1098|    322|         ((el) = (tmp)), ((tmp) = DECLTYPE(el)((tmp != NULL) ? (tmp)->hh.next : NULL)))
  |  |  ------------------
  |  |  |  |   57|    322|#define DECLTYPE(x) (__typeof(x))
  |  |  ------------------
  |  |  |  Branch (1098:48): [True: 315, False: 7]
  |  |  ------------------
  ------------------
  332|    322|    {
  333|    322|        if (item->marked) {
  ------------------
  |  Branch (333:13): [True: 322, False: 0]
  ------------------
  334|    322|            HASH_DELETE(hh, udata.type_info->hash_table, item);
  ------------------
  |  |  462|    322|#define HASH_DELETE(hh, head, delptr) HASH_DELETE_HH(hh, head, &(delptr)->hh)
  |  |  ------------------
  |  |  |  |  465|    322|    do {                                                                                                     \
  |  |  |  |  466|    322|        struct UT_hash_handle *_hd_hh_del = (delptrhh);                                                      \
  |  |  |  |  467|    322|        if ((_hd_hh_del->prev == NULL) && (_hd_hh_del->next == NULL)) {                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (467:13): [True: 322, False: 0]
  |  |  |  |  |  Branch (467:43): [True: 7, False: 315]
  |  |  |  |  ------------------
  |  |  |  |  468|      7|            HASH_BLOOM_FREE((head)->hh.tbl);                                                                 \
  |  |  |  |  469|      7|            uthash_free((head)->hh.tbl->buckets,                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      7|#define uthash_free(ptr, sz) H5MM_free(ptr) /* Ignoring sz is intentional */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|      7|#define H5MM_free(Z)   free(Z)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  470|      7|                        (head)->hh.tbl->num_buckets * sizeof(struct UT_hash_bucket));                        \
  |  |  |  |  471|      7|            uthash_free((head)->hh.tbl, sizeof(UT_hash_table));                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|      7|#define uthash_free(ptr, sz) H5MM_free(ptr) /* Ignoring sz is intentional */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|      7|#define H5MM_free(Z)   free(Z)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  472|      7|            (head) = NULL;                                                                                   \
  |  |  |  |  473|      7|        }                                                                                                    \
  |  |  |  |  474|    322|        else {                                                                                               \
  |  |  |  |  475|    315|            unsigned _hd_bkt;                                                                                \
  |  |  |  |  476|    315|            if (_hd_hh_del == (head)->hh.tbl->tail) {                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (476:17): [True: 0, False: 315]
  |  |  |  |  ------------------
  |  |  |  |  477|      0|                (head)->hh.tbl->tail = HH_FROM_ELMT((head)->hh.tbl, _hd_hh_del->prev);                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  142|      0|#define HH_FROM_ELMT(tbl, elp) ((UT_hash_handle *)(void *)(((char *)(elp)) + ((tbl)->hho)))
  |  |  |  |  ------------------
  |  |  |  |  478|      0|            }                                                                                                \
  |  |  |  |  479|    315|            if (_hd_hh_del->prev != NULL) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (479:17): [True: 0, False: 315]
  |  |  |  |  ------------------
  |  |  |  |  480|      0|                HH_FROM_ELMT((head)->hh.tbl, _hd_hh_del->prev)->next = _hd_hh_del->next;                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |  142|      0|#define HH_FROM_ELMT(tbl, elp) ((UT_hash_handle *)(void *)(((char *)(elp)) + ((tbl)->hho)))
  |  |  |  |  ------------------
  |  |  |  |  481|      0|            }                                                                                                \
  |  |  |  |  482|    315|            else {                                                                                           \
  |  |  |  |  483|    315|                DECLTYPE_ASSIGN(head, _hd_hh_del->next);                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   70|    315|    do {                                                                                                     \
  |  |  |  |  |  |   71|    315|        (dst) = DECLTYPE(dst)(src);                                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   57|    315|#define DECLTYPE(x) (__typeof(x))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   72|    315|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (72:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  484|    315|            }                                                                                                \
  |  |  |  |  485|    315|            if (_hd_hh_del->next != NULL) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (485:17): [True: 315, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  486|    315|                HH_FROM_ELMT((head)->hh.tbl, _hd_hh_del->next)->prev = _hd_hh_del->prev;                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |  142|    315|#define HH_FROM_ELMT(tbl, elp) ((UT_hash_handle *)(void *)(((char *)(elp)) + ((tbl)->hho)))
  |  |  |  |  ------------------
  |  |  |  |  487|    315|            }                                                                                                \
  |  |  |  |  488|    315|            HASH_TO_BKT(_hd_hh_del->hashv, (head)->hh.tbl->num_buckets, _hd_bkt);                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  446|    315|    do {                                                                                                     \
  |  |  |  |  |  |  447|    315|        bkt = ((hashv) & ((num_bkts)-1U));                                                                   \
  |  |  |  |  |  |  448|    315|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (448:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  489|    315|            HASH_DEL_IN_BKT((head)->hh.tbl->buckets[_hd_bkt], _hd_hh_del);                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  831|    315|    do {                                                                                                     \
  |  |  |  |  |  |  832|    315|        UT_hash_bucket *_hd_head = &(head);                                                                  \
  |  |  |  |  |  |  833|    315|        _hd_head->count--;                                                                                   \
  |  |  |  |  |  |  834|    315|        if (_hd_head->hh_head == (delhh)) {                                                                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (834:13): [True: 184, False: 131]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  835|    184|            _hd_head->hh_head = (delhh)->hh_next;                                                            \
  |  |  |  |  |  |  836|    184|        }                                                                                                    \
  |  |  |  |  |  |  837|    315|        if ((delhh)->hh_prev) {                                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (837:13): [True: 131, False: 184]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  838|    131|            (delhh)->hh_prev->hh_next = (delhh)->hh_next;                                                    \
  |  |  |  |  |  |  839|    131|        }                                                                                                    \
  |  |  |  |  |  |  840|    315|        if ((delhh)->hh_next) {                                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (840:13): [True: 94, False: 221]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  841|     94|            (delhh)->hh_next->hh_prev = (delhh)->hh_prev;                                                    \
  |  |  |  |  |  |  842|     94|        }                                                                                                    \
  |  |  |  |  |  |  843|    315|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (843:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  490|    315|            (head)->hh.tbl->num_items--;                                                                     \
  |  |  |  |  491|    315|        }                                                                                                    \
  |  |  |  |  492|    322|        HASH_FSCK(hh, head, "HASH_DELETE_HH");                                                               \
  |  |  |  |  493|    322|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (493:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  335|    322|            item = H5FL_FREE(H5I_id_info_t, item);
  ------------------
  |  |   81|    322|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|    322|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  336|    322|        }
  337|    322|    }
  338|       |
  339|     23|done:
  340|     23|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     23|    ;                                                                                                        \
  |  | 1573|     23|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     23|    return (ret_value);                                                                                      \
  |  | 1575|     23|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  341|     23|} /* end H5I_clear_type() */
H5I__destroy_type:
  427|     16|{
  428|     16|    H5I_type_info_t *type_info = NULL;    /* Pointer to the ID type */
  429|     16|    herr_t           ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     16|#define SUCCEED 0
  ------------------
  430|       |
  431|     16|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     16|    {                                                                                                        \
  |  | 1461|     16|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     16|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     16|                                                                                                             \
  |  |  |  | 1267|     16|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     16|        {
  ------------------
  432|       |
  433|       |    /* Validate parameter */
  434|     16|    if (type <= H5I_BADID || (int)type >= H5I_next_type_g)
  ------------------
  |  Branch (434:9): [True: 0, False: 16]
  |  Branch (434:30): [True: 0, False: 16]
  ------------------
  435|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADRANGE, FAIL, "invalid type number");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  436|       |
  437|     16|    type_info = H5I_type_info_array_g[type];
  438|     16|    if (type_info == NULL || type_info->init_count <= 0)
  ------------------
  |  Branch (438:9): [True: 0, False: 16]
  |  Branch (438:30): [True: 0, False: 16]
  ------------------
  439|      0|        HGOTO_ERROR(H5E_ID, H5E_BADGROUP, FAIL, "invalid type");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  440|       |
  441|       |    /* Close/clear/destroy all IDs for this type */
  442|     16|    H5E_BEGIN_TRY
  ------------------
  |  |  118|     16|    {                                                                                                        \
  |  |  119|     16|        H5E_auto2_t saved_efunc;                                                                             \
  |  |  120|     16|        void       *H5E_saved_edata;                                                                         \
  |  |  121|     16|                                                                                                             \
  |  |  122|     16|        (void)H5Eget_auto2(H5E_DEFAULT, &saved_efunc, &H5E_saved_edata);                                     \
  |  |  ------------------
  |  |  |  |   25|     16|#define H5E_DEFAULT 0 /* (hid_t) */
  |  |  ------------------
  |  |  123|     16|        (void)H5Eset_auto2(H5E_DEFAULT, NULL, NULL);
  |  |  ------------------
  |  |  |  |   25|     16|#define H5E_DEFAULT 0 /* (hid_t) */
  |  |  ------------------
  ------------------
  443|     16|    {
  444|     16|        H5I_clear_type(type, true, false);
  445|     16|    }
  446|       |    H5E_END_TRY /* don't care about errors */
  ------------------
  |  |  126|     16|    (void)H5Eset_auto2(H5E_DEFAULT, saved_efunc, H5E_saved_edata);                                           \
  |  |  ------------------
  |  |  |  |   25|     16|#define H5E_DEFAULT 0 /* (hid_t) */
  |  |  ------------------
  |  |  127|     16|    }
  ------------------
  447|       |
  448|       |    /* Check if we should release the ID class */
  449|     16|    if (type_info->cls->flags & H5I_CLASS_IS_APPLICATION)
  ------------------
  |  |   38|     16|#define H5I_CLASS_IS_APPLICATION 0x01
  ------------------
  |  Branch (449:9): [True: 0, False: 16]
  ------------------
  450|      0|        type_info->cls = H5MM_xfree_const(type_info->cls);
  451|       |
  452|     16|    HASH_CLEAR(hh, type_info->hash_table);
  ------------------
  |  | 1074|     16|    do {                                                                                                     \
  |  | 1075|     16|        if ((head) != NULL) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (1075:13): [True: 0, False: 16]
  |  |  ------------------
  |  | 1076|      0|            HASH_BLOOM_FREE((head)->hh.tbl);                                                                 \
  |  | 1077|      0|            uthash_free((head)->hh.tbl->buckets,                                                             \
  |  |  ------------------
  |  |  |  |  158|      0|#define uthash_free(ptr, sz) H5MM_free(ptr) /* Ignoring sz is intentional */
  |  |  |  |  ------------------
  |  |  |  |  |  |   37|      0|#define H5MM_free(Z)   free(Z)
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1078|      0|                        (head)->hh.tbl->num_buckets * sizeof(struct UT_hash_bucket));                        \
  |  | 1079|      0|            uthash_free((head)->hh.tbl, sizeof(UT_hash_table));                                              \
  |  |  ------------------
  |  |  |  |  158|      0|#define uthash_free(ptr, sz) H5MM_free(ptr) /* Ignoring sz is intentional */
  |  |  |  |  ------------------
  |  |  |  |  |  |   37|      0|#define H5MM_free(Z)   free(Z)
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1080|      0|            (head) = NULL;                                                                                   \
  |  | 1081|      0|        }                                                                                                    \
  |  | 1082|     16|    } while (0)
  |  |  ------------------
  |  |  |  Branch (1082:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  453|     16|    type_info->hash_table = NULL;
  454|       |
  455|     16|    type_info = H5MM_xfree(type_info);
  456|       |
  457|     16|    H5I_type_info_array_g[type] = NULL;
  458|       |
  459|     16|done:
  460|     16|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     16|    ;                                                                                                        \
  |  | 1573|     16|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     16|    return (ret_value);                                                                                      \
  |  | 1575|     16|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  461|     16|} /* end H5I__destroy_type() */
H5I__register:
  485|  1.04k|{
  486|  1.04k|    H5I_type_info_t *type_info = NULL;            /* Pointer to the type */
  487|  1.04k|    H5I_id_info_t   *info      = NULL;            /* Pointer to the new ID information */
  488|  1.04k|    hid_t            new_id    = H5I_INVALID_HID; /* New ID */
  ------------------
  |  |   75|  1.04k|#define H5I_INVALID_HID (-1)
  ------------------
  489|  1.04k|    hid_t            ret_value = H5I_INVALID_HID; /* Return value */
  ------------------
  |  |   75|  1.04k|#define H5I_INVALID_HID (-1)
  ------------------
  490|       |
  491|  1.04k|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|  1.04k|    {                                                                                                        \
  |  | 1461|  1.04k|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|  1.04k|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|  1.04k|                                                                                                             \
  |  |  |  | 1267|  1.04k|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|  1.04k|        {
  ------------------
  492|       |
  493|       |    /* Check arguments */
  494|  1.04k|    if (type <= H5I_BADID || (int)type >= H5I_next_type_g)
  ------------------
  |  Branch (494:9): [True: 0, False: 1.04k]
  |  Branch (494:30): [True: 0, False: 1.04k]
  ------------------
  495|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADRANGE, H5I_INVALID_HID, "invalid type number");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  496|  1.04k|    type_info = H5I_type_info_array_g[type];
  497|  1.04k|    if ((NULL == type_info) || (type_info->init_count <= 0))
  ------------------
  |  Branch (497:9): [True: 0, False: 1.04k]
  |  Branch (497:32): [True: 0, False: 1.04k]
  ------------------
  498|      0|        HGOTO_ERROR(H5E_ID, H5E_BADGROUP, H5I_INVALID_HID, "invalid type");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  499|  1.04k|    if (NULL == (info = H5FL_CALLOC(H5I_id_info_t)))
  ------------------
  |  |   78|  1.04k|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|  1.04k|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (499:9): [True: 0, False: 1.04k]
  ------------------
  500|      0|        HGOTO_ERROR(H5E_ID, H5E_NOSPACE, H5I_INVALID_HID, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  501|       |
  502|       |    /* Create the struct & its ID */
  503|  1.04k|    new_id           = H5I_MAKE(type, type_info->nextid);
  ------------------
  |  |   39|  1.04k|#define H5I_MAKE(g, i) ((((hid_t)(g)&TYPE_MASK) << ID_BITS) | ((hid_t)(i)&ID_MASK))
  |  |  ------------------
  |  |  |  |   39|  1.04k|#define TYPE_MASK (((hid_t)1 << TYPE_BITS) - 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   38|  1.04k|#define TYPE_BITS 7
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define H5I_MAKE(g, i) ((((hid_t)(g)&TYPE_MASK) << ID_BITS) | ((hid_t)(i)&ID_MASK))
  |  |  ------------------
  |  |  |  |   47|  1.04k|#define ID_BITS ((sizeof(hid_t) * 8) - (TYPE_BITS + 1))
  |  |  |  |  ------------------
  |  |  |  |  |  |   38|  1.04k|#define TYPE_BITS 7
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define H5I_MAKE(g, i) ((((hid_t)(g)&TYPE_MASK) << ID_BITS) | ((hid_t)(i)&ID_MASK))
  |  |  ------------------
  |  |  |  |   48|  1.04k|#define ID_MASK (((hid_t)1 << ID_BITS) - 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   47|  1.04k|#define ID_BITS ((sizeof(hid_t) * 8) - (TYPE_BITS + 1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   38|  1.04k|#define TYPE_BITS 7
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  504|  1.04k|    info->id         = new_id;
  505|  1.04k|    info->count      = 1; /* initial reference count */
  506|  1.04k|    info->app_count  = !!app_ref;
  507|  1.04k|    info->u.c_object = object;
  508|  1.04k|    info->is_future  = (NULL != realize_cb);
  509|  1.04k|    info->realize_cb = realize_cb;
  510|  1.04k|    info->discard_cb = discard_cb;
  511|  1.04k|    info->marked     = false;
  512|       |
  513|       |    /* Insert into the type */
  514|  1.04k|    HASH_ADD(hh, type_info->hash_table, id, sizeof(hid_t), info);
  ------------------
  |  |  443|  1.04k|    HASH_ADD_KEYPTR(hh, head, &((add)->fieldname), keylen_in, add)
  |  |  ------------------
  |  |  |  |  433|  1.04k|    do {                                                                                                     \
  |  |  |  |  434|  1.04k|        unsigned _ha_hashv;                                                                                  \
  |  |  |  |  435|  1.04k|        HASH_VALUE(keyptr, keylen_in, _ha_hashv);                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  155|  1.04k|    do {                                                                                                     \
  |  |  |  |  |  |  156|  1.04k|        HASH_FUNCTION(keyptr, keylen, hashv);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   89|  1.04k|#define HASH_FUNCTION(keyptr, keylen, hashv) HASH_JEN(keyptr, keylen, hashv)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  680|  1.04k|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  681|  1.04k|        unsigned             _hj_i, _hj_j, _hj_k;                                                            \
  |  |  |  |  |  |  |  |  |  |  682|  1.04k|        unsigned const char *_hj_key = (unsigned const char *)(key);                                         \
  |  |  |  |  |  |  |  |  |  |  683|  1.04k|        hashv                        = 0xfeedbeefu;                                                          \
  |  |  |  |  |  |  |  |  |  |  684|  1.04k|        _hj_i = _hj_j = 0x9e3779b9u;                                                                         \
  |  |  |  |  |  |  |  |  |  |  685|  1.04k|        _hj_k         = (unsigned)(keylen);                                                                  \
  |  |  |  |  |  |  |  |  |  |  686|  1.04k|        while (_hj_k >= 12U) {                                                                               \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (686:16): [True: 0, False: 1.04k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  687|      0|            _hj_i += (_hj_key[0] + ((unsigned)_hj_key[1] << 8) + ((unsigned)_hj_key[2] << 16) +              \
  |  |  |  |  |  |  |  |  |  |  688|      0|                      ((unsigned)_hj_key[3] << 24));                                                         \
  |  |  |  |  |  |  |  |  |  |  689|      0|            _hj_j += (_hj_key[4] + ((unsigned)_hj_key[5] << 8) + ((unsigned)_hj_key[6] << 16) +              \
  |  |  |  |  |  |  |  |  |  |  690|      0|                      ((unsigned)_hj_key[7] << 24));                                                         \
  |  |  |  |  |  |  |  |  |  |  691|      0|            hashv += (_hj_key[8] + ((unsigned)_hj_key[9] << 8) + ((unsigned)_hj_key[10] << 16) +             \
  |  |  |  |  |  |  |  |  |  |  692|      0|                      ((unsigned)_hj_key[11] << 24));                                                        \
  |  |  |  |  |  |  |  |  |  |  693|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  |  |  694|      0|            HASH_JEN_MIX(_hj_i, _hj_j, hashv);                                                               \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  649|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |  650|      0|        a -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  651|      0|        a -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  652|      0|        a ^= (c >> 13);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  |  |  653|      0|        b -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  654|      0|        b -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  655|      0|        b ^= (a << 8);                                                                                       \
  |  |  |  |  |  |  |  |  |  |  |  |  656|      0|        c -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  657|      0|        c -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  658|      0|        c ^= (b >> 13);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  |  |  659|      0|        a -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  660|      0|        a -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  661|      0|        a ^= (c >> 12);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  |  |  662|      0|        b -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  663|      0|        b -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  664|      0|        b ^= (a << 16);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  |  |  665|      0|        c -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  666|      0|        c -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  667|      0|        c ^= (b >> 5);                                                                                       \
  |  |  |  |  |  |  |  |  |  |  |  |  668|      0|        a -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  669|      0|        a -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  670|      0|        a ^= (c >> 3);                                                                                       \
  |  |  |  |  |  |  |  |  |  |  |  |  671|      0|        b -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  672|      0|        b -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  673|      0|        b ^= (a << 10);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  |  |  674|      0|        c -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  675|      0|        c -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  676|      0|        c ^= (b >> 15);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  |  |  677|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (677:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  695|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  |  |  696|      0|            _hj_key += 12;                                                                                   \
  |  |  |  |  |  |  |  |  |  |  697|      0|            _hj_k -= 12U;                                                                                    \
  |  |  |  |  |  |  |  |  |  |  698|      0|        }                                                                                                    \
  |  |  |  |  |  |  |  |  |  |  699|  1.04k|        hashv += (unsigned)(keylen);                                                                         \
  |  |  |  |  |  |  |  |  |  |  700|  1.04k|        switch (_hj_k) {                                                                                     \
  |  |  |  |  |  |  |  |  |  |  701|      0|            case 11:                                                                                         \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (701:13): [True: 0, False: 1.04k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  702|      0|                hashv += ((unsigned)_hj_key[10] << 24);                                                      \
  |  |  |  |  |  |  |  |  |  |  703|      0|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  219|      0|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  704|      0|                    case 10 : hashv += ((unsigned)_hj_key[9] << 16);                                         \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (704:21): [True: 0, False: 1.04k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  705|      0|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  219|      0|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  706|      0|                    case 9 : hashv += ((unsigned)_hj_key[8] << 8);                                           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (706:21): [True: 0, False: 1.04k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  707|      0|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  219|      0|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  708|  1.04k|                    case 8 : _hj_j += ((unsigned)_hj_key[7] << 24);                                          \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (708:21): [True: 1.04k, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  709|  1.04k|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  219|  1.04k|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  710|  1.04k|                    case 7 : _hj_j += ((unsigned)_hj_key[6] << 16);                                          \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (710:21): [True: 0, False: 1.04k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  711|  1.04k|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  219|  1.04k|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  712|  1.04k|                    case 6 : _hj_j += ((unsigned)_hj_key[5] << 8);                                           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (712:21): [True: 0, False: 1.04k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  713|  1.04k|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  219|  1.04k|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  714|  1.04k|                    case 5 : _hj_j += _hj_key[4];                                                            \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (714:21): [True: 0, False: 1.04k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  715|  1.04k|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  219|  1.04k|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  716|  1.04k|                    case 4 : _hj_i += ((unsigned)_hj_key[3] << 24);                                          \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (716:21): [True: 0, False: 1.04k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  717|  1.04k|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  219|  1.04k|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  718|  1.04k|                    case 3 : _hj_i += ((unsigned)_hj_key[2] << 16);                                          \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (718:21): [True: 0, False: 1.04k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  719|  1.04k|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  219|  1.04k|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  720|  1.04k|                    case 2 : _hj_i += ((unsigned)_hj_key[1] << 8);                                           \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (720:21): [True: 0, False: 1.04k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  721|  1.04k|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  219|  1.04k|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  722|  1.04k|                    case 1 : _hj_i += _hj_key[0];                                                            \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (722:21): [True: 0, False: 1.04k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  723|  1.04k|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  219|  1.04k|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  724|  1.04k|                    default:;                                                                                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (724:21): [True: 0, False: 1.04k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  725|  1.04k|        }                                                                                                    \
  |  |  |  |  |  |  |  |  |  |  726|  1.04k|        HASH_JEN_MIX(_hj_i, _hj_j, hashv);                                                                   \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  649|  1.04k|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |  650|  1.04k|        a -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  651|  1.04k|        a -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  652|  1.04k|        a ^= (c >> 13);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  |  |  653|  1.04k|        b -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  654|  1.04k|        b -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  655|  1.04k|        b ^= (a << 8);                                                                                       \
  |  |  |  |  |  |  |  |  |  |  |  |  656|  1.04k|        c -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  657|  1.04k|        c -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  658|  1.04k|        c ^= (b >> 13);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  |  |  659|  1.04k|        a -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  660|  1.04k|        a -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  661|  1.04k|        a ^= (c >> 12);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  |  |  662|  1.04k|        b -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  663|  1.04k|        b -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  664|  1.04k|        b ^= (a << 16);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  |  |  665|  1.04k|        c -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  666|  1.04k|        c -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  667|  1.04k|        c ^= (b >> 5);                                                                                       \
  |  |  |  |  |  |  |  |  |  |  |  |  668|  1.04k|        a -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  669|  1.04k|        a -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  670|  1.04k|        a ^= (c >> 3);                                                                                       \
  |  |  |  |  |  |  |  |  |  |  |  |  671|  1.04k|        b -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  672|  1.04k|        b -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  673|  1.04k|        b ^= (a << 10);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  |  |  674|  1.04k|        c -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  675|  1.04k|        c -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  676|  1.04k|        c ^= (b >> 15);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  |  |  677|  1.04k|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (677:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  727|  1.04k|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (727:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  157|  1.04k|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (157:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  436|  1.04k|        HASH_ADD_KEYPTR_BYHASHVALUE(hh, head, keyptr, keylen_in, _ha_hashv, add);                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  410|  1.04k|    do {                                                                                                     \
  |  |  |  |  |  |  411|  1.04k|        IF_HASH_NONFATAL_OOM(int _ha_oomed = 0;)                                                             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  120|  1.04k|#define IF_HASH_NONFATAL_OOM(x) x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  412|  1.04k|        (add)->hh.hashv  = (hashval);                                                                        \
  |  |  |  |  |  |  413|  1.04k|        (add)->hh.key    = (const void *)(keyptr);                                                           \
  |  |  |  |  |  |  414|  1.04k|        (add)->hh.keylen = (unsigned)(keylen_in);                                                            \
  |  |  |  |  |  |  415|  1.04k|        if (!(head)) {                                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (415:13): [True: 415, False: 630]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  416|    415|            (add)->hh.next = NULL;                                                                           \
  |  |  |  |  |  |  417|    415|            (add)->hh.prev = NULL;                                                                           \
  |  |  |  |  |  |  418|    415|            HASH_MAKE_TABLE(hh, add, _ha_oomed);                                                             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  221|    415|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  222|    415|        (head)->hh.tbl = (UT_hash_table *)uthash_malloc(sizeof(UT_hash_table));                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  157|    415|#define uthash_malloc(sz)    H5MM_malloc(sz)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   38|    415|#define H5MM_malloc(Z) malloc(Z)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  223|    415|        if (!(head)->hh.tbl) {                                                                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (223:13): [True: 0, False: 415]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  224|      0|            HASH_RECORD_OOM(oomed);                                                                          \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  117|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  118|      0|        (oomed) = 1;                                                                                         \
  |  |  |  |  |  |  |  |  |  |  119|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (119:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  225|      0|        }                                                                                                    \
  |  |  |  |  |  |  |  |  226|    415|        else {                                                                                               \
  |  |  |  |  |  |  |  |  227|    415|            uthash_bzero((head)->hh.tbl, sizeof(UT_hash_table));                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   82|    415|#define uthash_bzero(a, n) memset(a, '\0', n)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  228|    415|            (head)->hh.tbl->tail             = &((head)->hh);                                                \
  |  |  |  |  |  |  |  |  229|    415|            (head)->hh.tbl->num_buckets      = HASH_INITIAL_NUM_BUCKETS;                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  135|    415|#define HASH_INITIAL_NUM_BUCKETS      32U /* initial number of buckets        */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  230|    415|            (head)->hh.tbl->log2_num_buckets = HASH_INITIAL_NUM_BUCKETS_LOG2;                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  136|    415|#define HASH_INITIAL_NUM_BUCKETS_LOG2 5U  /* lg2 of initial number of buckets */
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  231|    415|            (head)->hh.tbl->hho              = (char *)(&(head)->hh) - (char *)(head);                       \
  |  |  |  |  |  |  |  |  232|    415|            (head)->hh.tbl->buckets =                                                                        \
  |  |  |  |  |  |  |  |  233|    415|                (UT_hash_bucket *)uthash_malloc(HASH_INITIAL_NUM_BUCKETS * sizeof(struct UT_hash_bucket));   \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  157|    415|#define uthash_malloc(sz)    H5MM_malloc(sz)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   38|    415|#define H5MM_malloc(Z) malloc(Z)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  234|    415|            (head)->hh.tbl->signature = HASH_SIGNATURE;                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 1126|    415|#define HASH_SIGNATURE       0xa0111fe1u
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  235|    415|            if (!(head)->hh.tbl->buckets) {                                                                  \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (235:17): [True: 0, False: 415]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  236|      0|                HASH_RECORD_OOM(oomed);                                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  117|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  118|      0|        (oomed) = 1;                                                                                         \
  |  |  |  |  |  |  |  |  |  |  119|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (119:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  237|      0|                uthash_free((head)->hh.tbl, sizeof(UT_hash_table));                                          \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  158|      0|#define uthash_free(ptr, sz) H5MM_free(ptr) /* Ignoring sz is intentional */
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   37|      0|#define H5MM_free(Z)   free(Z)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  238|      0|            }                                                                                                \
  |  |  |  |  |  |  |  |  239|    415|            else {                                                                                           \
  |  |  |  |  |  |  |  |  240|    415|                uthash_bzero((head)->hh.tbl->buckets,                                                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   82|    415|#define uthash_bzero(a, n) memset(a, '\0', n)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  241|    415|                             HASH_INITIAL_NUM_BUCKETS * sizeof(struct UT_hash_bucket));                      \
  |  |  |  |  |  |  |  |  242|    415|                HASH_BLOOM_MAKE((head)->hh.tbl, oomed);                                                      \
  |  |  |  |  |  |  |  |  243|    415|                IF_HASH_NONFATAL_OOM(if (oomed) {                                                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  120|    830|#define IF_HASH_NONFATAL_OOM(x) x
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (120:33): [True: 0, False: 415]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  244|    415|                    uthash_free((head)->hh.tbl->buckets,                                                     \
  |  |  |  |  |  |  |  |  245|    415|                                HASH_INITIAL_NUM_BUCKETS * sizeof(struct UT_hash_bucket));                   \
  |  |  |  |  |  |  |  |  246|    415|                    uthash_free((head)->hh.tbl, sizeof(UT_hash_table));                                      \
  |  |  |  |  |  |  |  |  247|    415|                })                                                                                           \
  |  |  |  |  |  |  |  |  248|    415|            }                                                                                                \
  |  |  |  |  |  |  |  |  249|    415|        }                                                                                                    \
  |  |  |  |  |  |  |  |  250|    415|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (250:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  419|    415|            IF_HASH_NONFATAL_OOM(if (!_ha_oomed) { )                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  120|    830|#define IF_HASH_NONFATAL_OOM(x) x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (120:33): [True: 415, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  420|    415|      (head) = (add);                                                                                        \
  |  |  |  |  |  |  421|    415|    IF_HASH_NONFATAL_OOM(                                                                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  120|    830|#define IF_HASH_NONFATAL_OOM(x) x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  422|    415|            })                                                                                               \
  |  |  |  |  |  |  423|    415|        }                                                                                                    \
  |  |  |  |  |  |  424|  1.04k|        else {                                                                                               \
  |  |  |  |  |  |  425|    630|            (add)->hh.tbl = (head)->hh.tbl;                                                                  \
  |  |  |  |  |  |  426|    630|            HASH_APPEND_LIST(hh, head, add);                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  287|    630|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  288|    630|        (add)->hh.next             = NULL;                                                                   \
  |  |  |  |  |  |  |  |  289|    630|        (add)->hh.prev             = ELMT_FROM_HH((head)->hh.tbl, (head)->hh.tbl->tail);                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  140|    630|#define ELMT_FROM_HH(tbl, hhp) ((void *)(((char *)(hhp)) - ((tbl)->hho)))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  290|    630|        (head)->hh.tbl->tail->next = (add);                                                                  \
  |  |  |  |  |  |  |  |  291|    630|        (head)->hh.tbl->tail       = &((add)->hh);                                                           \
  |  |  |  |  |  |  |  |  292|    630|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (292:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  427|    630|        }                                                                                                    \
  |  |  |  |  |  |  428|  1.04k|        HASH_ADD_TO_TABLE(hh, head, keyptr, keylen_in, hashval, add, _ha_oomed);                             \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  322|  1.04k|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  323|  1.04k|        if (!(oomed)) {                                                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (323:13): [True: 1.04k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  324|  1.04k|            unsigned _ha_bkt;                                                                                \
  |  |  |  |  |  |  |  |  325|  1.04k|            (head)->hh.tbl->num_items++;                                                                     \
  |  |  |  |  |  |  |  |  326|  1.04k|            HASH_TO_BKT(hashval, (head)->hh.tbl->num_buckets, _ha_bkt);                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  446|  1.04k|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  447|  1.04k|        bkt = ((hashv) & ((num_bkts)-1U));                                                                   \
  |  |  |  |  |  |  |  |  |  |  448|  1.04k|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (448:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  327|  1.04k|            HASH_ADD_TO_BKT((head)->hh.tbl->buckets[_ha_bkt], hh, &(add)->hh, oomed);                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  813|  1.04k|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  814|  1.04k|        UT_hash_bucket *_ha_head = &(head);                                                                  \
  |  |  |  |  |  |  |  |  |  |  815|  1.04k|        _ha_head->count++;                                                                                   \
  |  |  |  |  |  |  |  |  |  |  816|  1.04k|        (addhh)->hh_next = _ha_head->hh_head;                                                                \
  |  |  |  |  |  |  |  |  |  |  817|  1.04k|        (addhh)->hh_prev = NULL;                                                                             \
  |  |  |  |  |  |  |  |  |  |  818|  1.04k|        if (_ha_head->hh_head != NULL) {                                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (818:13): [True: 427, False: 618]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  819|    427|            _ha_head->hh_head->hh_prev = (addhh);                                                            \
  |  |  |  |  |  |  |  |  |  |  820|    427|        }                                                                                                    \
  |  |  |  |  |  |  |  |  |  |  821|  1.04k|        _ha_head->hh_head = (addhh);                                                                         \
  |  |  |  |  |  |  |  |  |  |  822|  1.04k|        if ((_ha_head->count >= ((_ha_head->expand_mult + 1U) * HASH_BKT_CAPACITY_THRESH)) &&                \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  137|  1.04k|#define HASH_BKT_CAPACITY_THRESH      10U /* expand when bucket count reaches */
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (822:13): [True: 1, False: 1.04k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  823|  1.04k|            !(addhh)->tbl->noexpand) {                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (823:13): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  824|      1|            HASH_EXPAND_BUCKETS(addhh, (addhh)->tbl, oomed);                                                 \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  875|      1|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |  876|      1|        unsigned               _he_bkt;                                                                      \
  |  |  |  |  |  |  |  |  |  |  |  |  877|      1|        unsigned               _he_bkt_i;                                                                    \
  |  |  |  |  |  |  |  |  |  |  |  |  878|      1|        struct UT_hash_handle *_he_thh, *_he_hh_nxt;                                                         \
  |  |  |  |  |  |  |  |  |  |  |  |  879|      1|        UT_hash_bucket        *_he_new_buckets, *_he_newbkt;                                                 \
  |  |  |  |  |  |  |  |  |  |  |  |  880|      1|        _he_new_buckets =                                                                                    \
  |  |  |  |  |  |  |  |  |  |  |  |  881|      1|            (UT_hash_bucket *)uthash_malloc(sizeof(struct UT_hash_bucket) * (tbl)->num_buckets * 2U);        \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  157|      1|#define uthash_malloc(sz)    H5MM_malloc(sz)
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |   38|      1|#define H5MM_malloc(Z) malloc(Z)
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  882|      1|        if (!_he_new_buckets) {                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (882:13): [True: 0, False: 1]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  883|      0|            HASH_RECORD_OOM(oomed);                                                                          \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  117|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  118|      0|        (oomed) = 1;                                                                                         \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  119|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (119:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  884|      0|        }                                                                                                    \
  |  |  |  |  |  |  |  |  |  |  |  |  885|      1|        else {                                                                                               \
  |  |  |  |  |  |  |  |  |  |  |  |  886|      1|            uthash_bzero(_he_new_buckets, sizeof(struct UT_hash_bucket) * (tbl)->num_buckets * 2U);          \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |   82|      1|#define uthash_bzero(a, n) memset(a, '\0', n)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  887|      1|            (tbl)->ideal_chain_maxlen =                                                                      \
  |  |  |  |  |  |  |  |  |  |  |  |  888|      1|                ((tbl)->num_items >> ((tbl)->log2_num_buckets + 1U)) +                                       \
  |  |  |  |  |  |  |  |  |  |  |  |  889|      1|                ((((tbl)->num_items & (((tbl)->num_buckets * 2U) - 1U)) != 0U) ? 1U : 0U);                   \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (889:18): [True: 1, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  890|      1|            (tbl)->nonideal_items = 0;                                                                       \
  |  |  |  |  |  |  |  |  |  |  |  |  891|     33|            for (_he_bkt_i = 0; _he_bkt_i < (tbl)->num_buckets; _he_bkt_i++) {                               \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (891:33): [True: 32, False: 1]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  892|     32|                _he_thh = (tbl)->buckets[_he_bkt_i].hh_head;                                                 \
  |  |  |  |  |  |  |  |  |  |  |  |  893|    184|                while (_he_thh != NULL) {                                                                    \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (893:24): [True: 152, False: 32]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  894|    152|                    _he_hh_nxt = _he_thh->hh_next;                                                           \
  |  |  |  |  |  |  |  |  |  |  |  |  895|    152|                    HASH_TO_BKT(_he_thh->hashv, (tbl)->num_buckets * 2U, _he_bkt);                           \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  446|    152|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  447|    152|        bkt = ((hashv) & ((num_bkts)-1U));                                                                   \
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  448|    152|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (448:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  896|    152|                    _he_newbkt = &(_he_new_buckets[_he_bkt]);                                                \
  |  |  |  |  |  |  |  |  |  |  |  |  897|    152|                    if (++(_he_newbkt->count) > (tbl)->ideal_chain_maxlen) {                                 \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (897:25): [True: 29, False: 123]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  898|     29|                        (tbl)->nonideal_items++;                                                             \
  |  |  |  |  |  |  |  |  |  |  |  |  899|     29|                        if (_he_newbkt->count > _he_newbkt->expand_mult * (tbl)->ideal_chain_maxlen) {       \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (899:29): [True: 24, False: 5]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  900|     24|                            _he_newbkt->expand_mult++;                                                       \
  |  |  |  |  |  |  |  |  |  |  |  |  901|     24|                        }                                                                                    \
  |  |  |  |  |  |  |  |  |  |  |  |  902|     29|                    }                                                                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  903|    152|                    _he_thh->hh_prev = NULL;                                                                 \
  |  |  |  |  |  |  |  |  |  |  |  |  904|    152|                    _he_thh->hh_next = _he_newbkt->hh_head;                                                  \
  |  |  |  |  |  |  |  |  |  |  |  |  905|    152|                    if (_he_newbkt->hh_head != NULL) {                                                       \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (905:25): [True: 94, False: 58]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  906|     94|                        _he_newbkt->hh_head->hh_prev = _he_thh;                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  907|     94|                    }                                                                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  908|    152|                    _he_newbkt->hh_head = _he_thh;                                                           \
  |  |  |  |  |  |  |  |  |  |  |  |  909|    152|                    _he_thh             = _he_hh_nxt;                                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  910|    152|                }                                                                                            \
  |  |  |  |  |  |  |  |  |  |  |  |  911|     32|            }                                                                                                \
  |  |  |  |  |  |  |  |  |  |  |  |  912|      1|            uthash_free((tbl)->buckets, (tbl)->num_buckets * sizeof(struct UT_hash_bucket));                 \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  158|      1|#define uthash_free(ptr, sz) H5MM_free(ptr) /* Ignoring sz is intentional */
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |   37|      1|#define H5MM_free(Z)   free(Z)
  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  913|      1|            (tbl)->num_buckets *= 2U;                                                                        \
  |  |  |  |  |  |  |  |  |  |  |  |  914|      1|            (tbl)->log2_num_buckets++;                                                                       \
  |  |  |  |  |  |  |  |  |  |  |  |  915|      1|            (tbl)->buckets = _he_new_buckets;                                                                \
  |  |  |  |  |  |  |  |  |  |  |  |  916|      1|            (tbl)->ineff_expands =                                                                           \
  |  |  |  |  |  |  |  |  |  |  |  |  917|      1|                ((tbl)->nonideal_items > ((tbl)->num_items >> 1)) ? ((tbl)->ineff_expands + 1U) : 0U;        \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (917:17): [True: 0, False: 1]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  918|      1|            if ((tbl)->ineff_expands > 1U) {                                                                 \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (918:17): [True: 0, False: 1]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  919|      0|                (tbl)->noexpand = 1;                                                                         \
  |  |  |  |  |  |  |  |  |  |  |  |  920|      0|                uthash_noexpand_fyi(tbl);                                                                    \
  |  |  |  |  |  |  |  |  |  |  |  |  921|      0|            }                                                                                                \
  |  |  |  |  |  |  |  |  |  |  |  |  922|      1|            uthash_expand_fyi(tbl);                                                                          \
  |  |  |  |  |  |  |  |  |  |  |  |  923|      1|        }                                                                                                    \
  |  |  |  |  |  |  |  |  |  |  |  |  924|      1|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (924:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  825|      1|            IF_HASH_NONFATAL_OOM(if (oomed) { HASH_DEL_IN_BKT(head, addhh); })                               \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  120|      2|#define IF_HASH_NONFATAL_OOM(x) x
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (120:33): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (120:33): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (120:33): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (120:33): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (120:33): [True: 0, False: 1]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  826|      1|        }                                                                                                    \
  |  |  |  |  |  |  |  |  |  |  827|  1.04k|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (827:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  328|  1.04k|            if (oomed) {                                                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (328:17): [True: 0, False: 1.04k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|                HASH_ROLLBACK_BKT(hh, head, &(add)->hh);                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  145|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  146|      0|        struct UT_hash_handle *_hd_hh_item = (itemptrhh);                                                    \
  |  |  |  |  |  |  |  |  |  |  147|      0|        unsigned               _hd_bkt;                                                                      \
  |  |  |  |  |  |  |  |  |  |  148|      0|        HASH_TO_BKT(_hd_hh_item->hashv, (head)->hh.tbl->num_buckets, _hd_bkt);                               \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  446|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |  447|      0|        bkt = ((hashv) & ((num_bkts)-1U));                                                                   \
  |  |  |  |  |  |  |  |  |  |  |  |  448|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (448:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  149|      0|        (head)->hh.tbl->buckets[_hd_bkt].count++;                                                            \
  |  |  |  |  |  |  |  |  |  |  150|      0|        _hd_hh_item->hh_next = NULL;                                                                         \
  |  |  |  |  |  |  |  |  |  |  151|      0|        _hd_hh_item->hh_prev = NULL;                                                                         \
  |  |  |  |  |  |  |  |  |  |  152|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (152:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  330|      0|                HASH_DELETE_HH(hh, head, &(add)->hh);                                                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  465|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  466|      0|        struct UT_hash_handle *_hd_hh_del = (delptrhh);                                                      \
  |  |  |  |  |  |  |  |  |  |  467|      0|        if ((_hd_hh_del->prev == NULL) && (_hd_hh_del->next == NULL)) {                                      \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (467:13): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  Branch (467:43): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  468|      0|            HASH_BLOOM_FREE((head)->hh.tbl);                                                                 \
  |  |  |  |  |  |  |  |  |  |  469|      0|            uthash_free((head)->hh.tbl->buckets,                                                             \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  158|      0|#define uthash_free(ptr, sz) H5MM_free(ptr) /* Ignoring sz is intentional */
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |   37|      0|#define H5MM_free(Z)   free(Z)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  470|      0|                        (head)->hh.tbl->num_buckets * sizeof(struct UT_hash_bucket));                        \
  |  |  |  |  |  |  |  |  |  |  471|      0|            uthash_free((head)->hh.tbl, sizeof(UT_hash_table));                                              \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  158|      0|#define uthash_free(ptr, sz) H5MM_free(ptr) /* Ignoring sz is intentional */
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |   37|      0|#define H5MM_free(Z)   free(Z)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  472|      0|            (head) = NULL;                                                                                   \
  |  |  |  |  |  |  |  |  |  |  473|      0|        }                                                                                                    \
  |  |  |  |  |  |  |  |  |  |  474|      0|        else {                                                                                               \
  |  |  |  |  |  |  |  |  |  |  475|      0|            unsigned _hd_bkt;                                                                                \
  |  |  |  |  |  |  |  |  |  |  476|      0|            if (_hd_hh_del == (head)->hh.tbl->tail) {                                                        \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (476:17): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  477|      0|                (head)->hh.tbl->tail = HH_FROM_ELMT((head)->hh.tbl, _hd_hh_del->prev);                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  142|      0|#define HH_FROM_ELMT(tbl, elp) ((UT_hash_handle *)(void *)(((char *)(elp)) + ((tbl)->hho)))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  478|      0|            }                                                                                                \
  |  |  |  |  |  |  |  |  |  |  479|      0|            if (_hd_hh_del->prev != NULL) {                                                                  \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (479:17): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  480|      0|                HH_FROM_ELMT((head)->hh.tbl, _hd_hh_del->prev)->next = _hd_hh_del->next;                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  142|      0|#define HH_FROM_ELMT(tbl, elp) ((UT_hash_handle *)(void *)(((char *)(elp)) + ((tbl)->hho)))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  481|      0|            }                                                                                                \
  |  |  |  |  |  |  |  |  |  |  482|      0|            else {                                                                                           \
  |  |  |  |  |  |  |  |  |  |  483|      0|                DECLTYPE_ASSIGN(head, _hd_hh_del->next);                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   70|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   71|      0|        (dst) = DECLTYPE(dst)(src);                                                                          \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  |   57|      0|#define DECLTYPE(x) (__typeof(x))
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   72|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (72:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  484|      0|            }                                                                                                \
  |  |  |  |  |  |  |  |  |  |  485|      0|            if (_hd_hh_del->next != NULL) {                                                                  \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (485:17): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  486|      0|                HH_FROM_ELMT((head)->hh.tbl, _hd_hh_del->next)->prev = _hd_hh_del->prev;                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  142|      0|#define HH_FROM_ELMT(tbl, elp) ((UT_hash_handle *)(void *)(((char *)(elp)) + ((tbl)->hho)))
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  487|      0|            }                                                                                                \
  |  |  |  |  |  |  |  |  |  |  488|      0|            HASH_TO_BKT(_hd_hh_del->hashv, (head)->hh.tbl->num_buckets, _hd_bkt);                            \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  446|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |  447|      0|        bkt = ((hashv) & ((num_bkts)-1U));                                                                   \
  |  |  |  |  |  |  |  |  |  |  |  |  448|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (448:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  489|      0|            HASH_DEL_IN_BKT((head)->hh.tbl->buckets[_hd_bkt], _hd_hh_del);                                   \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  831|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |  832|      0|        UT_hash_bucket *_hd_head = &(head);                                                                  \
  |  |  |  |  |  |  |  |  |  |  |  |  833|      0|        _hd_head->count--;                                                                                   \
  |  |  |  |  |  |  |  |  |  |  |  |  834|      0|        if (_hd_head->hh_head == (delhh)) {                                                                  \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (834:13): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  835|      0|            _hd_head->hh_head = (delhh)->hh_next;                                                            \
  |  |  |  |  |  |  |  |  |  |  |  |  836|      0|        }                                                                                                    \
  |  |  |  |  |  |  |  |  |  |  |  |  837|      0|        if ((delhh)->hh_prev) {                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (837:13): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  838|      0|            (delhh)->hh_prev->hh_next = (delhh)->hh_next;                                                    \
  |  |  |  |  |  |  |  |  |  |  |  |  839|      0|        }                                                                                                    \
  |  |  |  |  |  |  |  |  |  |  |  |  840|      0|        if ((delhh)->hh_next) {                                                                              \
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (840:13): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  841|      0|            (delhh)->hh_next->hh_prev = (delhh)->hh_prev;                                                    \
  |  |  |  |  |  |  |  |  |  |  |  |  842|      0|        }                                                                                                    \
  |  |  |  |  |  |  |  |  |  |  |  |  843|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (843:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  490|      0|            (head)->hh.tbl->num_items--;                                                                     \
  |  |  |  |  |  |  |  |  |  |  491|      0|        }                                                                                                    \
  |  |  |  |  |  |  |  |  |  |  492|      0|        HASH_FSCK(hh, head, "HASH_DELETE_HH");                                                               \
  |  |  |  |  |  |  |  |  |  |  493|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (493:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  331|      0|                (add)->hh.tbl = NULL;                                                                        \
  |  |  |  |  |  |  |  |  332|      0|                uthash_nonfatal_oom(add);                                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  113|      0|    } while (0) /* non-fatal OOM error */
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  333|      0|            }                                                                                                \
  |  |  |  |  |  |  |  |  334|  1.04k|            else {                                                                                           \
  |  |  |  |  |  |  |  |  335|  1.04k|                HASH_BLOOM_ADD((head)->hh.tbl, hashval);                                                     \
  |  |  |  |  |  |  |  |  336|  1.04k|                HASH_EMIT_KEY(hh, head, keyptr, keylen_in);                                                  \
  |  |  |  |  |  |  |  |  337|  1.04k|            }                                                                                                \
  |  |  |  |  |  |  |  |  338|  1.04k|        }                                                                                                    \
  |  |  |  |  |  |  |  |  339|  1.04k|        else {                                                                                               \
  |  |  |  |  |  |  |  |  340|      0|            (add)->hh.tbl = NULL;                                                                            \
  |  |  |  |  |  |  |  |  341|      0|            uthash_nonfatal_oom(add);                                                                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  112|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  113|      0|    } while (0) /* non-fatal OOM error */
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (113:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  342|      0|        }                                                                                                    \
  |  |  |  |  |  |  |  |  343|  1.04k|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (343:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  429|  1.04k|        HASH_FSCK(hh, head, "HASH_ADD_KEYPTR_BYHASHVALUE");                                                  \
  |  |  |  |  |  |  430|  1.04k|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (430:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  437|  1.04k|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (437:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  515|  1.04k|    type_info->id_count++;
  516|  1.04k|    type_info->nextid++;
  517|       |
  518|       |    /* Sanity check for the 'nextid' getting too large and wrapping around */
  519|  1.04k|    assert(type_info->nextid <= ID_MASK);
  520|       |
  521|       |    /* Set the most recent ID to this object */
  522|  1.04k|    type_info->last_id_info = info;
  523|       |
  524|       |    /* Set return value */
  525|  1.04k|    ret_value = new_id;
  526|       |
  527|  1.04k|done:
  528|  1.04k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  1.04k|    ;                                                                                                        \
  |  | 1573|  1.04k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  1.04k|    return (ret_value);                                                                                      \
  |  | 1575|  1.04k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  529|  1.04k|} /* end H5I__register() */
H5I_register:
  543|  1.04k|{
  544|  1.04k|    hid_t ret_value = H5I_INVALID_HID; /* Return value */
  ------------------
  |  |   75|  1.04k|#define H5I_INVALID_HID (-1)
  ------------------
  545|       |
  546|  1.04k|    FUNC_ENTER_NOAPI(H5I_INVALID_HID)
  ------------------
  |  | 1391|  1.04k|    {                                                                                                        \
  |  | 1392|  1.04k|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|  1.04k|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|  1.04k|                                                                                                             \
  |  |  |  | 1267|  1.04k|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|  1.04k|        {
  ------------------
  547|       |
  548|       |    /* Sanity checks */
  549|  1.04k|    assert(type >= H5I_FILE && type < H5I_NTYPES);
  550|  1.04k|    assert(object);
  551|       |
  552|       |    /* Retrieve ID for object */
  553|  1.04k|    if (H5I_INVALID_HID == (ret_value = H5I__register(type, object, app_ref, NULL, NULL)))
  ------------------
  |  |   75|  1.04k|#define H5I_INVALID_HID (-1)
  ------------------
  |  Branch (553:9): [True: 0, False: 1.04k]
  ------------------
  554|      0|        HGOTO_ERROR(H5E_ID, H5E_CANTREGISTER, H5I_INVALID_HID, "unable to register object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  555|       |
  556|  1.04k|done:
  557|  1.04k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  1.04k|    ;                                                                                                        \
  |  | 1573|  1.04k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  1.04k|    return (ret_value);                                                                                      \
  |  | 1575|  1.04k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  558|  1.04k|} /* end H5I_register() */
H5I_object:
  683|  1.14k|{
  684|  1.14k|    H5I_id_info_t *info      = NULL; /* Pointer to the ID info */
  685|  1.14k|    void          *ret_value = NULL; /* Return value */
  686|       |
  687|  1.14k|    FUNC_ENTER_NOAPI_NOERR
  ------------------
  |  | 1397|  1.14k|    {                                                                                                        \
  |  | 1398|  1.14k|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|  1.14k|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1399|  1.14k|        {
  ------------------
  688|       |
  689|       |    /* General lookup of the ID */
  690|  1.14k|    if (NULL != (info = H5I__find_id(id)))
  ------------------
  |  Branch (690:9): [True: 1.14k, False: 0]
  ------------------
  691|       |        /* Get the object pointer to return */
  692|  1.14k|        ret_value = info->u.object;
  693|       |
  694|  1.14k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  1.14k|    ;                                                                                                        \
  |  | 1573|  1.14k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  1.14k|    return (ret_value);                                                                                      \
  |  | 1575|  1.14k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  695|  1.14k|} /* end H5I_object() */
H5I_object_verify:
  711|  6.46k|{
  712|  6.46k|    H5I_id_info_t *info      = NULL; /* Pointer to the ID info */
  713|  6.46k|    void          *ret_value = NULL; /* Return value */
  714|       |
  715|  6.46k|    FUNC_ENTER_NOAPI_NOERR
  ------------------
  |  | 1397|  6.46k|    {                                                                                                        \
  |  | 1398|  6.46k|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|  6.46k|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1399|  6.46k|        {
  ------------------
  716|       |
  717|  6.46k|    assert(type >= 1 && (int)type < H5I_next_type_g);
  718|       |
  719|       |    /* Verify that the type of the ID is correct & lookup the ID */
  720|  6.46k|    if (type == H5I_TYPE(id) && NULL != (info = H5I__find_id(id)))
  ------------------
  |  |   51|  12.9k|#define H5I_TYPE(a) ((H5I_type_t)(((hid_t)(a) >> ID_BITS) & TYPE_MASK))
  |  |  ------------------
  |  |  |  |   47|  6.46k|#define ID_BITS ((sizeof(hid_t) * 8) - (TYPE_BITS + 1))
  |  |  |  |  ------------------
  |  |  |  |  |  |   38|  6.46k|#define TYPE_BITS 7
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define H5I_TYPE(a) ((H5I_type_t)(((hid_t)(a) >> ID_BITS) & TYPE_MASK))
  |  |  ------------------
  |  |  |  |   39|  6.46k|#define TYPE_MASK (((hid_t)1 << TYPE_BITS) - 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   38|  6.46k|#define TYPE_BITS 7
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (720:9): [True: 6.43k, False: 30]
  |  Branch (720:33): [True: 6.43k, False: 0]
  ------------------
  721|       |        /* Get the object pointer to return */
  722|  6.43k|        ret_value = info->u.object;
  723|       |
  724|  6.46k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  6.46k|    ;                                                                                                        \
  |  | 1573|  6.46k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  6.46k|    return (ret_value);                                                                                      \
  |  | 1575|  6.46k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  725|  6.46k|} /* H5I_object_verify() */
H5I_get_type:
  744|  1.88k|{
  745|  1.88k|    H5I_type_t ret_value = H5I_BADID; /* Return value */
  746|       |
  747|  1.88k|    FUNC_ENTER_NOAPI_NOERR
  ------------------
  |  | 1397|  1.88k|    {                                                                                                        \
  |  | 1398|  1.88k|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|  1.88k|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1399|  1.88k|        {
  ------------------
  748|       |
  749|  1.88k|    if (id > 0)
  ------------------
  |  Branch (749:9): [True: 1.85k, False: 28]
  ------------------
  750|  1.85k|        ret_value = H5I_TYPE(id);
  ------------------
  |  |   51|  1.85k|#define H5I_TYPE(a) ((H5I_type_t)(((hid_t)(a) >> ID_BITS) & TYPE_MASK))
  |  |  ------------------
  |  |  |  |   47|  1.85k|#define ID_BITS ((sizeof(hid_t) * 8) - (TYPE_BITS + 1))
  |  |  |  |  ------------------
  |  |  |  |  |  |   38|  1.85k|#define TYPE_BITS 7
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define H5I_TYPE(a) ((H5I_type_t)(((hid_t)(a) >> ID_BITS) & TYPE_MASK))
  |  |  ------------------
  |  |  |  |   39|  1.85k|#define TYPE_MASK (((hid_t)1 << TYPE_BITS) - 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   38|  1.85k|#define TYPE_BITS 7
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  751|       |
  752|  1.88k|    assert(ret_value >= H5I_BADID && (int)ret_value < H5I_next_type_g);
  753|       |
  754|  1.88k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  1.88k|    ;                                                                                                        \
  |  | 1573|  1.88k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  1.88k|    return (ret_value);                                                                                      \
  |  | 1575|  1.88k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  755|  1.88k|} /* end H5I_get_type() */
H5I_remove:
  899|    179|{
  900|    179|    H5I_type_info_t *type_info = NULL;      /* Pointer to the ID type */
  901|    179|    H5I_type_t       type      = H5I_BADID; /* ID's type */
  902|    179|    void            *ret_value = NULL;      /* Return value */
  903|       |
  904|    179|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|    179|    {                                                                                                        \
  |  | 1392|    179|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    179|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    179|                                                                                                             \
  |  |  |  | 1267|    179|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    179|        {
  ------------------
  905|       |
  906|       |    /* Check arguments */
  907|    179|    type = H5I_TYPE(id);
  ------------------
  |  |   51|    179|#define H5I_TYPE(a) ((H5I_type_t)(((hid_t)(a) >> ID_BITS) & TYPE_MASK))
  |  |  ------------------
  |  |  |  |   47|    179|#define ID_BITS ((sizeof(hid_t) * 8) - (TYPE_BITS + 1))
  |  |  |  |  ------------------
  |  |  |  |  |  |   38|    179|#define TYPE_BITS 7
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define H5I_TYPE(a) ((H5I_type_t)(((hid_t)(a) >> ID_BITS) & TYPE_MASK))
  |  |  ------------------
  |  |  |  |   39|    179|#define TYPE_MASK (((hid_t)1 << TYPE_BITS) - 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   38|    179|#define TYPE_BITS 7
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  908|    179|    if (type <= H5I_BADID || (int)type >= H5I_next_type_g)
  ------------------
  |  Branch (908:9): [True: 0, False: 179]
  |  Branch (908:30): [True: 0, False: 179]
  ------------------
  909|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADRANGE, NULL, "invalid type number");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  910|    179|    type_info = H5I_type_info_array_g[type];
  911|    179|    if (type_info == NULL || type_info->init_count <= 0)
  ------------------
  |  Branch (911:9): [True: 0, False: 179]
  |  Branch (911:30): [True: 0, False: 179]
  ------------------
  912|      0|        HGOTO_ERROR(H5E_ID, H5E_BADGROUP, NULL, "invalid type");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  913|       |
  914|       |    /* Remove the node from the type */
  915|    179|    if (NULL == (ret_value = H5I__remove_common(type_info, id)))
  ------------------
  |  Branch (915:9): [True: 0, False: 179]
  ------------------
  916|      0|        HGOTO_ERROR(H5E_ID, H5E_CANTDELETE, NULL, "can't remove ID node");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  917|       |
  918|    179|done:
  919|    179|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    179|    ;                                                                                                        \
  |  | 1573|    179|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    179|    return (ret_value);                                                                                      \
  |  | 1575|    179|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  920|    179|} /* end H5I_remove() */
H5I_dec_ref:
 1003|    297|{
 1004|    297|    int ret_value = 0; /* Return value */
 1005|       |
 1006|    297|    FUNC_ENTER_NOAPI((-1))
  ------------------
  |  | 1391|    297|    {                                                                                                        \
  |  | 1392|    297|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    297|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    297|                                                                                                             \
  |  |  |  | 1267|    297|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    297|        {
  ------------------
 1007|       |
 1008|       |    /* Sanity check */
 1009|    297|    assert(id >= 0);
 1010|       |
 1011|       |    /* Synchronously decrement refcount on ID */
 1012|    297|    if ((ret_value = H5I__dec_ref(id, H5_REQUEST_NULL)) < 0)
  ------------------
  |  |  442|    297|#define H5_REQUEST_NULL NULL
  ------------------
  |  Branch (1012:9): [True: 0, False: 297]
  ------------------
 1013|      0|        HGOTO_ERROR(H5E_ID, H5E_CANTDEC, (-1), "can't decrement ID ref count");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1014|       |
 1015|    297|done:
 1016|    297|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    297|    ;                                                                                                        \
  |  | 1573|    297|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    297|    return (ret_value);                                                                                      \
  |  | 1575|    297|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1017|    297|} /* end H5I_dec_ref() */
H5I_dec_app_ref:
 1080|    508|{
 1081|    508|    int ret_value = 0; /* Return value */
 1082|       |
 1083|    508|    FUNC_ENTER_NOAPI((-1))
  ------------------
  |  | 1391|    508|    {                                                                                                        \
  |  | 1392|    508|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    508|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    508|                                                                                                             \
  |  |  |  | 1267|    508|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    508|        {
  ------------------
 1084|       |
 1085|       |    /* Sanity check */
 1086|    508|    assert(id >= 0);
 1087|       |
 1088|       |    /* Synchronously decrement refcount on ID */
 1089|    508|    if ((ret_value = H5I__dec_app_ref(id, H5_REQUEST_NULL)) < 0)
  ------------------
  |  |  442|    508|#define H5_REQUEST_NULL NULL
  ------------------
  |  Branch (1089:9): [True: 0, False: 508]
  ------------------
 1090|      0|        HGOTO_ERROR(H5E_ID, H5E_CANTDEC, (-1), "can't decrement ID ref count");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1091|       |
 1092|    508|done:
 1093|    508|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    508|    ;                                                                                                        \
  |  | 1573|    508|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    508|    return (ret_value);                                                                                      \
  |  | 1575|    508|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1094|    508|} /* end H5I_dec_app_ref() */
H5I_dec_app_ref_always_close:
 1185|     93|{
 1186|     93|    int ret_value = 0; /* Return value */
 1187|       |
 1188|     93|    FUNC_ENTER_NOAPI((-1))
  ------------------
  |  | 1391|     93|    {                                                                                                        \
  |  | 1392|     93|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     93|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     93|                                                                                                             \
  |  |  |  | 1267|     93|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     93|        {
  ------------------
 1189|       |
 1190|       |    /* Sanity check */
 1191|     93|    assert(id >= 0);
 1192|       |
 1193|       |    /* Synchronously decrement refcount on ID */
 1194|     93|    if ((ret_value = H5I__dec_app_ref_always_close(id, H5_REQUEST_NULL)) < 0)
  ------------------
  |  |  442|     93|#define H5_REQUEST_NULL NULL
  ------------------
  |  Branch (1194:9): [True: 0, False: 93]
  ------------------
 1195|      0|        HGOTO_ERROR(H5E_ID, H5E_CANTDEC, (-1), "can't decrement ID ref count");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1196|       |
 1197|     93|done:
 1198|     93|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     93|    ;                                                                                                        \
  |  | 1573|     93|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     93|    return (ret_value);                                                                                      \
  |  | 1575|     93|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1199|     93|} /* end H5I_dec_app_ref_always_close() */
H5I_inc_ref:
 1245|    175|{
 1246|    175|    H5I_id_info_t *info      = NULL; /* Pointer to the ID info */
 1247|    175|    int            ret_value = 0;    /* Return value */
 1248|       |
 1249|    175|    FUNC_ENTER_NOAPI((-1))
  ------------------
  |  | 1391|    175|    {                                                                                                        \
  |  | 1392|    175|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    175|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    175|                                                                                                             \
  |  |  |  | 1267|    175|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    175|        {
  ------------------
 1250|       |
 1251|       |    /* Sanity check */
 1252|    175|    assert(id >= 0);
 1253|       |
 1254|       |    /* General lookup of the ID */
 1255|    175|    if (NULL == (info = H5I__find_id(id)))
  ------------------
  |  Branch (1255:9): [True: 0, False: 175]
  ------------------
 1256|      0|        HGOTO_ERROR(H5E_ID, H5E_BADID, (-1), "can't locate ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1257|       |
 1258|       |    /* Adjust reference counts */
 1259|    175|    ++(info->count);
 1260|    175|    if (app_ref)
  ------------------
  |  Branch (1260:9): [True: 44, False: 131]
  ------------------
 1261|     44|        ++(info->app_count);
 1262|       |
 1263|       |    /* Set return value */
 1264|    175|    ret_value = (int)(app_ref ? info->app_count : info->count);
  ------------------
  |  Branch (1264:23): [True: 44, False: 131]
  ------------------
 1265|       |
 1266|    175|done:
 1267|    175|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    175|    ;                                                                                                        \
  |  | 1573|    175|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    175|    return (ret_value);                                                                                      \
  |  | 1575|    175|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1268|    175|} /* end H5I_inc_ref() */
H5I_dec_type_ref:
 1356|     16|{
 1357|     16|    H5I_type_info_t *type_info = NULL; /* Pointer to the ID type */
 1358|     16|    herr_t           ret_value = 0;    /* Return value */
 1359|       |
 1360|     16|    FUNC_ENTER_NOAPI((-1))
  ------------------
  |  | 1391|     16|    {                                                                                                        \
  |  | 1392|     16|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     16|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     16|                                                                                                             \
  |  |  |  | 1267|     16|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     16|        {
  ------------------
 1361|       |
 1362|     16|    if (type <= H5I_BADID || (int)type >= H5I_next_type_g)
  ------------------
  |  Branch (1362:9): [True: 0, False: 16]
  |  Branch (1362:30): [True: 0, False: 16]
  ------------------
 1363|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADRANGE, (-1), "invalid type number");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1364|       |
 1365|     16|    type_info = H5I_type_info_array_g[type];
 1366|     16|    if (type_info == NULL || type_info->init_count <= 0)
  ------------------
  |  Branch (1366:9): [True: 0, False: 16]
  |  Branch (1366:30): [True: 0, False: 16]
  ------------------
 1367|      0|        HGOTO_ERROR(H5E_ID, H5E_BADGROUP, (-1), "invalid type");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1368|       |
 1369|       |    /* Decrement the number of users of the ID type.  If this is the
 1370|       |     * last user of the type then release all IDs from the type and
 1371|       |     * free all memory it used.  The free function is invoked for each ID
 1372|       |     * being freed.
 1373|       |     */
 1374|     16|    if (1 == type_info->init_count) {
  ------------------
  |  Branch (1374:9): [True: 16, False: 0]
  ------------------
 1375|     16|        H5I__destroy_type(type);
 1376|     16|        ret_value = 0;
 1377|     16|    }
 1378|      0|    else {
 1379|      0|        --(type_info->init_count);
 1380|      0|        ret_value = (herr_t)type_info->init_count;
 1381|      0|    }
 1382|       |
 1383|     16|done:
 1384|     16|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     16|    ;                                                                                                        \
  |  | 1573|     16|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     16|    return (ret_value);                                                                                      \
  |  | 1575|     16|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1385|     16|} /* end H5I_dec_type_ref() */
H5I_iterate:
 1495|     93|{
 1496|     93|    H5I_type_info_t *type_info = NULL;    /* Pointer to the type */
 1497|     93|    herr_t           ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     93|#define SUCCEED 0
  ------------------
 1498|       |
 1499|     93|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     93|    {                                                                                                        \
  |  | 1392|     93|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     93|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     93|                                                                                                             \
  |  |  |  | 1267|     93|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     93|        {
  ------------------
 1500|       |
 1501|       |    /* Check arguments */
 1502|     93|    if (type <= H5I_BADID || (int)type >= H5I_next_type_g)
  ------------------
  |  Branch (1502:9): [True: 0, False: 93]
  |  Branch (1502:30): [True: 0, False: 93]
  ------------------
 1503|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADRANGE, FAIL, "invalid type number");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1504|     93|    type_info = H5I_type_info_array_g[type];
 1505|       |
 1506|       |    /* Only iterate through ID list if it is initialized and there are IDs in type */
 1507|     93|    if (type_info && type_info->init_count > 0 && type_info->id_count > 0) {
  ------------------
  |  Branch (1507:9): [True: 93, False: 0]
  |  Branch (1507:22): [True: 93, False: 0]
  |  Branch (1507:51): [True: 26, False: 67]
  ------------------
 1508|     26|        H5I_iterate_ud_t iter_udata; /* User data for iteration callback */
 1509|     26|        H5I_id_info_t   *item = NULL;
 1510|     26|        H5I_id_info_t   *tmp  = NULL;
 1511|       |
 1512|       |        /* Set up iterator user data */
 1513|     26|        iter_udata.user_func  = func;
 1514|     26|        iter_udata.user_udata = udata;
 1515|     26|        iter_udata.app_ref    = app_ref;
 1516|     26|        iter_udata.obj_type   = type;
 1517|       |
 1518|       |        /* Iterate over IDs */
 1519|     26|        HASH_ITER(hh, type_info->hash_table, item, tmp)
  ------------------
  |  | 1097|    310|    for (((el) = (head)), ((tmp) = DECLTYPE(el)((head != NULL) ? (head)->hh.next : NULL)); (el) != NULL;     \
  |  |  ------------------
  |  |  |  |   57|     26|#define DECLTYPE(x) (__typeof(x))
  |  |  ------------------
  |  |  |  Branch (1097:49): [True: 26, False: 0]
  |  |  |  Branch (1097:92): [True: 296, False: 14]
  |  |  ------------------
  |  | 1098|    284|         ((el) = (tmp)), ((tmp) = DECLTYPE(el)((tmp != NULL) ? (tmp)->hh.next : NULL)))
  |  |  ------------------
  |  |  |  |   57|    284|#define DECLTYPE(x) (__typeof(x))
  |  |  ------------------
  |  |  |  Branch (1098:48): [True: 270, False: 14]
  |  |  ------------------
  ------------------
 1520|    296|        {
 1521|    296|            if (!item->marked) {
  ------------------
  |  Branch (1521:17): [True: 296, False: 0]
  ------------------
 1522|    296|                int ret = H5I__iterate_cb((void *)item, NULL, (void *)&iter_udata);
 1523|    296|                if (H5_ITER_ERROR == ret)
  ------------------
  |  |  361|    296|#define H5_ITER_ERROR (-1) /**< Error, stop iteration */
  ------------------
  |  Branch (1523:21): [True: 0, False: 296]
  ------------------
 1524|      0|                    HGOTO_ERROR(H5E_ID, H5E_BADITER, FAIL, "iteration failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1525|    296|                if (H5_ITER_STOP == ret)
  ------------------
  |  |  363|    296|#define H5_ITER_STOP  (1)  /**< Stop iteration, short-circuit success */
  ------------------
  |  Branch (1525:21): [True: 12, False: 284]
  ------------------
 1526|     12|                    break;
 1527|    296|            }
 1528|    296|        }
 1529|     26|    }
 1530|       |
 1531|     93|done:
 1532|     93|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     93|    ;                                                                                                        \
  |  | 1573|     93|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     93|    return (ret_value);                                                                                      \
  |  | 1575|     93|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1533|     93|} /* end H5I_iterate() */
H5I__find_id:
 1549|  8.70k|{
 1550|  8.70k|    H5I_type_t       type;             /* ID's type */
 1551|  8.70k|    H5I_type_info_t *type_info = NULL; /* Pointer to the type */
 1552|  8.70k|    H5I_id_info_t   *id_info   = NULL; /* ID's info */
 1553|  8.70k|    H5I_id_info_t   *ret_value = NULL; /* Return value */
 1554|       |
 1555|  8.70k|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|  8.70k|    {                                                                                                        \
  |  | 1467|  8.70k|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|  8.70k|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|  8.70k|        {
  ------------------
 1556|       |
 1557|       |    /* Check arguments */
 1558|  8.70k|    type = H5I_TYPE(id);
  ------------------
  |  |   51|  8.70k|#define H5I_TYPE(a) ((H5I_type_t)(((hid_t)(a) >> ID_BITS) & TYPE_MASK))
  |  |  ------------------
  |  |  |  |   47|  8.70k|#define ID_BITS ((sizeof(hid_t) * 8) - (TYPE_BITS + 1))
  |  |  |  |  ------------------
  |  |  |  |  |  |   38|  8.70k|#define TYPE_BITS 7
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define H5I_TYPE(a) ((H5I_type_t)(((hid_t)(a) >> ID_BITS) & TYPE_MASK))
  |  |  ------------------
  |  |  |  |   39|  8.70k|#define TYPE_MASK (((hid_t)1 << TYPE_BITS) - 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   38|  8.70k|#define TYPE_BITS 7
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1559|  8.70k|    if (type <= H5I_BADID || (int)type >= H5I_next_type_g)
  ------------------
  |  Branch (1559:9): [True: 0, False: 8.70k]
  |  Branch (1559:30): [True: 0, False: 8.70k]
  ------------------
 1560|      0|        HGOTO_DONE(NULL);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1561|  8.70k|    type_info = H5I_type_info_array_g[type];
 1562|  8.70k|    if (!type_info || type_info->init_count <= 0)
  ------------------
  |  Branch (1562:9): [True: 0, False: 8.70k]
  |  Branch (1562:23): [True: 0, False: 8.70k]
  ------------------
 1563|      0|        HGOTO_DONE(NULL);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1564|       |
 1565|       |    /* Check for same ID as we have looked up last time */
 1566|  8.70k|    if (type_info->last_id_info && type_info->last_id_info->id == id)
  ------------------
  |  Branch (1566:9): [True: 8.47k, False: 225]
  |  Branch (1566:36): [True: 4.59k, False: 3.88k]
  ------------------
 1567|  4.59k|        id_info = type_info->last_id_info;
 1568|  4.10k|    else {
 1569|  4.10k|        HASH_FIND(hh, type_info->hash_table, &id, sizeof(hid_t), id_info);
  ------------------
  |  |  173|  4.10k|    do {                                                                                                     \
  |  |  174|  4.10k|        (out) = NULL;                                                                                        \
  |  |  175|  4.10k|        if (head) {                                                                                          \
  |  |  ------------------
  |  |  |  Branch (175:13): [True: 4.10k, False: 0]
  |  |  ------------------
  |  |  176|  4.10k|            unsigned _hf_hashv;                                                                              \
  |  |  177|  4.10k|            HASH_VALUE(keyptr, keylen, _hf_hashv);                                                           \
  |  |  ------------------
  |  |  |  |  155|  4.10k|    do {                                                                                                     \
  |  |  |  |  156|  4.10k|        HASH_FUNCTION(keyptr, keylen, hashv);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|  4.10k|#define HASH_FUNCTION(keyptr, keylen, hashv) HASH_JEN(keyptr, keylen, hashv)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  680|  4.10k|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  681|  4.10k|        unsigned             _hj_i, _hj_j, _hj_k;                                                            \
  |  |  |  |  |  |  |  |  682|  4.10k|        unsigned const char *_hj_key = (unsigned const char *)(key);                                         \
  |  |  |  |  |  |  |  |  683|  4.10k|        hashv                        = 0xfeedbeefu;                                                          \
  |  |  |  |  |  |  |  |  684|  4.10k|        _hj_i = _hj_j = 0x9e3779b9u;                                                                         \
  |  |  |  |  |  |  |  |  685|  4.10k|        _hj_k         = (unsigned)(keylen);                                                                  \
  |  |  |  |  |  |  |  |  686|  4.10k|        while (_hj_k >= 12U) {                                                                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (686:16): [True: 0, False: 4.10k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  687|      0|            _hj_i += (_hj_key[0] + ((unsigned)_hj_key[1] << 8) + ((unsigned)_hj_key[2] << 16) +              \
  |  |  |  |  |  |  |  |  688|      0|                      ((unsigned)_hj_key[3] << 24));                                                         \
  |  |  |  |  |  |  |  |  689|      0|            _hj_j += (_hj_key[4] + ((unsigned)_hj_key[5] << 8) + ((unsigned)_hj_key[6] << 16) +              \
  |  |  |  |  |  |  |  |  690|      0|                      ((unsigned)_hj_key[7] << 24));                                                         \
  |  |  |  |  |  |  |  |  691|      0|            hashv += (_hj_key[8] + ((unsigned)_hj_key[9] << 8) + ((unsigned)_hj_key[10] << 16) +             \
  |  |  |  |  |  |  |  |  692|      0|                      ((unsigned)_hj_key[11] << 24));                                                        \
  |  |  |  |  |  |  |  |  693|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  694|      0|            HASH_JEN_MIX(_hj_i, _hj_j, hashv);                                                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  649|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  650|      0|        a -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  651|      0|        a -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  652|      0|        a ^= (c >> 13);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  653|      0|        b -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  654|      0|        b -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  655|      0|        b ^= (a << 8);                                                                                       \
  |  |  |  |  |  |  |  |  |  |  656|      0|        c -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  657|      0|        c -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  658|      0|        c ^= (b >> 13);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  659|      0|        a -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  660|      0|        a -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  661|      0|        a ^= (c >> 12);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  662|      0|        b -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  663|      0|        b -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  664|      0|        b ^= (a << 16);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  665|      0|        c -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  666|      0|        c -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  667|      0|        c ^= (b >> 5);                                                                                       \
  |  |  |  |  |  |  |  |  |  |  668|      0|        a -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  669|      0|        a -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  670|      0|        a ^= (c >> 3);                                                                                       \
  |  |  |  |  |  |  |  |  |  |  671|      0|        b -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  672|      0|        b -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  673|      0|        b ^= (a << 10);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  674|      0|        c -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  675|      0|        c -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  676|      0|        c ^= (b >> 15);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  677|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (677:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  695|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  696|      0|            _hj_key += 12;                                                                                   \
  |  |  |  |  |  |  |  |  697|      0|            _hj_k -= 12U;                                                                                    \
  |  |  |  |  |  |  |  |  698|      0|        }                                                                                                    \
  |  |  |  |  |  |  |  |  699|  4.10k|        hashv += (unsigned)(keylen);                                                                         \
  |  |  |  |  |  |  |  |  700|  4.10k|        switch (_hj_k) {                                                                                     \
  |  |  |  |  |  |  |  |  701|      0|            case 11:                                                                                         \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (701:13): [True: 0, False: 4.10k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  702|      0|                hashv += ((unsigned)_hj_key[10] << 24);                                                      \
  |  |  |  |  |  |  |  |  703|      0|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  219|      0|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  704|      0|                    case 10 : hashv += ((unsigned)_hj_key[9] << 16);                                         \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (704:21): [True: 0, False: 4.10k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  705|      0|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  219|      0|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  706|      0|                    case 9 : hashv += ((unsigned)_hj_key[8] << 8);                                           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (706:21): [True: 0, False: 4.10k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  707|      0|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  219|      0|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  708|  4.10k|                    case 8 : _hj_j += ((unsigned)_hj_key[7] << 24);                                          \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (708:21): [True: 4.10k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  709|  4.10k|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  219|  4.10k|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  710|  4.10k|                    case 7 : _hj_j += ((unsigned)_hj_key[6] << 16);                                          \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (710:21): [True: 0, False: 4.10k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  711|  4.10k|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  219|  4.10k|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  712|  4.10k|                    case 6 : _hj_j += ((unsigned)_hj_key[5] << 8);                                           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (712:21): [True: 0, False: 4.10k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  713|  4.10k|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  219|  4.10k|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  714|  4.10k|                    case 5 : _hj_j += _hj_key[4];                                                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (714:21): [True: 0, False: 4.10k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  715|  4.10k|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  219|  4.10k|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  716|  4.10k|                    case 4 : _hj_i += ((unsigned)_hj_key[3] << 24);                                          \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (716:21): [True: 0, False: 4.10k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  717|  4.10k|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  219|  4.10k|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  718|  4.10k|                    case 3 : _hj_i += ((unsigned)_hj_key[2] << 16);                                          \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (718:21): [True: 0, False: 4.10k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  719|  4.10k|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  219|  4.10k|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  720|  4.10k|                    case 2 : _hj_i += ((unsigned)_hj_key[1] << 8);                                           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (720:21): [True: 0, False: 4.10k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  721|  4.10k|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  219|  4.10k|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  722|  4.10k|                    case 1 : _hj_i += _hj_key[0];                                                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (722:21): [True: 0, False: 4.10k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  723|  4.10k|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  219|  4.10k|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  724|  4.10k|                    default:;                                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (724:21): [True: 0, False: 4.10k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  725|  4.10k|        }                                                                                                    \
  |  |  |  |  |  |  |  |  726|  4.10k|        HASH_JEN_MIX(_hj_i, _hj_j, hashv);                                                                   \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  649|  4.10k|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  650|  4.10k|        a -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  651|  4.10k|        a -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  652|  4.10k|        a ^= (c >> 13);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  653|  4.10k|        b -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  654|  4.10k|        b -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  655|  4.10k|        b ^= (a << 8);                                                                                       \
  |  |  |  |  |  |  |  |  |  |  656|  4.10k|        c -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  657|  4.10k|        c -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  658|  4.10k|        c ^= (b >> 13);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  659|  4.10k|        a -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  660|  4.10k|        a -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  661|  4.10k|        a ^= (c >> 12);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  662|  4.10k|        b -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  663|  4.10k|        b -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  664|  4.10k|        b ^= (a << 16);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  665|  4.10k|        c -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  666|  4.10k|        c -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  667|  4.10k|        c ^= (b >> 5);                                                                                       \
  |  |  |  |  |  |  |  |  |  |  668|  4.10k|        a -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  669|  4.10k|        a -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  670|  4.10k|        a ^= (c >> 3);                                                                                       \
  |  |  |  |  |  |  |  |  |  |  671|  4.10k|        b -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  672|  4.10k|        b -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  673|  4.10k|        b ^= (a << 10);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  674|  4.10k|        c -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  675|  4.10k|        c -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  676|  4.10k|        c ^= (b >> 15);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  677|  4.10k|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (677:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  727|  4.10k|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (727:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  157|  4.10k|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (157:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  178|  4.10k|            HASH_FIND_BYHASHVALUE(hh, head, keyptr, keylen, _hf_hashv, out);                                 \
  |  |  ------------------
  |  |  |  |  160|  4.10k|    do {                                                                                                     \
  |  |  |  |  161|  4.10k|        (out) = NULL;                                                                                        \
  |  |  |  |  162|  4.10k|        if (head) {                                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (162:13): [True: 4.10k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  163|  4.10k|            unsigned _hf_bkt;                                                                                \
  |  |  |  |  164|  4.10k|            HASH_TO_BKT(hashval, (head)->hh.tbl->num_buckets, _hf_bkt);                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  446|  4.10k|    do {                                                                                                     \
  |  |  |  |  |  |  447|  4.10k|        bkt = ((hashv) & ((num_bkts)-1U));                                                                   \
  |  |  |  |  |  |  448|  4.10k|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (448:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  165|  4.10k|            if (HASH_BLOOM_TEST((head)->hh.tbl, hashval) != 0) {                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  216|  4.10k|#define HASH_BLOOM_TEST(tbl, hashv) (1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (165:17): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  166|  4.10k|                HASH_FIND_IN_BKT((head)->hh.tbl, hh, (head)->hh.tbl->buckets[_hf_bkt], keyptr, keylen,       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  789|  4.10k|    do {                                                                                                     \
  |  |  |  |  |  |  790|  4.10k|        if ((head).hh_head != NULL) {                                                                        \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (790:13): [True: 4.10k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  791|  4.10k|            DECLTYPE_ASSIGN(out, ELMT_FROM_HH(tbl, (head).hh_head));                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|  4.10k|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   71|  4.10k|        (dst) = DECLTYPE(dst)(src);                                                                          \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   57|  4.10k|#define DECLTYPE(x) (__typeof(x))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   72|  4.10k|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (72:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  792|  4.10k|        }                                                                                                    \
  |  |  |  |  |  |  793|  4.10k|        else {                                                                                               \
  |  |  |  |  |  |  794|      0|            (out) = NULL;                                                                                    \
  |  |  |  |  |  |  795|      0|        }                                                                                                    \
  |  |  |  |  |  |  796|  10.1k|        while ((out) != NULL) {                                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (796:16): [True: 10.1k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  797|  10.1k|            if ((out)->hh.hashv == (hashval) && (out)->hh.keylen == (keylen_in)) {                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (797:17): [True: 4.10k, False: 6.07k]
  |  |  |  |  |  |  |  Branch (797:49): [True: 4.10k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  798|  4.10k|                if (HASH_KEYCMP((out)->hh.key, keyptr, keylen_in) == 0) {                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   93|  4.10k|#define HASH_KEYCMP(a, b, n) memcmp(a, b, n)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (798:21): [True: 4.10k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  799|  4.10k|                    break;                                                                                   \
  |  |  |  |  |  |  800|  4.10k|                }                                                                                            \
  |  |  |  |  |  |  801|  4.10k|            }                                                                                                \
  |  |  |  |  |  |  802|  10.1k|            if ((out)->hh.hh_next != NULL) {                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (802:17): [True: 6.07k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  803|  6.07k|                DECLTYPE_ASSIGN(out, ELMT_FROM_HH(tbl, (out)->hh.hh_next));                                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|  6.07k|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   71|  6.07k|        (dst) = DECLTYPE(dst)(src);                                                                          \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   57|  6.07k|#define DECLTYPE(x) (__typeof(x))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   72|  6.07k|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (72:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  804|  6.07k|            }                                                                                                \
  |  |  |  |  |  |  805|  6.07k|            else {                                                                                           \
  |  |  |  |  |  |  806|      0|                (out) = NULL;                                                                                \
  |  |  |  |  |  |  807|      0|            }                                                                                                \
  |  |  |  |  |  |  808|  6.07k|        }                                                                                                    \
  |  |  |  |  |  |  809|  4.10k|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (809:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  167|  4.10k|                                 hashval, out);                                                              \
  |  |  |  |  168|  4.10k|            }                                                                                                \
  |  |  |  |  169|  4.10k|        }                                                                                                    \
  |  |  |  |  170|  4.10k|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (170:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  179|  4.10k|        }                                                                                                    \
  |  |  180|  4.10k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (180:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1570|       |
 1571|       |        /* Remember this ID */
 1572|  4.10k|        type_info->last_id_info = id_info;
 1573|  4.10k|    }
 1574|       |
 1575|       |    /* Check if this is a future ID */
 1576|  8.70k|    if (id_info && id_info->is_future) {
  ------------------
  |  Branch (1576:9): [True: 8.70k, False: 0]
  |  Branch (1576:20): [True: 0, False: 8.70k]
  ------------------
 1577|      0|        hid_t actual_id = H5I_INVALID_HID; /* ID for actual object */
  ------------------
  |  |   75|      0|#define H5I_INVALID_HID (-1)
  ------------------
 1578|      0|        void *future_object;               /* Pointer to the future object */
 1579|      0|        void *actual_object;               /* Pointer to the actual object */
 1580|       |
 1581|       |        /* Invoke the realize callback, to get the actual object */
 1582|      0|        if ((id_info->realize_cb)(id_info->u.object, &actual_id) < 0)
  ------------------
  |  Branch (1582:13): [True: 0, False: 0]
  ------------------
 1583|      0|            HGOTO_DONE(NULL);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1584|       |
 1585|       |        /* Verify that we received a valid ID, of the same type */
 1586|      0|        if (H5I_INVALID_HID == actual_id)
  ------------------
  |  |   75|      0|#define H5I_INVALID_HID (-1)
  ------------------
  |  Branch (1586:13): [True: 0, False: 0]
  ------------------
 1587|      0|            HGOTO_DONE(NULL);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1588|      0|        if (H5I_TYPE(id) != H5I_TYPE(actual_id))
  ------------------
  |  |   51|      0|#define H5I_TYPE(a) ((H5I_type_t)(((hid_t)(a) >> ID_BITS) & TYPE_MASK))
  |  |  ------------------
  |  |  |  |   47|      0|#define ID_BITS ((sizeof(hid_t) * 8) - (TYPE_BITS + 1))
  |  |  |  |  ------------------
  |  |  |  |  |  |   38|      0|#define TYPE_BITS 7
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define H5I_TYPE(a) ((H5I_type_t)(((hid_t)(a) >> ID_BITS) & TYPE_MASK))
  |  |  ------------------
  |  |  |  |   39|      0|#define TYPE_MASK (((hid_t)1 << TYPE_BITS) - 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   38|      0|#define TYPE_BITS 7
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                      if (H5I_TYPE(id) != H5I_TYPE(actual_id))
  ------------------
  |  |   51|      0|#define H5I_TYPE(a) ((H5I_type_t)(((hid_t)(a) >> ID_BITS) & TYPE_MASK))
  |  |  ------------------
  |  |  |  |   47|      0|#define ID_BITS ((sizeof(hid_t) * 8) - (TYPE_BITS + 1))
  |  |  |  |  ------------------
  |  |  |  |  |  |   38|      0|#define TYPE_BITS 7
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define H5I_TYPE(a) ((H5I_type_t)(((hid_t)(a) >> ID_BITS) & TYPE_MASK))
  |  |  ------------------
  |  |  |  |   39|      0|#define TYPE_MASK (((hid_t)1 << TYPE_BITS) - 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   38|      0|#define TYPE_BITS 7
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (1588:13): [True: 0, False: 0]
  ------------------
 1589|      0|            HGOTO_DONE(NULL);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1590|       |
 1591|       |        /* Swap the actual object in for the future object */
 1592|      0|        future_object = id_info->u.object;
 1593|      0|        actual_object = H5I__remove_common(type_info, actual_id);
 1594|      0|        assert(actual_object);
 1595|      0|        id_info->u.object = actual_object;
 1596|       |
 1597|       |        /* Discard the future object */
 1598|      0|        if ((id_info->discard_cb)(future_object) < 0)
  ------------------
  |  Branch (1598:13): [True: 0, False: 0]
  ------------------
 1599|      0|            HGOTO_DONE(NULL);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1600|      0|        future_object = NULL;
 1601|       |
 1602|       |        /* Change the ID from 'future' to 'actual' */
 1603|      0|        id_info->is_future  = false;
 1604|      0|        id_info->realize_cb = NULL;
 1605|      0|        id_info->discard_cb = NULL;
 1606|      0|    }
 1607|       |
 1608|       |    /* Set return value */
 1609|  8.70k|    ret_value = id_info;
 1610|       |
 1611|  8.70k|done:
 1612|  8.70k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  8.70k|    ;                                                                                                        \
  |  | 1573|  8.70k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  8.70k|    return (ret_value);                                                                                      \
  |  | 1575|  8.70k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1613|  8.70k|} /* end H5I__find_id() */
H5I_find_id:
 1665|     15|{
 1666|     15|    H5I_type_info_t *type_info = NULL;    /* Pointer to the type */
 1667|     15|    herr_t           ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     15|#define SUCCEED 0
  ------------------
 1668|       |
 1669|     15|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     15|    {                                                                                                        \
  |  | 1392|     15|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     15|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     15|                                                                                                             \
  |  |  |  | 1267|     15|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     15|        {
  ------------------
 1670|       |
 1671|     15|    assert(id);
 1672|       |
 1673|     15|    *id = H5I_INVALID_HID;
  ------------------
  |  |   75|     15|#define H5I_INVALID_HID (-1)
  ------------------
 1674|       |
 1675|     15|    type_info = H5I_type_info_array_g[type];
 1676|     15|    if (!type_info || type_info->init_count <= 0)
  ------------------
  |  Branch (1676:9): [True: 0, False: 15]
  |  Branch (1676:23): [True: 0, False: 15]
  ------------------
 1677|      0|        HGOTO_ERROR(H5E_ID, H5E_BADGROUP, FAIL, "invalid type");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1678|       |
 1679|       |    /* Only iterate through ID list if it is initialized and there are IDs in type */
 1680|     15|    if (type_info->init_count > 0 && type_info->id_count > 0) {
  ------------------
  |  Branch (1680:9): [True: 15, False: 0]
  |  Branch (1680:38): [True: 15, False: 0]
  ------------------
 1681|     15|        H5I_get_id_ud_t udata; /* User data */
 1682|     15|        H5I_id_info_t  *item = NULL;
 1683|     15|        H5I_id_info_t  *tmp  = NULL;
 1684|       |
 1685|       |        /* Set up iterator user data */
 1686|     15|        udata.object   = object;
 1687|     15|        udata.obj_type = type;
 1688|     15|        udata.ret_id   = H5I_INVALID_HID;
  ------------------
  |  |   75|     15|#define H5I_INVALID_HID (-1)
  ------------------
 1689|       |
 1690|       |        /* Iterate over IDs for the ID type */
 1691|     15|        HASH_ITER(hh, type_info->hash_table, item, tmp)
  ------------------
  |  | 1097|     15|    for (((el) = (head)), ((tmp) = DECLTYPE(el)((head != NULL) ? (head)->hh.next : NULL)); (el) != NULL;     \
  |  |  ------------------
  |  |  |  |   57|     15|#define DECLTYPE(x) (__typeof(x))
  |  |  ------------------
  |  |  |  Branch (1097:49): [True: 15, False: 0]
  |  |  |  Branch (1097:92): [True: 15, False: 0]
  |  |  ------------------
  |  | 1098|     15|         ((el) = (tmp)), ((tmp) = DECLTYPE(el)((tmp != NULL) ? (tmp)->hh.next : NULL)))
  |  |  ------------------
  |  |  |  |   57|      0|#define DECLTYPE(x) (__typeof(x))
  |  |  ------------------
  |  |  |  Branch (1098:48): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1692|     15|        {
 1693|     15|            int ret = H5I__find_id_cb((void *)item, NULL, (void *)&udata);
 1694|     15|            if (H5_ITER_ERROR == ret)
  ------------------
  |  |  361|     15|#define H5_ITER_ERROR (-1) /**< Error, stop iteration */
  ------------------
  |  Branch (1694:17): [True: 0, False: 15]
  ------------------
 1695|      0|                HGOTO_ERROR(H5E_ID, H5E_BADITER, FAIL, "iteration failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1696|     15|            if (H5_ITER_STOP == ret)
  ------------------
  |  |  363|     15|#define H5_ITER_STOP  (1)  /**< Stop iteration, short-circuit success */
  ------------------
  |  Branch (1696:17): [True: 15, False: 0]
  ------------------
 1697|     15|                break;
 1698|     15|        }
 1699|       |
 1700|     15|        *id = udata.ret_id;
 1701|     15|    }
 1702|       |
 1703|     15|done:
 1704|     15|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     15|    ;                                                                                                        \
  |  | 1573|     15|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     15|    return (ret_value);                                                                                      \
  |  | 1575|     15|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1705|     15|} /* end H5I_find_id() */
H5Iint.c:H5I__mark_node:
  355|    143|{
  356|    143|    H5I_id_info_t       *info  = (H5I_id_info_t *)_info;        /* Current ID info being worked with */
  357|    143|    H5I_clear_type_ud_t *udata = (H5I_clear_type_ud_t *)_udata; /* udata struct */
  358|    143|    bool                 mark  = false;
  359|       |
  360|    143|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|    143|    {                                                                                                        \
  |  | 1467|    143|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|    143|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|    143|        {
  ------------------
  361|       |
  362|       |    /* Sanity checks */
  363|    143|    assert(info);
  364|    143|    assert(udata);
  365|    143|    assert(udata->type_info);
  366|       |
  367|       |    /* Do nothing to the object if the reference count is larger than
  368|       |     * one and forcing is off.
  369|       |     */
  370|    143|    if (udata->force || (info->count - (!udata->app_ref * info->app_count)) <= 1) {
  ------------------
  |  Branch (370:9): [True: 1, False: 142]
  |  Branch (370:25): [True: 142, False: 0]
  ------------------
  371|       |        /* Check if this is an un-realized future object */
  372|    143|        if (info->is_future) {
  ------------------
  |  Branch (372:13): [True: 0, False: 143]
  ------------------
  373|       |            /* Discard the future object */
  374|      0|            if ((info->discard_cb)(info->u.object) < 0) {
  ------------------
  |  Branch (374:17): [True: 0, False: 0]
  ------------------
  375|      0|                if (udata->force) {
  ------------------
  |  Branch (375:21): [True: 0, False: 0]
  ------------------
  376|       |                    /* Indicate node should be removed from list */
  377|      0|                    mark = true;
  378|      0|                }
  379|      0|            }
  380|      0|            else {
  381|       |                /* Indicate node should be removed from list */
  382|      0|                mark = true;
  383|      0|            }
  384|      0|        }
  385|    143|        else {
  386|       |            /* Check for a 'free' function and call it, if it exists */
  387|    143|            if (udata->type_info->cls->free_func &&
  ------------------
  |  Branch (387:17): [True: 143, False: 0]
  ------------------
  388|    143|                (udata->type_info->cls->free_func)(info->u.object, H5_REQUEST_NULL) < 0) {
  ------------------
  |  |  442|    143|#define H5_REQUEST_NULL NULL
  ------------------
  |  Branch (388:17): [True: 0, False: 143]
  ------------------
  389|      0|                if (udata->force) {
  ------------------
  |  Branch (389:21): [True: 0, False: 0]
  ------------------
  390|       |                    /* Indicate node should be removed from list */
  391|      0|                    mark = true;
  392|      0|                }
  393|      0|            }
  394|    143|            else {
  395|       |                /* Indicate node should be removed from list */
  396|    143|                mark = true;
  397|    143|            }
  398|    143|        }
  399|       |
  400|       |        /* Remove ID if requested */
  401|    143|        if (mark) {
  ------------------
  |  Branch (401:13): [True: 143, False: 0]
  ------------------
  402|       |            /* Mark ID for deletion */
  403|    143|            info->marked = true;
  404|       |
  405|       |            /* Decrement the number of IDs in the type */
  406|    143|            udata->type_info->id_count--;
  407|    143|        }
  408|    143|    }
  409|       |
  410|    143|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|    143|    ;                                                                                                        \
  |  | 1573|    143|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    143|    return (ret_value);                                                                                      \
  |  | 1575|    143|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  411|    143|} /* end H5I__mark_node() */
H5Iint.c:H5I__remove_common:
  848|    902|{
  849|    902|    H5I_id_info_t *info      = NULL; /* Pointer to the current ID */
  850|    902|    void          *ret_value = NULL; /* Return value */
  851|       |
  852|    902|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    902|    {                                                                                                        \
  |  | 1461|    902|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    902|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    902|                                                                                                             \
  |  |  |  | 1267|    902|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    902|        {
  ------------------
  853|       |
  854|       |    /* Sanity check */
  855|    902|    assert(type_info);
  856|       |
  857|       |    /* Delete or mark the node */
  858|    902|    HASH_FIND(hh, type_info->hash_table, &id, sizeof(hid_t), info);
  ------------------
  |  |  173|    902|    do {                                                                                                     \
  |  |  174|    902|        (out) = NULL;                                                                                        \
  |  |  175|    902|        if (head) {                                                                                          \
  |  |  ------------------
  |  |  |  Branch (175:13): [True: 902, False: 0]
  |  |  ------------------
  |  |  176|    902|            unsigned _hf_hashv;                                                                              \
  |  |  177|    902|            HASH_VALUE(keyptr, keylen, _hf_hashv);                                                           \
  |  |  ------------------
  |  |  |  |  155|    902|    do {                                                                                                     \
  |  |  |  |  156|    902|        HASH_FUNCTION(keyptr, keylen, hashv);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|    902|#define HASH_FUNCTION(keyptr, keylen, hashv) HASH_JEN(keyptr, keylen, hashv)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  680|    902|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  681|    902|        unsigned             _hj_i, _hj_j, _hj_k;                                                            \
  |  |  |  |  |  |  |  |  682|    902|        unsigned const char *_hj_key = (unsigned const char *)(key);                                         \
  |  |  |  |  |  |  |  |  683|    902|        hashv                        = 0xfeedbeefu;                                                          \
  |  |  |  |  |  |  |  |  684|    902|        _hj_i = _hj_j = 0x9e3779b9u;                                                                         \
  |  |  |  |  |  |  |  |  685|    902|        _hj_k         = (unsigned)(keylen);                                                                  \
  |  |  |  |  |  |  |  |  686|    902|        while (_hj_k >= 12U) {                                                                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (686:16): [True: 0, False: 902]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  687|      0|            _hj_i += (_hj_key[0] + ((unsigned)_hj_key[1] << 8) + ((unsigned)_hj_key[2] << 16) +              \
  |  |  |  |  |  |  |  |  688|      0|                      ((unsigned)_hj_key[3] << 24));                                                         \
  |  |  |  |  |  |  |  |  689|      0|            _hj_j += (_hj_key[4] + ((unsigned)_hj_key[5] << 8) + ((unsigned)_hj_key[6] << 16) +              \
  |  |  |  |  |  |  |  |  690|      0|                      ((unsigned)_hj_key[7] << 24));                                                         \
  |  |  |  |  |  |  |  |  691|      0|            hashv += (_hj_key[8] + ((unsigned)_hj_key[9] << 8) + ((unsigned)_hj_key[10] << 16) +             \
  |  |  |  |  |  |  |  |  692|      0|                      ((unsigned)_hj_key[11] << 24));                                                        \
  |  |  |  |  |  |  |  |  693|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  694|      0|            HASH_JEN_MIX(_hj_i, _hj_j, hashv);                                                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  649|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  650|      0|        a -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  651|      0|        a -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  652|      0|        a ^= (c >> 13);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  653|      0|        b -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  654|      0|        b -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  655|      0|        b ^= (a << 8);                                                                                       \
  |  |  |  |  |  |  |  |  |  |  656|      0|        c -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  657|      0|        c -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  658|      0|        c ^= (b >> 13);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  659|      0|        a -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  660|      0|        a -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  661|      0|        a ^= (c >> 12);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  662|      0|        b -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  663|      0|        b -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  664|      0|        b ^= (a << 16);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  665|      0|        c -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  666|      0|        c -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  667|      0|        c ^= (b >> 5);                                                                                       \
  |  |  |  |  |  |  |  |  |  |  668|      0|        a -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  669|      0|        a -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  670|      0|        a ^= (c >> 3);                                                                                       \
  |  |  |  |  |  |  |  |  |  |  671|      0|        b -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  672|      0|        b -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  673|      0|        b ^= (a << 10);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  674|      0|        c -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  675|      0|        c -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  676|      0|        c ^= (b >> 15);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  677|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (677:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  695|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  696|      0|            _hj_key += 12;                                                                                   \
  |  |  |  |  |  |  |  |  697|      0|            _hj_k -= 12U;                                                                                    \
  |  |  |  |  |  |  |  |  698|      0|        }                                                                                                    \
  |  |  |  |  |  |  |  |  699|    902|        hashv += (unsigned)(keylen);                                                                         \
  |  |  |  |  |  |  |  |  700|    902|        switch (_hj_k) {                                                                                     \
  |  |  |  |  |  |  |  |  701|      0|            case 11:                                                                                         \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (701:13): [True: 0, False: 902]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  702|      0|                hashv += ((unsigned)_hj_key[10] << 24);                                                      \
  |  |  |  |  |  |  |  |  703|      0|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  219|      0|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  704|      0|                    case 10 : hashv += ((unsigned)_hj_key[9] << 16);                                         \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (704:21): [True: 0, False: 902]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  705|      0|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  219|      0|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  706|      0|                    case 9 : hashv += ((unsigned)_hj_key[8] << 8);                                           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (706:21): [True: 0, False: 902]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  707|      0|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  219|      0|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  708|    902|                    case 8 : _hj_j += ((unsigned)_hj_key[7] << 24);                                          \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (708:21): [True: 902, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  709|    902|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  219|    902|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  710|    902|                    case 7 : _hj_j += ((unsigned)_hj_key[6] << 16);                                          \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (710:21): [True: 0, False: 902]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  711|    902|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  219|    902|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  712|    902|                    case 6 : _hj_j += ((unsigned)_hj_key[5] << 8);                                           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (712:21): [True: 0, False: 902]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  713|    902|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  219|    902|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  714|    902|                    case 5 : _hj_j += _hj_key[4];                                                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (714:21): [True: 0, False: 902]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  715|    902|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  219|    902|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  716|    902|                    case 4 : _hj_i += ((unsigned)_hj_key[3] << 24);                                          \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (716:21): [True: 0, False: 902]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  717|    902|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  219|    902|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  718|    902|                    case 3 : _hj_i += ((unsigned)_hj_key[2] << 16);                                          \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (718:21): [True: 0, False: 902]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  719|    902|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  219|    902|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  720|    902|                    case 2 : _hj_i += ((unsigned)_hj_key[1] << 8);                                           \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (720:21): [True: 0, False: 902]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  721|    902|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  219|    902|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  722|    902|                    case 1 : _hj_i += _hj_key[0];                                                            \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (722:21): [True: 0, False: 902]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  723|    902|                H5_ATTR_FALLTHROUGH /* FALLTHROUGH */                                                        \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  219|    902|#       define H5_ATTR_FALLTHROUGH __attribute__((fallthrough));
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  724|    902|                    default:;                                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (724:21): [True: 0, False: 902]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  725|    902|        }                                                                                                    \
  |  |  |  |  |  |  |  |  726|    902|        HASH_JEN_MIX(_hj_i, _hj_j, hashv);                                                                   \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  649|    902|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  650|    902|        a -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  651|    902|        a -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  652|    902|        a ^= (c >> 13);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  653|    902|        b -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  654|    902|        b -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  655|    902|        b ^= (a << 8);                                                                                       \
  |  |  |  |  |  |  |  |  |  |  656|    902|        c -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  657|    902|        c -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  658|    902|        c ^= (b >> 13);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  659|    902|        a -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  660|    902|        a -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  661|    902|        a ^= (c >> 12);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  662|    902|        b -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  663|    902|        b -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  664|    902|        b ^= (a << 16);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  665|    902|        c -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  666|    902|        c -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  667|    902|        c ^= (b >> 5);                                                                                       \
  |  |  |  |  |  |  |  |  |  |  668|    902|        a -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  669|    902|        a -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  670|    902|        a ^= (c >> 3);                                                                                       \
  |  |  |  |  |  |  |  |  |  |  671|    902|        b -= c;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  672|    902|        b -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  673|    902|        b ^= (a << 10);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  674|    902|        c -= a;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  675|    902|        c -= b;                                                                                              \
  |  |  |  |  |  |  |  |  |  |  676|    902|        c ^= (b >> 15);                                                                                      \
  |  |  |  |  |  |  |  |  |  |  677|    902|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (677:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  727|    902|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (727:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  157|    902|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (157:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  178|    902|            HASH_FIND_BYHASHVALUE(hh, head, keyptr, keylen, _hf_hashv, out);                                 \
  |  |  ------------------
  |  |  |  |  160|    902|    do {                                                                                                     \
  |  |  |  |  161|    902|        (out) = NULL;                                                                                        \
  |  |  |  |  162|    902|        if (head) {                                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (162:13): [True: 902, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  163|    902|            unsigned _hf_bkt;                                                                                \
  |  |  |  |  164|    902|            HASH_TO_BKT(hashval, (head)->hh.tbl->num_buckets, _hf_bkt);                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  446|    902|    do {                                                                                                     \
  |  |  |  |  |  |  447|    902|        bkt = ((hashv) & ((num_bkts)-1U));                                                                   \
  |  |  |  |  |  |  448|    902|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (448:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  165|    902|            if (HASH_BLOOM_TEST((head)->hh.tbl, hashval) != 0) {                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  216|    902|#define HASH_BLOOM_TEST(tbl, hashv) (1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (165:17): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  166|    902|                HASH_FIND_IN_BKT((head)->hh.tbl, hh, (head)->hh.tbl->buckets[_hf_bkt], keyptr, keylen,       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  789|    902|    do {                                                                                                     \
  |  |  |  |  |  |  790|    902|        if ((head).hh_head != NULL) {                                                                        \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (790:13): [True: 902, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  791|    902|            DECLTYPE_ASSIGN(out, ELMT_FROM_HH(tbl, (head).hh_head));                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|    902|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   71|    902|        (dst) = DECLTYPE(dst)(src);                                                                          \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   57|    902|#define DECLTYPE(x) (__typeof(x))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   72|    902|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (72:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  792|    902|        }                                                                                                    \
  |  |  |  |  |  |  793|    902|        else {                                                                                               \
  |  |  |  |  |  |  794|      0|            (out) = NULL;                                                                                    \
  |  |  |  |  |  |  795|      0|        }                                                                                                    \
  |  |  |  |  |  |  796|  1.16k|        while ((out) != NULL) {                                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (796:16): [True: 1.16k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  797|  1.16k|            if ((out)->hh.hashv == (hashval) && (out)->hh.keylen == (keylen_in)) {                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (797:17): [True: 902, False: 267]
  |  |  |  |  |  |  |  Branch (797:49): [True: 902, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  798|    902|                if (HASH_KEYCMP((out)->hh.key, keyptr, keylen_in) == 0) {                                    \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   93|    902|#define HASH_KEYCMP(a, b, n) memcmp(a, b, n)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (798:21): [True: 902, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  799|    902|                    break;                                                                                   \
  |  |  |  |  |  |  800|    902|                }                                                                                            \
  |  |  |  |  |  |  801|    902|            }                                                                                                \
  |  |  |  |  |  |  802|  1.16k|            if ((out)->hh.hh_next != NULL) {                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (802:17): [True: 267, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  803|    267|                DECLTYPE_ASSIGN(out, ELMT_FROM_HH(tbl, (out)->hh.hh_next));                                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|    267|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   71|    267|        (dst) = DECLTYPE(dst)(src);                                                                          \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   57|    267|#define DECLTYPE(x) (__typeof(x))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   72|    267|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (72:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  804|    267|            }                                                                                                \
  |  |  |  |  |  |  805|    267|            else {                                                                                           \
  |  |  |  |  |  |  806|      0|                (out) = NULL;                                                                                \
  |  |  |  |  |  |  807|      0|            }                                                                                                \
  |  |  |  |  |  |  808|    267|        }                                                                                                    \
  |  |  |  |  |  |  809|    902|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (809:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  167|    902|                                 hashval, out);                                                              \
  |  |  |  |  168|    902|            }                                                                                                \
  |  |  |  |  169|    902|        }                                                                                                    \
  |  |  |  |  170|    902|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (170:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  179|    902|        }                                                                                                    \
  |  |  180|    902|    } while (0)
  |  |  ------------------
  |  |  |  Branch (180:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  859|    902|    if (info) {
  ------------------
  |  Branch (859:9): [True: 902, False: 0]
  ------------------
  860|    902|        assert(!info->marked);
  861|    902|        if (!H5I_marking_s)
  ------------------
  |  Branch (861:13): [True: 723, False: 179]
  ------------------
  862|    902|            HASH_DELETE(hh, type_info->hash_table, info);
  ------------------
  |  |  462|    723|#define HASH_DELETE(hh, head, delptr) HASH_DELETE_HH(hh, head, &(delptr)->hh)
  |  |  ------------------
  |  |  |  |  465|    723|    do {                                                                                                     \
  |  |  |  |  466|    723|        struct UT_hash_handle *_hd_hh_del = (delptrhh);                                                      \
  |  |  |  |  467|    723|        if ((_hd_hh_del->prev == NULL) && (_hd_hh_del->next == NULL)) {                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (467:13): [True: 411, False: 312]
  |  |  |  |  |  Branch (467:43): [True: 408, False: 3]
  |  |  |  |  ------------------
  |  |  |  |  468|    408|            HASH_BLOOM_FREE((head)->hh.tbl);                                                                 \
  |  |  |  |  469|    408|            uthash_free((head)->hh.tbl->buckets,                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|    408|#define uthash_free(ptr, sz) H5MM_free(ptr) /* Ignoring sz is intentional */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|    408|#define H5MM_free(Z)   free(Z)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  470|    408|                        (head)->hh.tbl->num_buckets * sizeof(struct UT_hash_bucket));                        \
  |  |  |  |  471|    408|            uthash_free((head)->hh.tbl, sizeof(UT_hash_table));                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  158|    408|#define uthash_free(ptr, sz) H5MM_free(ptr) /* Ignoring sz is intentional */
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   37|    408|#define H5MM_free(Z)   free(Z)
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  472|    408|            (head) = NULL;                                                                                   \
  |  |  |  |  473|    408|        }                                                                                                    \
  |  |  |  |  474|    723|        else {                                                                                               \
  |  |  |  |  475|    315|            unsigned _hd_bkt;                                                                                \
  |  |  |  |  476|    315|            if (_hd_hh_del == (head)->hh.tbl->tail) {                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (476:17): [True: 239, False: 76]
  |  |  |  |  ------------------
  |  |  |  |  477|    239|                (head)->hh.tbl->tail = HH_FROM_ELMT((head)->hh.tbl, _hd_hh_del->prev);                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  142|    239|#define HH_FROM_ELMT(tbl, elp) ((UT_hash_handle *)(void *)(((char *)(elp)) + ((tbl)->hho)))
  |  |  |  |  ------------------
  |  |  |  |  478|    239|            }                                                                                                \
  |  |  |  |  479|    315|            if (_hd_hh_del->prev != NULL) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (479:17): [True: 312, False: 3]
  |  |  |  |  ------------------
  |  |  |  |  480|    312|                HH_FROM_ELMT((head)->hh.tbl, _hd_hh_del->prev)->next = _hd_hh_del->next;                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |  142|    312|#define HH_FROM_ELMT(tbl, elp) ((UT_hash_handle *)(void *)(((char *)(elp)) + ((tbl)->hho)))
  |  |  |  |  ------------------
  |  |  |  |  481|    312|            }                                                                                                \
  |  |  |  |  482|    315|            else {                                                                                           \
  |  |  |  |  483|      3|                DECLTYPE_ASSIGN(head, _hd_hh_del->next);                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      3|    do {                                                                                                     \
  |  |  |  |  |  |   71|      3|        (dst) = DECLTYPE(dst)(src);                                                                          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   57|      3|#define DECLTYPE(x) (__typeof(x))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   72|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (72:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  484|      3|            }                                                                                                \
  |  |  |  |  485|    315|            if (_hd_hh_del->next != NULL) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (485:17): [True: 76, False: 239]
  |  |  |  |  ------------------
  |  |  |  |  486|     76|                HH_FROM_ELMT((head)->hh.tbl, _hd_hh_del->next)->prev = _hd_hh_del->prev;                     \
  |  |  |  |  ------------------
  |  |  |  |  |  |  142|     76|#define HH_FROM_ELMT(tbl, elp) ((UT_hash_handle *)(void *)(((char *)(elp)) + ((tbl)->hho)))
  |  |  |  |  ------------------
  |  |  |  |  487|     76|            }                                                                                                \
  |  |  |  |  488|    315|            HASH_TO_BKT(_hd_hh_del->hashv, (head)->hh.tbl->num_buckets, _hd_bkt);                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  446|    315|    do {                                                                                                     \
  |  |  |  |  |  |  447|    315|        bkt = ((hashv) & ((num_bkts)-1U));                                                                   \
  |  |  |  |  |  |  448|    315|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (448:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  489|    315|            HASH_DEL_IN_BKT((head)->hh.tbl->buckets[_hd_bkt], _hd_hh_del);                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  831|    315|    do {                                                                                                     \
  |  |  |  |  |  |  832|    315|        UT_hash_bucket *_hd_head = &(head);                                                                  \
  |  |  |  |  |  |  833|    315|        _hd_head->count--;                                                                                   \
  |  |  |  |  |  |  834|    315|        if (_hd_head->hh_head == (delhh)) {                                                                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (834:13): [True: 310, False: 5]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  835|    310|            _hd_head->hh_head = (delhh)->hh_next;                                                            \
  |  |  |  |  |  |  836|    310|        }                                                                                                    \
  |  |  |  |  |  |  837|    315|        if ((delhh)->hh_prev) {                                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (837:13): [True: 5, False: 310]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  838|      5|            (delhh)->hh_prev->hh_next = (delhh)->hh_next;                                                    \
  |  |  |  |  |  |  839|      5|        }                                                                                                    \
  |  |  |  |  |  |  840|    315|        if ((delhh)->hh_next) {                                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (840:13): [True: 204, False: 111]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  841|    204|            (delhh)->hh_next->hh_prev = (delhh)->hh_prev;                                                    \
  |  |  |  |  |  |  842|    204|        }                                                                                                    \
  |  |  |  |  |  |  843|    315|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (843:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  490|    315|            (head)->hh.tbl->num_items--;                                                                     \
  |  |  |  |  491|    315|        }                                                                                                    \
  |  |  |  |  492|    723|        HASH_FSCK(hh, head, "HASH_DELETE_HH");                                                               \
  |  |  |  |  493|    723|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (493:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  863|    179|        else
  864|    179|            info->marked = true;
  865|    902|    }
  866|      0|    else
  867|      0|        HGOTO_ERROR(H5E_ID, H5E_CANTDELETE, NULL, "can't remove ID node from hash table");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  868|       |
  869|       |    /* Check if this ID was the last one accessed */
  870|    902|    if (type_info->last_id_info == info)
  ------------------
  |  Branch (870:9): [True: 724, False: 178]
  ------------------
  871|    724|        type_info->last_id_info = NULL;
  872|       |
  873|    902|    ret_value = info->u.object;
  874|       |
  875|    902|    if (!H5I_marking_s)
  ------------------
  |  Branch (875:9): [True: 723, False: 179]
  ------------------
  876|    723|        info = H5FL_FREE(H5I_id_info_t, info);
  ------------------
  |  |   81|    723|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|    723|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  877|       |
  878|       |    /* Decrement the number of IDs in the type */
  879|    902|    (type_info->id_count)--;
  880|       |
  881|    902|done:
  882|    902|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    902|    ;                                                                                                        \
  |  | 1573|    902|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    902|    return (ret_value);                                                                                      \
  |  | 1575|    902|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  883|    902|} /* end H5I__remove_common() */
H5Iint.c:H5I__dec_ref:
  940|    898|{
  941|    898|    H5I_id_info_t *info      = NULL; /* Pointer to the ID */
  942|    898|    int            ret_value = 0;    /* Return value */
  943|       |
  944|    898|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    898|    {                                                                                                        \
  |  | 1461|    898|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    898|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    898|                                                                                                             \
  |  |  |  | 1267|    898|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    898|        {
  ------------------
  945|       |
  946|       |    /* Sanity check */
  947|    898|    assert(id >= 0);
  948|       |
  949|       |    /* General lookup of the ID */
  950|    898|    if (NULL == (info = H5I__find_id(id)))
  ------------------
  |  Branch (950:9): [True: 0, False: 898]
  ------------------
  951|      0|        HGOTO_ERROR(H5E_ID, H5E_BADID, (-1), "can't locate ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  952|       |
  953|       |    /* If this is the last reference to the object then invoke the type's
  954|       |     * free method on the object. If the free method is undefined or
  955|       |     * successful then remove the object from the type; otherwise leave
  956|       |     * the object in the type without decrementing the reference
  957|       |     * count. If the reference count is more than one then decrement the
  958|       |     * reference count without calling the free method.
  959|       |     *
  960|       |     * Beware: the free method may call other H5I functions.
  961|       |     *
  962|       |     * If an object is closing, we can remove the ID even though the free
  963|       |     * method might fail.  This can happen when a mandatory filter fails to
  964|       |     * write when a dataset is closed and the chunk cache is flushed to the
  965|       |     * file.  We have to close the dataset anyway. (SLU - 2010/9/7)
  966|       |     */
  967|    898|    if (1 == info->count) {
  ------------------
  |  Branch (967:9): [True: 723, False: 175]
  ------------------
  968|    723|        H5I_type_info_t *type_info; /*ptr to the type    */
  969|       |
  970|       |        /* Get the ID's type */
  971|    723|        type_info = H5I_type_info_array_g[H5I_TYPE(id)];
  ------------------
  |  |   51|    723|#define H5I_TYPE(a) ((H5I_type_t)(((hid_t)(a) >> ID_BITS) & TYPE_MASK))
  |  |  ------------------
  |  |  |  |   47|    723|#define ID_BITS ((sizeof(hid_t) * 8) - (TYPE_BITS + 1))
  |  |  |  |  ------------------
  |  |  |  |  |  |   38|    723|#define TYPE_BITS 7
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define H5I_TYPE(a) ((H5I_type_t)(((hid_t)(a) >> ID_BITS) & TYPE_MASK))
  |  |  ------------------
  |  |  |  |   39|    723|#define TYPE_MASK (((hid_t)1 << TYPE_BITS) - 1)
  |  |  |  |  ------------------
  |  |  |  |  |  |   38|    723|#define TYPE_BITS 7
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  972|       |
  973|    723|        if (!type_info->cls->free_func || (type_info->cls->free_func)(info->u.object, request) >= 0) {
  ------------------
  |  Branch (973:13): [True: 0, False: 723]
  |  Branch (973:43): [True: 723, False: 0]
  ------------------
  974|       |            /* Remove the node from the type */
  975|    723|            if (NULL == H5I__remove_common(type_info, id))
  ------------------
  |  Branch (975:17): [True: 0, False: 723]
  ------------------
  976|      0|                HGOTO_ERROR(H5E_ID, H5E_CANTDELETE, (-1), "can't remove ID node");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  977|    723|            ret_value = 0;
  978|    723|        } /* end if */
  979|      0|        else
  980|      0|            ret_value = -1;
  981|    723|    } /* end if */
  982|    175|    else {
  983|    175|        --(info->count);
  984|    175|        ret_value = (int)info->count;
  985|    175|    } /* end else */
  986|       |
  987|    898|done:
  988|    898|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    898|    ;                                                                                                        \
  |  | 1573|    898|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    898|    return (ret_value);                                                                                      \
  |  | 1575|    898|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  989|    898|} /* end H5I__dec_ref */
H5Iint.c:H5I__dec_app_ref:
 1035|    601|{
 1036|    601|    int ret_value = 0; /* Return value */
 1037|       |
 1038|    601|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    601|    {                                                                                                        \
  |  | 1461|    601|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    601|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    601|                                                                                                             \
  |  |  |  | 1267|    601|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    601|        {
  ------------------
 1039|       |
 1040|       |    /* Sanity check */
 1041|    601|    assert(id >= 0);
 1042|       |
 1043|       |    /* Call regular decrement reference count routine */
 1044|    601|    if ((ret_value = H5I__dec_ref(id, request)) < 0)
  ------------------
  |  Branch (1044:9): [True: 0, False: 601]
  ------------------
 1045|      0|        HGOTO_ERROR(H5E_ID, H5E_CANTDEC, (-1), "can't decrement ID ref count");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1046|       |
 1047|       |    /* Check if the ID still exists */
 1048|    601|    if (ret_value > 0) {
  ------------------
  |  Branch (1048:9): [True: 44, False: 557]
  ------------------
 1049|     44|        H5I_id_info_t *info = NULL; /* Pointer to the ID info */
 1050|       |
 1051|       |        /* General lookup of the ID */
 1052|     44|        if (NULL == (info = H5I__find_id(id)))
  ------------------
  |  Branch (1052:13): [True: 0, False: 44]
  ------------------
 1053|      0|            HGOTO_ERROR(H5E_ID, H5E_BADID, (-1), "can't locate ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1054|       |
 1055|       |        /* Adjust app_ref */
 1056|     44|        --(info->app_count);
 1057|     44|        assert(info->count >= info->app_count);
 1058|       |
 1059|       |        /* Set return value */
 1060|     44|        ret_value = (int)info->app_count;
 1061|     44|    } /* end if */
 1062|       |
 1063|    601|done:
 1064|    601|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    601|    ;                                                                                                        \
  |  | 1573|    601|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    601|    return (ret_value);                                                                                      \
  |  | 1575|    601|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1065|    601|} /* end H5I__dec_app_ref() */
H5Iint.c:H5I__dec_app_ref_always_close:
 1144|     93|{
 1145|     93|    int ret_value = 0; /* Return value */
 1146|       |
 1147|     93|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     93|    {                                                                                                        \
  |  | 1461|     93|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     93|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     93|                                                                                                             \
  |  |  |  | 1267|     93|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     93|        {
  ------------------
 1148|       |
 1149|       |    /* Sanity check */
 1150|     93|    assert(id >= 0);
 1151|       |
 1152|       |    /* Call application decrement reference count routine */
 1153|     93|    ret_value = H5I__dec_app_ref(id, request);
 1154|       |
 1155|       |    /* Check for failure */
 1156|     93|    if (ret_value < 0) {
  ------------------
  |  Branch (1156:9): [True: 0, False: 93]
  ------------------
 1157|       |        /*
 1158|       |         * If an object is closing, we can remove the ID even though the free
 1159|       |         * method might fail.  This can happen when a mandatory filter fails to
 1160|       |         * write when a dataset is closed and the chunk cache is flushed to the
 1161|       |         * file.  We have to close the dataset anyway. (SLU - 2010/9/7)
 1162|       |         */
 1163|      0|        H5I_remove(id);
 1164|       |
 1165|      0|        HGOTO_ERROR(H5E_ID, H5E_CANTDEC, (-1), "can't decrement ID ref count");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1166|      0|    } /* end if */
 1167|       |
 1168|     93|done:
 1169|     93|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     93|    ;                                                                                                        \
  |  | 1573|     93|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     93|    return (ret_value);                                                                                      \
  |  | 1575|     93|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1170|     93|} /* end H5I__dec_app_ref_always_close() */
H5Iint.c:H5I__iterate_cb:
 1435|    296|{
 1436|    296|    H5I_id_info_t    *info      = (H5I_id_info_t *)_item;     /* Pointer to the ID info */
 1437|    296|    H5I_iterate_ud_t *udata     = (H5I_iterate_ud_t *)_udata; /* User data for callback */
 1438|    296|    int               ret_value = H5_ITER_CONT;               /* Callback return value */
  ------------------
  |  |  362|    296|#define H5_ITER_CONT  (0)  /**< Continue iteration */
  ------------------
 1439|       |
 1440|    296|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|    296|    {                                                                                                        \
  |  | 1467|    296|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|    296|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|    296|        {
  ------------------
 1441|       |
 1442|       |    /* Only invoke the callback function if this ID is visible externally and
 1443|       |     * its reference count is positive.
 1444|       |     */
 1445|    296|    if ((!udata->app_ref) || (info->app_count > 0)) {
  ------------------
  |  Branch (1445:9): [True: 296, False: 0]
  |  Branch (1445:30): [True: 0, False: 0]
  ------------------
 1446|    296|        H5I_type_t type = udata->obj_type;
 1447|    296|        void      *object;
 1448|    296|        herr_t     cb_ret_val;
 1449|       |
 1450|       |        /* The stored object pointer might be an H5VL_object_t, in which
 1451|       |         * case we'll need to get the wrapped object struct (H5F_t *, etc.).
 1452|       |         */
 1453|    296|        object = H5I__unwrap(info->u.object, type);
 1454|       |
 1455|       |        /* Invoke callback function */
 1456|    296|        cb_ret_val = (*udata->user_func)((void *)object, info->id, udata->user_udata);
 1457|       |
 1458|       |        /* Set the return value based on the callback's return value */
 1459|    296|        if (cb_ret_val > 0)
  ------------------
  |  Branch (1459:13): [True: 12, False: 284]
  ------------------
 1460|     12|            ret_value = H5_ITER_STOP; /* terminate iteration early */
  ------------------
  |  |  363|     12|#define H5_ITER_STOP  (1)  /**< Stop iteration, short-circuit success */
  ------------------
 1461|    284|        else if (cb_ret_val < 0)
  ------------------
  |  Branch (1461:18): [True: 0, False: 284]
  ------------------
 1462|      0|            ret_value = H5_ITER_ERROR; /* indicate failure (which terminates iteration) */
  ------------------
  |  |  361|      0|#define H5_ITER_ERROR (-1) /**< Error, stop iteration */
  ------------------
 1463|    296|    }
 1464|       |
 1465|    296|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    296|    ;                                                                                                        \
  |  | 1573|    296|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    296|    return (ret_value);                                                                                      \
  |  | 1575|    296|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1466|    296|} /* end H5I__iterate_cb() */
H5Iint.c:H5I__unwrap:
  251|    311|{
  252|    311|    void *ret_value = NULL; /* Return value */
  253|       |
  254|    311|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|    311|    {                                                                                                        \
  |  | 1467|    311|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|    311|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|    311|        {
  ------------------
  255|       |
  256|       |    /* Sanity checks */
  257|    311|    assert(object);
  258|       |
  259|       |    /* The stored object pointer might be an H5VL_object_t, in which
  260|       |     * case we'll need to get the wrapped object struct (H5F_t *, etc.).
  261|       |     */
  262|    311|    if (H5I_FILE == type || H5I_GROUP == type || H5I_DATASET == type || H5I_ATTR == type) {
  ------------------
  |  Branch (262:9): [True: 15, False: 296]
  |  Branch (262:29): [True: 0, False: 296]
  |  Branch (262:50): [True: 0, False: 296]
  |  Branch (262:73): [True: 24, False: 272]
  ------------------
  263|     39|        const H5VL_object_t *vol_obj;
  264|       |
  265|     39|        vol_obj   = (const H5VL_object_t *)object;
  266|     39|        ret_value = H5VL_object_data(vol_obj);
  267|     39|    }
  268|    272|    else if (H5I_DATATYPE == type) {
  ------------------
  |  Branch (268:14): [True: 93, False: 179]
  ------------------
  269|     93|        H5T_t *dt = (H5T_t *)object;
  270|       |
  271|     93|        ret_value = (void *)H5T_get_actual_type(dt);
  272|     93|    }
  273|    179|    else
  274|    179|        ret_value = object;
  275|       |
  276|    311|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    311|    ;                                                                                                        \
  |  | 1573|    311|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    311|    return (ret_value);                                                                                      \
  |  | 1575|    311|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  277|    311|} /* end H5I__unwrap() */
H5Iint.c:H5I__find_id_cb:
 1627|     15|{
 1628|     15|    H5I_id_info_t   *info      = (H5I_id_info_t *)_item;    /* Pointer to the ID info */
 1629|     15|    H5I_get_id_ud_t *udata     = (H5I_get_id_ud_t *)_udata; /* Pointer to user data */
 1630|     15|    H5I_type_t       type      = udata->obj_type;
 1631|     15|    const void      *object    = NULL;
 1632|     15|    int              ret_value = H5_ITER_CONT; /* Return value */
  ------------------
  |  |  362|     15|#define H5_ITER_CONT  (0)  /**< Continue iteration */
  ------------------
 1633|       |
 1634|     15|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     15|    {                                                                                                        \
  |  | 1467|     15|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     15|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     15|        {
  ------------------
 1635|       |
 1636|       |    /* Sanity check */
 1637|     15|    assert(info);
 1638|     15|    assert(udata);
 1639|       |
 1640|       |    /* Get a pointer to the VOL connector's data */
 1641|     15|    object = H5I__unwrap(info->u.object, type);
 1642|       |
 1643|       |    /* Check for a match */
 1644|     15|    if (object == udata->object) {
  ------------------
  |  Branch (1644:9): [True: 15, False: 0]
  ------------------
 1645|     15|        udata->ret_id = info->id;
 1646|     15|        ret_value     = H5_ITER_STOP;
  ------------------
  |  |  363|     15|#define H5_ITER_STOP  (1)  /**< Stop iteration, short-circuit success */
  ------------------
 1647|     15|    }
 1648|       |
 1649|     15|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     15|    ;                                                                                                        \
  |  | 1573|     15|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     15|    return (ret_value);                                                                                      \
  |  | 1575|     15|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1650|     15|} /* end H5I__find_id_cb() */

H5Lexists:
 1180|      6|{
 1181|      6|    bool   exists;           /* Flag to indicate if link exists */
 1182|      6|    htri_t ret_value = FAIL; /* Return value */
  ------------------
  |  |  284|      6|#define FAIL    (-1)
  ------------------
 1183|       |
 1184|     12|    FUNC_ENTER_API(FAIL)
  ------------------
  |  | 1300|      6|    {                                                                                                        \
  |  | 1301|      6|        {                                                                                                    \
  |  | 1302|      6|            bool api_ctx_pushed = false;                                                                     \
  |  | 1303|      6|                                                                                                             \
  |  | 1304|      6|            FUNC_ENTER_API_COMMON                                                                            \
  |  |  ------------------
  |  |  |  | 1281|      6|    FUNC_ENTER_COMMON(H5_IS_API(__func__));                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1265|      6|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  | 1266|      6|                                                                                                             \
  |  |  |  |  |  | 1267|      6|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  ------------------
  |  |  |  | 1282|      6|    FUNC_ENTER_API_THREADSAFE;
  |  |  ------------------
  |  | 1305|      6|            FUNC_ENTER_API_INIT(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1286|      6|    if (H5_UNLIKELY(!H5_INIT_GLOBAL && !H5_TERM_GLOBAL)) {                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      6|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 6]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 6]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1287|      0|        if (H5_UNLIKELY(H5_init_library() < 0))                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      0|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1288|      0|            HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, err, "library initialization failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1289|      0|    }
  |  |  ------------------
  |  | 1306|      6|            FUNC_ENTER_API_PUSH(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1293|      6|    if (H5_UNLIKELY(H5CX_push() < 0))                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      6|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 6]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1294|      6|        HGOTO_ERROR(H5E_FUNC, H5E_CANTSET, err, "can't set API context");                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1295|      6|    else                                                                                                     \
  |  |  |  | 1296|      6|        api_ctx_pushed = true;
  |  |  ------------------
  |  | 1307|      6|            /* Clear thread error stack entering public functions */                                         \
  |  | 1308|      6|            H5E_clear_stack();                                                                               \
  |  | 1309|      6|            {
  ------------------
 1185|       |
 1186|       |    /* Synchronously check if a link exists */
 1187|     12|    exists = false;
 1188|     12|    if (H5L__exists_api_common(loc_id, name, &exists, lapl_id, NULL, NULL) < 0)
  ------------------
  |  Branch (1188:9): [True: 0, False: 6]
  ------------------
 1189|      0|        HGOTO_ERROR(H5E_LINK, H5E_CANTGET, FAIL, "unable to synchronously check link existence");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1190|       |
 1191|       |    /* Set return value */
 1192|      6|    ret_value = (htri_t)exists;
 1193|       |
 1194|      6|done:
 1195|      6|    FUNC_LEAVE_API(ret_value)
  ------------------
  |  | 1509|      6|    ;                                                                                                        \
  |  | 1510|      6|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1511|      6|    if (H5_LIKELY(api_ctx_pushed)) {                                                                         \
  |  |  ------------------
  |  |  |  |  167|      6|#define H5_LIKELY(expression)   __builtin_expect(!!(expression), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (167:33): [True: 6, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1512|      6|        (void)H5CX_pop(true);                                                                                \
  |  | 1513|      6|        api_ctx_pushed = false;                                                                              \
  |  | 1514|      6|    }                                                                                                        \
  |  | 1515|      6|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|      6|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 0, False: 6]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1516|      6|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1517|      6|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1518|      6|    return (ret_value);                                                                                      \
  |  | 1519|      6|    }                                                                                                        \
  |  | 1520|      6|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1196|      6|} /* end H5Lexists() */
H5Lget_name_by_idx:
 1486|    138|{
 1487|    138|    H5VL_object_t       *vol_obj = NULL;     /* object of loc_id */
 1488|    138|    H5VL_link_get_args_t vol_cb_args;        /* Arguments to VOL callback */
 1489|    138|    H5VL_loc_params_t    loc_params;         /* Location parameters for object access */
 1490|    138|    size_t               link_name_len = 0;  /* Length of the link name string */
 1491|    138|    ssize_t              ret_value     = -1; /* Return value */
 1492|       |
 1493|    276|    FUNC_ENTER_API((-1))
  ------------------
  |  | 1300|    138|    {                                                                                                        \
  |  | 1301|    138|        {                                                                                                    \
  |  | 1302|    138|            bool api_ctx_pushed = false;                                                                     \
  |  | 1303|    138|                                                                                                             \
  |  | 1304|    138|            FUNC_ENTER_API_COMMON                                                                            \
  |  |  ------------------
  |  |  |  | 1281|    138|    FUNC_ENTER_COMMON(H5_IS_API(__func__));                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1265|    138|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  | 1266|    138|                                                                                                             \
  |  |  |  |  |  | 1267|    138|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  ------------------
  |  |  |  | 1282|    138|    FUNC_ENTER_API_THREADSAFE;
  |  |  ------------------
  |  | 1305|    138|            FUNC_ENTER_API_INIT(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1286|    138|    if (H5_UNLIKELY(!H5_INIT_GLOBAL && !H5_TERM_GLOBAL)) {                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|    138|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 138]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 138]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1287|      0|        if (H5_UNLIKELY(H5_init_library() < 0))                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      0|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1288|      0|            HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, err, "library initialization failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1289|      0|    }
  |  |  ------------------
  |  | 1306|    138|            FUNC_ENTER_API_PUSH(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1293|    138|    if (H5_UNLIKELY(H5CX_push() < 0))                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|    138|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 138]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1294|    138|        HGOTO_ERROR(H5E_FUNC, H5E_CANTSET, err, "can't set API context");                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1295|    138|    else                                                                                                     \
  |  |  |  | 1296|    138|        api_ctx_pushed = true;
  |  |  ------------------
  |  | 1307|    138|            /* Clear thread error stack entering public functions */                                         \
  |  | 1308|    138|            H5E_clear_stack();                                                                               \
  |  | 1309|    138|            {
  ------------------
 1494|       |
 1495|       |    /* Check arguments */
 1496|    276|    if (!group_name || !*group_name)
  ------------------
  |  Branch (1496:9): [True: 0, False: 138]
  |  Branch (1496:24): [True: 0, False: 138]
  ------------------
 1497|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, (-1), "no name specified");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1498|    138|    if (idx_type <= H5_INDEX_UNKNOWN || idx_type >= H5_INDEX_N)
  ------------------
  |  Branch (1498:9): [True: 0, False: 138]
  |  Branch (1498:41): [True: 0, False: 138]
  ------------------
 1499|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, (-1), "invalid index type specified");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1500|    138|    if (order <= H5_ITER_UNKNOWN || order >= H5_ITER_N)
  ------------------
  |  Branch (1500:9): [True: 0, False: 138]
  |  Branch (1500:37): [True: 0, False: 138]
  ------------------
 1501|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, (-1), "invalid iteration order specified");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1502|       |
 1503|       |    /* Verify access property list and set up collective metadata if appropriate */
 1504|    138|    if (H5CX_set_apl(&lapl_id, H5P_CLS_LACC, loc_id, true) < 0)
  ------------------
  |  Branch (1504:9): [True: 0, False: 138]
  ------------------
 1505|      0|        HGOTO_ERROR(H5E_LINK, H5E_CANTSET, (-1), "can't set access property list info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1506|       |
 1507|       |    /* Set up location struct */
 1508|    138|    loc_params.type                         = H5VL_OBJECT_BY_IDX;
 1509|    138|    loc_params.loc_data.loc_by_idx.name     = group_name;
 1510|    138|    loc_params.loc_data.loc_by_idx.idx_type = idx_type;
 1511|    138|    loc_params.loc_data.loc_by_idx.order    = order;
 1512|    138|    loc_params.loc_data.loc_by_idx.n        = n;
 1513|    138|    loc_params.loc_data.loc_by_idx.lapl_id  = lapl_id;
 1514|    138|    loc_params.obj_type                     = H5I_get_type(loc_id);
 1515|       |
 1516|       |    /* Get the VOL object */
 1517|    138|    if (NULL == (vol_obj = (H5VL_object_t *)H5I_object(loc_id)))
  ------------------
  |  Branch (1517:9): [True: 0, False: 138]
  ------------------
 1518|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, (-1), "invalid location identifier");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1519|       |
 1520|       |    /* Set up VOL callback arguments */
 1521|    138|    vol_cb_args.op_type                 = H5VL_LINK_GET_NAME;
 1522|    138|    vol_cb_args.args.get_name.name_size = size;
 1523|    138|    vol_cb_args.args.get_name.name      = name;
 1524|    138|    vol_cb_args.args.get_name.name_len  = &link_name_len;
 1525|       |
 1526|       |    /* Get the link information */
 1527|    138|    if (H5VL_link_get(vol_obj, &loc_params, &vol_cb_args, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL) < 0)
  ------------------
  |  |  160|    138|#define H5P_DATASET_XFER_DEFAULT (H5OPEN H5P_LST_DATASET_XFER_ID_g)
  ------------------
                  if (H5VL_link_get(vol_obj, &loc_params, &vol_cb_args, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL) < 0)
  ------------------
  |  |  442|    138|#define H5_REQUEST_NULL NULL
  ------------------
  |  Branch (1527:9): [True: 2, False: 136]
  ------------------
 1528|      2|        HGOTO_ERROR(H5E_LINK, H5E_CANTGET, (-1), "unable to get link name");
  ------------------
  |  |   68|      2|    do {                                                                                                     \
  |  |   69|      2|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      2|    do {                                                                                                     \
  |  |  |  |   40|      2|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      2|    do {                                                                                                     \
  |  |  |  |  |  |   31|      2|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      2|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      2|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      2|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      2|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      2|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      2|    do {                                                                                                     \
  |  |  |  |   92|      2|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      2|        goto done;                                                                                           \
  |  |  |  |   94|      2|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1529|       |
 1530|       |    /* Set the return value */
 1531|    136|    ret_value = (ssize_t)link_name_len;
 1532|       |
 1533|    138|done:
 1534|    138|    FUNC_LEAVE_API(ret_value)
  ------------------
  |  | 1509|    138|    ;                                                                                                        \
  |  | 1510|    138|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1511|    138|    if (H5_LIKELY(api_ctx_pushed)) {                                                                         \
  |  |  ------------------
  |  |  |  |  167|    138|#define H5_LIKELY(expression)   __builtin_expect(!!(expression), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (167:33): [True: 138, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1512|    138|        (void)H5CX_pop(true);                                                                                \
  |  | 1513|    138|        api_ctx_pushed = false;                                                                              \
  |  | 1514|    138|    }                                                                                                        \
  |  | 1515|    138|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|    138|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 2, False: 136]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1516|    138|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1517|    138|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1518|    138|    return (ret_value);                                                                                      \
  |  | 1519|    138|    }                                                                                                        \
  |  | 1520|    138|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1535|    136|} /* end H5Lget_name_by_idx() */
H5Literate2:
 1614|     76|{
 1615|     76|    herr_t ret_value; /* Return value */
 1616|       |
 1617|    152|    FUNC_ENTER_API(FAIL)
  ------------------
  |  | 1300|     76|    {                                                                                                        \
  |  | 1301|     76|        {                                                                                                    \
  |  | 1302|     76|            bool api_ctx_pushed = false;                                                                     \
  |  | 1303|     76|                                                                                                             \
  |  | 1304|     76|            FUNC_ENTER_API_COMMON                                                                            \
  |  |  ------------------
  |  |  |  | 1281|     76|    FUNC_ENTER_COMMON(H5_IS_API(__func__));                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1265|     76|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  | 1266|     76|                                                                                                             \
  |  |  |  |  |  | 1267|     76|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  ------------------
  |  |  |  | 1282|     76|    FUNC_ENTER_API_THREADSAFE;
  |  |  ------------------
  |  | 1305|     76|            FUNC_ENTER_API_INIT(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1286|     76|    if (H5_UNLIKELY(!H5_INIT_GLOBAL && !H5_TERM_GLOBAL)) {                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     76|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 76]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 76]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1287|      0|        if (H5_UNLIKELY(H5_init_library() < 0))                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      0|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1288|      0|            HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, err, "library initialization failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1289|      0|    }
  |  |  ------------------
  |  | 1306|     76|            FUNC_ENTER_API_PUSH(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1293|     76|    if (H5_UNLIKELY(H5CX_push() < 0))                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     76|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 76]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1294|     76|        HGOTO_ERROR(H5E_FUNC, H5E_CANTSET, err, "can't set API context");                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1295|     76|    else                                                                                                     \
  |  |  |  | 1296|     76|        api_ctx_pushed = true;
  |  |  ------------------
  |  | 1307|     76|            /* Clear thread error stack entering public functions */                                         \
  |  | 1308|     76|            H5E_clear_stack();                                                                               \
  |  | 1309|     76|            {
  ------------------
 1618|       |
 1619|       |    /* Iterate over links synchronously */
 1620|    152|    if ((ret_value = H5L__iterate_api_common(group_id, idx_type, order, idx_p, op, op_data, NULL, NULL)) < 0)
  ------------------
  |  Branch (1620:9): [True: 50, False: 26]
  ------------------
 1621|     50|        HGOTO_ERROR(H5E_LINK, H5E_BADITER, FAIL, "synchronous link iteration failed");
  ------------------
  |  |   68|     50|    do {                                                                                                     \
  |  |   69|     50|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     50|    do {                                                                                                     \
  |  |  |  |   40|     50|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     50|    do {                                                                                                     \
  |  |  |  |  |  |   31|     50|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     50|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     50|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     50|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     50|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     50|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     50|    do {                                                                                                     \
  |  |  |  |   92|     50|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     50|        goto done;                                                                                           \
  |  |  |  |   94|     50|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     50|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1622|       |
 1623|     76|done:
 1624|     76|    FUNC_LEAVE_API(ret_value)
  ------------------
  |  | 1509|     76|    ;                                                                                                        \
  |  | 1510|     76|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1511|     76|    if (H5_LIKELY(api_ctx_pushed)) {                                                                         \
  |  |  ------------------
  |  |  |  |  167|     76|#define H5_LIKELY(expression)   __builtin_expect(!!(expression), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (167:33): [True: 76, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1512|     76|        (void)H5CX_pop(true);                                                                                \
  |  | 1513|     76|        api_ctx_pushed = false;                                                                              \
  |  | 1514|     76|    }                                                                                                        \
  |  | 1515|     76|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|     76|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 50, False: 26]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1516|     76|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1517|     76|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1518|     76|    return (ret_value);                                                                                      \
  |  | 1519|     76|    }                                                                                                        \
  |  | 1520|     76|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1625|    152|} /* end H5Literate2() */
H5L.c:H5L__exists_api_common:
 1138|      6|{
 1139|      6|    H5VL_object_t  *tmp_vol_obj = NULL; /* Object for loc_id */
 1140|      6|    H5VL_object_t **vol_obj_ptr =
 1141|      6|        (_vol_obj_ptr ? _vol_obj_ptr : &tmp_vol_obj); /* Ptr to object ptr for loc_id */
  ------------------
  |  Branch (1141:10): [True: 0, False: 6]
  ------------------
 1142|      6|    H5VL_link_specific_args_t vol_cb_args;            /* Arguments to VOL callback */
 1143|      6|    H5VL_loc_params_t         loc_params;             /* Location parameters for object access */
 1144|      6|    herr_t                    ret_value = SUCCEED;    /* Return value */
  ------------------
  |  |  283|      6|#define SUCCEED 0
  ------------------
 1145|       |
 1146|      6|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      6|    {                                                                                                        \
  |  | 1461|      6|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      6|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      6|                                                                                                             \
  |  |  |  | 1267|      6|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      6|        {
  ------------------
 1147|       |
 1148|       |    /* Check arguments */
 1149|       |    /* name is verified in H5VL_setup_name_args() */
 1150|      6|    if (NULL == exists)
  ------------------
  |  Branch (1150:9): [True: 0, False: 6]
  ------------------
 1151|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid pointer for link existence");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1152|       |
 1153|       |    /* Set up object access arguments */
 1154|      6|    if (H5VL_setup_name_args(loc_id, name, false, lapl_id, vol_obj_ptr, &loc_params) < 0)
  ------------------
  |  Branch (1154:9): [True: 0, False: 6]
  ------------------
 1155|      0|        HGOTO_ERROR(H5E_LINK, H5E_CANTSET, FAIL, "can't set object access arguments");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1156|       |
 1157|       |    /* Set up VOL callback arguments */
 1158|      6|    vol_cb_args.op_type            = H5VL_LINK_EXISTS;
 1159|      6|    vol_cb_args.args.exists.exists = exists;
 1160|       |
 1161|       |    /* Check for the existence of the link */
 1162|      6|    if (H5VL_link_specific(*vol_obj_ptr, &loc_params, &vol_cb_args, H5P_DATASET_XFER_DEFAULT, token_ptr) < 0)
  ------------------
  |  |  160|      6|#define H5P_DATASET_XFER_DEFAULT (H5OPEN H5P_LST_DATASET_XFER_ID_g)
  ------------------
  |  Branch (1162:9): [True: 0, False: 6]
  ------------------
 1163|      0|        HGOTO_ERROR(H5E_LINK, H5E_CANTGET, FAIL, "unable to get link info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1164|       |
 1165|      6|done:
 1166|      6|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      6|    ;                                                                                                        \
  |  | 1573|      6|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      6|    return (ret_value);                                                                                      \
  |  | 1575|      6|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1167|      6|} /* H5L__exists_api_common() */
H5L.c:H5L__iterate_api_common:
 1549|     76|{
 1550|     76|    H5VL_object_t  *tmp_vol_obj = NULL; /* Object for loc_id */
 1551|     76|    H5VL_object_t **vol_obj_ptr =
 1552|     76|        (_vol_obj_ptr ? _vol_obj_ptr : &tmp_vol_obj);   /* Ptr to object ptr for loc_id */
  ------------------
  |  Branch (1552:10): [True: 0, False: 76]
  ------------------
 1553|     76|    H5VL_link_specific_args_t vol_cb_args;              /* Arguments to VOL callback */
 1554|     76|    H5VL_loc_params_t         loc_params;               /* Location parameters for object access */
 1555|     76|    H5I_type_t                id_type;                  /* Type of ID */
 1556|     76|    herr_t                    ret_value = H5_ITER_CONT; /* Return value */
  ------------------
  |  |  362|     76|#define H5_ITER_CONT  (0)  /**< Continue iteration */
  ------------------
 1557|       |
 1558|     76|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     76|    {                                                                                                        \
  |  | 1461|     76|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     76|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     76|                                                                                                             \
  |  |  |  | 1267|     76|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     76|        {
  ------------------
 1559|       |
 1560|       |    /* Check arguments */
 1561|     76|    id_type = H5I_get_type(group_id);
 1562|     76|    if (!(H5I_GROUP == id_type || H5I_FILE == id_type))
  ------------------
  |  Branch (1562:11): [True: 0, False: 76]
  |  Branch (1562:35): [True: 76, False: 0]
  ------------------
 1563|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid argument");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1564|     76|    if (idx_type <= H5_INDEX_UNKNOWN || idx_type >= H5_INDEX_N)
  ------------------
  |  Branch (1564:9): [True: 0, False: 76]
  |  Branch (1564:41): [True: 0, False: 76]
  ------------------
 1565|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid index type specified");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1566|     76|    if (order <= H5_ITER_UNKNOWN || order >= H5_ITER_N)
  ------------------
  |  Branch (1566:9): [True: 0, False: 76]
  |  Branch (1566:37): [True: 0, False: 76]
  ------------------
 1567|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid iteration order specified");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1568|     76|    if (!op)
  ------------------
  |  Branch (1568:9): [True: 0, False: 76]
  ------------------
 1569|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no operator specified");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1570|       |
 1571|       |    /* Set up object access arguments */
 1572|     76|    if (H5VL_setup_self_args(group_id, vol_obj_ptr, &loc_params) < 0)
  ------------------
  |  Branch (1572:9): [True: 0, False: 76]
  ------------------
 1573|      0|        HGOTO_ERROR(H5E_LINK, H5E_CANTSET, FAIL, "can't set object access arguments");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1574|       |
 1575|       |    /* Set up VOL callback arguments */
 1576|     76|    vol_cb_args.op_type                = H5VL_LINK_ITER;
 1577|     76|    vol_cb_args.args.iterate.recursive = false;
 1578|     76|    vol_cb_args.args.iterate.idx_type  = idx_type;
 1579|     76|    vol_cb_args.args.iterate.order     = order;
 1580|     76|    vol_cb_args.args.iterate.idx_p     = idx_p;
 1581|     76|    vol_cb_args.args.iterate.op        = op;
 1582|     76|    vol_cb_args.args.iterate.op_data   = op_data;
 1583|       |
 1584|       |    /* Iterate over the links */
 1585|     76|    if ((ret_value = H5VL_link_specific(*vol_obj_ptr, &loc_params, &vol_cb_args, H5P_DATASET_XFER_DEFAULT,
  ------------------
  |  |  160|     76|#define H5P_DATASET_XFER_DEFAULT (H5OPEN H5P_LST_DATASET_XFER_ID_g)
  ------------------
  |  Branch (1585:9): [True: 50, False: 26]
  ------------------
 1586|     76|                                        token_ptr)) < 0)
 1587|     50|        HGOTO_ERROR(H5E_LINK, H5E_BADITER, FAIL, "link iteration failed");
  ------------------
  |  |   68|     50|    do {                                                                                                     \
  |  |   69|     50|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     50|    do {                                                                                                     \
  |  |  |  |   40|     50|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     50|    do {                                                                                                     \
  |  |  |  |  |  |   31|     50|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     50|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     50|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     50|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     50|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     50|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     50|    do {                                                                                                     \
  |  |  |  |   92|     50|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     50|        goto done;                                                                                           \
  |  |  |  |   94|     50|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     50|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1588|       |
 1589|     76|done:
 1590|     76|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     76|    ;                                                                                                        \
  |  | 1573|     76|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     76|    return (ret_value);                                                                                      \
  |  | 1575|     76|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1591|     76|} /* H5L__iterate_api_common() */

H5L_register_external:
  313|      1|{
  314|      1|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  315|       |
  316|      1|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      1|    {                                                                                                        \
  |  | 1392|      1|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      1|        {
  ------------------
  317|       |
  318|      1|    if (H5L_register(H5L_EXTERN_LINK_CLASS) < 0)
  ------------------
  |  Branch (318:9): [True: 0, False: 1]
  ------------------
  319|      0|        HGOTO_ERROR(H5E_LINK, H5E_NOTREGISTERED, FAIL, "unable to register external link class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  320|       |
  321|      1|done:
  322|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  323|      1|} /* end H5L_register_external() */

H5L_init:
  203|      1|{
  204|      1|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  205|       |
  206|      1|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      1|    {                                                                                                        \
  |  | 1392|      1|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      1|        {
  ------------------
  207|       |
  208|       |    /* Initialize user-defined link classes */
  209|      1|    if (H5L_register_external() < 0)
  ------------------
  |  Branch (209:9): [True: 0, False: 1]
  ------------------
  210|      0|        HGOTO_ERROR(H5E_LINK, H5E_NOTREGISTERED, FAIL, "unable to register external link class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  211|       |
  212|      1|done:
  213|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  214|      1|} /* end H5L_init() */
H5L_term_package:
  227|      2|{
  228|      2|    int n = 0;
  229|       |
  230|      2|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      2|    {                                                                                                        \
  |  | 1425|      2|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      2|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      2|        {
  ------------------
  231|       |
  232|       |    /* Free the table of link types */
  233|      2|    if (H5L_table_g) {
  ------------------
  |  Branch (233:9): [True: 1, False: 1]
  ------------------
  234|      1|        H5L_table_g      = (H5L_class_t *)H5MM_xfree(H5L_table_g);
  235|      1|        H5L_table_used_g = H5L_table_alloc_g = 0;
  236|      1|        n++;
  237|      1|    } /* end if */
  238|       |
  239|      2|    FUNC_LEAVE_NOAPI(n)
  ------------------
  |  | 1572|      2|    ;                                                                                                        \
  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  240|      2|} /* H5L_term_package() */
H5L_register:
  314|      1|{
  315|      1|    size_t i;                   /* Local index variable */
  316|      1|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  317|       |
  318|      1|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      1|    {                                                                                                        \
  |  | 1392|      1|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      1|        {
  ------------------
  319|       |
  320|      1|    assert(cls);
  321|      1|    assert(cls->id >= 0 && cls->id <= H5L_TYPE_MAX);
  322|       |
  323|       |    /* Is the link type already registered? */
  324|      1|    for (i = 0; i < H5L_table_used_g; i++)
  ------------------
  |  Branch (324:17): [True: 0, False: 1]
  ------------------
  325|      0|        if (H5L_table_g[i].id == cls->id)
  ------------------
  |  Branch (325:13): [True: 0, False: 0]
  ------------------
  326|      0|            break;
  327|       |
  328|       |    /* Filter not already registered */
  329|      1|    if (i >= H5L_table_used_g) {
  ------------------
  |  Branch (329:9): [True: 1, False: 0]
  ------------------
  330|      1|        if (H5L_table_used_g >= H5L_table_alloc_g) {
  ------------------
  |  Branch (330:13): [True: 1, False: 0]
  ------------------
  331|      1|            size_t       n     = MAX(H5L_MIN_TABLE_SIZE, (2 * H5L_table_alloc_g));
  ------------------
  |  |  300|      1|#define MAX(a, b)        (((a) > (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (300:27): [True: 1, False: 0]
  |  |  ------------------
  ------------------
  332|      1|            H5L_class_t *table = (H5L_class_t *)H5MM_realloc(H5L_table_g, (n * sizeof(H5L_class_t)));
  333|      1|            if (!table)
  ------------------
  |  Branch (333:17): [True: 0, False: 1]
  ------------------
  334|      0|                HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "unable to extend link type table");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  335|      1|            H5L_table_g       = table;
  336|      1|            H5L_table_alloc_g = n;
  337|      1|        } /* end if */
  338|       |
  339|       |        /* Initialize */
  340|      1|        i = H5L_table_used_g++;
  341|      1|    } /* end if */
  342|       |
  343|       |    /* Copy link class info into table */
  344|      1|    H5MM_memcpy(H5L_table_g + i, cls, sizeof(H5L_class_t));
  ------------------
  |  |   41|      1|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  345|       |
  346|      1|done:
  347|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  348|      1|} /* end H5L_register */
H5L__exists:
 1736|      6|{
 1737|      6|    H5L_trav_le_t udata;               /* User data for traversal */
 1738|      6|    herr_t        ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      6|#define SUCCEED 0
  ------------------
 1739|       |
 1740|      6|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      6|    {                                                                                                        \
  |  | 1461|      6|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      6|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      6|                                                                                                             \
  |  |  |  | 1267|      6|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      6|        {
  ------------------
 1741|       |
 1742|       |    /* Sanity checks */
 1743|      6|    assert(loc);
 1744|      6|    assert(name);
 1745|      6|    assert(exists);
 1746|       |
 1747|       |    /* A path of "/" will always exist in a file */
 1748|      6|    if (0 == strcmp(name, "/"))
  ------------------
  |  Branch (1748:9): [True: 0, False: 6]
  ------------------
 1749|      0|        *exists = true;
 1750|      6|    else {
 1751|       |        /* Traverse the group hierarchy to locate the object to get info about */
 1752|      6|        udata.exists = exists;
 1753|      6|        if (H5G_traverse(loc, name, H5G_TARGET_SLINK | H5G_TARGET_UDLINK, H5L__exists_final_cb, &udata) < 0)
  ------------------
  |  |  109|      6|#define H5G_TARGET_SLINK    0x0001
  ------------------
                      if (H5G_traverse(loc, name, H5G_TARGET_SLINK | H5G_TARGET_UDLINK, H5L__exists_final_cb, &udata) < 0)
  ------------------
  |  |  111|      6|#define H5G_TARGET_UDLINK   0x0004
  ------------------
  |  Branch (1753:13): [True: 0, False: 6]
  ------------------
 1754|      0|            HGOTO_ERROR(H5E_LINK, H5E_EXISTS, FAIL, "link doesn't exist");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1755|      6|    }
 1756|       |
 1757|      6|done:
 1758|      6|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      6|    ;                                                                                                        \
  |  | 1573|      6|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      6|    return (ret_value);                                                                                      \
  |  | 1575|      6|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1759|      6|} /* H5L__exists() */
H5L__get_name_by_idx:
 1957|    138|{
 1958|    138|    H5L_trav_gnbi_t udata;               /* User data for callback */
 1959|    138|    herr_t          ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    138|#define SUCCEED 0
  ------------------
 1960|       |
 1961|    138|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    138|    {                                                                                                        \
  |  | 1461|    138|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    138|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    138|                                                                                                             \
  |  |  |  | 1267|    138|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    138|        {
  ------------------
 1962|       |
 1963|       |    /* Check arguments */
 1964|    138|    assert(loc);
 1965|    138|    assert(group_name && *group_name);
 1966|    138|    assert(link_name_len);
 1967|       |
 1968|       |    /* Set up user data for callback */
 1969|    138|    udata.idx_type = idx_type;
 1970|    138|    udata.order    = order;
 1971|    138|    udata.n        = n;
 1972|    138|    udata.name     = name;
 1973|    138|    udata.size     = size;
 1974|    138|    udata.name_len = 0;
 1975|       |
 1976|       |    /* Traverse the group hierarchy to locate the link to get name of */
 1977|    138|    if (H5G_traverse(loc, group_name, H5G_TARGET_SLINK | H5G_TARGET_UDLINK, H5L__get_name_by_idx_cb, &udata) <
  ------------------
  |  |  109|    138|#define H5G_TARGET_SLINK    0x0001
  ------------------
                  if (H5G_traverse(loc, group_name, H5G_TARGET_SLINK | H5G_TARGET_UDLINK, H5L__get_name_by_idx_cb, &udata) <
  ------------------
  |  |  111|    138|#define H5G_TARGET_UDLINK   0x0004
  ------------------
  |  Branch (1977:9): [True: 2, False: 136]
  ------------------
 1978|    138|        0)
 1979|      2|        HGOTO_ERROR(H5E_LINK, H5E_CANTGET, FAIL, "can't get name");
  ------------------
  |  |   68|      2|    do {                                                                                                     \
  |  |   69|      2|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      2|    do {                                                                                                     \
  |  |  |  |   40|      2|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      2|    do {                                                                                                     \
  |  |  |  |  |  |   31|      2|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      2|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      2|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      2|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      2|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      2|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      2|    do {                                                                                                     \
  |  |  |  |   92|      2|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      2|        goto done;                                                                                           \
  |  |  |  |   94|      2|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1980|       |
 1981|       |    /* Set the return value */
 1982|    136|    *link_name_len = udata.name_len;
 1983|       |
 1984|    138|done:
 1985|    138|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    138|    ;                                                                                                        \
  |  | 1573|    138|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    138|    return (ret_value);                                                                                      \
  |  | 1575|    138|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1986|    136|} /* end H5L__get_name_by_idx() */
H5L_iterate:
 2126|     76|{
 2127|     76|    H5G_link_iterate_t lnk_op;           /* Link operator                    */
 2128|     76|    hsize_t            last_lnk;         /* Index of last object looked at   */
 2129|     76|    hsize_t            idx;              /* Internal location to hold index  */
 2130|     76|    herr_t             ret_value = FAIL; /* Return value                     */
  ------------------
  |  |  284|     76|#define FAIL    (-1)
  ------------------
 2131|       |
 2132|     76|    FUNC_ENTER_NOAPI_NOINIT
  ------------------
  |  | 1410|     76|    {                                                                                                        \
  |  | 1411|     76|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     76|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     76|                                                                                                             \
  |  |  |  | 1267|     76|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1412|     76|        {
  ------------------
 2133|       |
 2134|       |    /* Sanity checks */
 2135|     76|    assert(loc);
 2136|     76|    assert(group_name);
 2137|     76|    assert(op);
 2138|       |
 2139|       |    /* Set up iteration beginning/end info */
 2140|     76|    idx      = (idx_p == NULL ? 0 : *idx_p);
  ------------------
  |  Branch (2140:17): [True: 0, False: 76]
  ------------------
 2141|     76|    last_lnk = 0;
 2142|       |
 2143|       |    /* Build link operator info */
 2144|     76|    lnk_op.op_type        = H5G_LINK_OP_NEW;
 2145|     76|    lnk_op.op_func.op_new = op;
 2146|       |
 2147|       |    /* Iterate over the links */
 2148|     76|    if ((ret_value = H5G_iterate(loc, group_name, idx_type, order, idx, &last_lnk, &lnk_op, op_data)) < 0)
  ------------------
  |  Branch (2148:9): [True: 50, False: 26]
  ------------------
 2149|     50|        HGOTO_ERROR(H5E_LINK, H5E_BADITER, FAIL, "link iteration failed");
  ------------------
  |  |   68|     50|    do {                                                                                                     \
  |  |   69|     50|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     50|    do {                                                                                                     \
  |  |  |  |   40|     50|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     50|    do {                                                                                                     \
  |  |  |  |  |  |   31|     50|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     50|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     50|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     50|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     50|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     50|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     50|    do {                                                                                                     \
  |  |  |  |   92|     50|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     50|        goto done;                                                                                           \
  |  |  |  |   94|     50|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     50|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2150|       |
 2151|       |    /* Set the index we stopped at */
 2152|     26|    if (idx_p)
  ------------------
  |  Branch (2152:9): [True: 26, False: 0]
  ------------------
 2153|     26|        *idx_p = last_lnk;
 2154|       |
 2155|     76|done:
 2156|     76|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     76|    ;                                                                                                        \
  |  | 1573|     76|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     76|    return (ret_value);                                                                                      \
  |  | 1575|     76|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2157|     26|} /* end H5L_iterate() */
H5Lint.c:H5L__exists_final_cb:
 1589|      6|{
 1590|      6|    H5L_trav_le_t *udata = (H5L_trav_le_t *)_udata; /* User data passed in */
 1591|       |
 1592|      6|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|      6|    {                                                                                                        \
  |  | 1467|      6|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|      6|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|      6|        {
  ------------------
 1593|       |
 1594|       |    /* Check if the name in this group resolved to a valid link */
 1595|      6|    *udata->exists = (bool)(lnk != NULL);
 1596|       |
 1597|       |    /* Indicate that this callback didn't take ownership of the group *
 1598|       |     * location for the object */
 1599|      6|    *own_loc = H5G_OWN_NONE;
  ------------------
  |  |  126|      6|#define H5G_OWN_NONE    0
  ------------------
 1600|       |
 1601|      6|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|      6|    ;                                                                                                        \
  |  | 1573|      6|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      6|    return (ret_value);                                                                                      \
  |  | 1575|      6|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1602|      6|} /* end H5L__exists_final_cb() */
H5Lint.c:H5L__get_name_by_idx_cb:
 1921|    138|{
 1922|    138|    H5L_trav_gnbi_t *udata     = (H5L_trav_gnbi_t *)_udata; /* User data passed in */
 1923|    138|    herr_t           ret_value = SUCCEED;                   /* Return value */
  ------------------
  |  |  283|    138|#define SUCCEED 0
  ------------------
 1924|       |
 1925|    138|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    138|    {                                                                                                        \
  |  | 1461|    138|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    138|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    138|                                                                                                             \
  |  |  |  | 1267|    138|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    138|        {
  ------------------
 1926|       |
 1927|       |    /* Check if the name of the group resolved to a valid object */
 1928|    138|    if (obj_loc == NULL)
  ------------------
  |  Branch (1928:9): [True: 0, False: 138]
  ------------------
 1929|      0|        HGOTO_ERROR(H5E_LINK, H5E_NOTFOUND, FAIL, "group doesn't exist");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1930|       |
 1931|       |    /* Query link */
 1932|    138|    if (H5G_obj_get_name_by_idx(obj_loc->oloc, udata->idx_type, udata->order, udata->n, udata->name,
  ------------------
  |  Branch (1932:9): [True: 2, False: 136]
  ------------------
 1933|    138|                                udata->size, &udata->name_len) < 0)
 1934|      2|        HGOTO_ERROR(H5E_LINK, H5E_NOTFOUND, FAIL, "link not found");
  ------------------
  |  |   68|      2|    do {                                                                                                     \
  |  |   69|      2|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      2|    do {                                                                                                     \
  |  |  |  |   40|      2|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      2|    do {                                                                                                     \
  |  |  |  |  |  |   31|      2|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      2|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      2|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      2|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      2|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      2|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      2|    do {                                                                                                     \
  |  |  |  |   92|      2|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      2|        goto done;                                                                                           \
  |  |  |  |   94|      2|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1935|       |
 1936|    138|done:
 1937|       |    /* Indicate that this callback didn't take ownership of the group *
 1938|       |     * location for the object */
 1939|    138|    *own_loc = H5G_OWN_NONE;
  ------------------
  |  |  126|    138|#define H5G_OWN_NONE    0
  ------------------
 1940|       |
 1941|    138|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    138|    ;                                                                                                        \
  |  | 1573|    138|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    138|    return (ret_value);                                                                                      \
  |  | 1575|    138|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1942|    138|} /* end H5L__get_name_by_idx_cb() */

H5M_init:
   88|      1|{
   89|      1|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
   90|       |
   91|      1|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      1|    {                                                                                                        \
  |  | 1392|      1|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      1|        {
  ------------------
   92|       |
   93|       |    /* Initialize the ID group for the map IDs */
   94|      1|    if (H5I_register_type(H5I_MAP_CLS) < 0)
  ------------------
  |  Branch (94:9): [True: 0, False: 1]
  ------------------
   95|      0|        HGOTO_ERROR(H5E_MAP, H5E_CANTINIT, FAIL, "unable to initialize interface");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   96|       |
   97|      1|done:
   98|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
   99|      1|} /* end H5M_init() */
H5M_top_term_package:
  113|      1|{
  114|      1|    int n = 0;
  115|       |
  116|      1|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      1|    {                                                                                                        \
  |  | 1425|      1|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      1|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      1|        {
  ------------------
  117|       |
  118|      1|    if (H5I_nmembers(H5I_MAP) > 0) {
  ------------------
  |  Branch (118:9): [True: 0, False: 1]
  ------------------
  119|      0|        (void)H5I_clear_type(H5I_MAP, false, false);
  120|      0|        n++;
  121|      0|    }
  122|       |
  123|      1|    FUNC_LEAVE_NOAPI(n)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  124|      1|} /* end H5M_top_term_package() */
H5M_term_package:
  141|      1|{
  142|      1|    int n = 0;
  143|       |
  144|      1|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      1|    {                                                                                                        \
  |  | 1425|      1|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      1|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      1|        {
  ------------------
  145|       |
  146|       |    /* Sanity checks */
  147|      1|    assert(0 == H5I_nmembers(H5I_MAP));
  148|       |
  149|       |    /* Destroy the dataset object id group */
  150|      1|    n += (H5I_dec_type_ref(H5I_MAP) > 0);
  151|       |
  152|      1|    FUNC_LEAVE_NOAPI(n)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  153|      1|} /* end H5M_term_package() */

H5MF_init_merge_flags:
  134|     10|{
  135|     10|    H5MF_aggr_merge_t mapping_type;        /* Type of free list mapping */
  136|     10|    H5FD_mem_t        type;                /* Memory type for iteration */
  137|     10|    bool              all_same;            /* Whether all the types map to the same value */
  138|     10|    herr_t            ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
  139|       |
  140|     10|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     10|    {                                                                                                        \
  |  | 1392|     10|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     10|        {
  ------------------
  141|       |
  142|       |    /* check args */
  143|     10|    assert(f_sh);
  144|     10|    assert(f_sh->lf);
  145|       |
  146|       |    /* Iterate over all the free space types to determine if sections of that type
  147|       |     *  can merge with the metadata or small 'raw' data aggregator
  148|       |     */
  149|     10|    all_same = true;
  150|     40|    for (type = H5FD_MEM_DEFAULT; type < H5FD_MEM_NTYPES; type++)
  ------------------
  |  Branch (150:35): [True: 40, False: 0]
  ------------------
  151|       |        /* Check for any different type mappings */
  152|     40|        if (f_sh->fs_type_map[type] != f_sh->fs_type_map[H5FD_MEM_DEFAULT]) {
  ------------------
  |  Branch (152:13): [True: 10, False: 30]
  ------------------
  153|     10|            all_same = false;
  154|     10|            break;
  155|     10|        } /* end if */
  156|       |
  157|       |    /* Check for all allocation types mapping to the same free list type */
  158|     10|    if (all_same) {
  ------------------
  |  Branch (158:9): [True: 0, False: 10]
  ------------------
  159|      0|        if (f_sh->fs_type_map[H5FD_MEM_DEFAULT] == H5FD_MEM_DEFAULT)
  ------------------
  |  Branch (159:13): [True: 0, False: 0]
  ------------------
  160|      0|            mapping_type = H5MF_AGGR_MERGE_SEPARATE;
  161|      0|        else
  162|      0|            mapping_type = H5MF_AGGR_MERGE_TOGETHER;
  163|      0|    } /* end if */
  164|     10|    else {
  165|       |        /* Check for raw data mapping into same list as metadata */
  166|     10|        if (f_sh->fs_type_map[H5FD_MEM_DRAW] == f_sh->fs_type_map[H5FD_MEM_SUPER])
  ------------------
  |  Branch (166:13): [True: 0, False: 10]
  ------------------
  167|      0|            mapping_type = H5MF_AGGR_MERGE_SEPARATE;
  168|     10|        else {
  169|     10|            bool all_metadata_same; /* Whether all metadata go in same free list */
  170|       |
  171|       |            /* One or more allocation type don't map to the same free list type */
  172|       |            /* Check if all the metadata allocation types map to the same type */
  173|     10|            all_metadata_same = true;
  174|     70|            for (type = H5FD_MEM_SUPER; type < H5FD_MEM_NTYPES; type++)
  ------------------
  |  Branch (174:41): [True: 60, False: 10]
  ------------------
  175|       |                /* Skip checking raw data free list mapping */
  176|       |                /* (global heap is treated as raw data) */
  177|     60|                if (type != H5FD_MEM_DRAW && type != H5FD_MEM_GHEAP) {
  ------------------
  |  Branch (177:21): [True: 50, False: 10]
  |  Branch (177:46): [True: 40, False: 10]
  ------------------
  178|       |                    /* Check for any different type mappings */
  179|     40|                    if (f_sh->fs_type_map[type] != f_sh->fs_type_map[H5FD_MEM_SUPER]) {
  ------------------
  |  Branch (179:25): [True: 0, False: 40]
  ------------------
  180|      0|                        all_metadata_same = false;
  181|      0|                        break;
  182|      0|                    } /* end if */
  183|     40|                }     /* end if */
  184|       |
  185|       |            /* Check for all metadata on same free list */
  186|     10|            if (all_metadata_same)
  ------------------
  |  Branch (186:17): [True: 10, False: 0]
  ------------------
  187|     10|                mapping_type = H5MF_AGGR_MERGE_DICHOTOMY;
  188|      0|            else
  189|      0|                mapping_type = H5MF_AGGR_MERGE_SEPARATE;
  190|     10|        } /* end else */
  191|     10|    }     /* end else */
  192|       |
  193|       |    /* Based on mapping type, initialize merging flags for each free list type */
  194|     10|    switch (mapping_type) {
  195|      0|        case H5MF_AGGR_MERGE_SEPARATE:
  ------------------
  |  Branch (195:9): [True: 0, False: 10]
  ------------------
  196|       |            /* Don't merge any metadata together */
  197|      0|            memset(f_sh->fs_aggr_merge, 0, sizeof(f_sh->fs_aggr_merge));
  198|       |
  199|       |            /* Check if merging raw data should be allowed */
  200|       |            /* (treat global heaps as raw data) */
  201|      0|            if (H5FD_MEM_DRAW == f_sh->fs_type_map[H5FD_MEM_DRAW] ||
  ------------------
  |  Branch (201:17): [True: 0, False: 0]
  ------------------
  202|      0|                H5FD_MEM_DEFAULT == f_sh->fs_type_map[H5FD_MEM_DRAW]) {
  ------------------
  |  Branch (202:17): [True: 0, False: 0]
  ------------------
  203|      0|                f_sh->fs_aggr_merge[H5FD_MEM_DRAW]  = H5F_FS_MERGE_RAWDATA;
  ------------------
  |  |   60|      0|#define H5F_FS_MERGE_RAWDATA  0x02 /* Section can merge with small 'raw' data aggregator */
  ------------------
  204|      0|                f_sh->fs_aggr_merge[H5FD_MEM_GHEAP] = H5F_FS_MERGE_RAWDATA;
  ------------------
  |  |   60|      0|#define H5F_FS_MERGE_RAWDATA  0x02 /* Section can merge with small 'raw' data aggregator */
  ------------------
  205|      0|            } /* end if */
  206|      0|            break;
  207|       |
  208|     10|        case H5MF_AGGR_MERGE_DICHOTOMY:
  ------------------
  |  Branch (208:9): [True: 10, False: 0]
  ------------------
  209|       |            /* Merge all metadata together (but not raw data) */
  210|     10|            memset(f_sh->fs_aggr_merge, H5F_FS_MERGE_METADATA, sizeof(f_sh->fs_aggr_merge));
  ------------------
  |  |   59|     10|#define H5F_FS_MERGE_METADATA 0x01 /* Section can merge with metadata aggregator */
  ------------------
  211|       |
  212|       |            /* Allow merging raw data allocations together */
  213|       |            /* (treat global heaps as raw data) */
  214|     10|            f_sh->fs_aggr_merge[H5FD_MEM_DRAW]  = H5F_FS_MERGE_RAWDATA;
  ------------------
  |  |   60|     10|#define H5F_FS_MERGE_RAWDATA  0x02 /* Section can merge with small 'raw' data aggregator */
  ------------------
  215|     10|            f_sh->fs_aggr_merge[H5FD_MEM_GHEAP] = H5F_FS_MERGE_RAWDATA;
  ------------------
  |  |   60|     10|#define H5F_FS_MERGE_RAWDATA  0x02 /* Section can merge with small 'raw' data aggregator */
  ------------------
  216|     10|            break;
  217|       |
  218|      0|        case H5MF_AGGR_MERGE_TOGETHER:
  ------------------
  |  Branch (218:9): [True: 0, False: 10]
  ------------------
  219|       |            /* Merge all allocation types together */
  220|      0|            memset(f_sh->fs_aggr_merge, (H5F_FS_MERGE_METADATA | H5F_FS_MERGE_RAWDATA),
  ------------------
  |  |   59|      0|#define H5F_FS_MERGE_METADATA 0x01 /* Section can merge with metadata aggregator */
  ------------------
                          memset(f_sh->fs_aggr_merge, (H5F_FS_MERGE_METADATA | H5F_FS_MERGE_RAWDATA),
  ------------------
  |  |   60|      0|#define H5F_FS_MERGE_RAWDATA  0x02 /* Section can merge with small 'raw' data aggregator */
  ------------------
  221|      0|                   sizeof(f_sh->fs_aggr_merge));
  222|      0|            break;
  223|       |
  224|      0|        default:
  ------------------
  |  Branch (224:9): [True: 0, False: 10]
  ------------------
  225|      0|            HGOTO_ERROR(H5E_RESOURCE, H5E_BADVALUE, FAIL, "invalid mapping type");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  226|     10|    } /* end switch */
  227|       |
  228|     10|done:
  229|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  230|     10|} /* end H5MF_init_merge_flags() */

H5MM_realloc:
   77|     90|{
   78|     90|    void *ret_value = NULL;
   79|       |
   80|       |    /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */
   81|     90|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|     90|    {                                                                                                        \
  |  | 1425|     90|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|     90|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|     90|        {
  ------------------
   82|       |
   83|     90|    if (NULL == mem && 0 == size)
  ------------------
  |  Branch (83:9): [True: 3, False: 87]
  |  Branch (83:24): [True: 0, False: 3]
  ------------------
   84|       |        /* Not defined in the standard, return NULL */
   85|      0|        ret_value = NULL;
   86|     90|    else {
   87|     90|        ret_value = realloc(mem, size);
   88|       |
   89|       |        /* Some platforms do not return NULL if size is zero. */
   90|     90|        if (0 == size)
  ------------------
  |  Branch (90:13): [True: 0, False: 90]
  ------------------
   91|      0|            ret_value = NULL;
   92|     90|    }
   93|       |
   94|     90|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     90|    ;                                                                                                        \
  |  | 1573|     90|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     90|    return (ret_value);                                                                                      \
  |  | 1575|     90|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
   95|     90|} /* end H5MM_realloc() */
H5MM_xstrdup:
  109|    311|{
  110|    311|    char *ret_value = NULL;
  111|       |
  112|    311|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|    311|    {                                                                                                        \
  |  | 1392|    311|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    311|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    311|                                                                                                             \
  |  |  |  | 1267|    311|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    311|        {
  ------------------
  113|       |
  114|    311|    if (s)
  ------------------
  |  Branch (114:9): [True: 146, False: 165]
  ------------------
  115|    146|        if (NULL == (ret_value = strdup(s)))
  ------------------
  |  Branch (115:13): [True: 0, False: 146]
  ------------------
  116|      0|            HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "string duplication failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  117|    311|done:
  118|    311|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    311|    ;                                                                                                        \
  |  | 1573|    311|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    311|    return (ret_value);                                                                                      \
  |  | 1575|    311|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  119|    311|} /* end H5MM_xstrdup() */
H5MM_strdup:
  136|     17|{
  137|     17|    char *ret_value = NULL;
  138|       |
  139|     17|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|     17|    {                                                                                                        \
  |  | 1392|     17|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     17|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     17|                                                                                                             \
  |  |  |  | 1267|     17|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     17|        {
  ------------------
  140|       |
  141|     17|    if (!s)
  ------------------
  |  Branch (141:9): [True: 0, False: 17]
  ------------------
  142|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, NULL, "NULL string not allowed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  143|     17|    if (NULL == (ret_value = strdup(s)))
  ------------------
  |  Branch (143:9): [True: 0, False: 17]
  ------------------
  144|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "string duplication failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  145|       |
  146|     17|done:
  147|     17|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     17|    ;                                                                                                        \
  |  | 1573|     17|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     17|    return (ret_value);                                                                                      \
  |  | 1575|     17|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  148|     17|} /* end H5MM_strdup() */
H5MM_strndup:
  168|  1.03k|{
  169|  1.03k|    char *ret_value = NULL;
  170|       |
  171|  1.03k|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|  1.03k|    {                                                                                                        \
  |  | 1392|  1.03k|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|  1.03k|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|  1.03k|                                                                                                             \
  |  |  |  | 1267|  1.03k|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|  1.03k|        {
  ------------------
  172|       |
  173|  1.03k|    if (!s)
  ------------------
  |  Branch (173:9): [True: 0, False: 1.03k]
  ------------------
  174|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, NULL, "NULL string not allowed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  175|       |
  176|  1.03k|    if (NULL == (ret_value = HDstrndup(s, n)))
  ------------------
  |  |  863|  1.03k|#define HDstrndup(S, N) strndup(S, N)
  ------------------
  |  Branch (176:9): [True: 0, False: 1.03k]
  ------------------
  177|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "string duplication failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  178|       |
  179|  1.03k|done:
  180|  1.03k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  1.03k|    ;                                                                                                        \
  |  | 1573|  1.03k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  1.03k|    return (ret_value);                                                                                      \
  |  | 1575|  1.03k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  181|  1.03k|} /* end H5MM_strndup() */
H5MM_xfree:
  197|  7.31k|{
  198|       |    /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */
  199|  7.31k|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|  7.31k|    {                                                                                                        \
  |  | 1425|  7.31k|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|  7.31k|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|  7.31k|        {
  ------------------
  200|       |
  201|  7.31k|    free(mem);
  202|       |
  203|  7.31k|    FUNC_LEAVE_NOAPI(NULL)
  ------------------
  |  | 1572|  7.31k|    ;                                                                                                        \
  |  | 1573|  7.31k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  7.31k|    return (ret_value);                                                                                      \
  |  | 1575|  7.31k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  204|  7.31k|} /* end H5MM_xfree() */
H5MM_xfree_const:
  219|  3.46k|{
  220|       |    /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */
  221|  3.46k|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|  3.46k|    {                                                                                                        \
  |  | 1425|  3.46k|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|  3.46k|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|  3.46k|        {
  ------------------
  222|       |
  223|       |    /* Cast through uintptr_t to de-const memory */
  224|  3.46k|    H5MM_xfree((void *)(uintptr_t)mem);
  225|       |
  226|  3.46k|    FUNC_LEAVE_NOAPI(NULL)
  ------------------
  |  | 1572|  3.46k|    ;                                                                                                        \
  |  | 1573|  3.46k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  3.46k|    return (ret_value);                                                                                      \
  |  | 1575|  3.46k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  227|  3.46k|} /* end H5MM_xfree_const() */

H5Oget_info_by_name3:
 1151|     76|{
 1152|     76|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     76|#define SUCCEED 0
  ------------------
 1153|       |
 1154|    152|    FUNC_ENTER_API(FAIL)
  ------------------
  |  | 1300|     76|    {                                                                                                        \
  |  | 1301|     76|        {                                                                                                    \
  |  | 1302|     76|            bool api_ctx_pushed = false;                                                                     \
  |  | 1303|     76|                                                                                                             \
  |  | 1304|     76|            FUNC_ENTER_API_COMMON                                                                            \
  |  |  ------------------
  |  |  |  | 1281|     76|    FUNC_ENTER_COMMON(H5_IS_API(__func__));                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1265|     76|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  | 1266|     76|                                                                                                             \
  |  |  |  |  |  | 1267|     76|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  ------------------
  |  |  |  | 1282|     76|    FUNC_ENTER_API_THREADSAFE;
  |  |  ------------------
  |  | 1305|     76|            FUNC_ENTER_API_INIT(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1286|     76|    if (H5_UNLIKELY(!H5_INIT_GLOBAL && !H5_TERM_GLOBAL)) {                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     76|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 76]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 76]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1287|      0|        if (H5_UNLIKELY(H5_init_library() < 0))                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      0|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1288|      0|            HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, err, "library initialization failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1289|      0|    }
  |  |  ------------------
  |  | 1306|     76|            FUNC_ENTER_API_PUSH(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1293|     76|    if (H5_UNLIKELY(H5CX_push() < 0))                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     76|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 76]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1294|     76|        HGOTO_ERROR(H5E_FUNC, H5E_CANTSET, err, "can't set API context");                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1295|     76|    else                                                                                                     \
  |  |  |  | 1296|     76|        api_ctx_pushed = true;
  |  |  ------------------
  |  | 1307|     76|            /* Clear thread error stack entering public functions */                                         \
  |  | 1308|     76|            H5E_clear_stack();                                                                               \
  |  | 1309|     76|            {
  ------------------
 1155|       |
 1156|       |    /* Retrieve object information synchronously */
 1157|    152|    if (H5O__get_info_by_name_api_common(loc_id, name, oinfo, fields, lapl_id, NULL, NULL) < 0)
  ------------------
  |  Branch (1157:9): [True: 24, False: 52]
  ------------------
 1158|     24|        HGOTO_ERROR(H5E_OHDR, H5E_CANTGET, FAIL, "can't synchronously retrieve object info");
  ------------------
  |  |   68|     24|    do {                                                                                                     \
  |  |   69|     24|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     24|    do {                                                                                                     \
  |  |  |  |   40|     24|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     24|    do {                                                                                                     \
  |  |  |  |  |  |   31|     24|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     24|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     24|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     24|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     24|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     24|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     24|    do {                                                                                                     \
  |  |  |  |   92|     24|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     24|        goto done;                                                                                           \
  |  |  |  |   94|     24|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     24|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1159|       |
 1160|     76|done:
 1161|     76|    FUNC_LEAVE_API(ret_value)
  ------------------
  |  | 1509|     76|    ;                                                                                                        \
  |  | 1510|     76|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1511|     76|    if (H5_LIKELY(api_ctx_pushed)) {                                                                         \
  |  |  ------------------
  |  |  |  |  167|     76|#define H5_LIKELY(expression)   __builtin_expect(!!(expression), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (167:33): [True: 76, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1512|     76|        (void)H5CX_pop(true);                                                                                \
  |  | 1513|     76|        api_ctx_pushed = false;                                                                              \
  |  | 1514|     76|    }                                                                                                        \
  |  | 1515|     76|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|     76|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 24, False: 52]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1516|     76|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1517|     76|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1518|     76|    return (ret_value);                                                                                      \
  |  | 1519|     76|    }                                                                                                        \
  |  | 1520|     76|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1162|    152|} /* end H5Oget_info_by_name3() */
H5O.c:H5O__get_info_by_name_api_common:
 1105|     76|{
 1106|     76|    H5VL_object_t  *tmp_vol_obj = NULL; /* Object for loc_id */
 1107|     76|    H5VL_object_t **vol_obj_ptr =
 1108|     76|        (_vol_obj_ptr ? _vol_obj_ptr : &tmp_vol_obj); /* Ptr to object ptr for loc_id */
  ------------------
  |  Branch (1108:10): [True: 0, False: 76]
  ------------------
 1109|     76|    H5VL_object_get_args_t vol_cb_args;               /* Arguments to VOL callback */
 1110|     76|    H5VL_loc_params_t      loc_params;                /* Location parameters for object access */
 1111|     76|    herr_t                 ret_value = SUCCEED;       /* Return value */
  ------------------
  |  |  283|     76|#define SUCCEED 0
  ------------------
 1112|       |
 1113|     76|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     76|    {                                                                                                        \
  |  | 1461|     76|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     76|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     76|                                                                                                             \
  |  |  |  | 1267|     76|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     76|        {
  ------------------
 1114|       |
 1115|       |    /* Check args */
 1116|     76|    if (!oinfo)
  ------------------
  |  Branch (1116:9): [True: 0, False: 76]
  ------------------
 1117|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "oinfo parameter cannot be NULL");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1118|     76|    if (fields & ~H5O_INFO_ALL)
  ------------------
  |  |   84|     76|#define H5O_INFO_ALL       (H5O_INFO_BASIC | H5O_INFO_TIME | H5O_INFO_NUM_ATTRS)
  |  |  ------------------
  |  |  |  |   81|     76|#define H5O_INFO_BASIC     0x0001u /**< Fill in the fileno, addr, type, and rc fields */
  |  |  ------------------
  |  |               #define H5O_INFO_ALL       (H5O_INFO_BASIC | H5O_INFO_TIME | H5O_INFO_NUM_ATTRS)
  |  |  ------------------
  |  |  |  |   82|     76|#define H5O_INFO_TIME      0x0002u /**< Fill in the atime, mtime, ctime, and btime fields */
  |  |  ------------------
  |  |               #define H5O_INFO_ALL       (H5O_INFO_BASIC | H5O_INFO_TIME | H5O_INFO_NUM_ATTRS)
  |  |  ------------------
  |  |  |  |   83|     76|#define H5O_INFO_NUM_ATTRS 0x0004u /**< Fill in the num_attrs field */
  |  |  ------------------
  ------------------
  |  Branch (1118:9): [True: 0, False: 76]
  ------------------
 1119|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid fields");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1120|       |
 1121|       |    /* "name" is checked in H5VL_setup_name_args() */
 1122|       |    /* Set up object access arguments */
 1123|     76|    if (H5VL_setup_name_args(loc_id, name, false, lapl_id, vol_obj_ptr, &loc_params) < 0)
  ------------------
  |  Branch (1123:9): [True: 0, False: 76]
  ------------------
 1124|      0|        HGOTO_ERROR(H5E_OHDR, H5E_CANTSET, FAIL, "can't set object access arguments");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1125|       |
 1126|       |    /* Set up VOL callback arguments */
 1127|     76|    vol_cb_args.op_type              = H5VL_OBJECT_GET_INFO;
 1128|     76|    vol_cb_args.args.get_info.oinfo  = oinfo;
 1129|     76|    vol_cb_args.args.get_info.fields = fields;
 1130|       |
 1131|       |    /* Retrieve the object's information */
 1132|     76|    if (H5VL_object_get(*vol_obj_ptr, &loc_params, &vol_cb_args, H5P_DATASET_XFER_DEFAULT, token_ptr) < 0)
  ------------------
  |  |  160|     76|#define H5P_DATASET_XFER_DEFAULT (H5OPEN H5P_LST_DATASET_XFER_ID_g)
  ------------------
  |  Branch (1132:9): [True: 24, False: 52]
  ------------------
 1133|     24|        HGOTO_ERROR(H5E_OHDR, H5E_CANTGET, FAIL, "can't get data model info for object");
  ------------------
  |  |   68|     24|    do {                                                                                                     \
  |  |   69|     24|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     24|    do {                                                                                                     \
  |  |  |  |   40|     24|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     24|    do {                                                                                                     \
  |  |  |  |  |  |   31|     24|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     24|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     24|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     24|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     24|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     24|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     24|    do {                                                                                                     \
  |  |  |  |   92|     24|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     24|        goto done;                                                                                           \
  |  |  |  |   94|     24|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     24|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1134|       |
 1135|     76|done:
 1136|     76|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     76|    ;                                                                                                        \
  |  | 1573|     76|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     76|    return (ret_value);                                                                                      \
  |  | 1575|     76|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1137|     76|} /* H5O__get_info_by_name_api_common() */

H5O__alloc_msgs:
  419|    236|{
  420|    236|    size_t      old_alloc;           /* Old number of messages allocated */
  421|    236|    size_t      na;                  /* New number of messages allocated */
  422|    236|    H5O_mesg_t *new_mesg;            /* Pointer to new message array */
  423|    236|    herr_t      ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    236|#define SUCCEED 0
  ------------------
  424|       |
  425|    236|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    236|    {                                                                                                        \
  |  | 1461|    236|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    236|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    236|                                                                                                             \
  |  |  |  | 1267|    236|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    236|        {
  ------------------
  426|       |
  427|       |    /* check args */
  428|    236|    assert(oh);
  429|       |
  430|       |    /* Initialize number of messages information */
  431|    236|    old_alloc = oh->alloc_nmesgs;
  432|    236|    na        = oh->alloc_nmesgs + MAX(oh->alloc_nmesgs, min_alloc); /* At least double */
  ------------------
  |  |  300|    236|#define MAX(a, b)        (((a) > (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (300:27): [True: 109, False: 127]
  |  |  ------------------
  ------------------
  433|       |
  434|       |    /* Attempt to allocate more memory */
  435|    236|    if (NULL == (new_mesg = H5FL_SEQ_REALLOC(H5O_mesg_t, oh->mesg, na)))
  ------------------
  |  |  291|    236|#define H5FL_SEQ_REALLOC(t, obj, new_elem) (t *)H5FL_seq_realloc(&(H5FL_SEQ_NAME(t)), obj, (new_elem))
  |  |  ------------------
  |  |  |  |  266|    236|#define H5FL_SEQ_NAME(t) H5_##t##_seq_free_list
  |  |  ------------------
  ------------------
  |  Branch (435:9): [True: 0, False: 236]
  ------------------
  436|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  437|       |
  438|       |    /* Update ohdr information */
  439|    236|    oh->alloc_nmesgs = na;
  440|    236|    oh->mesg         = new_mesg;
  441|       |
  442|       |    /* Set new object header info to zeros */
  443|    236|    memset(&oh->mesg[old_alloc], 0, (oh->alloc_nmesgs - old_alloc) * sizeof(H5O_mesg_t));
  444|       |
  445|    236|done:
  446|    236|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    236|    ;                                                                                                        \
  |  | 1573|    236|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    236|    return (ret_value);                                                                                      \
  |  | 1575|    236|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  447|    236|} /* H5O__alloc_msgs() */

H5O__attr_reset:
  520|     52|{
  521|     52|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     52|    {                                                                                                        \
  |  | 1467|     52|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     52|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     52|        {
  ------------------
  522|       |
  523|     52|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     52|    ;                                                                                                        \
  |  | 1573|     52|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     52|    return (ret_value);                                                                                      \
  |  | 1575|     52|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  524|     52|} /* end H5O__attr_reset() */
H5Oattr.c:H5O__attr_decode:
  122|     76|{
  123|     76|    H5A_t         *attr   = NULL;
  124|     76|    const uint8_t *p_end  = p + p_size - 1; /* End of input buffer */
  125|     76|    size_t         delta  = 0;              /* Amount to move p in next field */
  126|     76|    H5S_extent_t  *extent = NULL;           /* Extent dimensionality information */
  127|     76|    size_t         name_len;                /* Attribute name length */
  128|     76|    size_t         dt_size;                 /* Datatype size */
  129|     76|    hssize_t       sds_size;                /* Signed Dataspace size */
  130|     76|    hsize_t        ds_size;                 /* Dataspace size */
  131|     76|    unsigned       flags     = 0;           /* Attribute flags */
  132|     76|    H5A_t         *ret_value = NULL;        /* Return value */
  133|       |
  134|     76|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     76|    {                                                                                                        \
  |  | 1461|     76|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     76|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     76|                                                                                                             \
  |  |  |  | 1267|     76|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     76|        {
  ------------------
  135|       |
  136|     76|    assert(f);
  137|     76|    assert(p);
  138|       |
  139|     76|    if (NULL == (attr = H5FL_CALLOC(H5A_t)))
  ------------------
  |  |   78|     76|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|     76|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (139:9): [True: 0, False: 76]
  ------------------
  140|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  141|     76|    if (NULL == (attr->shared = H5FL_CALLOC(H5A_shared_t)))
  ------------------
  |  |   78|     76|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|     76|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (141:9): [True: 0, False: 76]
  ------------------
  142|      0|        HGOTO_ERROR(H5E_FILE, H5E_NOSPACE, NULL, "can't allocate shared attr structure");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  143|       |
  144|       |    /* Version number */
  145|     76|    if (H5_IS_BUFFER_OVERFLOW(p, 1, p_end))
  ------------------
  |  |  344|     76|    (                                                                                                        \
  |  |  345|     76|      /* Trivial case */                                                                                     \
  |  |  346|     76|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|     76|      (                                                                                                      \
  |  |  348|     76|        /* Bad precondition */                                                                               \
  |  |  349|     76|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 76]
  |  |  ------------------
  |  |  350|     76|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     76|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|     76|        /* Typical overflow */                                                                               \
  |  |  353|     76|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 76]
  |  |  ------------------
  |  |  354|     76|      )                                                                                                      \
  |  |  355|     76|    )
  ------------------
  146|      0|        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  147|     76|    attr->shared->version = *p++;
  148|     76|    if (attr->shared->version < H5O_ATTR_VERSION_1 || attr->shared->version > H5O_ATTR_VERSION_LATEST)
  ------------------
  |  |   48|    152|#define H5O_ATTR_VERSION_1 1
  ------------------
                  if (attr->shared->version < H5O_ATTR_VERSION_1 || attr->shared->version > H5O_ATTR_VERSION_LATEST)
  ------------------
  |  |   62|     76|#define H5O_ATTR_VERSION_LATEST H5O_ATTR_VERSION_3
  |  |  ------------------
  |  |  |  |   57|     76|#define H5O_ATTR_VERSION_3 3
  |  |  ------------------
  ------------------
  |  Branch (148:9): [True: 0, False: 76]
  |  Branch (148:55): [True: 0, False: 76]
  ------------------
  149|      0|        HGOTO_ERROR(H5E_ATTR, H5E_CANTLOAD, NULL, "bad version number for attribute message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  150|       |
  151|       |    /* Get the flags byte if we have a later version of the attribute */
  152|     76|    if (H5_IS_BUFFER_OVERFLOW(p, 1, p_end))
  ------------------
  |  |  344|     76|    (                                                                                                        \
  |  |  345|     76|      /* Trivial case */                                                                                     \
  |  |  346|     76|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|     76|      (                                                                                                      \
  |  |  348|     76|        /* Bad precondition */                                                                               \
  |  |  349|     76|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 76]
  |  |  ------------------
  |  |  350|     76|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     76|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|     76|        /* Typical overflow */                                                                               \
  |  |  353|     76|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 76]
  |  |  ------------------
  |  |  354|     76|      )                                                                                                      \
  |  |  355|     76|    )
  ------------------
  153|      0|        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  154|     76|    if (attr->shared->version >= H5O_ATTR_VERSION_2) {
  ------------------
  |  |   54|     76|#define H5O_ATTR_VERSION_2 2
  ------------------
  |  Branch (154:9): [True: 0, False: 76]
  ------------------
  155|      0|        flags = *p++;
  156|       |
  157|       |        /* Check for unknown flag */
  158|      0|        if (flags & (unsigned)~H5O_ATTR_FLAG_ALL)
  ------------------
  |  |   90|      0|#define H5O_ATTR_FLAG_ALL          0x03
  ------------------
  |  Branch (158:13): [True: 0, False: 0]
  ------------------
  159|      0|            HGOTO_ERROR(H5E_ATTR, H5E_CANTLOAD, NULL, "unknown flag for attribute message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  160|      0|    }
  161|     76|    else
  162|     76|        p++; /* Byte is unused when version < 2 */
  163|       |
  164|       |    /* Decode the sizes of the parts of the attribute.  The sizes stored in
  165|       |     * the file are exact but the parts are aligned on 8-byte boundaries.
  166|       |     */
  167|     76|    if (H5_IS_BUFFER_OVERFLOW(p, 2, p_end))
  ------------------
  |  |  344|     76|    (                                                                                                        \
  |  |  345|     76|      /* Trivial case */                                                                                     \
  |  |  346|     76|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|     76|      (                                                                                                      \
  |  |  348|     76|        /* Bad precondition */                                                                               \
  |  |  349|     76|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 76]
  |  |  ------------------
  |  |  350|     76|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     76|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|     76|        /* Typical overflow */                                                                               \
  |  |  353|     76|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 76]
  |  |  ------------------
  |  |  354|     76|      )                                                                                                      \
  |  |  355|     76|    )
  ------------------
  168|      0|        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  169|     76|    UINT16DECODE(p, name_len); /* Including null */
  ------------------
  |  |  159|     76|    do {                                                                                                     \
  |  |  160|     76|        (i) = (uint16_t)(*(p)&0xff);                                                                         \
  |  |  161|     76|        (p)++;                                                                                               \
  |  |  162|     76|        (i) |= (uint16_t)((*(p)&0xff) << 8);                                                                 \
  |  |  163|     76|        (p)++;                                                                                               \
  |  |  164|     76|    } while (0)
  |  |  ------------------
  |  |  |  Branch (164:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  170|     76|    if (H5_IS_BUFFER_OVERFLOW(p, 2, p_end))
  ------------------
  |  |  344|     76|    (                                                                                                        \
  |  |  345|     76|      /* Trivial case */                                                                                     \
  |  |  346|     76|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|     76|      (                                                                                                      \
  |  |  348|     76|        /* Bad precondition */                                                                               \
  |  |  349|     76|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 76]
  |  |  ------------------
  |  |  350|     76|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     76|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|     76|        /* Typical overflow */                                                                               \
  |  |  353|     76|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 76]
  |  |  ------------------
  |  |  354|     76|      )                                                                                                      \
  |  |  355|     76|    )
  ------------------
  171|      0|        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  172|     76|    UINT16DECODE(p, attr->shared->dt_size);
  ------------------
  |  |  159|     76|    do {                                                                                                     \
  |  |  160|     76|        (i) = (uint16_t)(*(p)&0xff);                                                                         \
  |  |  161|     76|        (p)++;                                                                                               \
  |  |  162|     76|        (i) |= (uint16_t)((*(p)&0xff) << 8);                                                                 \
  |  |  163|     76|        (p)++;                                                                                               \
  |  |  164|     76|    } while (0)
  |  |  ------------------
  |  |  |  Branch (164:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  173|     76|    if (H5_IS_BUFFER_OVERFLOW(p, 2, p_end))
  ------------------
  |  |  344|     76|    (                                                                                                        \
  |  |  345|     76|      /* Trivial case */                                                                                     \
  |  |  346|     76|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|     76|      (                                                                                                      \
  |  |  348|     76|        /* Bad precondition */                                                                               \
  |  |  349|     76|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 76]
  |  |  ------------------
  |  |  350|     76|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     76|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|     76|        /* Typical overflow */                                                                               \
  |  |  353|     76|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 76]
  |  |  ------------------
  |  |  354|     76|      )                                                                                                      \
  |  |  355|     76|    )
  ------------------
  174|      0|        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  175|     76|    UINT16DECODE(p, attr->shared->ds_size);
  ------------------
  |  |  159|     76|    do {                                                                                                     \
  |  |  160|     76|        (i) = (uint16_t)(*(p)&0xff);                                                                         \
  |  |  161|     76|        (p)++;                                                                                               \
  |  |  162|     76|        (i) |= (uint16_t)((*(p)&0xff) << 8);                                                                 \
  |  |  163|     76|        (p)++;                                                                                               \
  |  |  164|     76|    } while (0)
  |  |  ------------------
  |  |  |  Branch (164:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  176|       |
  177|       |    /* Decode the character encoding for the name for versions 3 or later,
  178|       |     * as well as some reserved bytes.
  179|       |     */
  180|     76|    if (attr->shared->version >= H5O_ATTR_VERSION_3) {
  ------------------
  |  |   57|     76|#define H5O_ATTR_VERSION_3 3
  ------------------
  |  Branch (180:9): [True: 0, False: 76]
  ------------------
  181|      0|        if (H5_IS_BUFFER_OVERFLOW(p, 1, p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  182|      0|            HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  183|      0|        attr->shared->encoding = (H5T_cset_t)*p++;
  184|      0|    }
  185|       |
  186|       |    /* Decode and store the name
  187|       |     *
  188|       |     * NOTE: If the buffer overflow error message changes, test_corrupted_attnamelen()
  189|       |     *       in titerate.c will fail since it looks for it explicitly.
  190|       |     */
  191|     76|    if (H5_IS_BUFFER_OVERFLOW(p, name_len, p_end))
  ------------------
  |  |  344|     76|    (                                                                                                        \
  |  |  345|     76|      /* Trivial case */                                                                                     \
  |  |  346|     76|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 76, False: 0]
  |  |  ------------------
  |  |  347|     76|      (                                                                                                      \
  |  |  348|     76|        /* Bad precondition */                                                                               \
  |  |  349|     76|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 76]
  |  |  ------------------
  |  |  350|     76|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     76|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 76, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 76]
  |  |  ------------------
  |  |  352|     76|        /* Typical overflow */                                                                               \
  |  |  353|     76|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 76]
  |  |  ------------------
  |  |  354|     76|      )                                                                                                      \
  |  |  355|     76|    )
  ------------------
  192|      0|        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  193|     76|    if (NULL == (attr->shared->name = H5MM_strndup((const char *)p, name_len - 1)))
  ------------------
  |  Branch (193:9): [True: 0, False: 76]
  ------------------
  194|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  195|       |
  196|       |    /* Make an attempt to detect corrupted name or name length - HDFFV-10588 */
  197|     76|    if (name_len != (strnlen(attr->shared->name, name_len) + 1))
  ------------------
  |  Branch (197:9): [True: 0, False: 76]
  ------------------
  198|      0|        HGOTO_ERROR(H5E_ATTR, H5E_CANTDECODE, NULL, "attribute name has different length than stored length");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  199|       |
  200|       |    /* Determine pointer movement and check if it's valid */
  201|     76|    if (attr->shared->version < H5O_ATTR_VERSION_2)
  ------------------
  |  |   54|     76|#define H5O_ATTR_VERSION_2 2
  ------------------
  |  Branch (201:9): [True: 76, False: 0]
  ------------------
  202|     76|        delta = H5O_ALIGN_OLD(name_len);
  ------------------
  |  |   57|     76|#define H5O_ALIGN_OLD(X)     (8 * (((X) + 7) / 8))
  ------------------
  203|      0|    else
  204|      0|        delta = name_len;
  205|     76|    if (H5_IS_BUFFER_OVERFLOW(p, delta, p_end))
  ------------------
  |  |  344|     76|    (                                                                                                        \
  |  |  345|     76|      /* Trivial case */                                                                                     \
  |  |  346|     76|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 76, False: 0]
  |  |  ------------------
  |  |  347|     76|      (                                                                                                      \
  |  |  348|     76|        /* Bad precondition */                                                                               \
  |  |  349|     76|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 76]
  |  |  ------------------
  |  |  350|     76|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     76|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 76, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 76]
  |  |  ------------------
  |  |  352|     76|        /* Typical overflow */                                                                               \
  |  |  353|     76|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 76]
  |  |  ------------------
  |  |  354|     76|      )                                                                                                      \
  |  |  355|     76|    )
  ------------------
  206|      0|        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  207|     76|    p += delta;
  208|       |
  209|       |    /* Decode the attribute's datatype */
  210|     76|    if (H5_IS_BUFFER_OVERFLOW(p, attr->shared->dt_size, p_end))
  ------------------
  |  |  344|     76|    (                                                                                                        \
  |  |  345|     76|      /* Trivial case */                                                                                     \
  |  |  346|     76|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 76, False: 0]
  |  |  ------------------
  |  |  347|     76|      (                                                                                                      \
  |  |  348|     76|        /* Bad precondition */                                                                               \
  |  |  349|     76|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 76]
  |  |  ------------------
  |  |  350|     76|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     76|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 76, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 76]
  |  |  ------------------
  |  |  352|     76|        /* Typical overflow */                                                                               \
  |  |  353|     76|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 76]
  |  |  ------------------
  |  |  354|     76|      )                                                                                                      \
  |  |  355|     76|    )
  ------------------
  211|      0|        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  212|     76|    if (NULL == (attr->shared->dt = (H5T_t *)(H5O_MSG_DTYPE->decode)(
  ------------------
  |  Branch (212:9): [True: 24, False: 52]
  ------------------
  213|     76|                     f, open_oh, ((flags & H5O_ATTR_FLAG_TYPE_SHARED) ? H5O_MSG_FLAG_SHARED : 0), ioflags,
  ------------------
  |  |   88|     76|#define H5O_ATTR_FLAG_TYPE_SHARED  0x01
  ------------------
                                   f, open_oh, ((flags & H5O_ATTR_FLAG_TYPE_SHARED) ? H5O_MSG_FLAG_SHARED : 0), ioflags,
  ------------------
  |  |   73|      0|#define H5O_MSG_FLAG_SHARED                             0x02u
  ------------------
  |  Branch (213:35): [True: 0, False: 76]
  ------------------
  214|     76|                     attr->shared->dt_size, p)))
  215|     24|        HGOTO_ERROR(H5E_ATTR, H5E_CANTDECODE, NULL, "can't decode attribute datatype");
  ------------------
  |  |   68|     24|    do {                                                                                                     \
  |  |   69|     24|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     24|    do {                                                                                                     \
  |  |  |  |   40|     24|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     24|    do {                                                                                                     \
  |  |  |  |  |  |   31|     24|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     24|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     24|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     24|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     24|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     24|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     24|    do {                                                                                                     \
  |  |  |  |   92|     24|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     24|        goto done;                                                                                           \
  |  |  |  |   94|     24|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     24|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  216|       |
  217|       |    /* Determine pointer movement and check if it's valid */
  218|     52|    if (attr->shared->version < H5O_ATTR_VERSION_2)
  ------------------
  |  |   54|     52|#define H5O_ATTR_VERSION_2 2
  ------------------
  |  Branch (218:9): [True: 52, False: 0]
  ------------------
  219|     52|        delta = H5O_ALIGN_OLD(attr->shared->dt_size);
  ------------------
  |  |   57|     52|#define H5O_ALIGN_OLD(X)     (8 * (((X) + 7) / 8))
  ------------------
  220|      0|    else
  221|      0|        delta = attr->shared->dt_size;
  222|     52|    if (H5_IS_BUFFER_OVERFLOW(p, delta, p_end))
  ------------------
  |  |  344|     52|    (                                                                                                        \
  |  |  345|     52|      /* Trivial case */                                                                                     \
  |  |  346|     52|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 52, False: 0]
  |  |  ------------------
  |  |  347|     52|      (                                                                                                      \
  |  |  348|     52|        /* Bad precondition */                                                                               \
  |  |  349|     52|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 52]
  |  |  ------------------
  |  |  350|     52|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     52|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 52, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 52]
  |  |  ------------------
  |  |  352|     52|        /* Typical overflow */                                                                               \
  |  |  353|     52|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 52]
  |  |  ------------------
  |  |  354|     52|      )                                                                                                      \
  |  |  355|     52|    )
  ------------------
  223|      0|        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  224|     52|    p += delta;
  225|       |
  226|       |    /* Decode the attribute dataspace.  It can be shared in versions >= 3
  227|       |     * What's actually shared, though, is only the extent.
  228|       |     */
  229|     52|    if (NULL == (attr->shared->ds = H5FL_CALLOC(H5S_t)))
  ------------------
  |  |   78|     52|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|     52|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (229:9): [True: 0, False: 52]
  ------------------
  230|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  231|       |
  232|       |    /* Decode attribute's dataspace extent */
  233|     52|    if (H5_IS_BUFFER_OVERFLOW(p, attr->shared->ds_size, p_end))
  ------------------
  |  |  344|     52|    (                                                                                                        \
  |  |  345|     52|      /* Trivial case */                                                                                     \
  |  |  346|     52|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 52, False: 0]
  |  |  ------------------
  |  |  347|     52|      (                                                                                                      \
  |  |  348|     52|        /* Bad precondition */                                                                               \
  |  |  349|     52|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 52]
  |  |  ------------------
  |  |  350|     52|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     52|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 52, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 52]
  |  |  ------------------
  |  |  352|     52|        /* Typical overflow */                                                                               \
  |  |  353|     52|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 52]
  |  |  ------------------
  |  |  354|     52|      )                                                                                                      \
  |  |  355|     52|    )
  ------------------
  234|      0|        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  235|     52|    if ((extent = (H5S_extent_t *)(H5O_MSG_SDSPACE->decode)(
  ------------------
  |  Branch (235:9): [True: 0, False: 52]
  ------------------
  236|     52|             f, open_oh, ((flags & H5O_ATTR_FLAG_SPACE_SHARED) ? H5O_MSG_FLAG_SHARED : 0), ioflags,
  ------------------
  |  |   89|     52|#define H5O_ATTR_FLAG_SPACE_SHARED 0x02
  ------------------
                           f, open_oh, ((flags & H5O_ATTR_FLAG_SPACE_SHARED) ? H5O_MSG_FLAG_SHARED : 0), ioflags,
  ------------------
  |  |   73|      0|#define H5O_MSG_FLAG_SHARED                             0x02u
  ------------------
  |  Branch (236:27): [True: 0, False: 52]
  ------------------
  237|     52|             attr->shared->ds_size, p)) == NULL)
  238|      0|        HGOTO_ERROR(H5E_ATTR, H5E_CANTDECODE, NULL, "can't decode attribute dataspace");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  239|       |
  240|       |    /* Copy the extent information to the dataspace */
  241|     52|    H5MM_memcpy(&(attr->shared->ds->extent), extent, sizeof(H5S_extent_t));
  ------------------
  |  |   41|     52|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  242|       |
  243|       |    /* Release temporary extent information */
  244|     52|    extent = H5FL_FREE(H5S_extent_t, extent);
  ------------------
  |  |   81|     52|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|     52|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  245|       |
  246|       |    /* Default to entire dataspace being selected */
  247|     52|    if (H5S_select_all(attr->shared->ds, false) < 0)
  ------------------
  |  Branch (247:9): [True: 0, False: 52]
  ------------------
  248|      0|        HGOTO_ERROR(H5E_DATASPACE, H5E_CANTSET, NULL, "unable to set all selection");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  249|       |
  250|       |    /* Determine pointer movement and check if it's valid */
  251|     52|    if (attr->shared->version < H5O_ATTR_VERSION_2)
  ------------------
  |  |   54|     52|#define H5O_ATTR_VERSION_2 2
  ------------------
  |  Branch (251:9): [True: 52, False: 0]
  ------------------
  252|     52|        delta = H5O_ALIGN_OLD(attr->shared->ds_size);
  ------------------
  |  |   57|     52|#define H5O_ALIGN_OLD(X)     (8 * (((X) + 7) / 8))
  ------------------
  253|      0|    else
  254|      0|        delta = attr->shared->ds_size;
  255|     52|    if (H5_IS_BUFFER_OVERFLOW(p, delta, p_end))
  ------------------
  |  |  344|     52|    (                                                                                                        \
  |  |  345|     52|      /* Trivial case */                                                                                     \
  |  |  346|     52|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 52, False: 0]
  |  |  ------------------
  |  |  347|     52|      (                                                                                                      \
  |  |  348|     52|        /* Bad precondition */                                                                               \
  |  |  349|     52|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 52]
  |  |  ------------------
  |  |  350|     52|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     52|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 52, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 52]
  |  |  ------------------
  |  |  352|     52|        /* Typical overflow */                                                                               \
  |  |  353|     52|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 52]
  |  |  ------------------
  |  |  354|     52|      )                                                                                                      \
  |  |  355|     52|    )
  ------------------
  256|      0|        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  257|     52|    p += delta;
  258|       |
  259|       |    /* Get the datatype & dataspace sizes */
  260|     52|    if (0 == (dt_size = H5T_get_size(attr->shared->dt)))
  ------------------
  |  Branch (260:9): [True: 0, False: 52]
  ------------------
  261|      0|        HGOTO_ERROR(H5E_ATTR, H5E_CANTGET, NULL, "unable to get datatype size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  262|     52|    if ((sds_size = H5S_GET_EXTENT_NPOINTS(attr->shared->ds)) < 0)
  ------------------
  |  |  164|     52|#define H5S_GET_EXTENT_NPOINTS(S)               (H5S_get_simple_extent_npoints(S))
  ------------------
  |  Branch (262:9): [True: 0, False: 52]
  ------------------
  263|      0|        HGOTO_ERROR(H5E_ATTR, H5E_CANTGET, NULL, "unable to get dataspace size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  264|     52|    ds_size = (hsize_t)sds_size;
  265|       |
  266|       |    /* Compute the size of the data */
  267|     52|    H5_CHECKED_ASSIGN(attr->shared->data_size, size_t, ds_size * (hsize_t)dt_size, hsize_t);
  ------------------
  |  |  977|     52|    do {                                                                                                     \
  |  |  978|     52|        (dst) = (dsttype)(src);                                                                              \
  |  |  979|     52|    } while (0)
  |  |  ------------------
  |  |  |  Branch (979:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  268|       |    /* Check if multiplication has overflown */
  269|     52|    if ((attr->shared->data_size / dt_size) != ds_size)
  ------------------
  |  Branch (269:9): [True: 0, False: 52]
  ------------------
  270|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_OVERFLOW, NULL, "data size exceeds addressable range");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  271|       |
  272|       |    /* Get the data */
  273|     52|    if (attr->shared->data_size) {
  ------------------
  |  Branch (273:9): [True: 52, False: 0]
  ------------------
  274|       |        /* Ensure that data size doesn't exceed buffer size, in case of
  275|       |         * it's being corrupted in the file
  276|       |         */
  277|     52|        if (H5_IS_BUFFER_OVERFLOW(p, attr->shared->data_size, p_end))
  ------------------
  |  |  344|     52|    (                                                                                                        \
  |  |  345|     52|      /* Trivial case */                                                                                     \
  |  |  346|     52|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 52, False: 0]
  |  |  ------------------
  |  |  347|     52|      (                                                                                                      \
  |  |  348|     52|        /* Bad precondition */                                                                               \
  |  |  349|     52|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 52]
  |  |  ------------------
  |  |  350|     52|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     52|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 52, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 52]
  |  |  ------------------
  |  |  352|     52|        /* Typical overflow */                                                                               \
  |  |  353|     52|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 52]
  |  |  ------------------
  |  |  354|     52|      )                                                                                                      \
  |  |  355|     52|    )
  ------------------
  278|      0|            HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  279|       |
  280|     52|        if (NULL == (attr->shared->data = H5FL_BLK_MALLOC(attr_buf, attr->shared->data_size)))
  ------------------
  |  |  146|     52|#define H5FL_BLK_MALLOC(t, size) (uint8_t *)H5FL_blk_malloc(&(H5FL_BLK_NAME(t)), (size))
  |  |  ------------------
  |  |  |  |  131|     52|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
  |  Branch (280:13): [True: 0, False: 52]
  ------------------
  281|      0|            HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  282|     52|        H5MM_memcpy(attr->shared->data, p, attr->shared->data_size);
  ------------------
  |  |   41|     52|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  283|     52|    }
  284|       |
  285|       |    /* Increment the reference count for this object header message in cache(compact
  286|       |       storage) or for the object from dense storage. */
  287|     52|    attr->shared->nrefs++;
  288|       |
  289|       |    /* Set return value */
  290|     52|    ret_value = attr;
  291|       |
  292|     76|done:
  293|     76|    if (NULL == ret_value) {
  ------------------
  |  Branch (293:9): [True: 24, False: 52]
  ------------------
  294|     24|        if (attr) {
  ------------------
  |  Branch (294:13): [True: 24, False: 0]
  ------------------
  295|     24|            if (attr->shared)
  ------------------
  |  Branch (295:17): [True: 24, False: 0]
  ------------------
  296|     24|                if (H5A__shared_free(attr) < 0)
  ------------------
  |  Branch (296:21): [True: 0, False: 24]
  ------------------
  297|      0|                    HDONE_ERROR(H5E_ATTR, H5E_CANTRELEASE, NULL, "can't release attribute info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  298|     24|            attr = H5FL_FREE(H5A_t, attr);
  ------------------
  |  |   81|     24|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|     24|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  299|     24|        }
  300|     24|        if (extent)
  ------------------
  |  Branch (300:13): [True: 0, False: 24]
  ------------------
  301|      0|            extent = H5FL_FREE(H5S_extent_t, extent);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  302|     24|    }
  303|       |
  304|     76|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     76|    ;                                                                                                        \
  |  | 1573|     76|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     76|    return (ret_value);                                                                                      \
  |  | 1575|     76|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  305|     52|} /* end H5O__attr_decode() */
H5Oattr.c:H5O__attr_free:
  537|     52|{
  538|     52|    H5A_t *attr      = (H5A_t *)mesg;
  539|     52|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     52|#define SUCCEED 0
  ------------------
  540|       |
  541|     52|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     52|    {                                                                                                        \
  |  | 1461|     52|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     52|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     52|                                                                                                             \
  |  |  |  | 1267|     52|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     52|        {
  ------------------
  542|       |
  543|     52|    assert(mesg);
  544|       |
  545|     52|    if (H5A__close(attr) < 0)
  ------------------
  |  Branch (545:9): [True: 0, False: 52]
  ------------------
  546|      0|        HGOTO_ERROR(H5E_ATTR, H5E_CANTCLOSEOBJ, FAIL, "unable to close attribute object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  547|       |
  548|     52|done:
  549|     52|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     52|    ;                                                                                                        \
  |  | 1573|     52|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     52|    return (ret_value);                                                                                      \
  |  | 1575|     52|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  550|     52|} /* end H5O__attr_free() */
H5Oattr.c:H5O__attr_set_crt_index:
  764|     52|{
  765|     52|    H5A_t *attr = (H5A_t *)_mesg;
  766|       |
  767|     52|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     52|    {                                                                                                        \
  |  | 1467|     52|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     52|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     52|        {
  ------------------
  768|       |
  769|     52|    assert(attr);
  770|       |
  771|       |    /* Set the creation index */
  772|     52|    attr->shared->crt_idx = crt_idx;
  773|       |
  774|     52|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     52|    ;                                                                                                        \
  |  | 1573|     52|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     52|    return (ret_value);                                                                                      \
  |  | 1575|     52|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  775|     52|} /* end H5O__attr_set_crt_index() */

H5O__attr_open_by_name:
  440|     78|{
  441|     78|    H5O_t      *oh = NULL;               /* Pointer to actual object header */
  442|     78|    H5O_ainfo_t ainfo;                   /* Attribute information for object */
  443|     78|    H5A_t      *exist_attr      = NULL;  /* Existing opened attribute object */
  444|     78|    H5A_t      *opened_attr     = NULL;  /* Newly opened attribute object */
  445|     78|    htri_t      found_open_attr = false; /* Whether opened object is found */
  446|     78|    H5A_t      *ret_value       = NULL;  /* Return value */
  447|       |
  448|     78|    FUNC_ENTER_PACKAGE_TAG(loc->addr)
  ------------------
  |  | 1473|     78|    {                                                                                                        \
  |  | 1474|     78|        haddr_t prev_tag = HADDR_UNDEF;                                                                      \
  |  |  ------------------
  |  |  |  |  336|     78|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  | 1475|     78|                                                                                                             \
  |  | 1476|     78|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     78|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     78|                                                                                                             \
  |  |  |  | 1267|     78|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1477|     78|        H5AC_tag(tag, &prev_tag);                                                                            \
  |  | 1478|     78|        {
  ------------------
  449|       |
  450|       |    /* Check arguments */
  451|     78|    assert(loc);
  452|     78|    assert(name);
  453|       |
  454|       |    /* Protect the object header to iterate over */
  455|     78|    if (NULL == (oh = H5O_protect(loc, H5AC__READ_ONLY_FLAG, false)))
  ------------------
  |  |  322|     78|#define H5AC__READ_ONLY_FLAG              H5C__READ_ONLY_FLAG
  |  |  ------------------
  |  |  |  |  183|     78|#define H5C__READ_ONLY_FLAG                 0x00080
  |  |  ------------------
  ------------------
  |  Branch (455:9): [True: 0, False: 78]
  ------------------
  456|      0|        HGOTO_ERROR(H5E_ATTR, H5E_CANTPROTECT, NULL, "unable to load object header");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  457|       |
  458|       |    /* Check for attribute info stored */
  459|     78|    ainfo.fheap_addr = HADDR_UNDEF;
  ------------------
  |  |  336|     78|#define HADDR_UNDEF         UINT64_MAX
  ------------------
  460|     78|    if (oh->version > H5O_VERSION_1) {
  ------------------
  |  |   38|     78|#define H5O_VERSION_1 1
  ------------------
  |  Branch (460:9): [True: 0, False: 78]
  ------------------
  461|       |        /* Check for (& retrieve if available) attribute info */
  462|      0|        if (H5A__get_ainfo(loc->file, oh, &ainfo) < 0)
  ------------------
  |  Branch (462:13): [True: 0, False: 0]
  ------------------
  463|      0|            HGOTO_ERROR(H5E_ATTR, H5E_CANTGET, NULL, "can't check for attribute info message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  464|      0|    } /* end if */
  465|       |
  466|       |    /* If found the attribute is already opened, make a copy of it to share the
  467|       |     * object information.  If not, open attribute as a new object
  468|       |     */
  469|     78|    if ((found_open_attr = H5O__attr_find_opened_attr(loc, &exist_attr, name)) < 0)
  ------------------
  |  Branch (469:9): [True: 0, False: 78]
  ------------------
  470|      0|        HGOTO_ERROR(H5E_ATTR, H5E_CANTGET, NULL, "failed in finding opened attribute");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  471|     78|    else if (found_open_attr == true) {
  ------------------
  |  Branch (471:14): [True: 0, False: 78]
  ------------------
  472|      0|        if (NULL == (opened_attr = H5A__copy(NULL, exist_attr)))
  ------------------
  |  Branch (472:13): [True: 0, False: 0]
  ------------------
  473|      0|            HGOTO_ERROR(H5E_ATTR, H5E_CANTCOPY, NULL, "can't copy existing attribute");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  474|      0|    } /* end else if */
  475|     78|    else {
  476|       |        /* Check for attributes in dense storage */
  477|     78|        if (H5_addr_defined(ainfo.fheap_addr)) {
  ------------------
  |  |  449|     78|#define H5_addr_defined(X)       ((X) != HADDR_UNDEF)
  |  |  ------------------
  |  |  |  |  336|     78|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  |  |  Branch (449:34): [True: 0, False: 78]
  |  |  ------------------
  ------------------
  478|       |            /* Open attribute with dense storage */
  479|      0|            if (NULL == (opened_attr = H5A__dense_open(loc->file, &ainfo, name)))
  ------------------
  |  Branch (479:17): [True: 0, False: 0]
  ------------------
  480|      0|                HGOTO_ERROR(H5E_ATTR, H5E_CANTOPENOBJ, NULL, "can't open attribute");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  481|      0|        } /* end if */
  482|     78|        else {
  483|     78|            H5O_iter_opn_t      udata; /* User data for callback */
  484|     78|            H5O_mesg_operator_t op;    /* Wrapper for operator */
  485|       |
  486|       |            /* Set up user data for callback */
  487|     78|            udata.name = name;
  488|     78|            udata.attr = NULL;
  489|       |
  490|       |            /* Iterate over attributes, to locate correct one to open */
  491|     78|            op.op_type  = H5O_MESG_OP_LIB;
  492|     78|            op.u.lib_op = H5O__attr_open_cb;
  493|     78|            if (H5O__msg_iterate_real(loc->file, oh, H5O_MSG_ATTR, &op, &udata) < 0)
  ------------------
  |  Branch (493:17): [True: 12, False: 66]
  ------------------
  494|     12|                HGOTO_ERROR(H5E_ATTR, H5E_CANTOPENOBJ, NULL, "error updating attribute");
  ------------------
  |  |   68|     12|    do {                                                                                                     \
  |  |   69|     12|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     12|    do {                                                                                                     \
  |  |  |  |   40|     12|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     12|    do {                                                                                                     \
  |  |  |  |  |  |   31|     12|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     12|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     12|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     12|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     12|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     12|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     12|    do {                                                                                                     \
  |  |  |  |   92|     12|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     12|        goto done;                                                                                           \
  |  |  |  |   94|     12|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     12|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  495|       |
  496|       |            /* Check that we found the attribute */
  497|     66|            if (!udata.attr)
  ------------------
  |  Branch (497:17): [True: 2, False: 64]
  ------------------
  498|      2|                HGOTO_ERROR(H5E_ATTR, H5E_NOTFOUND, NULL, "can't locate attribute: '%s'", name);
  ------------------
  |  |   68|      2|    do {                                                                                                     \
  |  |   69|      2|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      2|    do {                                                                                                     \
  |  |  |  |   40|      2|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      2|    do {                                                                                                     \
  |  |  |  |  |  |   31|      2|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      2|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      2|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      2|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      2|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      2|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      2|    do {                                                                                                     \
  |  |  |  |   92|      2|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      2|        goto done;                                                                                           \
  |  |  |  |   94|      2|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  499|       |
  500|       |            /* Get attribute opened from object header */
  501|     64|            assert(udata.attr);
  502|     64|            opened_attr = udata.attr;
  503|     64|        } /* end else */
  504|       |
  505|       |        /* Mark datatype as being on disk now */
  506|     64|        if (H5T_set_loc(opened_attr->shared->dt, H5F_VOL_OBJ(loc->file), H5T_LOC_DISK) < 0)
  ------------------
  |  |  167|     64|#define H5F_VOL_OBJ(F)                 (H5F_get_vol_obj(F))
  ------------------
  |  Branch (506:13): [True: 0, False: 64]
  ------------------
  507|      0|            HGOTO_ERROR(H5E_ATTR, H5E_CANTINIT, NULL, "invalid datatype location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  508|     64|    } /* end else */
  509|       |
  510|       |    /* Set return value */
  511|     64|    ret_value = opened_attr;
  512|       |
  513|     78|done:
  514|     78|    if (oh && H5O_unprotect(loc, oh, H5AC__NO_FLAGS_SET) < 0)
  ------------------
  |  |  314|     78|#define H5AC__NO_FLAGS_SET                H5C__NO_FLAGS_SET
  |  |  ------------------
  |  |  |  |  175|     78|#define H5C__NO_FLAGS_SET                   0x00000
  |  |  ------------------
  ------------------
  |  Branch (514:9): [True: 78, False: 0]
  |  Branch (514:15): [True: 0, False: 78]
  ------------------
  515|      0|        HDONE_ERROR(H5E_ATTR, H5E_CANTUNPROTECT, NULL, "unable to release object header");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  516|       |
  517|       |    /* Release any resources, on error */
  518|     78|    if (NULL == ret_value && opened_attr)
  ------------------
  |  Branch (518:9): [True: 14, False: 64]
  |  Branch (518:30): [True: 0, False: 14]
  ------------------
  519|      0|        if (H5A__close(opened_attr) < 0)
  ------------------
  |  Branch (519:13): [True: 0, False: 0]
  ------------------
  520|      0|            HDONE_ERROR(H5E_ATTR, H5E_CANTCLOSEOBJ, NULL, "can't close attribute");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  521|       |
  522|     78|    FUNC_LEAVE_NOAPI_TAG(ret_value)
  ------------------
  |  | 1593|     78|    ;                                                                                                        \
  |  | 1594|     78|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1595|     78|    H5AC_tag(prev_tag, NULL);                                                                                \
  |  | 1596|     78|    return (ret_value);                                                                                      \
  |  | 1597|     78|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  523|     64|} /* end H5O__attr_open_by_name() */
H5O__attr_exists:
 1711|    107|{
 1712|    107|    H5O_t      *oh = NULL;           /* Pointer to actual object header */
 1713|    107|    H5O_ainfo_t ainfo;               /* Attribute information for object */
 1714|    107|    herr_t      ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    107|#define SUCCEED 0
  ------------------
 1715|       |
 1716|    107|    FUNC_ENTER_PACKAGE_TAG(loc->addr)
  ------------------
  |  | 1473|    107|    {                                                                                                        \
  |  | 1474|    107|        haddr_t prev_tag = HADDR_UNDEF;                                                                      \
  |  |  ------------------
  |  |  |  |  336|    107|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  | 1475|    107|                                                                                                             \
  |  | 1476|    107|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    107|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    107|                                                                                                             \
  |  |  |  | 1267|    107|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1477|    107|        H5AC_tag(tag, &prev_tag);                                                                            \
  |  | 1478|    107|        {
  ------------------
 1717|       |
 1718|       |    /* Check arguments */
 1719|    107|    assert(loc);
 1720|    107|    assert(name);
 1721|    107|    assert(attr_exists);
 1722|       |
 1723|       |    /* Protect the object header to iterate over */
 1724|    107|    if (NULL == (oh = H5O_protect(loc, H5AC__READ_ONLY_FLAG, false)))
  ------------------
  |  |  322|    107|#define H5AC__READ_ONLY_FLAG              H5C__READ_ONLY_FLAG
  |  |  ------------------
  |  |  |  |  183|    107|#define H5C__READ_ONLY_FLAG                 0x00080
  |  |  ------------------
  ------------------
  |  Branch (1724:9): [True: 0, False: 107]
  ------------------
 1725|      0|        HGOTO_ERROR(H5E_ATTR, H5E_CANTPROTECT, FAIL, "unable to load object header");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1726|       |
 1727|       |    /* Check for attribute info stored */
 1728|    107|    ainfo.fheap_addr = HADDR_UNDEF;
  ------------------
  |  |  336|    107|#define HADDR_UNDEF         UINT64_MAX
  ------------------
 1729|    107|    if (oh->version > H5O_VERSION_1) {
  ------------------
  |  |   38|    107|#define H5O_VERSION_1 1
  ------------------
  |  Branch (1729:9): [True: 0, False: 107]
  ------------------
 1730|       |        /* Check for (& retrieve if available) attribute info */
 1731|      0|        if (H5A__get_ainfo(loc->file, oh, &ainfo) < 0)
  ------------------
  |  Branch (1731:13): [True: 0, False: 0]
  ------------------
 1732|      0|            HGOTO_ERROR(H5E_ATTR, H5E_CANTGET, FAIL, "can't check for attribute info message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1733|      0|    } /* end if */
 1734|       |
 1735|       |    /* Check for attributes stored densely */
 1736|    107|    if (H5_addr_defined(ainfo.fheap_addr)) {
  ------------------
  |  |  449|    107|#define H5_addr_defined(X)       ((X) != HADDR_UNDEF)
  |  |  ------------------
  |  |  |  |  336|    107|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  |  |  Branch (449:34): [True: 0, False: 107]
  |  |  ------------------
  ------------------
 1737|       |        /* Check if attribute exists in dense storage */
 1738|      0|        if (H5A__dense_exists(loc->file, &ainfo, name, attr_exists) < 0)
  ------------------
  |  Branch (1738:13): [True: 0, False: 0]
  ------------------
 1739|      0|            HGOTO_ERROR(H5E_ATTR, H5E_BADITER, FAIL, "error checking for existence of attribute");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1740|      0|    } /* end if */
 1741|    107|    else {
 1742|    107|        H5O_iter_xst_t      udata; /* User data for callback */
 1743|    107|        H5O_mesg_operator_t op;    /* Wrapper for operator */
 1744|       |
 1745|       |        /* Set up user data for callback */
 1746|    107|        udata.name   = name;
 1747|    107|        udata.exists = attr_exists;
 1748|       |
 1749|       |        /* Iterate over existing attributes, checking for attribute with same name */
 1750|    107|        op.op_type  = H5O_MESG_OP_LIB;
 1751|    107|        op.u.lib_op = H5O__attr_exists_cb;
 1752|    107|        if (H5O__msg_iterate_real(loc->file, oh, H5O_MSG_ATTR, &op, &udata) < 0)
  ------------------
  |  Branch (1752:13): [True: 12, False: 95]
  ------------------
 1753|     12|            HGOTO_ERROR(H5E_ATTR, H5E_BADITER, FAIL, "error checking for existence of attribute");
  ------------------
  |  |   68|     12|    do {                                                                                                     \
  |  |   69|     12|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     12|    do {                                                                                                     \
  |  |  |  |   40|     12|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     12|    do {                                                                                                     \
  |  |  |  |  |  |   31|     12|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     12|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     12|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     12|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     12|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     12|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     12|    do {                                                                                                     \
  |  |  |  |   92|     12|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     12|        goto done;                                                                                           \
  |  |  |  |   94|     12|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     12|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1754|    107|    } /* end else */
 1755|       |
 1756|    107|done:
 1757|    107|    if (oh && H5O_unprotect(loc, oh, H5AC__NO_FLAGS_SET) < 0)
  ------------------
  |  |  314|    107|#define H5AC__NO_FLAGS_SET                H5C__NO_FLAGS_SET
  |  |  ------------------
  |  |  |  |  175|    107|#define H5C__NO_FLAGS_SET                   0x00000
  |  |  ------------------
  ------------------
  |  Branch (1757:9): [True: 107, False: 0]
  |  Branch (1757:15): [True: 0, False: 107]
  ------------------
 1758|      0|        HDONE_ERROR(H5E_ATTR, H5E_CANTUNPROTECT, FAIL, "unable to release object header");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1759|       |
 1760|    107|    FUNC_LEAVE_NOAPI_TAG(ret_value)
  ------------------
  |  | 1593|    107|    ;                                                                                                        \
  |  | 1594|    107|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1595|    107|    H5AC_tag(prev_tag, NULL);                                                                                \
  |  | 1596|    107|    return (ret_value);                                                                                      \
  |  | 1597|    107|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1761|    107|} /* end H5O__attr_exists() */
H5Oattribute.c:H5O__attr_open_cb:
  399|     85|{
  400|     85|    H5O_iter_opn_t *udata     = (H5O_iter_opn_t *)_udata; /* Operator user data */
  401|     85|    herr_t          ret_value = H5_ITER_CONT;             /* Return value */
  ------------------
  |  |  362|     85|#define H5_ITER_CONT  (0)  /**< Continue iteration */
  ------------------
  402|       |
  403|     85|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     85|    {                                                                                                        \
  |  | 1461|     85|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     85|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     85|                                                                                                             \
  |  |  |  | 1267|     85|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     85|        {
  ------------------
  404|       |
  405|       |    /* check args */
  406|     85|    assert(oh);
  407|     85|    assert(mesg);
  408|     85|    assert(!udata->attr);
  409|       |
  410|       |    /* Check for correct attribute message to modify */
  411|     85|    if (strcmp(((H5A_t *)mesg->native)->shared->name, udata->name) == 0) {
  ------------------
  |  Branch (411:9): [True: 64, False: 21]
  ------------------
  412|       |        /* Make a copy of the attribute to return */
  413|     64|        if (NULL == (udata->attr = H5A__copy(NULL, (H5A_t *)mesg->native)))
  ------------------
  |  Branch (413:13): [True: 0, False: 64]
  ------------------
  414|      0|            HGOTO_ERROR(H5E_ATTR, H5E_CANTCOPY, H5_ITER_ERROR, "unable to copy attribute");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  415|       |
  416|       |        /* Assign [somewhat arbitrary] creation order value, for older versions
  417|       |         * of the format or if creation order is not tracked */
  418|     64|        if (oh->version == H5O_VERSION_1 || !(oh->flags & H5O_HDR_ATTR_CRT_ORDER_TRACKED))
  ------------------
  |  |   38|    128|#define H5O_VERSION_1 1
  ------------------
                      if (oh->version == H5O_VERSION_1 || !(oh->flags & H5O_HDR_ATTR_CRT_ORDER_TRACKED))
  ------------------
  |  |   62|      0|#define H5O_HDR_ATTR_CRT_ORDER_TRACKED  0x04 /**< Attribute creation order is tracked */
  ------------------
  |  Branch (418:13): [True: 64, False: 0]
  |  Branch (418:45): [True: 0, False: 0]
  ------------------
  419|     64|            udata->attr->shared->crt_idx = sequence;
  420|       |
  421|       |        /* Stop iterating */
  422|     64|        ret_value = H5_ITER_STOP;
  ------------------
  |  |  363|     64|#define H5_ITER_STOP  (1)  /**< Stop iteration, short-circuit success */
  ------------------
  423|     64|    } /* end if */
  424|       |
  425|     85|done:
  426|     85|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     85|    ;                                                                                                        \
  |  | 1573|     85|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     85|    return (ret_value);                                                                                      \
  |  | 1575|     85|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  427|     85|} /* end H5O__attr_open_cb() */
H5Oattribute.c:H5O__attr_find_opened_attr:
  635|     78|{
  636|     78|    hid_t        *attr_id_list = NULL; /* List of IDs for opened attributes */
  637|     78|    unsigned long loc_fnum;            /* File serial # for object */
  638|     78|    size_t        num_open_attr;       /* Number of opened attributes */
  639|     78|    htri_t        ret_value = false;   /* Return value */
  640|       |
  641|     78|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     78|    {                                                                                                        \
  |  | 1461|     78|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     78|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     78|                                                                                                             \
  |  |  |  | 1267|     78|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     78|        {
  ------------------
  642|       |
  643|       |    /* Get file serial number for the location of attribute */
  644|     78|    if (H5F_get_fileno(loc->file, &loc_fnum) < 0)
  ------------------
  |  Branch (644:9): [True: 0, False: 78]
  ------------------
  645|      0|        HGOTO_ERROR(H5E_ATTR, H5E_BADVALUE, FAIL, "can't get file serial number");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  646|       |
  647|       |    /* Count all opened attributes */
  648|     78|    if (H5F_get_obj_count(loc->file, H5F_OBJ_ATTR | H5F_OBJ_LOCAL, false, &num_open_attr) < 0)
  ------------------
  |  |   79|     78|#define H5F_OBJ_ATTR     (0x0010u) /**< Attribute objects */
  ------------------
                  if (H5F_get_obj_count(loc->file, H5F_OBJ_ATTR | H5F_OBJ_LOCAL, false, &num_open_attr) < 0)
  ------------------
  |  |   82|     78|    (0x0020u) /**< Restrict search to objects opened through current file ID                                 \
  ------------------
  |  Branch (648:9): [True: 0, False: 78]
  ------------------
  649|      0|        HGOTO_ERROR(H5E_ATTR, H5E_CANTGET, FAIL, "can't count opened attributes");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  650|       |
  651|       |    /* Find out whether the attribute has been opened */
  652|     78|    if (num_open_attr) {
  ------------------
  |  Branch (652:9): [True: 12, False: 66]
  ------------------
  653|     12|        size_t check_num_attr; /* Number of open attribute IDs */
  654|     12|        size_t u;              /* Local index variable */
  655|       |
  656|       |        /* Allocate space for the attribute ID list */
  657|     12|        if (NULL == (attr_id_list = (hid_t *)H5MM_malloc(num_open_attr * sizeof(hid_t))))
  ------------------
  |  |   38|     12|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  |  Branch (657:13): [True: 0, False: 12]
  ------------------
  658|      0|            HGOTO_ERROR(H5E_ATTR, H5E_CANTALLOC, FAIL, "unable to allocate memory for attribute ID list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  659|       |
  660|       |        /* Retrieve the IDs of all opened attributes */
  661|     12|        if (H5F_get_obj_ids(loc->file, H5F_OBJ_ATTR | H5F_OBJ_LOCAL, num_open_attr, attr_id_list, false,
  ------------------
  |  |   79|     12|#define H5F_OBJ_ATTR     (0x0010u) /**< Attribute objects */
  ------------------
                      if (H5F_get_obj_ids(loc->file, H5F_OBJ_ATTR | H5F_OBJ_LOCAL, num_open_attr, attr_id_list, false,
  ------------------
  |  |   82|     12|    (0x0020u) /**< Restrict search to objects opened through current file ID                                 \
  ------------------
  |  Branch (661:13): [True: 0, False: 12]
  ------------------
  662|     12|                            &check_num_attr) < 0)
  663|      0|            HGOTO_ERROR(H5E_ATTR, H5E_CANTGET, FAIL, "can't get IDs of opened attributes");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  664|     12|        if (check_num_attr != num_open_attr)
  ------------------
  |  Branch (664:13): [True: 0, False: 12]
  ------------------
  665|      0|            HGOTO_ERROR(H5E_ATTR, H5E_BADITER, FAIL, "open attribute count mismatch");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  666|       |
  667|       |        /* Iterate over the attributes */
  668|     24|        for (u = 0; u < num_open_attr; u++) {
  ------------------
  |  Branch (668:21): [True: 12, False: 12]
  ------------------
  669|     12|            unsigned long attr_fnum; /* Attributes file serial number */
  670|       |
  671|       |            /* Get pointer to attribute */
  672|     12|            if (NULL == (*attr = (H5A_t *)H5VL_object_verify(attr_id_list[u], H5I_ATTR)))
  ------------------
  |  Branch (672:17): [True: 0, False: 12]
  ------------------
  673|      0|                HGOTO_ERROR(H5E_ATTR, H5E_BADTYPE, FAIL, "not an attribute");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  674|       |
  675|       |            /* Get file serial number for attribute */
  676|     12|            if (H5F_get_fileno((*attr)->oloc.file, &attr_fnum) < 0)
  ------------------
  |  Branch (676:17): [True: 0, False: 12]
  ------------------
  677|      0|                HGOTO_ERROR(H5E_ATTR, H5E_BADVALUE, FAIL, "can't get file serial number");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  678|       |
  679|       |            /* Verify whether it's the right object.  The attribute name, object
  680|       |             *  address to which the attribute is attached, and file serial
  681|       |             *  number should all match.
  682|       |             */
  683|     12|            if (!strcmp(name_to_open, (*attr)->shared->name) && loc->addr == (*attr)->oloc.addr &&
  ------------------
  |  Branch (683:17): [True: 0, False: 12]
  |  Branch (683:65): [True: 0, False: 0]
  ------------------
  684|     12|                loc_fnum == attr_fnum) {
  ------------------
  |  Branch (684:17): [True: 0, False: 0]
  ------------------
  685|      0|                ret_value = true;
  686|      0|                break;
  687|      0|            } /* end if */
  688|     12|        }     /* end for */
  689|     12|    }         /* end if */
  690|       |
  691|     78|done:
  692|     78|    if (attr_id_list)
  ------------------
  |  Branch (692:9): [True: 12, False: 66]
  ------------------
  693|     12|        H5MM_free(attr_id_list);
  ------------------
  |  |   37|     12|#define H5MM_free(Z)   free(Z)
  ------------------
  694|       |
  695|     78|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     78|    ;                                                                                                        \
  |  | 1573|     78|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     78|    return (ret_value);                                                                                      \
  |  | 1575|     78|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  696|     78|} /* end H5O__attr_find_opened_attr() */
H5Oattribute.c:H5O__attr_exists_cb:
 1678|    146|{
 1679|    146|    H5O_iter_xst_t *udata     = (H5O_iter_xst_t *)_udata; /* Operator user data */
 1680|    146|    herr_t          ret_value = H5_ITER_CONT;             /* Return value */
  ------------------
  |  |  362|    146|#define H5_ITER_CONT  (0)  /**< Continue iteration */
  ------------------
 1681|       |
 1682|    146|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|    146|    {                                                                                                        \
  |  | 1467|    146|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|    146|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|    146|        {
  ------------------
 1683|       |
 1684|       |    /* check args */
 1685|    146|    assert(mesg);
 1686|    146|    assert(udata->exists && !*udata->exists);
 1687|       |
 1688|       |    /* Check for correct attribute message */
 1689|    146|    if (strcmp(((H5A_t *)mesg->native)->shared->name, udata->name) == 0) {
  ------------------
  |  Branch (1689:9): [True: 9, False: 137]
  ------------------
 1690|       |        /* Indicate that this message is the attribute sought */
 1691|      9|        *udata->exists = true;
 1692|       |
 1693|       |        /* Stop iterating */
 1694|      9|        ret_value = H5_ITER_STOP;
  ------------------
  |  |  363|      9|#define H5_ITER_STOP  (1)  /**< Stop iteration, short-circuit success */
  ------------------
 1695|      9|    } /* end if */
 1696|       |
 1697|    146|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    146|    ;                                                                                                        \
  |  | 1573|    146|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    146|    return (ret_value);                                                                                      \
  |  | 1575|    146|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1698|    146|} /* end H5O__attr_exists_cb() */

H5Ocache.c:H5O__cache_get_initial_load_size:
  151|     90|{
  152|     90|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     90|    {                                                                                                        \
  |  | 1467|     90|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     90|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     90|        {
  ------------------
  153|       |
  154|     90|    assert(image_len);
  155|       |
  156|       |    /* Set the image length size */
  157|     90|    *image_len = H5O_SPEC_READ_SIZE;
  ------------------
  |  |  207|     90|#define H5O_SPEC_READ_SIZE 512
  ------------------
  158|       |
  159|     90|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     90|    ;                                                                                                        \
  |  | 1573|     90|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     90|    return (ret_value);                                                                                      \
  |  | 1575|     90|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  160|     90|} /* end H5O__cache_get_initial_load_size() */
H5Ocache.c:H5O__cache_get_final_load_size:
  172|     90|{
  173|     90|    H5O_cache_ud_t *udata     = (H5O_cache_ud_t *)_udata; /* User data for callback */
  174|     90|    herr_t          ret_value = SUCCEED;
  ------------------
  |  |  283|     90|#define SUCCEED 0
  ------------------
  175|       |
  176|     90|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     90|    {                                                                                                        \
  |  | 1461|     90|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     90|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     90|                                                                                                             \
  |  |  |  | 1267|     90|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     90|        {
  ------------------
  177|       |
  178|     90|    assert(image);
  179|     90|    assert(udata);
  180|     90|    assert(actual_len);
  181|     90|    assert(*actual_len == image_len);
  182|       |
  183|       |    /* Deserialize the object header prefix */
  184|     90|    if (H5O__prefix_deserialize((const uint8_t *)image, image_len, udata) < 0)
  ------------------
  |  Branch (184:9): [True: 21, False: 69]
  ------------------
  185|     21|        HGOTO_ERROR(H5E_OHDR, H5E_CANTDECODE, FAIL, "can't deserialize object header prefix");
  ------------------
  |  |   68|     21|    do {                                                                                                     \
  |  |   69|     21|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     21|    do {                                                                                                     \
  |  |  |  |   40|     21|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     21|    do {                                                                                                     \
  |  |  |  |  |  |   31|     21|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     21|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     21|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     21|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     21|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     21|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     21|    do {                                                                                                     \
  |  |  |  |   92|     21|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     21|        goto done;                                                                                           \
  |  |  |  |   94|     21|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     21|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  186|       |
  187|       |    /* Sanity check */
  188|     69|    assert(udata->oh);
  189|       |
  190|       |    /* Set the final size for the cache image */
  191|     69|    *actual_len = udata->chunk0_size + (size_t)H5O_SIZEOF_HDR(udata->oh);
  ------------------
  |  |   86|     69|    (((O)->version == H5O_VERSION_1)                                                                         \
  |  |  ------------------
  |  |  |  |   38|     69|#define H5O_VERSION_1 1
  |  |  ------------------
  |  |  |  Branch (86:6): [True: 69, False: 0]
  |  |  ------------------
  |  |   87|     69|         ? H5O_ALIGN_OLD(1 +                           /*version number	*/                                   \
  |  |  ------------------
  |  |  |  |   57|     69|#define H5O_ALIGN_OLD(X)     (8 * (((X) + 7) / 8))
  |  |  ------------------
  |  |   88|     69|                         1 +                           /*reserved 		*/                                       \
  |  |   89|     69|                         2 +                           /*number of messages	*/                               \
  |  |   90|     69|                         4 +                           /*reference count	*/                                  \
  |  |   91|     69|                         4)                            /*chunk data size	*/                                  \
  |  |   92|     69|         : (H5_SIZEOF_MAGIC +                          /*magic number  	*/                                   \
  |  |  ------------------
  |  |  |  |  367|      0|#define H5_SIZEOF_MAGIC 4
  |  |  ------------------
  |  |   93|      0|            1 +                                        /*version number 	*/                                  \
  |  |   94|      0|            1 +                                        /*flags		 	*/                                         \
  |  |   95|      0|            (((O)->flags & H5O_HDR_STORE_TIMES) ? (4 + /*access time		*/                                     \
  |  |  ------------------
  |  |  |  |   65|      0|#define H5O_HDR_STORE_TIMES             0x20 /**< Store access, modification, change & birth times for object */
  |  |  ------------------
  |  |  |  Branch (95:14): [True: 0, False: 0]
  |  |  ------------------
  |  |   96|      0|                                                   4 + /*modification time	*/                                \
  |  |   97|      0|                                                   4 + /*change time		*/                                     \
  |  |   98|      0|                                                   4   /*birth time		*/                                      \
  |  |   99|      0|                                                   )                                                         \
  |  |  100|      0|                                                : 0) +                                                       \
  |  |  101|      0|            (((O)->flags & H5O_HDR_ATTR_STORE_PHASE_CHANGE) ? (2 + /*max compact attributes */               \
  |  |  ------------------
  |  |  |  |   64|      0|#define H5O_HDR_ATTR_STORE_PHASE_CHANGE 0x10 /**< Non-default attribute storage phase change values stored */
  |  |  ------------------
  |  |  |  Branch (101:14): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                                                               2   /*min dense attributes	*/                 \
  |  |  103|      0|                                                               )                                             \
  |  |  104|      0|                                                            : 0) +                                           \
  |  |  105|      0|            (1 << ((O)->flags & H5O_HDR_CHUNK0_SIZE)) + /*chunk 0 data size */                               \
  |  |  ------------------
  |  |  |  |   61|      0|#define H5O_HDR_CHUNK0_SIZE             0x03 /**< 2-bit field indicating # of bytes to store the size of chunk 0's data */
  |  |  ------------------
  |  |  106|      0|            H5O_SIZEOF_CHKSUM)                          /*checksum size	*/                                   \
  |  |  ------------------
  |  |  |  |   63|      0|#define H5O_SIZEOF_CHKSUM 4
  |  |  ------------------
  |  |  107|     69|    )
  ------------------
  192|       |
  193|       |    /* Save the oh version to be used later in verify_chksum callback
  194|       |       because oh will be freed before leaving this routine */
  195|     69|    udata->oh_version = udata->oh->version;
  196|       |
  197|       |    /* Free allocated memory: fix github issue #3970 */
  198|     69|    if (H5O__free(udata->oh, false) < 0)
  ------------------
  |  Branch (198:9): [True: 0, False: 69]
  ------------------
  199|      0|        HGOTO_ERROR(H5E_OHDR, H5E_CANTRELEASE, FAIL, "can't destroy object header");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  200|     69|    udata->oh = NULL;
  201|       |
  202|     90|done:
  203|     90|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     90|    ;                                                                                                        \
  |  | 1573|     90|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     90|    return (ret_value);                                                                                      \
  |  | 1575|     90|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  204|     69|} /* end H5O__cache_get_final_load_size() */
H5Ocache.c:H5O__prefix_deserialize:
  979|    159|{
  980|    159|    const uint8_t *image     = (const uint8_t *)_image; /* Pointer into raw data buffer */
  981|    159|    const uint8_t *p_end     = image + len - 1;         /* End of image buffer */
  982|    159|    H5O_t         *oh        = NULL;                    /* Object header read in */
  983|    159|    herr_t         ret_value = SUCCEED;
  ------------------
  |  |  283|    159|#define SUCCEED 0
  ------------------
  984|       |
  985|    159|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    159|    {                                                                                                        \
  |  | 1461|    159|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    159|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    159|                                                                                                             \
  |  |  |  | 1267|    159|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    159|        {
  ------------------
  986|       |
  987|    159|    assert(image);
  988|    159|    assert(udata);
  989|       |
  990|       |    /* Allocate space for the new object header data structure */
  991|    159|    if (NULL == (oh = H5FL_CALLOC(H5O_t)))
  ------------------
  |  |   78|    159|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|    159|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (991:9): [True: 0, False: 159]
  ------------------
  992|      0|        HGOTO_ERROR(H5E_OHDR, H5E_CANTALLOC, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  993|       |
  994|       |    /* File-specific, non-stored information */
  995|    159|    oh->sizeof_size = H5F_SIZEOF_SIZE(udata->common.f);
  ------------------
  |  |  131|    159|#define H5F_SIZEOF_SIZE(F)               (H5F_sizeof_size(F))
  ------------------
  996|    159|    oh->sizeof_addr = H5F_SIZEOF_ADDR(udata->common.f);
  ------------------
  |  |  130|    159|#define H5F_SIZEOF_ADDR(F)               (H5F_sizeof_addr(F))
  ------------------
  997|       |
  998|       |    /* Check for presence of magic number */
  999|       |    /* (indicates version 2 or later) */
 1000|    159|    if (H5_IS_BUFFER_OVERFLOW(image, H5_SIZEOF_MAGIC, p_end))
  ------------------
  |  |  344|    159|    (                                                                                                        \
  |  |  345|    159|      /* Trivial case */                                                                                     \
  |  |  346|    159|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|    159|      (                                                                                                      \
  |  |  348|    159|        /* Bad precondition */                                                                               \
  |  |  349|    159|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 159]
  |  |  ------------------
  |  |  350|    159|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|    159|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|    159|        /* Typical overflow */                                                                               \
  |  |  353|    159|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 159]
  |  |  ------------------
  |  |  354|    159|      )                                                                                                      \
  |  |  355|    159|    )
  ------------------
 1001|      0|        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1002|    159|    if (!memcmp(image, H5O_HDR_MAGIC, (size_t)H5_SIZEOF_MAGIC)) {
  ------------------
  |  |  410|    159|#define H5O_HDR_MAGIC "OHDR" /* Header */
  ------------------
                  if (!memcmp(image, H5O_HDR_MAGIC, (size_t)H5_SIZEOF_MAGIC)) {
  ------------------
  |  |  367|    159|#define H5_SIZEOF_MAGIC 4
  ------------------
  |  Branch (1002:9): [True: 0, False: 159]
  ------------------
 1003|       |
 1004|       |        /* Magic number (bounds checked above) */
 1005|      0|        image += H5_SIZEOF_MAGIC;
  ------------------
  |  |  367|      0|#define H5_SIZEOF_MAGIC 4
  ------------------
 1006|       |
 1007|       |        /* Version */
 1008|      0|        if (H5_IS_BUFFER_OVERFLOW(image, 1, p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
 1009|      0|            HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1010|      0|        oh->version = *image++;
 1011|      0|        if (H5O_VERSION_2 != oh->version)
  ------------------
  |  |   43|      0|#define H5O_VERSION_2 2
  ------------------
  |  Branch (1011:13): [True: 0, False: 0]
  ------------------
 1012|      0|            HGOTO_ERROR(H5E_OHDR, H5E_VERSION, FAIL, "bad object header version number");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1013|       |
 1014|       |        /* Flags */
 1015|      0|        if (H5_IS_BUFFER_OVERFLOW(image, 1, p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
 1016|      0|            HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1017|      0|        oh->flags = *image++;
 1018|      0|        if (oh->flags & ~H5O_HDR_ALL_FLAGS)
  ------------------
  |  |   67|      0|    (H5O_HDR_CHUNK0_SIZE | H5O_HDR_ATTR_CRT_ORDER_TRACKED | H5O_HDR_ATTR_CRT_ORDER_INDEXED |                 \
  |  |  ------------------
  |  |  |  |   61|      0|#define H5O_HDR_CHUNK0_SIZE             0x03 /**< 2-bit field indicating # of bytes to store the size of chunk 0's data */
  |  |  ------------------
  |  |                   (H5O_HDR_CHUNK0_SIZE | H5O_HDR_ATTR_CRT_ORDER_TRACKED | H5O_HDR_ATTR_CRT_ORDER_INDEXED |                 \
  |  |  ------------------
  |  |  |  |   62|      0|#define H5O_HDR_ATTR_CRT_ORDER_TRACKED  0x04 /**< Attribute creation order is tracked */
  |  |  ------------------
  |  |                   (H5O_HDR_CHUNK0_SIZE | H5O_HDR_ATTR_CRT_ORDER_TRACKED | H5O_HDR_ATTR_CRT_ORDER_INDEXED |                 \
  |  |  ------------------
  |  |  |  |   63|      0|#define H5O_HDR_ATTR_CRT_ORDER_INDEXED  0x08 /**< Attribute creation order has index */
  |  |  ------------------
  |  |   68|      0|     H5O_HDR_ATTR_STORE_PHASE_CHANGE | H5O_HDR_STORE_TIMES)
  |  |  ------------------
  |  |  |  |   64|      0|#define H5O_HDR_ATTR_STORE_PHASE_CHANGE 0x10 /**< Non-default attribute storage phase change values stored */
  |  |  ------------------
  |  |                    H5O_HDR_ATTR_STORE_PHASE_CHANGE | H5O_HDR_STORE_TIMES)
  |  |  ------------------
  |  |  |  |   65|      0|#define H5O_HDR_STORE_TIMES             0x20 /**< Store access, modification, change & birth times for object */
  |  |  ------------------
  ------------------
  |  Branch (1018:13): [True: 0, False: 0]
  ------------------
 1019|      0|            HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, FAIL, "unknown object header status flag(s)");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1020|       |
 1021|       |        /* Number of links to object (unless overridden by refcount message) */
 1022|      0|        oh->nlink = 1;
 1023|       |
 1024|       |        /* Time fields */
 1025|      0|        if (oh->flags & H5O_HDR_STORE_TIMES) {
  ------------------
  |  |   65|      0|#define H5O_HDR_STORE_TIMES             0x20 /**< Store access, modification, change & birth times for object */
  ------------------
  |  Branch (1025:13): [True: 0, False: 0]
  ------------------
 1026|      0|            uint32_t tmp;
 1027|       |
 1028|      0|            if (H5_IS_BUFFER_OVERFLOW(image, 4 + 4 + 4 + 4, p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
 1029|      0|                HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1030|       |
 1031|      0|            UINT32DECODE(image, tmp);
  ------------------
  |  |  179|      0|    do {                                                                                                     \
  |  |  180|      0|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  181|      0|        (p)++;                                                                                               \
  |  |  182|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  183|      0|        (p)++;                                                                                               \
  |  |  184|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  185|      0|        (p)++;                                                                                               \
  |  |  186|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  187|      0|        (p)++;                                                                                               \
  |  |  188|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1032|      0|            oh->atime = (time_t)tmp;
 1033|      0|            UINT32DECODE(image, tmp);
  ------------------
  |  |  179|      0|    do {                                                                                                     \
  |  |  180|      0|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  181|      0|        (p)++;                                                                                               \
  |  |  182|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  183|      0|        (p)++;                                                                                               \
  |  |  184|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  185|      0|        (p)++;                                                                                               \
  |  |  186|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  187|      0|        (p)++;                                                                                               \
  |  |  188|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1034|      0|            oh->mtime = (time_t)tmp;
 1035|      0|            UINT32DECODE(image, tmp);
  ------------------
  |  |  179|      0|    do {                                                                                                     \
  |  |  180|      0|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  181|      0|        (p)++;                                                                                               \
  |  |  182|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  183|      0|        (p)++;                                                                                               \
  |  |  184|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  185|      0|        (p)++;                                                                                               \
  |  |  186|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  187|      0|        (p)++;                                                                                               \
  |  |  188|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1036|      0|            oh->ctime = (time_t)tmp;
 1037|      0|            UINT32DECODE(image, tmp);
  ------------------
  |  |  179|      0|    do {                                                                                                     \
  |  |  180|      0|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  181|      0|        (p)++;                                                                                               \
  |  |  182|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  183|      0|        (p)++;                                                                                               \
  |  |  184|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  185|      0|        (p)++;                                                                                               \
  |  |  186|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  187|      0|        (p)++;                                                                                               \
  |  |  188|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1038|      0|            oh->btime = (time_t)tmp;
 1039|      0|        }
 1040|      0|        else
 1041|      0|            oh->atime = oh->mtime = oh->ctime = oh->btime = 0;
 1042|       |
 1043|       |        /* Attribute fields */
 1044|      0|        if (oh->flags & H5O_HDR_ATTR_STORE_PHASE_CHANGE) {
  ------------------
  |  |   64|      0|#define H5O_HDR_ATTR_STORE_PHASE_CHANGE 0x10 /**< Non-default attribute storage phase change values stored */
  ------------------
  |  Branch (1044:13): [True: 0, False: 0]
  ------------------
 1045|      0|            if (H5_IS_BUFFER_OVERFLOW(image, 2 + 2, p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
 1046|      0|                HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1047|       |
 1048|      0|            UINT16DECODE(image, oh->max_compact);
  ------------------
  |  |  159|      0|    do {                                                                                                     \
  |  |  160|      0|        (i) = (uint16_t)(*(p)&0xff);                                                                         \
  |  |  161|      0|        (p)++;                                                                                               \
  |  |  162|      0|        (i) |= (uint16_t)((*(p)&0xff) << 8);                                                                 \
  |  |  163|      0|        (p)++;                                                                                               \
  |  |  164|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (164:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1049|      0|            UINT16DECODE(image, oh->min_dense);
  ------------------
  |  |  159|      0|    do {                                                                                                     \
  |  |  160|      0|        (i) = (uint16_t)(*(p)&0xff);                                                                         \
  |  |  161|      0|        (p)++;                                                                                               \
  |  |  162|      0|        (i) |= (uint16_t)((*(p)&0xff) << 8);                                                                 \
  |  |  163|      0|        (p)++;                                                                                               \
  |  |  164|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (164:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1050|      0|            if (oh->max_compact < oh->min_dense)
  ------------------
  |  Branch (1050:17): [True: 0, False: 0]
  ------------------
 1051|      0|                HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, FAIL, "bad object header attribute phase change values");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1052|      0|        }
 1053|      0|        else {
 1054|      0|            oh->max_compact = H5O_CRT_ATTR_MAX_COMPACT_DEF;
  ------------------
  |  |   72|      0|#define H5O_CRT_ATTR_MAX_COMPACT_DEF 8
  ------------------
 1055|      0|            oh->min_dense   = H5O_CRT_ATTR_MIN_DENSE_DEF;
  ------------------
  |  |   73|      0|#define H5O_CRT_ATTR_MIN_DENSE_DEF   6
  ------------------
 1056|      0|        }
 1057|       |
 1058|       |        /* First chunk size */
 1059|      0|        switch (oh->flags & H5O_HDR_CHUNK0_SIZE) {
  ------------------
  |  |   61|      0|#define H5O_HDR_CHUNK0_SIZE             0x03 /**< 2-bit field indicating # of bytes to store the size of chunk 0's data */
  ------------------
 1060|      0|            case 0: /* 1 byte size */
  ------------------
  |  Branch (1060:13): [True: 0, False: 0]
  ------------------
 1061|      0|                if (H5_IS_BUFFER_OVERFLOW(image, 1, p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
 1062|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1063|      0|                udata->chunk0_size = *image++;
 1064|      0|                break;
 1065|       |
 1066|      0|            case 1: /* 2 byte size */
  ------------------
  |  Branch (1066:13): [True: 0, False: 0]
  ------------------
 1067|      0|                if (H5_IS_BUFFER_OVERFLOW(image, 2, p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
 1068|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1069|      0|                UINT16DECODE(image, udata->chunk0_size);
  ------------------
  |  |  159|      0|    do {                                                                                                     \
  |  |  160|      0|        (i) = (uint16_t)(*(p)&0xff);                                                                         \
  |  |  161|      0|        (p)++;                                                                                               \
  |  |  162|      0|        (i) |= (uint16_t)((*(p)&0xff) << 8);                                                                 \
  |  |  163|      0|        (p)++;                                                                                               \
  |  |  164|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (164:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1070|      0|                break;
 1071|       |
 1072|      0|            case 2: /* 4 byte size */
  ------------------
  |  Branch (1072:13): [True: 0, False: 0]
  ------------------
 1073|      0|                if (H5_IS_BUFFER_OVERFLOW(image, 4, p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
 1074|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1075|      0|                UINT32DECODE(image, udata->chunk0_size);
  ------------------
  |  |  179|      0|    do {                                                                                                     \
  |  |  180|      0|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  181|      0|        (p)++;                                                                                               \
  |  |  182|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  183|      0|        (p)++;                                                                                               \
  |  |  184|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  185|      0|        (p)++;                                                                                               \
  |  |  186|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  187|      0|        (p)++;                                                                                               \
  |  |  188|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1076|      0|                break;
 1077|       |
 1078|      0|            case 3: /* 8 byte size */
  ------------------
  |  Branch (1078:13): [True: 0, False: 0]
  ------------------
 1079|      0|                if (H5_IS_BUFFER_OVERFLOW(image, 8, p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
 1080|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1081|      0|                UINT64DECODE(image, udata->chunk0_size);
  ------------------
  |  |  220|      0|    do {                                                                                                     \
  |  |  221|      0|        /* WE DON'T CHECK FOR OVERFLOW! */                                                                   \
  |  |  222|      0|        size_t _i;                                                                                           \
  |  |  223|      0|                                                                                                             \
  |  |  224|      0|        n = 0;                                                                                               \
  |  |  225|      0|        (p) += 8;                                                                                            \
  |  |  226|      0|        for (_i = 0; _i < sizeof(uint64_t); _i++)                                                            \
  |  |  ------------------
  |  |  |  Branch (226:22): [True: 0, False: 0]
  |  |  ------------------
  |  |  227|      0|            n = (uint64_t)(((uint64_t)n << 8) | *(--p));                                                     \
  |  |  228|      0|        (p) += 8;                                                                                            \
  |  |  229|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (229:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1082|      0|                break;
 1083|       |
 1084|      0|            default:
  ------------------
  |  Branch (1084:13): [True: 0, False: 0]
  ------------------
 1085|      0|                HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, FAIL, "bad size for chunk 0");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1086|      0|        }
 1087|      0|        if (udata->chunk0_size > 0 && udata->chunk0_size < H5O_SIZEOF_MSGHDR_OH(oh))
  ------------------
  |  |  124|      0|    (unsigned)H5O_SIZEOF_MSGHDR_VERS((O)->version, (O)->flags &H5O_HDR_ATTR_CRT_ORDER_TRACKED)
  |  |  ------------------
  |  |  |  |  113|      0|    (((V) == H5O_VERSION_1) ? H5O_ALIGN_OLD(2 + /*message type		*/                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |   38|      0|#define H5O_VERSION_1 1
  |  |  |  |  ------------------
  |  |  |  |                   (((V) == H5O_VERSION_1) ? H5O_ALIGN_OLD(2 + /*message type		*/                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |   57|      0|#define H5O_ALIGN_OLD(X)     (8 * (((X) + 7) / 8))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:6): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|                                            2 + /*sizeof message data	*/                                     \
  |  |  |  |  115|      0|                                            1 + /*flags              	*/                                     \
  |  |  |  |  116|      0|                                            3)  /*reserved		*/                                               \
  |  |  |  |  117|      0|                            : (1 +              /*message type		*/                                           \
  |  |  |  |  118|      0|                               2 +              /*sizeof message data	*/                                     \
  |  |  |  |  119|      0|                               1 +              /*flags              	*/                                     \
  |  |  |  |  120|      0|                               ((C) ? (2        /*creation index     	*/                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (120:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  121|      0|                                       )                                                                     \
  |  |  |  |  122|      0|                                    : 0)))
  |  |  ------------------
  ------------------
  |  Branch (1087:13): [True: 0, False: 0]
  |  Branch (1087:39): [True: 0, False: 0]
  ------------------
 1088|      0|            HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, FAIL, "bad object header chunk size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1089|      0|    }
 1090|    159|    else {
 1091|       |        /* Version */
 1092|    159|        if (H5_IS_BUFFER_OVERFLOW(image, 1, p_end))
  ------------------
  |  |  344|    159|    (                                                                                                        \
  |  |  345|    159|      /* Trivial case */                                                                                     \
  |  |  346|    159|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|    159|      (                                                                                                      \
  |  |  348|    159|        /* Bad precondition */                                                                               \
  |  |  349|    159|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 159]
  |  |  ------------------
  |  |  350|    159|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|    159|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|    159|        /* Typical overflow */                                                                               \
  |  |  353|    159|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 159]
  |  |  ------------------
  |  |  354|    159|      )                                                                                                      \
  |  |  355|    159|    )
  ------------------
 1093|      0|            HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1094|    159|        oh->version = *image++;
 1095|    159|        if (H5O_VERSION_1 != oh->version)
  ------------------
  |  |   38|    159|#define H5O_VERSION_1 1
  ------------------
  |  Branch (1095:13): [True: 21, False: 138]
  ------------------
 1096|     21|            HGOTO_ERROR(H5E_OHDR, H5E_VERSION, FAIL, "bad object header version number");
  ------------------
  |  |   68|     21|    do {                                                                                                     \
  |  |   69|     21|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     21|    do {                                                                                                     \
  |  |  |  |   40|     21|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     21|    do {                                                                                                     \
  |  |  |  |  |  |   31|     21|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     21|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     21|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     21|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     21|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     21|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     21|    do {                                                                                                     \
  |  |  |  |   92|     21|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     21|        goto done;                                                                                           \
  |  |  |  |   94|     21|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     21|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1097|       |
 1098|       |        /* Flags */
 1099|    138|        oh->flags = H5O_CRT_OHDR_FLAGS_DEF;
  ------------------
  |  |   74|    138|#define H5O_CRT_OHDR_FLAGS_DEF       H5O_HDR_STORE_TIMES
  |  |  ------------------
  |  |  |  |   65|    138|#define H5O_HDR_STORE_TIMES             0x20 /**< Store access, modification, change & birth times for object */
  |  |  ------------------
  ------------------
 1100|       |
 1101|       |        /* Reserved */
 1102|    138|        if (H5_IS_BUFFER_OVERFLOW(image, 1, p_end))
  ------------------
  |  |  344|    138|    (                                                                                                        \
  |  |  345|    138|      /* Trivial case */                                                                                     \
  |  |  346|    138|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|    138|      (                                                                                                      \
  |  |  348|    138|        /* Bad precondition */                                                                               \
  |  |  349|    138|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 138]
  |  |  ------------------
  |  |  350|    138|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|    138|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|    138|        /* Typical overflow */                                                                               \
  |  |  353|    138|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 138]
  |  |  ------------------
  |  |  354|    138|      )                                                                                                      \
  |  |  355|    138|    )
  ------------------
 1103|      0|            HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1104|    138|        image++;
 1105|       |
 1106|       |        /* Number of messages */
 1107|    138|        if (H5_IS_BUFFER_OVERFLOW(image, 2, p_end))
  ------------------
  |  |  344|    138|    (                                                                                                        \
  |  |  345|    138|      /* Trivial case */                                                                                     \
  |  |  346|    138|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|    138|      (                                                                                                      \
  |  |  348|    138|        /* Bad precondition */                                                                               \
  |  |  349|    138|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 138]
  |  |  ------------------
  |  |  350|    138|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|    138|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|    138|        /* Typical overflow */                                                                               \
  |  |  353|    138|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 138]
  |  |  ------------------
  |  |  354|    138|      )                                                                                                      \
  |  |  355|    138|    )
  ------------------
 1108|      0|            HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1109|    138|        UINT16DECODE(image, udata->v1_pfx_nmesgs);
  ------------------
  |  |  159|    138|    do {                                                                                                     \
  |  |  160|    138|        (i) = (uint16_t)(*(p)&0xff);                                                                         \
  |  |  161|    138|        (p)++;                                                                                               \
  |  |  162|    138|        (i) |= (uint16_t)((*(p)&0xff) << 8);                                                                 \
  |  |  163|    138|        (p)++;                                                                                               \
  |  |  164|    138|    } while (0)
  |  |  ------------------
  |  |  |  Branch (164:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1110|       |
 1111|       |        /* Link count */
 1112|    138|        if (H5_IS_BUFFER_OVERFLOW(image, 4, p_end))
  ------------------
  |  |  344|    138|    (                                                                                                        \
  |  |  345|    138|      /* Trivial case */                                                                                     \
  |  |  346|    138|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|    138|      (                                                                                                      \
  |  |  348|    138|        /* Bad precondition */                                                                               \
  |  |  349|    138|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 138]
  |  |  ------------------
  |  |  350|    138|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|    138|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|    138|        /* Typical overflow */                                                                               \
  |  |  353|    138|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 138]
  |  |  ------------------
  |  |  354|    138|      )                                                                                                      \
  |  |  355|    138|    )
  ------------------
 1113|      0|            HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1114|    138|        UINT32DECODE(image, oh->nlink);
  ------------------
  |  |  179|    138|    do {                                                                                                     \
  |  |  180|    138|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  181|    138|        (p)++;                                                                                               \
  |  |  182|    138|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  183|    138|        (p)++;                                                                                               \
  |  |  184|    138|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  185|    138|        (p)++;                                                                                               \
  |  |  186|    138|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  187|    138|        (p)++;                                                                                               \
  |  |  188|    138|    } while (0)
  |  |  ------------------
  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1115|       |
 1116|       |        /* Reset unused time fields */
 1117|    138|        oh->atime = oh->mtime = oh->ctime = oh->btime = 0;
 1118|       |
 1119|       |        /* Reset unused attribute fields */
 1120|    138|        oh->max_compact = 0;
 1121|    138|        oh->min_dense   = 0;
 1122|       |
 1123|       |        /* First chunk size */
 1124|    138|        if (H5_IS_BUFFER_OVERFLOW(image, 4, p_end))
  ------------------
  |  |  344|    138|    (                                                                                                        \
  |  |  345|    138|      /* Trivial case */                                                                                     \
  |  |  346|    138|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|    138|      (                                                                                                      \
  |  |  348|    138|        /* Bad precondition */                                                                               \
  |  |  349|    138|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 138]
  |  |  ------------------
  |  |  350|    138|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|    138|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|    138|        /* Typical overflow */                                                                               \
  |  |  353|    138|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 138]
  |  |  ------------------
  |  |  354|    138|      )                                                                                                      \
  |  |  355|    138|    )
  ------------------
 1125|      0|            HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1126|    138|        UINT32DECODE(image, udata->chunk0_size);
  ------------------
  |  |  179|    138|    do {                                                                                                     \
  |  |  180|    138|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  181|    138|        (p)++;                                                                                               \
  |  |  182|    138|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  183|    138|        (p)++;                                                                                               \
  |  |  184|    138|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  185|    138|        (p)++;                                                                                               \
  |  |  186|    138|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  187|    138|        (p)++;                                                                                               \
  |  |  188|    138|    } while (0)
  |  |  ------------------
  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1127|    138|        if ((udata->v1_pfx_nmesgs > 0 && udata->chunk0_size < H5O_SIZEOF_MSGHDR_OH(oh)) ||
  ------------------
  |  |  124|    138|    (unsigned)H5O_SIZEOF_MSGHDR_VERS((O)->version, (O)->flags &H5O_HDR_ATTR_CRT_ORDER_TRACKED)
  |  |  ------------------
  |  |  |  |  113|    138|    (((V) == H5O_VERSION_1) ? H5O_ALIGN_OLD(2 + /*message type		*/                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |   38|    138|#define H5O_VERSION_1 1
  |  |  |  |  ------------------
  |  |  |  |                   (((V) == H5O_VERSION_1) ? H5O_ALIGN_OLD(2 + /*message type		*/                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |   57|    138|#define H5O_ALIGN_OLD(X)     (8 * (((X) + 7) / 8))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:6): [True: 138, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|    138|                                            2 + /*sizeof message data	*/                                     \
  |  |  |  |  115|    138|                                            1 + /*flags              	*/                                     \
  |  |  |  |  116|    138|                                            3)  /*reserved		*/                                               \
  |  |  |  |  117|    138|                            : (1 +              /*message type		*/                                           \
  |  |  |  |  118|      0|                               2 +              /*sizeof message data	*/                                     \
  |  |  |  |  119|      0|                               1 +              /*flags              	*/                                     \
  |  |  |  |  120|      0|                               ((C) ? (2        /*creation index     	*/                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (120:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  121|      0|                                       )                                                                     \
  |  |  |  |  122|      0|                                    : 0)))
  |  |  ------------------
  ------------------
  |  Branch (1127:14): [True: 138, False: 0]
  |  Branch (1127:42): [True: 0, False: 138]
  ------------------
 1128|    138|            (udata->v1_pfx_nmesgs == 0 && udata->chunk0_size > 0))
  ------------------
  |  Branch (1128:14): [True: 0, False: 138]
  |  Branch (1128:43): [True: 0, False: 0]
  ------------------
 1129|      0|            HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, FAIL, "bad object header chunk size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1130|       |
 1131|       |        /* Reserved, in version 1 (for 8-byte alignment padding) */
 1132|    138|        if (H5_IS_BUFFER_OVERFLOW(image, 4, p_end))
  ------------------
  |  |  344|    138|    (                                                                                                        \
  |  |  345|    138|      /* Trivial case */                                                                                     \
  |  |  346|    138|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|    138|      (                                                                                                      \
  |  |  348|    138|        /* Bad precondition */                                                                               \
  |  |  349|    138|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 138]
  |  |  ------------------
  |  |  350|    138|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|    138|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|    138|        /* Typical overflow */                                                                               \
  |  |  353|    138|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 138]
  |  |  ------------------
  |  |  354|    138|      )                                                                                                      \
  |  |  355|    138|    )
  ------------------
 1133|      0|            HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1134|    138|        image += 4;
 1135|    138|    }
 1136|       |
 1137|       |    /* Verify object header prefix length */
 1138|    138|    if ((size_t)(image - _image) != (size_t)(H5O_SIZEOF_HDR(oh) - H5O_SIZEOF_CHKSUM_OH(oh)))
  ------------------
  |  |   86|    138|    (((O)->version == H5O_VERSION_1)                                                                         \
  |  |  ------------------
  |  |  |  |   38|    138|#define H5O_VERSION_1 1
  |  |  ------------------
  |  |  |  Branch (86:6): [True: 138, False: 0]
  |  |  ------------------
  |  |   87|    138|         ? H5O_ALIGN_OLD(1 +                           /*version number	*/                                   \
  |  |  ------------------
  |  |  |  |   57|    138|#define H5O_ALIGN_OLD(X)     (8 * (((X) + 7) / 8))
  |  |  ------------------
  |  |   88|    138|                         1 +                           /*reserved 		*/                                       \
  |  |   89|    138|                         2 +                           /*number of messages	*/                               \
  |  |   90|    138|                         4 +                           /*reference count	*/                                  \
  |  |   91|    138|                         4)                            /*chunk data size	*/                                  \
  |  |   92|    138|         : (H5_SIZEOF_MAGIC +                          /*magic number  	*/                                   \
  |  |  ------------------
  |  |  |  |  367|      0|#define H5_SIZEOF_MAGIC 4
  |  |  ------------------
  |  |   93|      0|            1 +                                        /*version number 	*/                                  \
  |  |   94|      0|            1 +                                        /*flags		 	*/                                         \
  |  |   95|      0|            (((O)->flags & H5O_HDR_STORE_TIMES) ? (4 + /*access time		*/                                     \
  |  |  ------------------
  |  |  |  |   65|      0|#define H5O_HDR_STORE_TIMES             0x20 /**< Store access, modification, change & birth times for object */
  |  |  ------------------
  |  |  |  Branch (95:14): [True: 0, False: 0]
  |  |  ------------------
  |  |   96|      0|                                                   4 + /*modification time	*/                                \
  |  |   97|      0|                                                   4 + /*change time		*/                                     \
  |  |   98|      0|                                                   4   /*birth time		*/                                      \
  |  |   99|      0|                                                   )                                                         \
  |  |  100|      0|                                                : 0) +                                                       \
  |  |  101|      0|            (((O)->flags & H5O_HDR_ATTR_STORE_PHASE_CHANGE) ? (2 + /*max compact attributes */               \
  |  |  ------------------
  |  |  |  |   64|      0|#define H5O_HDR_ATTR_STORE_PHASE_CHANGE 0x10 /**< Non-default attribute storage phase change values stored */
  |  |  ------------------
  |  |  |  Branch (101:14): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                                                               2   /*min dense attributes	*/                 \
  |  |  103|      0|                                                               )                                             \
  |  |  104|      0|                                                            : 0) +                                           \
  |  |  105|      0|            (1 << ((O)->flags & H5O_HDR_CHUNK0_SIZE)) + /*chunk 0 data size */                               \
  |  |  ------------------
  |  |  |  |   61|      0|#define H5O_HDR_CHUNK0_SIZE             0x03 /**< 2-bit field indicating # of bytes to store the size of chunk 0's data */
  |  |  ------------------
  |  |  106|      0|            H5O_SIZEOF_CHKSUM)                          /*checksum size	*/                                   \
  |  |  ------------------
  |  |  |  |   63|      0|#define H5O_SIZEOF_CHKSUM 4
  |  |  ------------------
  |  |  107|    138|    )
  ------------------
                  if ((size_t)(image - _image) != (size_t)(H5O_SIZEOF_HDR(oh) - H5O_SIZEOF_CHKSUM_OH(oh)))
  ------------------
  |  |  148|    138|#define H5O_SIZEOF_CHKSUM_OH(O) H5O_SIZEOF_CHKSUM_VERS((O)->version)
  |  |  ------------------
  |  |  |  |  145|    138|    (((V) == H5O_VERSION_1) ? 0                 /*no checksum */                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |   38|    138|#define H5O_VERSION_1 1
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (145:6): [True: 138, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  146|    138|                            : H5O_SIZEOF_CHKSUM /*checksum */                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   63|      0|#define H5O_SIZEOF_CHKSUM 4
  |  |  |  |  ------------------
  |  |  |  |  147|    138|    )
  |  |  ------------------
  ------------------
  |  Branch (1138:9): [True: 0, False: 138]
  ------------------
 1139|      0|        HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, FAIL, "bad object header prefix length");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1140|       |
 1141|       |    /* Save the object header for later use in 'deserialize' callback */
 1142|    138|    udata->oh = oh;
 1143|    138|    oh        = NULL;
 1144|       |
 1145|    159|done:
 1146|       |    /* Release the [possibly partially initialized] object header on errors */
 1147|    159|    if (ret_value < 0 && oh)
  ------------------
  |  Branch (1147:9): [True: 21, False: 138]
  |  Branch (1147:26): [True: 21, False: 0]
  ------------------
 1148|     21|        if (H5O__free(oh, false) < 0)
  ------------------
  |  Branch (1148:13): [True: 0, False: 21]
  ------------------
 1149|      0|            HDONE_ERROR(H5E_OHDR, H5E_CANTRELEASE, FAIL, "unable to destroy object header data");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1150|       |
 1151|    159|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    159|    ;                                                                                                        \
  |  | 1573|    159|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    159|    return (ret_value);                                                                                      \
  |  | 1575|    159|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1152|    138|} /* end H5O__prefix_deserialize() */
H5Ocache.c:H5O__cache_verify_chksum:
  218|     69|{
  219|     69|    const uint8_t  *image     = (const uint8_t *)_image;  /* Pointer into raw data buffer */
  220|     69|    H5O_cache_ud_t *udata     = (H5O_cache_ud_t *)_udata; /* User data for callback */
  221|     69|    htri_t          ret_value = true;
  222|       |
  223|     69|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     69|    {                                                                                                        \
  |  | 1461|     69|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     69|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     69|                                                                                                             \
  |  |  |  | 1267|     69|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     69|        {
  ------------------
  224|       |
  225|     69|    assert(image);
  226|     69|    assert(udata);
  227|       |
  228|       |    /* There is no checksum for version 1 */
  229|     69|    if (udata->oh_version != H5O_VERSION_1) {
  ------------------
  |  |   38|     69|#define H5O_VERSION_1 1
  ------------------
  |  Branch (229:9): [True: 0, False: 69]
  ------------------
  230|      0|        uint32_t stored_chksum;   /* Stored metadata checksum value */
  231|      0|        uint32_t computed_chksum; /* Computed metadata checksum value */
  232|       |
  233|       |        /* Get stored and computed checksums */
  234|      0|        if (H5F_get_checksums(image, len, &stored_chksum, &computed_chksum) < 0)
  ------------------
  |  Branch (234:13): [True: 0, False: 0]
  ------------------
  235|      0|            HGOTO_ERROR(H5E_OHDR, H5E_CANTGET, FAIL, "can't get checksums");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  236|       |
  237|      0|        if (stored_chksum != computed_chksum)
  ------------------
  |  Branch (237:13): [True: 0, False: 0]
  ------------------
  238|      0|            ret_value = false;
  239|      0|    }
  240|     69|    else
  241|     69|        assert(!(udata->common.file_intent & H5F_ACC_SWMR_WRITE));
  242|       |
  243|     69|done:
  244|     69|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     69|    ;                                                                                                        \
  |  | 1573|     69|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     69|    return (ret_value);                                                                                      \
  |  | 1575|     69|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  245|     69|} /* end H5O__cache_verify_chksum() */
H5Ocache.c:H5O__cache_deserialize:
  266|     69|{
  267|     69|    H5O_t          *oh        = NULL;                     /* Object header read in */
  268|     69|    H5O_cache_ud_t *udata     = (H5O_cache_ud_t *)_udata; /* User data for callback */
  269|     69|    void           *ret_value = NULL;
  270|       |
  271|     69|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     69|    {                                                                                                        \
  |  | 1461|     69|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     69|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     69|                                                                                                             \
  |  |  |  | 1267|     69|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     69|        {
  ------------------
  272|       |
  273|     69|    assert(image);
  274|     69|    assert(len > 0);
  275|     69|    assert(udata);
  276|     69|    assert(udata->common.f);
  277|     69|    assert(udata->common.cont_msg_info);
  278|     69|    assert(dirty);
  279|     69|    assert(udata->oh == NULL);
  280|       |
  281|     69|    if (H5O__prefix_deserialize((const uint8_t *)image, len, udata) < 0)
  ------------------
  |  Branch (281:9): [True: 0, False: 69]
  ------------------
  282|      0|        HGOTO_ERROR(H5E_OHDR, H5E_CANTDECODE, NULL, "can't deserialize object header prefix");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  283|     69|    assert(udata->oh);
  284|       |
  285|     69|    oh = udata->oh;
  286|       |
  287|       |    /* Set SWMR flag, if appropriate */
  288|     69|    oh->swmr_write = !!(H5F_INTENT(udata->common.f) & H5F_ACC_SWMR_WRITE);
  ------------------
  |  |  109|     69|#define H5F_INTENT(F)                    (H5F_get_intent(F))
  ------------------
                  oh->swmr_write = !!(H5F_INTENT(udata->common.f) & H5F_ACC_SWMR_WRITE);
  ------------------
  |  |   55|     69|    (H5CHECK 0x0020u) /**< Indicate that this file is open for writing in a                                  \
  ------------------
  289|       |
  290|       |    /* Create object header proxy if doing SWMR writes */
  291|     69|    if (oh->swmr_write) {
  ------------------
  |  Branch (291:9): [True: 0, False: 69]
  ------------------
  292|       |        /* Create virtual entry, for use as proxy */
  293|      0|        if (NULL == (oh->proxy = H5AC_proxy_entry_create()))
  ------------------
  |  Branch (293:13): [True: 0, False: 0]
  ------------------
  294|      0|            HGOTO_ERROR(H5E_OHDR, H5E_CANTCREATE, NULL, "can't create object header proxy");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  295|      0|    }
  296|     69|    else
  297|     69|        oh->proxy = NULL;
  298|       |
  299|       |    /* Parse the first chunk */
  300|     69|    if (H5O__chunk_deserialize(oh, udata->common.addr, udata->chunk0_size, (const uint8_t *)image, len,
  ------------------
  |  Branch (300:9): [True: 9, False: 60]
  ------------------
  301|     69|                               &(udata->common), dirty) < 0)
  302|      9|        HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, NULL, "can't deserialize first object header chunk");
  ------------------
  |  |   68|      9|    do {                                                                                                     \
  |  |   69|      9|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      9|    do {                                                                                                     \
  |  |  |  |   40|      9|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      9|    do {                                                                                                     \
  |  |  |  |  |  |   31|      9|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      9|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      9|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      9|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      9|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      9|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      9|    do {                                                                                                     \
  |  |  |  |   92|      9|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      9|        goto done;                                                                                           \
  |  |  |  |   94|      9|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      9|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  303|       |
  304|       |    /* Check for corruption in object header # of messages */
  305|     60|    if (oh->version == H5O_VERSION_1 && udata->v1_pfx_nmesgs < oh->nmesgs)
  ------------------
  |  |   38|    120|#define H5O_VERSION_1 1
  ------------------
  |  Branch (305:9): [True: 60, False: 0]
  |  Branch (305:41): [True: 0, False: 60]
  ------------------
  306|      0|        HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, NULL, "bad object header message count");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  307|       |
  308|       |    /* Note that we've loaded the object header from the file */
  309|     60|    udata->made_attempt = true;
  310|       |
  311|       |    /* Set return value */
  312|     60|    ret_value = oh;
  313|       |
  314|     69|done:
  315|       |    /* Release the [possibly partially initialized] object header on errors */
  316|     69|    if (!ret_value && oh)
  ------------------
  |  Branch (316:9): [True: 9, False: 60]
  |  Branch (316:23): [True: 9, False: 0]
  ------------------
  317|      9|        if (H5O__free(oh, false) < 0)
  ------------------
  |  Branch (317:13): [True: 0, False: 9]
  ------------------
  318|      0|            HDONE_ERROR(H5E_OHDR, H5E_CANTRELEASE, NULL, "unable to destroy object header data");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  319|       |
  320|     69|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     69|    ;                                                                                                        \
  |  | 1573|     69|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     69|    return (ret_value);                                                                                      \
  |  | 1575|     69|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  321|     60|} /* end H5O__cache_deserialize() */
H5Ocache.c:H5O__chunk_deserialize:
 1165|     79|{
 1166|     79|    const uint8_t *chunk_image = NULL;   /* Pointer into buffer to decode */
 1167|     79|    const uint8_t *p_end       = NULL;   /* End of image buffer */
 1168|     79|    uint8_t       *eom_ptr;              /* Pointer to end of messages for a chunk */
 1169|     79|    unsigned       merged_null_msgs = 0; /* Number of null messages merged together */
 1170|     79|    unsigned       chunkno;              /* Current chunk's index */
 1171|     79|    unsigned       nullcnt;              /* Count of null messages (for sanity checking gaps in chunks) */
 1172|     79|    bool           mesgs_modified =
 1173|     79|        false; /* Whether any messages were modified when the object header was deserialized */
 1174|     79|    herr_t ret_value = SUCCEED;
  ------------------
  |  |  283|     79|#define SUCCEED 0
  ------------------
 1175|       |
 1176|     79|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     79|    {                                                                                                        \
  |  | 1461|     79|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     79|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     79|                                                                                                             \
  |  |  |  | 1267|     79|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     79|        {
  ------------------
 1177|       |
 1178|     79|    assert(oh);
 1179|     79|    assert(H5_addr_defined(addr));
 1180|     79|    assert(image);
 1181|     79|    assert(len);
 1182|     79|    assert(udata->f);
 1183|     79|    assert(udata->cont_msg_info);
 1184|       |
 1185|       |    /* Increase chunk array size, if necessary */
 1186|     79|    if (oh->nchunks >= oh->alloc_nchunks) {
  ------------------
  |  Branch (1186:9): [True: 69, False: 10]
  ------------------
 1187|     69|        size_t       na = MAX(H5O_NCHUNKS, oh->alloc_nchunks * 2); /* Double # of chunks allocated */
  ------------------
  |  |  300|     69|#define MAX(a, b)        (((a) > (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (300:27): [True: 69, False: 0]
  |  |  ------------------
  ------------------
 1188|     69|        H5O_chunk_t *x;
 1189|       |
 1190|     69|        if (NULL == (x = H5FL_SEQ_REALLOC(H5O_chunk_t, oh->chunk, na)))
  ------------------
  |  |  291|     69|#define H5FL_SEQ_REALLOC(t, obj, new_elem) (t *)H5FL_seq_realloc(&(H5FL_SEQ_NAME(t)), obj, (new_elem))
  |  |  ------------------
  |  |  |  |  266|     69|#define H5FL_SEQ_NAME(t) H5_##t##_seq_free_list
  |  |  ------------------
  ------------------
  |  Branch (1190:13): [True: 0, False: 69]
  ------------------
 1191|      0|            HGOTO_ERROR(H5E_OHDR, H5E_CANTALLOC, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1192|     69|        oh->alloc_nchunks = na;
 1193|     69|        oh->chunk         = x;
 1194|     69|    }
 1195|       |
 1196|       |    /* Init the chunk data info */
 1197|     79|    chunkno                 = (unsigned)oh->nchunks++;
 1198|     79|    oh->chunk[chunkno].gap  = 0;
 1199|     79|    oh->chunk[chunkno].addr = addr;
 1200|     79|    if (chunkno == 0)
  ------------------
  |  Branch (1200:9): [True: 69, False: 10]
  ------------------
 1201|       |        /* First chunk's 'image' includes room for the object header prefix */
 1202|     69|        oh->chunk[0].size = chunk_size + (size_t)H5O_SIZEOF_HDR(oh);
  ------------------
  |  |   86|     69|    (((O)->version == H5O_VERSION_1)                                                                         \
  |  |  ------------------
  |  |  |  |   38|     69|#define H5O_VERSION_1 1
  |  |  ------------------
  |  |  |  Branch (86:6): [True: 69, False: 0]
  |  |  ------------------
  |  |   87|     69|         ? H5O_ALIGN_OLD(1 +                           /*version number	*/                                   \
  |  |  ------------------
  |  |  |  |   57|     69|#define H5O_ALIGN_OLD(X)     (8 * (((X) + 7) / 8))
  |  |  ------------------
  |  |   88|     69|                         1 +                           /*reserved 		*/                                       \
  |  |   89|     69|                         2 +                           /*number of messages	*/                               \
  |  |   90|     69|                         4 +                           /*reference count	*/                                  \
  |  |   91|     69|                         4)                            /*chunk data size	*/                                  \
  |  |   92|     69|         : (H5_SIZEOF_MAGIC +                          /*magic number  	*/                                   \
  |  |  ------------------
  |  |  |  |  367|      0|#define H5_SIZEOF_MAGIC 4
  |  |  ------------------
  |  |   93|      0|            1 +                                        /*version number 	*/                                  \
  |  |   94|      0|            1 +                                        /*flags		 	*/                                         \
  |  |   95|      0|            (((O)->flags & H5O_HDR_STORE_TIMES) ? (4 + /*access time		*/                                     \
  |  |  ------------------
  |  |  |  |   65|      0|#define H5O_HDR_STORE_TIMES             0x20 /**< Store access, modification, change & birth times for object */
  |  |  ------------------
  |  |  |  Branch (95:14): [True: 0, False: 0]
  |  |  ------------------
  |  |   96|      0|                                                   4 + /*modification time	*/                                \
  |  |   97|      0|                                                   4 + /*change time		*/                                     \
  |  |   98|      0|                                                   4   /*birth time		*/                                      \
  |  |   99|      0|                                                   )                                                         \
  |  |  100|      0|                                                : 0) +                                                       \
  |  |  101|      0|            (((O)->flags & H5O_HDR_ATTR_STORE_PHASE_CHANGE) ? (2 + /*max compact attributes */               \
  |  |  ------------------
  |  |  |  |   64|      0|#define H5O_HDR_ATTR_STORE_PHASE_CHANGE 0x10 /**< Non-default attribute storage phase change values stored */
  |  |  ------------------
  |  |  |  Branch (101:14): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                                                               2   /*min dense attributes	*/                 \
  |  |  103|      0|                                                               )                                             \
  |  |  104|      0|                                                            : 0) +                                           \
  |  |  105|      0|            (1 << ((O)->flags & H5O_HDR_CHUNK0_SIZE)) + /*chunk 0 data size */                               \
  |  |  ------------------
  |  |  |  |   61|      0|#define H5O_HDR_CHUNK0_SIZE             0x03 /**< 2-bit field indicating # of bytes to store the size of chunk 0's data */
  |  |  ------------------
  |  |  106|      0|            H5O_SIZEOF_CHKSUM)                          /*checksum size	*/                                   \
  |  |  ------------------
  |  |  |  |   63|      0|#define H5O_SIZEOF_CHKSUM 4
  |  |  ------------------
  |  |  107|     69|    )
  ------------------
 1203|     10|    else
 1204|     10|        oh->chunk[chunkno].size = chunk_size;
 1205|     79|    if (NULL == (oh->chunk[chunkno].image = H5FL_BLK_MALLOC(chunk_image, oh->chunk[chunkno].size)))
  ------------------
  |  |  146|     79|#define H5FL_BLK_MALLOC(t, size) (uint8_t *)H5FL_blk_malloc(&(H5FL_BLK_NAME(t)), (size))
  |  |  ------------------
  |  |  |  |  131|     79|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
  |  Branch (1205:9): [True: 0, False: 79]
  ------------------
 1206|      0|        HGOTO_ERROR(H5E_OHDR, H5E_CANTALLOC, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1207|     79|    oh->chunk[chunkno].chunk_proxy = NULL;
 1208|       |
 1209|       |    /* Copy disk image into chunk's image */
 1210|     79|    if (len < oh->chunk[chunkno].size)
  ------------------
  |  Branch (1210:9): [True: 0, False: 79]
  ------------------
 1211|      0|        HGOTO_ERROR(H5E_OHDR, H5E_CANTCOPY, FAIL, "attempted to copy too many disk image bytes into buffer");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1212|     79|    H5MM_memcpy(oh->chunk[chunkno].image, image, oh->chunk[chunkno].size);
  ------------------
  |  |   41|     79|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
 1213|       |
 1214|       |    /* Point into chunk image to decode */
 1215|     79|    chunk_image = oh->chunk[chunkno].image;
 1216|     79|    p_end       = chunk_image + oh->chunk[chunkno].size - 1;
 1217|       |
 1218|       |    /* Skip over [already decoded] prefix in special case of chunk 0 */
 1219|     79|    if (chunkno == 0) {
  ------------------
  |  Branch (1219:9): [True: 69, False: 10]
  ------------------
 1220|     69|        size_t skip = (size_t)(H5O_SIZEOF_HDR(oh) - H5O_SIZEOF_CHKSUM_OH(oh));
  ------------------
  |  |   86|     69|    (((O)->version == H5O_VERSION_1)                                                                         \
  |  |  ------------------
  |  |  |  |   38|     69|#define H5O_VERSION_1 1
  |  |  ------------------
  |  |  |  Branch (86:6): [True: 69, False: 0]
  |  |  ------------------
  |  |   87|     69|         ? H5O_ALIGN_OLD(1 +                           /*version number	*/                                   \
  |  |  ------------------
  |  |  |  |   57|     69|#define H5O_ALIGN_OLD(X)     (8 * (((X) + 7) / 8))
  |  |  ------------------
  |  |   88|     69|                         1 +                           /*reserved 		*/                                       \
  |  |   89|     69|                         2 +                           /*number of messages	*/                               \
  |  |   90|     69|                         4 +                           /*reference count	*/                                  \
  |  |   91|     69|                         4)                            /*chunk data size	*/                                  \
  |  |   92|     69|         : (H5_SIZEOF_MAGIC +                          /*magic number  	*/                                   \
  |  |  ------------------
  |  |  |  |  367|      0|#define H5_SIZEOF_MAGIC 4
  |  |  ------------------
  |  |   93|      0|            1 +                                        /*version number 	*/                                  \
  |  |   94|      0|            1 +                                        /*flags		 	*/                                         \
  |  |   95|      0|            (((O)->flags & H5O_HDR_STORE_TIMES) ? (4 + /*access time		*/                                     \
  |  |  ------------------
  |  |  |  |   65|      0|#define H5O_HDR_STORE_TIMES             0x20 /**< Store access, modification, change & birth times for object */
  |  |  ------------------
  |  |  |  Branch (95:14): [True: 0, False: 0]
  |  |  ------------------
  |  |   96|      0|                                                   4 + /*modification time	*/                                \
  |  |   97|      0|                                                   4 + /*change time		*/                                     \
  |  |   98|      0|                                                   4   /*birth time		*/                                      \
  |  |   99|      0|                                                   )                                                         \
  |  |  100|      0|                                                : 0) +                                                       \
  |  |  101|      0|            (((O)->flags & H5O_HDR_ATTR_STORE_PHASE_CHANGE) ? (2 + /*max compact attributes */               \
  |  |  ------------------
  |  |  |  |   64|      0|#define H5O_HDR_ATTR_STORE_PHASE_CHANGE 0x10 /**< Non-default attribute storage phase change values stored */
  |  |  ------------------
  |  |  |  Branch (101:14): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                                                               2   /*min dense attributes	*/                 \
  |  |  103|      0|                                                               )                                             \
  |  |  104|      0|                                                            : 0) +                                           \
  |  |  105|      0|            (1 << ((O)->flags & H5O_HDR_CHUNK0_SIZE)) + /*chunk 0 data size */                               \
  |  |  ------------------
  |  |  |  |   61|      0|#define H5O_HDR_CHUNK0_SIZE             0x03 /**< 2-bit field indicating # of bytes to store the size of chunk 0's data */
  |  |  ------------------
  |  |  106|      0|            H5O_SIZEOF_CHKSUM)                          /*checksum size	*/                                   \
  |  |  ------------------
  |  |  |  |   63|      0|#define H5O_SIZEOF_CHKSUM 4
  |  |  ------------------
  |  |  107|     69|    )
  ------------------
                      size_t skip = (size_t)(H5O_SIZEOF_HDR(oh) - H5O_SIZEOF_CHKSUM_OH(oh));
  ------------------
  |  |  148|     69|#define H5O_SIZEOF_CHKSUM_OH(O) H5O_SIZEOF_CHKSUM_VERS((O)->version)
  |  |  ------------------
  |  |  |  |  145|     69|    (((V) == H5O_VERSION_1) ? 0                 /*no checksum */                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |   38|     69|#define H5O_VERSION_1 1
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (145:6): [True: 69, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  146|     69|                            : H5O_SIZEOF_CHKSUM /*checksum */                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   63|      0|#define H5O_SIZEOF_CHKSUM 4
  |  |  |  |  ------------------
  |  |  |  |  147|     69|    )
  |  |  ------------------
  ------------------
 1221|       |
 1222|     69|        if (H5_IS_BUFFER_OVERFLOW(chunk_image, skip, p_end))
  ------------------
  |  |  344|     69|    (                                                                                                        \
  |  |  345|     69|      /* Trivial case */                                                                                     \
  |  |  346|     69|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 69, False: 0]
  |  |  ------------------
  |  |  347|     69|      (                                                                                                      \
  |  |  348|     69|        /* Bad precondition */                                                                               \
  |  |  349|     69|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 69]
  |  |  ------------------
  |  |  350|     69|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     69|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 69, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 69]
  |  |  ------------------
  |  |  352|     69|        /* Typical overflow */                                                                               \
  |  |  353|     69|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 69]
  |  |  ------------------
  |  |  354|     69|      )                                                                                                      \
  |  |  355|     69|    )
  ------------------
 1223|      0|            HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1224|     69|        chunk_image += skip;
 1225|     69|    }
 1226|       |
 1227|       |    /* Check for magic # on chunks > 0 in later versions of the format */
 1228|     10|    else if (chunkno > 0 && oh->version > H5O_VERSION_1) {
  ------------------
  |  |   38|     10|#define H5O_VERSION_1 1
  ------------------
  |  Branch (1228:14): [True: 10, False: 0]
  |  Branch (1228:29): [True: 0, False: 10]
  ------------------
 1229|       |        /* Magic number */
 1230|      0|        if (H5_IS_BUFFER_OVERFLOW(chunk_image, H5_SIZEOF_MAGIC, p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
 1231|      0|            HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1232|      0|        if (memcmp(chunk_image, H5O_CHK_MAGIC, H5_SIZEOF_MAGIC) != 0)
  ------------------
  |  |  411|      0|#define H5O_CHK_MAGIC "OCHK" /* Continuation chunk */
  ------------------
                      if (memcmp(chunk_image, H5O_CHK_MAGIC, H5_SIZEOF_MAGIC) != 0)
  ------------------
  |  |  367|      0|#define H5_SIZEOF_MAGIC 4
  ------------------
  |  Branch (1232:13): [True: 0, False: 0]
  ------------------
 1233|      0|            HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, FAIL, "wrong object header chunk signature");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1234|      0|        chunk_image += H5_SIZEOF_MAGIC;
  ------------------
  |  |  367|      0|#define H5_SIZEOF_MAGIC 4
  ------------------
 1235|      0|    }
 1236|       |
 1237|       |    /* Decode messages from this chunk */
 1238|     79|    eom_ptr = oh->chunk[chunkno].image + (oh->chunk[chunkno].size - H5O_SIZEOF_CHKSUM_OH(oh));
  ------------------
  |  |  148|     79|#define H5O_SIZEOF_CHKSUM_OH(O) H5O_SIZEOF_CHKSUM_VERS((O)->version)
  |  |  ------------------
  |  |  |  |  145|     79|    (((V) == H5O_VERSION_1) ? 0                 /*no checksum */                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |   38|     79|#define H5O_VERSION_1 1
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (145:6): [True: 79, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  146|     79|                            : H5O_SIZEOF_CHKSUM /*checksum */                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   63|      0|#define H5O_SIZEOF_CHKSUM 4
  |  |  |  |  ------------------
  |  |  |  |  147|     79|    )
  |  |  ------------------
  ------------------
 1239|     79|    nullcnt = 0;
 1240|       |
 1241|    492|    while (chunk_image < eom_ptr) {
  ------------------
  |  Branch (1241:12): [True: 425, False: 67]
  ------------------
 1242|    425|        size_t            mesg_size;   /* Size of message read in */
 1243|    425|        unsigned          id;          /* ID (type) of current message */
 1244|    425|        uint8_t           flags;       /* Flags for current message */
 1245|    425|        H5O_msg_crt_idx_t crt_idx = 0; /* Creation index for current message */
 1246|       |
 1247|       |        /* Decode message prefix info */
 1248|       |
 1249|       |        /* Version # */
 1250|    425|        if (oh->version == H5O_VERSION_1) {
  ------------------
  |  |   38|    425|#define H5O_VERSION_1 1
  ------------------
  |  Branch (1250:13): [True: 425, False: 0]
  ------------------
 1251|    425|            if (H5_IS_BUFFER_OVERFLOW(chunk_image, 2, p_end))
  ------------------
  |  |  344|    425|    (                                                                                                        \
  |  |  345|    425|      /* Trivial case */                                                                                     \
  |  |  346|    425|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|    425|      (                                                                                                      \
  |  |  348|    425|        /* Bad precondition */                                                                               \
  |  |  349|    425|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 425]
  |  |  ------------------
  |  |  350|    425|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|    425|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|    425|        /* Typical overflow */                                                                               \
  |  |  353|    425|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 425]
  |  |  ------------------
  |  |  354|    425|      )                                                                                                      \
  |  |  355|    425|    )
  ------------------
 1252|      0|                HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1253|    425|            UINT16DECODE(chunk_image, id);
  ------------------
  |  |  159|    425|    do {                                                                                                     \
  |  |  160|    425|        (i) = (uint16_t)(*(p)&0xff);                                                                         \
  |  |  161|    425|        (p)++;                                                                                               \
  |  |  162|    425|        (i) |= (uint16_t)((*(p)&0xff) << 8);                                                                 \
  |  |  163|    425|        (p)++;                                                                                               \
  |  |  164|    425|    } while (0)
  |  |  ------------------
  |  |  |  Branch (164:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1254|    425|        }
 1255|      0|        else {
 1256|      0|            if (H5_IS_BUFFER_OVERFLOW(chunk_image, 1, p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
 1257|      0|                HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1258|      0|            id = *chunk_image++;
 1259|      0|        }
 1260|       |
 1261|       |        /* Message size */
 1262|    425|        if (H5_IS_BUFFER_OVERFLOW(chunk_image, 2, p_end))
  ------------------
  |  |  344|    425|    (                                                                                                        \
  |  |  345|    425|      /* Trivial case */                                                                                     \
  |  |  346|    425|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|    425|      (                                                                                                      \
  |  |  348|    425|        /* Bad precondition */                                                                               \
  |  |  349|    425|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 425]
  |  |  ------------------
  |  |  350|    425|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|    425|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|    425|        /* Typical overflow */                                                                               \
  |  |  353|    425|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 425]
  |  |  ------------------
  |  |  354|    425|      )                                                                                                      \
  |  |  355|    425|    )
  ------------------
 1263|      0|            HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1264|    425|        UINT16DECODE(chunk_image, mesg_size);
  ------------------
  |  |  159|    425|    do {                                                                                                     \
  |  |  160|    425|        (i) = (uint16_t)(*(p)&0xff);                                                                         \
  |  |  161|    425|        (p)++;                                                                                               \
  |  |  162|    425|        (i) |= (uint16_t)((*(p)&0xff) << 8);                                                                 \
  |  |  163|    425|        (p)++;                                                                                               \
  |  |  164|    425|    } while (0)
  |  |  ------------------
  |  |  |  Branch (164:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1265|    425|        if (mesg_size != H5O_ALIGN_OH(oh, mesg_size))
  ------------------
  |  |   59|    425|#define H5O_ALIGN_OH(O, X)   H5O_ALIGN_VERS((O)->version, X)
  |  |  ------------------
  |  |  |  |   58|    425|#define H5O_ALIGN_VERS(V, X) (((V) == H5O_VERSION_1) ? H5O_ALIGN_OLD(X) : (X))
  |  |  |  |  ------------------
  |  |  |  |  |  |   38|    425|#define H5O_VERSION_1 1
  |  |  |  |  ------------------
  |  |  |  |               #define H5O_ALIGN_VERS(V, X) (((V) == H5O_VERSION_1) ? H5O_ALIGN_OLD(X) : (X))
  |  |  |  |  ------------------
  |  |  |  |  |  |   57|    425|#define H5O_ALIGN_OLD(X)     (8 * (((X) + 7) / 8))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:31): [True: 425, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  |  Branch (1265:13): [True: 3, False: 422]
  ------------------
 1266|      3|            HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, FAIL, "message not aligned");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1267|       |
 1268|       |        /* Message flags */
 1269|    422|        if (H5_IS_BUFFER_OVERFLOW(chunk_image, 1, p_end))
  ------------------
  |  |  344|    422|    (                                                                                                        \
  |  |  345|    422|      /* Trivial case */                                                                                     \
  |  |  346|    422|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|    422|      (                                                                                                      \
  |  |  348|    422|        /* Bad precondition */                                                                               \
  |  |  349|    422|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 422]
  |  |  ------------------
  |  |  350|    422|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|    422|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|    422|        /* Typical overflow */                                                                               \
  |  |  353|    422|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 422]
  |  |  ------------------
  |  |  354|    422|      )                                                                                                      \
  |  |  355|    422|    )
  ------------------
 1270|      0|            HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1271|    422|        flags = *chunk_image++;
 1272|    422|        if (flags & ~H5O_MSG_FLAG_BITS)
  ------------------
  |  |   81|    422|    (H5O_MSG_FLAG_CONSTANT | H5O_MSG_FLAG_SHARED | H5O_MSG_FLAG_DONTSHARE |                                  \
  |  |  ------------------
  |  |  |  |   72|    422|#define H5O_MSG_FLAG_CONSTANT                           0x01u
  |  |  ------------------
  |  |                   (H5O_MSG_FLAG_CONSTANT | H5O_MSG_FLAG_SHARED | H5O_MSG_FLAG_DONTSHARE |                                  \
  |  |  ------------------
  |  |  |  |   73|    422|#define H5O_MSG_FLAG_SHARED                             0x02u
  |  |  ------------------
  |  |                   (H5O_MSG_FLAG_CONSTANT | H5O_MSG_FLAG_SHARED | H5O_MSG_FLAG_DONTSHARE |                                  \
  |  |  ------------------
  |  |  |  |   74|    422|#define H5O_MSG_FLAG_DONTSHARE                          0x04u
  |  |  ------------------
  |  |   82|    422|     H5O_MSG_FLAG_FAIL_IF_UNKNOWN_AND_OPEN_FOR_WRITE | H5O_MSG_FLAG_MARK_IF_UNKNOWN |                        \
  |  |  ------------------
  |  |  |  |   75|    422|#define H5O_MSG_FLAG_FAIL_IF_UNKNOWN_AND_OPEN_FOR_WRITE 0x08u
  |  |  ------------------
  |  |                    H5O_MSG_FLAG_FAIL_IF_UNKNOWN_AND_OPEN_FOR_WRITE | H5O_MSG_FLAG_MARK_IF_UNKNOWN |                        \
  |  |  ------------------
  |  |  |  |   76|    422|#define H5O_MSG_FLAG_MARK_IF_UNKNOWN                    0x10u
  |  |  ------------------
  |  |   83|    422|     H5O_MSG_FLAG_WAS_UNKNOWN | H5O_MSG_FLAG_SHAREABLE | H5O_MSG_FLAG_FAIL_IF_UNKNOWN_ALWAYS)
  |  |  ------------------
  |  |  |  |   77|    422|#define H5O_MSG_FLAG_WAS_UNKNOWN                        0x20u
  |  |  ------------------
  |  |                    H5O_MSG_FLAG_WAS_UNKNOWN | H5O_MSG_FLAG_SHAREABLE | H5O_MSG_FLAG_FAIL_IF_UNKNOWN_ALWAYS)
  |  |  ------------------
  |  |  |  |   78|    422|#define H5O_MSG_FLAG_SHAREABLE                          0x40u
  |  |  ------------------
  |  |                    H5O_MSG_FLAG_WAS_UNKNOWN | H5O_MSG_FLAG_SHAREABLE | H5O_MSG_FLAG_FAIL_IF_UNKNOWN_ALWAYS)
  |  |  ------------------
  |  |  |  |   79|    422|#define H5O_MSG_FLAG_FAIL_IF_UNKNOWN_ALWAYS             0x80u
  |  |  ------------------
  ------------------
  |  Branch (1272:13): [True: 0, False: 422]
  ------------------
 1273|      0|            HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, FAIL, "unknown flag for message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1274|    422|        if ((flags & H5O_MSG_FLAG_SHARED) && (flags & H5O_MSG_FLAG_DONTSHARE))
  ------------------
  |  |   73|    422|#define H5O_MSG_FLAG_SHARED                             0x02u
  ------------------
                      if ((flags & H5O_MSG_FLAG_SHARED) && (flags & H5O_MSG_FLAG_DONTSHARE))
  ------------------
  |  |   74|      7|#define H5O_MSG_FLAG_DONTSHARE                          0x04u
  ------------------
  |  Branch (1274:13): [True: 7, False: 415]
  |  Branch (1274:46): [True: 0, False: 7]
  ------------------
 1275|      0|            HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, FAIL, "bad flag combination for message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1276|    422|        if ((flags & H5O_MSG_FLAG_WAS_UNKNOWN) && (flags & H5O_MSG_FLAG_FAIL_IF_UNKNOWN_AND_OPEN_FOR_WRITE))
  ------------------
  |  |   77|    422|#define H5O_MSG_FLAG_WAS_UNKNOWN                        0x20u
  ------------------
                      if ((flags & H5O_MSG_FLAG_WAS_UNKNOWN) && (flags & H5O_MSG_FLAG_FAIL_IF_UNKNOWN_AND_OPEN_FOR_WRITE))
  ------------------
  |  |   75|      6|#define H5O_MSG_FLAG_FAIL_IF_UNKNOWN_AND_OPEN_FOR_WRITE 0x08u
  ------------------
  |  Branch (1276:13): [True: 6, False: 416]
  |  Branch (1276:51): [True: 3, False: 3]
  ------------------
 1277|      3|            HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, FAIL, "bad flag combination for message");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1278|    419|        if ((flags & H5O_MSG_FLAG_WAS_UNKNOWN) && !(flags & H5O_MSG_FLAG_MARK_IF_UNKNOWN))
  ------------------
  |  |   77|    419|#define H5O_MSG_FLAG_WAS_UNKNOWN                        0x20u
  ------------------
                      if ((flags & H5O_MSG_FLAG_WAS_UNKNOWN) && !(flags & H5O_MSG_FLAG_MARK_IF_UNKNOWN))
  ------------------
  |  |   76|      3|#define H5O_MSG_FLAG_MARK_IF_UNKNOWN                    0x10u
  ------------------
  |  Branch (1278:13): [True: 3, False: 416]
  |  Branch (1278:51): [True: 3, False: 0]
  ------------------
 1279|      3|            HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, FAIL, "bad flag combination for message");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1280|       |        /* Delay checking the "shareable" flag until we've made sure id
 1281|       |         * references a valid message class that this version of the library
 1282|       |         * knows about */
 1283|       |
 1284|       |        /* Reserved bytes/creation index */
 1285|    416|        if (oh->version == H5O_VERSION_1) {
  ------------------
  |  |   38|    416|#define H5O_VERSION_1 1
  ------------------
  |  Branch (1285:13): [True: 416, False: 0]
  ------------------
 1286|       |            /* Reserved bytes */
 1287|    416|            if (H5_IS_BUFFER_OVERFLOW(chunk_image, 3, p_end))
  ------------------
  |  |  344|    416|    (                                                                                                        \
  |  |  345|    416|      /* Trivial case */                                                                                     \
  |  |  346|    416|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|    416|      (                                                                                                      \
  |  |  348|    416|        /* Bad precondition */                                                                               \
  |  |  349|    416|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 416]
  |  |  ------------------
  |  |  350|    416|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|    416|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|    416|        /* Typical overflow */                                                                               \
  |  |  353|    416|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 416]
  |  |  ------------------
  |  |  354|    416|      )                                                                                                      \
  |  |  355|    416|    )
  ------------------
 1288|      0|                HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1289|    416|            chunk_image += 3;
 1290|    416|        }
 1291|      0|        else {
 1292|       |            /* Only decode creation index if they are being tracked */
 1293|      0|            if (oh->flags & H5O_HDR_ATTR_CRT_ORDER_TRACKED) {
  ------------------
  |  |   62|      0|#define H5O_HDR_ATTR_CRT_ORDER_TRACKED  0x04 /**< Attribute creation order is tracked */
  ------------------
  |  Branch (1293:17): [True: 0, False: 0]
  ------------------
 1294|      0|                if (H5_IS_BUFFER_OVERFLOW(chunk_image, 2, p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
 1295|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1296|      0|                UINT16DECODE(chunk_image, crt_idx);
  ------------------
  |  |  159|      0|    do {                                                                                                     \
  |  |  160|      0|        (i) = (uint16_t)(*(p)&0xff);                                                                         \
  |  |  161|      0|        (p)++;                                                                                               \
  |  |  162|      0|        (i) |= (uint16_t)((*(p)&0xff) << 8);                                                                 \
  |  |  163|      0|        (p)++;                                                                                               \
  |  |  164|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (164:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1297|      0|            }
 1298|      0|        }
 1299|       |
 1300|       |        /* Try to detect invalidly formatted object header message that
 1301|       |         *  extends past end of chunk.
 1302|       |         */
 1303|    416|        if (chunk_image + mesg_size > eom_ptr)
  ------------------
  |  Branch (1303:13): [True: 3, False: 413]
  ------------------
 1304|      3|            HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, FAIL, "corrupt object header");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1305|       |
 1306|       |        /* Increment count of null messages */
 1307|    413|        if (H5O_NULL_ID == id)
  ------------------
  |  |  206|    413|#define H5O_NULL_ID        0x0000 /* Null Message.  */
  ------------------
  |  Branch (1307:13): [True: 61, False: 352]
  ------------------
 1308|     61|            nullcnt++;
 1309|       |
 1310|       |        /* Check for combining two adjacent 'null' messages */
 1311|    413|        if ((udata->file_intent & H5F_ACC_RDWR) && H5O_NULL_ID == id && oh->nmesgs > 0 &&
  ------------------
  |  |   49|    413|#define H5F_ACC_RDWR   (H5CHECK H5OPEN 0x0001u) /**< Open for read and write    */
  ------------------
                      if ((udata->file_intent & H5F_ACC_RDWR) && H5O_NULL_ID == id && oh->nmesgs > 0 &&
  ------------------
  |  |  206|      0|#define H5O_NULL_ID        0x0000 /* Null Message.  */
  ------------------
  |  Branch (1311:13): [True: 0, False: 413]
  |  Branch (1311:52): [True: 0, False: 0]
  |  Branch (1311:73): [True: 0, False: 0]
  ------------------
 1312|    413|            H5O_NULL_ID == oh->mesg[oh->nmesgs - 1].type->id && oh->mesg[oh->nmesgs - 1].chunkno == chunkno) {
  ------------------
  |  |  206|      0|#define H5O_NULL_ID        0x0000 /* Null Message.  */
  ------------------
  |  Branch (1312:13): [True: 0, False: 0]
  |  Branch (1312:65): [True: 0, False: 0]
  ------------------
 1313|       |
 1314|      0|            size_t mesgno; /* Current message to operate on */
 1315|       |
 1316|       |            /* Combine adjacent null messages */
 1317|      0|            mesgno = oh->nmesgs - 1;
 1318|      0|            oh->mesg[mesgno].raw_size += (size_t)H5O_SIZEOF_MSGHDR_OH(oh) + mesg_size;
  ------------------
  |  |  124|      0|    (unsigned)H5O_SIZEOF_MSGHDR_VERS((O)->version, (O)->flags &H5O_HDR_ATTR_CRT_ORDER_TRACKED)
  |  |  ------------------
  |  |  |  |  113|      0|    (((V) == H5O_VERSION_1) ? H5O_ALIGN_OLD(2 + /*message type		*/                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |   38|      0|#define H5O_VERSION_1 1
  |  |  |  |  ------------------
  |  |  |  |                   (((V) == H5O_VERSION_1) ? H5O_ALIGN_OLD(2 + /*message type		*/                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |   57|      0|#define H5O_ALIGN_OLD(X)     (8 * (((X) + 7) / 8))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:6): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|      0|                                            2 + /*sizeof message data	*/                                     \
  |  |  |  |  115|      0|                                            1 + /*flags              	*/                                     \
  |  |  |  |  116|      0|                                            3)  /*reserved		*/                                               \
  |  |  |  |  117|      0|                            : (1 +              /*message type		*/                                           \
  |  |  |  |  118|      0|                               2 +              /*sizeof message data	*/                                     \
  |  |  |  |  119|      0|                               1 +              /*flags              	*/                                     \
  |  |  |  |  120|      0|                               ((C) ? (2        /*creation index     	*/                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (120:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  121|      0|                                       )                                                                     \
  |  |  |  |  122|      0|                                    : 0)))
  |  |  ------------------
  ------------------
 1319|      0|            oh->mesg[mesgno].dirty = true;
 1320|      0|            merged_null_msgs++;
 1321|      0|        }
 1322|    413|        else {
 1323|    413|            H5O_mesg_t *mesg;        /* Pointer to new message */
 1324|    413|            unsigned    ioflags = 0; /* Flags for decode routine */
 1325|       |
 1326|       |            /* Check if we need to extend message table to hold the new message */
 1327|    413|            if (oh->nmesgs >= oh->alloc_nmesgs)
  ------------------
  |  Branch (1327:17): [True: 236, False: 177]
  ------------------
 1328|    236|                if (H5O__alloc_msgs(oh, (size_t)1) < 0)
  ------------------
  |  Branch (1328:21): [True: 0, False: 236]
  ------------------
 1329|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_CANTALLOC, FAIL, "can't allocate more space for messages");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1330|       |
 1331|       |            /* Get pointer to message to set up */
 1332|    413|            mesg = &oh->mesg[oh->nmesgs];
 1333|       |
 1334|       |            /* Increment # of messages */
 1335|    413|            oh->nmesgs++;
 1336|       |
 1337|       |            /* Initialize information about message */
 1338|    413|            mesg->dirty   = false;
 1339|    413|            mesg->flags   = flags;
 1340|    413|            mesg->crt_idx = crt_idx;
 1341|    413|            mesg->native  = NULL;
 1342|    413|            H5_GCC_CLANG_DIAG_OFF("cast-qual")
 1343|    413|            mesg->raw = (uint8_t *)chunk_image;
 1344|    413|            H5_GCC_CLANG_DIAG_ON("cast-qual")
 1345|    413|            mesg->raw_size = mesg_size;
 1346|    413|            mesg->chunkno  = chunkno;
 1347|       |
 1348|       |            /* Point unknown messages at 'unknown' message class */
 1349|       |            /* (Usually from future versions of the library) */
 1350|    413|            if (id >= H5O_UNKNOWN_ID ||
  ------------------
  |  |  231|    826|#define H5O_UNKNOWN_ID     0x0019 /* Placeholder message ID for unknown message.  */
  ------------------
  |  Branch (1350:17): [True: 1, False: 412]
  ------------------
 1351|       |#ifdef H5O_ENABLE_BOGUS
 1352|       |                id == H5O_BOGUS_VALID_ID ||
 1353|       |#endif
 1354|    413|                NULL == H5O_msg_class_g[id]) {
  ------------------
  |  Branch (1354:17): [True: 0, False: 412]
  ------------------
 1355|       |
 1356|      1|                H5O_unknown_t *unknown; /* Pointer to "unknown" message info */
 1357|       |
 1358|       |                /* Allocate "unknown" message info */
 1359|      1|                if (NULL == (unknown = H5FL_MALLOC(H5O_unknown_t)))
  ------------------
  |  |   75|      1|#define H5FL_MALLOC(t) (t *)H5FL_reg_malloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|      1|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (1359:21): [True: 0, False: 1]
  ------------------
 1360|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_CANTALLOC, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1361|       |
 1362|       |                /* Save the original message type ID */
 1363|      1|                *unknown = id;
 1364|       |
 1365|       |                /* Save 'native' form of unknown message */
 1366|      1|                mesg->native = unknown;
 1367|       |
 1368|       |                /* Set message to "unknown" class */
 1369|      1|                mesg->type = H5O_msg_class_g[H5O_UNKNOWN_ID];
  ------------------
  |  |  231|      1|#define H5O_UNKNOWN_ID     0x0019 /* Placeholder message ID for unknown message.  */
  ------------------
 1370|       |
 1371|       |                /* Check for "fail if unknown" message flags */
 1372|      1|                if (((udata->file_intent & H5F_ACC_RDWR) &&
  ------------------
  |  |   49|      1|#define H5F_ACC_RDWR   (H5CHECK H5OPEN 0x0001u) /**< Open for read and write    */
  ------------------
  |  Branch (1372:22): [True: 0, False: 1]
  ------------------
 1373|      1|                     (flags & H5O_MSG_FLAG_FAIL_IF_UNKNOWN_AND_OPEN_FOR_WRITE)) ||
  ------------------
  |  |   75|      0|#define H5O_MSG_FLAG_FAIL_IF_UNKNOWN_AND_OPEN_FOR_WRITE 0x08u
  ------------------
  |  Branch (1373:22): [True: 0, False: 0]
  ------------------
 1374|      1|                    (flags & H5O_MSG_FLAG_FAIL_IF_UNKNOWN_ALWAYS))
  ------------------
  |  |   79|      1|#define H5O_MSG_FLAG_FAIL_IF_UNKNOWN_ALWAYS             0x80u
  ------------------
  |  Branch (1374:21): [True: 0, False: 1]
  ------------------
 1375|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_BADMESG, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1376|      1|                                "unknown message with 'fail if unknown' flag found");
 1377|       |                /* Check for "mark if unknown" message flag, etc. */
 1378|      1|                else if ((flags & H5O_MSG_FLAG_MARK_IF_UNKNOWN) && !(flags & H5O_MSG_FLAG_WAS_UNKNOWN) &&
  ------------------
  |  |   76|      1|#define H5O_MSG_FLAG_MARK_IF_UNKNOWN                    0x10u
  ------------------
                              else if ((flags & H5O_MSG_FLAG_MARK_IF_UNKNOWN) && !(flags & H5O_MSG_FLAG_WAS_UNKNOWN) &&
  ------------------
  |  |   77|      0|#define H5O_MSG_FLAG_WAS_UNKNOWN                        0x20u
  ------------------
  |  Branch (1378:26): [True: 0, False: 1]
  |  Branch (1378:68): [True: 0, False: 0]
  ------------------
 1379|      1|                         (udata->file_intent & H5F_ACC_RDWR)) {
  ------------------
  |  |   49|      0|#define H5F_ACC_RDWR   (H5CHECK H5OPEN 0x0001u) /**< Open for read and write    */
  ------------------
  |  Branch (1379:26): [True: 0, False: 0]
  ------------------
 1380|       |
 1381|       |                    /* Mark the message as "unknown" */
 1382|       |                    /* This is a bit aggressive, since the application may
 1383|       |                     * never change anything about the object (metadata or
 1384|       |                     * raw data), but we can sort out the finer details
 1385|       |                     * when/if we start using the flag.
 1386|       |                     */
 1387|       |                    /* Also, it's possible that this functionality may not
 1388|       |                     * get invoked if the object header is brought into
 1389|       |                     * the metadata cache in some other "weird" way, like
 1390|       |                     * using H5Ocopy().
 1391|       |                     */
 1392|      0|                    mesg->flags |= H5O_MSG_FLAG_WAS_UNKNOWN;
  ------------------
  |  |   77|      0|#define H5O_MSG_FLAG_WAS_UNKNOWN                        0x20u
  ------------------
 1393|       |
 1394|       |                    /* Mark the message and chunk as dirty */
 1395|      0|                    mesg->dirty    = true;
 1396|      0|                    mesgs_modified = true;
 1397|      0|                }
 1398|      1|            }
 1399|    412|            else {
 1400|       |                /* Check for message of unshareable class marked as "shareable"
 1401|       |                 */
 1402|    412|                if ((flags & H5O_MSG_FLAG_SHAREABLE) && H5O_msg_class_g[id] &&
  ------------------
  |  |   78|    412|#define H5O_MSG_FLAG_SHAREABLE                          0x40u
  ------------------
  |  Branch (1402:21): [True: 1, False: 411]
  |  Branch (1402:57): [True: 1, False: 0]
  ------------------
 1403|    412|                    !(H5O_msg_class_g[id]->share_flags & H5O_SHARE_IS_SHARABLE))
  ------------------
  |  |  200|      1|#define H5O_SHARE_IS_SHARABLE 0x01
  ------------------
  |  Branch (1403:21): [True: 0, False: 1]
  ------------------
 1404|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1405|    412|                                "message of unshareable class flagged as shareable");
 1406|       |
 1407|       |                /* Set message class for "known" messages */
 1408|    412|                mesg->type = H5O_msg_class_g[id];
 1409|    412|            }
 1410|       |
 1411|       |            /* Do some inspection/interpretation of new messages from this chunk */
 1412|       |            /* (detect continuation messages, ref. count messages, etc.) */
 1413|       |
 1414|       |            /* Check if message is a continuation message */
 1415|    413|            if (H5O_CONT_ID == id) {
  ------------------
  |  |  222|    413|#define H5O_CONT_ID        0x0010 /* Object header continuation message.  */
  ------------------
  |  Branch (1415:17): [True: 10, False: 403]
  ------------------
 1416|     10|                H5O_cont_t *cont;
 1417|       |
 1418|       |                /* Decode continuation message */
 1419|     10|                if (NULL == (cont = (H5O_cont_t *)(H5O_MSG_CONT->decode)(udata->f, NULL, 0, &ioflags,
  ------------------
  |  Branch (1419:21): [True: 0, False: 10]
  ------------------
 1420|     10|                                                                         mesg->raw_size, mesg->raw)))
 1421|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_BADMESG, FAIL, "bad continuation message found");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1422|     10|                H5_CHECKED_ASSIGN(cont->chunkno, unsigned, udata->cont_msg_info->nmsgs + 1,
  ------------------
  |  |  977|     10|    do {                                                                                                     \
  |  |  978|     10|        (dst) = (dsttype)(src);                                                                              \
  |  |  979|     10|    } while (0)
  |  |  ------------------
  |  |  |  Branch (979:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1423|     10|                                  size_t); /* the next continuation message/chunk */
 1424|       |
 1425|       |                /* Save 'native' form of continuation message */
 1426|     10|                mesg->native = cont;
 1427|       |
 1428|       |                /* Add to continuation messages left to interpret */
 1429|     10|                if (H5O__add_cont_msg(udata->cont_msg_info, cont) < 0)
  ------------------
  |  Branch (1429:21): [True: 0, False: 10]
  ------------------
 1430|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_CANTSET, FAIL, "can't add continuation message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1431|     10|            }
 1432|       |            /* Check if message is a ref. count message */
 1433|    403|            else if (H5O_REFCOUNT_ID == id) {
  ------------------
  |  |  228|    403|#define H5O_REFCOUNT_ID    0x0016 /* Reference count message.  */
  ------------------
  |  Branch (1433:22): [True: 0, False: 403]
  ------------------
 1434|      0|                H5O_refcount_t *refcount;
 1435|       |
 1436|       |                /* Decode ref. count message */
 1437|      0|                if (oh->version <= H5O_VERSION_1)
  ------------------
  |  |   38|      0|#define H5O_VERSION_1 1
  ------------------
  |  Branch (1437:21): [True: 0, False: 0]
  ------------------
 1438|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_VERSION, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1439|      0|                                "object header version does not support reference count message");
 1440|      0|                refcount = (H5O_refcount_t *)(H5O_MSG_REFCOUNT->decode)(udata->f, NULL, 0, &ioflags,
 1441|      0|                                                                        mesg->raw_size, mesg->raw);
 1442|       |
 1443|       |                /* Save 'native' form of ref. count message */
 1444|      0|                mesg->native = refcount;
 1445|       |
 1446|       |                /* Set object header values */
 1447|      0|                oh->has_refcount_msg = true;
 1448|      0|                if (!refcount)
  ------------------
  |  Branch (1448:21): [True: 0, False: 0]
  ------------------
 1449|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_CANTSET, FAIL, "can't decode refcount");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1450|      0|                oh->nlink = *refcount;
 1451|      0|            }
 1452|       |            /* Check if message is a link message */
 1453|    403|            else if (H5O_LINK_ID == id) {
  ------------------
  |  |  212|    403|#define H5O_LINK_ID        0x0006 /* Link Message. */
  ------------------
  |  Branch (1453:22): [True: 0, False: 403]
  ------------------
 1454|       |                /* Increment the count of link messages */
 1455|      0|                oh->link_msgs_seen++;
 1456|      0|            }
 1457|       |            /* Check if message is an attribute message */
 1458|    403|            else if (H5O_ATTR_ID == id) {
  ------------------
  |  |  218|    403|#define H5O_ATTR_ID        0x000c /* Attribute Message.  */
  ------------------
  |  Branch (1458:22): [True: 66, False: 337]
  ------------------
 1459|       |                /* Increment the count of attribute messages */
 1460|     66|                oh->attr_msgs_seen++;
 1461|     66|            }
 1462|       |
 1463|       |            /* Mark the message & chunk as dirty if the message was changed by decoding */
 1464|    413|            if ((ioflags & H5O_DECODEIO_DIRTY) && (udata->file_intent & H5F_ACC_RDWR)) {
  ------------------
  |  |  152|    413|#define H5O_DECODEIO_DIRTY    0x02u /* OUT: message has been changed */
  ------------------
                          if ((ioflags & H5O_DECODEIO_DIRTY) && (udata->file_intent & H5F_ACC_RDWR)) {
  ------------------
  |  |   49|      0|#define H5F_ACC_RDWR   (H5CHECK H5OPEN 0x0001u) /**< Open for read and write    */
  ------------------
  |  Branch (1464:17): [True: 0, False: 413]
  |  Branch (1464:51): [True: 0, False: 0]
  ------------------
 1465|      0|                mesg->dirty    = true;
 1466|      0|                mesgs_modified = true;
 1467|      0|            }
 1468|    413|        }
 1469|       |
 1470|       |        /* Advance decode pointer past message */
 1471|    413|        chunk_image += mesg_size;
 1472|       |
 1473|       |        /* Check for 'gap' at end of chunk */
 1474|    413|        if ((eom_ptr - chunk_image) > 0 && (eom_ptr - chunk_image) < H5O_SIZEOF_MSGHDR_OH(oh)) {
  ------------------
  |  |  124|    346|    (unsigned)H5O_SIZEOF_MSGHDR_VERS((O)->version, (O)->flags &H5O_HDR_ATTR_CRT_ORDER_TRACKED)
  |  |  ------------------
  |  |  |  |  113|    346|    (((V) == H5O_VERSION_1) ? H5O_ALIGN_OLD(2 + /*message type		*/                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |   38|    346|#define H5O_VERSION_1 1
  |  |  |  |  ------------------
  |  |  |  |                   (((V) == H5O_VERSION_1) ? H5O_ALIGN_OLD(2 + /*message type		*/                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  |   57|    346|#define H5O_ALIGN_OLD(X)     (8 * (((X) + 7) / 8))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (113:6): [True: 346, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  114|    346|                                            2 + /*sizeof message data	*/                                     \
  |  |  |  |  115|    346|                                            1 + /*flags              	*/                                     \
  |  |  |  |  116|    346|                                            3)  /*reserved		*/                                               \
  |  |  |  |  117|    346|                            : (1 +              /*message type		*/                                           \
  |  |  |  |  118|      0|                               2 +              /*sizeof message data	*/                                     \
  |  |  |  |  119|      0|                               1 +              /*flags              	*/                                     \
  |  |  |  |  120|      0|                               ((C) ? (2        /*creation index     	*/                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (120:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  121|      0|                                       )                                                                     \
  |  |  |  |  122|      0|                                    : 0)))
  |  |  ------------------
  ------------------
  |  Branch (1474:13): [True: 346, False: 67]
  |  Branch (1474:44): [True: 0, False: 346]
  ------------------
 1475|       |            /* Gaps can only occur in later versions of the format */
 1476|      0|            if (oh->version == H5O_VERSION_1)
  ------------------
  |  |   38|      0|#define H5O_VERSION_1 1
  ------------------
  |  Branch (1476:17): [True: 0, False: 0]
  ------------------
 1477|      0|                HGOTO_ERROR(H5E_OHDR, H5E_BADMESG, FAIL, "gap found in early version of file format");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1478|       |
 1479|       |            /* Gaps should only occur in chunks with no null messages */
 1480|      0|            if (nullcnt != 0)
  ------------------
  |  Branch (1480:17): [True: 0, False: 0]
  ------------------
 1481|      0|                HGOTO_ERROR(H5E_OHDR, H5E_BADMESG, FAIL, "gap in chunk with no null messages");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1482|       |
 1483|       |            /* Set gap information for chunk */
 1484|      0|            oh->chunk[chunkno].gap = (size_t)(eom_ptr - chunk_image);
 1485|       |
 1486|       |            /* Increment location in chunk */
 1487|      0|            chunk_image += oh->chunk[chunkno].gap;
 1488|      0|        }
 1489|    413|    }
 1490|       |
 1491|       |    /* Check for correct checksum on chunks, in later versions of the format */
 1492|     67|    if (oh->version > H5O_VERSION_1) {
  ------------------
  |  |   38|     67|#define H5O_VERSION_1 1
  ------------------
  |  Branch (1492:9): [True: 0, False: 67]
  ------------------
 1493|      0|        uint32_t stored_chksum; /* Checksum from file */
 1494|       |
 1495|       |        /* checksum verification already done in verify_chksum cb */
 1496|       |
 1497|       |        /* Metadata checksum */
 1498|      0|        if (H5_IS_BUFFER_OVERFLOW(chunk_image, 4, p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
 1499|      0|            HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1500|      0|        UINT32DECODE(chunk_image, stored_chksum);
  ------------------
  |  |  179|      0|    do {                                                                                                     \
  |  |  180|      0|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  181|      0|        (p)++;                                                                                               \
  |  |  182|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  183|      0|        (p)++;                                                                                               \
  |  |  184|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  185|      0|        (p)++;                                                                                               \
  |  |  186|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  187|      0|        (p)++;                                                                                               \
  |  |  188|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1501|      0|    }
 1502|       |
 1503|       |    /* Size check */
 1504|     67|    if (chunk_image != oh->chunk[chunkno].image + oh->chunk[chunkno].size)
  ------------------
  |  Branch (1504:9): [True: 0, False: 67]
  ------------------
 1505|      0|        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "object header image size mismatch");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1506|       |
 1507|       |    /* Mark the chunk dirty if we've modified messages */
 1508|     67|    if (mesgs_modified)
  ------------------
  |  Branch (1508:9): [True: 0, False: 67]
  ------------------
 1509|      0|        *dirty = true;
 1510|       |
 1511|       |    /* Mark the chunk dirty if we've merged null messages */
 1512|     67|    if (merged_null_msgs > 0) {
  ------------------
  |  Branch (1512:9): [True: 0, False: 67]
  ------------------
 1513|      0|        udata->merged_null_msgs += merged_null_msgs;
 1514|      0|        *dirty = true;
 1515|      0|    }
 1516|       |
 1517|     79|done:
 1518|     79|    if (ret_value < 0 && udata->cont_msg_info->msgs) {
  ------------------
  |  Branch (1518:9): [True: 12, False: 67]
  |  Branch (1518:26): [True: 3, False: 9]
  ------------------
 1519|      3|        udata->cont_msg_info->msgs        = H5FL_SEQ_FREE(H5O_cont_t, udata->cont_msg_info->msgs);
  ------------------
  |  |  288|      3|#define H5FL_SEQ_FREE(t, obj) (t *)H5FL_seq_free(&(H5FL_SEQ_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |  266|      3|#define H5FL_SEQ_NAME(t) H5_##t##_seq_free_list
  |  |  ------------------
  ------------------
 1520|      3|        udata->cont_msg_info->alloc_nmsgs = 0;
 1521|      3|    }
 1522|     79|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     79|    ;                                                                                                        \
  |  | 1573|     79|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     79|    return (ret_value);                                                                                      \
  |  | 1575|     79|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1523|     67|} /* H5O__chunk_deserialize() */
H5Ocache.c:H5O__add_cont_msg:
  939|     10|{
  940|     10|    size_t contno; /* Continuation message index */
  941|     10|    herr_t ret_value = SUCCEED;
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
  942|       |
  943|     10|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     10|    {                                                                                                        \
  |  | 1461|     10|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     10|        {
  ------------------
  944|       |
  945|     10|    assert(cont_msg_info);
  946|     10|    assert(cont);
  947|       |
  948|       |    /* Increase chunk array size, if necessary */
  949|     10|    if (cont_msg_info->nmsgs >= cont_msg_info->alloc_nmsgs) {
  ------------------
  |  Branch (949:9): [True: 10, False: 0]
  ------------------
  950|     10|        size_t na = MAX(H5O_NCHUNKS, cont_msg_info->alloc_nmsgs * 2); /* Double # of messages allocated */
  ------------------
  |  |  300|     10|#define MAX(a, b)        (((a) > (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (300:27): [True: 10, False: 0]
  |  |  ------------------
  ------------------
  951|     10|        H5O_cont_t *x;
  952|       |
  953|     10|        if (NULL == (x = H5FL_SEQ_REALLOC(H5O_cont_t, cont_msg_info->msgs, na)))
  ------------------
  |  |  291|     10|#define H5FL_SEQ_REALLOC(t, obj, new_elem) (t *)H5FL_seq_realloc(&(H5FL_SEQ_NAME(t)), obj, (new_elem))
  |  |  ------------------
  |  |  |  |  266|     10|#define H5FL_SEQ_NAME(t) H5_##t##_seq_free_list
  |  |  ------------------
  ------------------
  |  Branch (953:13): [True: 0, False: 10]
  ------------------
  954|      0|            HGOTO_ERROR(H5E_OHDR, H5E_NOSPACE, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  955|     10|        cont_msg_info->alloc_nmsgs = na;
  956|     10|        cont_msg_info->msgs        = x;
  957|     10|    }
  958|       |
  959|       |    /* Init the continuation message info */
  960|     10|    contno                              = cont_msg_info->nmsgs++;
  961|     10|    cont_msg_info->msgs[contno].addr    = cont->addr;
  962|     10|    cont_msg_info->msgs[contno].size    = cont->size;
  963|     10|    cont_msg_info->msgs[contno].chunkno = cont->chunkno;
  964|       |
  965|     10|done:
  966|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  967|     10|} /* H5O__add_cont_msg() */
H5Ocache.c:H5O__cache_notify:
  496|    120|{
  497|    120|    H5O_t *oh        = (H5O_t *)_thing;
  498|    120|    herr_t ret_value = SUCCEED;
  ------------------
  |  |  283|    120|#define SUCCEED 0
  ------------------
  499|       |
  500|    120|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    120|    {                                                                                                        \
  |  | 1461|    120|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    120|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    120|                                                                                                             \
  |  |  |  | 1267|    120|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    120|        {
  ------------------
  501|       |
  502|    120|    assert(oh);
  503|       |
  504|    120|    switch (action) {
  505|      0|        case H5AC_NOTIFY_ACTION_AFTER_INSERT:
  ------------------
  |  |  157|      0|#define H5AC_NOTIFY_ACTION_AFTER_INSERT       H5C_NOTIFY_ACTION_AFTER_INSERT
  ------------------
  |  Branch (505:9): [True: 0, False: 120]
  ------------------
  506|     60|        case H5AC_NOTIFY_ACTION_AFTER_LOAD:
  ------------------
  |  |  158|     60|#define H5AC_NOTIFY_ACTION_AFTER_LOAD         H5C_NOTIFY_ACTION_AFTER_LOAD
  ------------------
  |  Branch (506:9): [True: 60, False: 60]
  ------------------
  507|     60|            if (oh->swmr_write) {
  ------------------
  |  Branch (507:17): [True: 0, False: 60]
  ------------------
  508|       |                /* Sanity check */
  509|      0|                assert(oh->proxy);
  510|       |
  511|       |                /* Register the object header as a parent of the virtual entry */
  512|      0|                if (H5AC_proxy_entry_add_parent(oh->proxy, oh) < 0)
  ------------------
  |  Branch (512:21): [True: 0, False: 0]
  ------------------
  513|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_CANTSET, FAIL, "can't add object header as parent of proxy");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  514|      0|            }
  515|     60|            break;
  516|       |
  517|     60|        case H5AC_NOTIFY_ACTION_AFTER_FLUSH:
  ------------------
  |  |  159|      0|#define H5AC_NOTIFY_ACTION_AFTER_FLUSH        H5C_NOTIFY_ACTION_AFTER_FLUSH
  ------------------
  |  Branch (517:9): [True: 0, False: 120]
  ------------------
  518|      0|        case H5AC_NOTIFY_ACTION_ENTRY_DIRTIED:
  ------------------
  |  |  161|      0|#define H5AC_NOTIFY_ACTION_ENTRY_DIRTIED      H5C_NOTIFY_ACTION_ENTRY_DIRTIED
  ------------------
  |  Branch (518:9): [True: 0, False: 120]
  ------------------
  519|       |            /* Do nothing */
  520|      0|            break;
  521|       |
  522|      0|        case H5AC_NOTIFY_ACTION_ENTRY_CLEANED: {
  ------------------
  |  |  162|      0|#define H5AC_NOTIFY_ACTION_ENTRY_CLEANED      H5C_NOTIFY_ACTION_ENTRY_CLEANED
  ------------------
  |  Branch (522:9): [True: 0, False: 120]
  ------------------
  523|      0|            unsigned u; /* Local index variable */
  524|       |
  525|       |            /* Mark messages stored with the object header (i.e. messages in chunk 0) as clean */
  526|      0|            for (u = 0; u < oh->nmesgs; u++)
  ------------------
  |  Branch (526:25): [True: 0, False: 0]
  ------------------
  527|      0|                if (oh->mesg[u].chunkno == 0)
  ------------------
  |  Branch (527:21): [True: 0, False: 0]
  ------------------
  528|      0|                    oh->mesg[u].dirty = false;
  529|       |#ifndef NDEBUG
  530|       |            /* Reset the number of messages dirtied by decoding */
  531|       |            oh->ndecode_dirtied = 0;
  532|       |#endif
  533|      0|        } break;
  534|       |
  535|      0|        case H5AC_NOTIFY_ACTION_CHILD_DIRTIED:
  ------------------
  |  |  163|      0|#define H5AC_NOTIFY_ACTION_CHILD_DIRTIED      H5C_NOTIFY_ACTION_CHILD_DIRTIED
  ------------------
  |  Branch (535:9): [True: 0, False: 120]
  ------------------
  536|      0|        case H5AC_NOTIFY_ACTION_CHILD_CLEANED:
  ------------------
  |  |  164|      0|#define H5AC_NOTIFY_ACTION_CHILD_CLEANED      H5C_NOTIFY_ACTION_CHILD_CLEANED
  ------------------
  |  Branch (536:9): [True: 0, False: 120]
  ------------------
  537|      0|        case H5AC_NOTIFY_ACTION_CHILD_UNSERIALIZED:
  ------------------
  |  |  165|      0|#define H5AC_NOTIFY_ACTION_CHILD_UNSERIALIZED H5C_NOTIFY_ACTION_CHILD_UNSERIALIZED
  ------------------
  |  Branch (537:9): [True: 0, False: 120]
  ------------------
  538|      0|        case H5AC_NOTIFY_ACTION_CHILD_SERIALIZED:
  ------------------
  |  |  166|      0|#define H5AC_NOTIFY_ACTION_CHILD_SERIALIZED   H5C_NOTIFY_ACTION_CHILD_SERIALIZED
  ------------------
  |  Branch (538:9): [True: 0, False: 120]
  ------------------
  539|       |            /* Do nothing */
  540|      0|            break;
  541|       |
  542|     60|        case H5AC_NOTIFY_ACTION_BEFORE_EVICT:
  ------------------
  |  |  160|     60|#define H5AC_NOTIFY_ACTION_BEFORE_EVICT       H5C_NOTIFY_ACTION_BEFORE_EVICT
  ------------------
  |  Branch (542:9): [True: 60, False: 60]
  ------------------
  543|     60|            if (oh->swmr_write) {
  ------------------
  |  Branch (543:17): [True: 0, False: 60]
  ------------------
  544|       |                /* Unregister the object header as a parent of the virtual entry */
  545|      0|                if (H5AC_proxy_entry_remove_parent(oh->proxy, oh) < 0)
  ------------------
  |  Branch (545:21): [True: 0, False: 0]
  ------------------
  546|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_CANTSET, FAIL, "can't remove object header as parent of proxy");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  547|      0|            }
  548|     60|            break;
  549|       |
  550|     60|        default:
  ------------------
  |  Branch (550:9): [True: 0, False: 120]
  ------------------
  551|      0|            HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, FAIL, "unknown action from metadata cache");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  552|    120|    }
  553|       |
  554|    120|done:
  555|    120|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    120|    ;                                                                                                        \
  |  | 1573|    120|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    120|    return (ret_value);                                                                                      \
  |  | 1575|    120|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  556|    120|} /* end H5O__cache_notify() */
H5Ocache.c:H5O__cache_free_icr:
  568|     60|{
  569|     60|    H5O_t *oh        = (H5O_t *)_thing; /* Object header to destroy */
  570|     60|    herr_t ret_value = SUCCEED;
  ------------------
  |  |  283|     60|#define SUCCEED 0
  ------------------
  571|       |
  572|     60|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     60|    {                                                                                                        \
  |  | 1461|     60|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     60|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     60|                                                                                                             \
  |  |  |  | 1267|     60|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     60|        {
  ------------------
  573|       |
  574|     60|    assert(oh);
  575|     60|    assert(oh->cache_info.type == H5AC_OHDR);
  576|       |
  577|       |    /* Destroy object header */
  578|     60|    if (H5O__free(oh, false) < 0)
  ------------------
  |  Branch (578:9): [True: 0, False: 60]
  ------------------
  579|      0|        HGOTO_ERROR(H5E_OHDR, H5E_CANTRELEASE, FAIL, "can't destroy object header");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  580|       |
  581|     60|done:
  582|     60|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     60|    ;                                                                                                        \
  |  | 1573|     60|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     60|    return (ret_value);                                                                                      \
  |  | 1575|     60|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  583|     60|} /* end H5O__cache_free_icr() */
H5Ocache.c:H5O__cache_chk_get_initial_load_size:
  597|     10|{
  598|     10|    const H5O_chk_cache_ud_t *udata = (const H5O_chk_cache_ud_t *)_udata; /* User data for callback */
  599|       |
  600|     10|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     10|    {                                                                                                        \
  |  | 1467|     10|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     10|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     10|        {
  ------------------
  601|       |
  602|     10|    assert(udata);
  603|     10|    assert(udata->oh);
  604|     10|    assert(image_len);
  605|       |
  606|       |    /* Set the image length size */
  607|     10|    *image_len = udata->size;
  608|       |
  609|     10|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  610|     10|} /* end H5O__cache_chk_get_initial_load_size() */
H5Ocache.c:H5O__cache_chk_verify_chksum:
  624|     10|{
  625|     10|    const uint8_t      *image     = (const uint8_t *)_image;      /* Pointer into raw data buffer */
  626|     10|    H5O_chk_cache_ud_t *udata     = (H5O_chk_cache_ud_t *)_udata; /* User data for callback */
  627|     10|    htri_t              ret_value = true;
  628|       |
  629|     10|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     10|    {                                                                                                        \
  |  | 1461|     10|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     10|        {
  ------------------
  630|       |
  631|     10|    assert(image);
  632|       |
  633|       |    /* There is no checksum for version 1 */
  634|     10|    if (udata->oh->version != H5O_VERSION_1) {
  ------------------
  |  |   38|     10|#define H5O_VERSION_1 1
  ------------------
  |  Branch (634:9): [True: 0, False: 10]
  ------------------
  635|      0|        uint32_t stored_chksum;   /* Stored metadata checksum value */
  636|      0|        uint32_t computed_chksum; /* Computed metadata checksum value */
  637|       |
  638|       |        /* Get stored and computed checksums */
  639|      0|        if (H5F_get_checksums(image, len, &stored_chksum, &computed_chksum) < 0)
  ------------------
  |  Branch (639:13): [True: 0, False: 0]
  ------------------
  640|      0|            HGOTO_ERROR(H5E_OHDR, H5E_CANTGET, FAIL, "can't get checksums");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  641|       |
  642|      0|        if (stored_chksum != computed_chksum)
  ------------------
  |  Branch (642:13): [True: 0, False: 0]
  ------------------
  643|      0|            ret_value = false;
  644|      0|    }
  645|       |
  646|     10|done:
  647|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  648|     10|} /* end H5O__cache_chk_verify_chksum() */
H5Ocache.c:H5O__cache_chk_deserialize:
  663|     10|{
  664|     10|    H5O_chunk_proxy_t  *chk_proxy = NULL;                         /* Chunk proxy object */
  665|     10|    H5O_chk_cache_ud_t *udata     = (H5O_chk_cache_ud_t *)_udata; /* User data for callback */
  666|     10|    void               *ret_value = NULL;
  667|       |
  668|     10|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     10|    {                                                                                                        \
  |  | 1461|     10|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     10|        {
  ------------------
  669|       |
  670|     10|    assert(image);
  671|     10|    assert(len > 0);
  672|     10|    assert(udata);
  673|     10|    assert(udata->oh);
  674|     10|    assert(dirty);
  675|       |
  676|       |    /* Allocate space for the object header data structure */
  677|     10|    if (NULL == (chk_proxy = H5FL_CALLOC(H5O_chunk_proxy_t)))
  ------------------
  |  |   78|     10|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|     10|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (677:9): [True: 0, False: 10]
  ------------------
  678|      0|        HGOTO_ERROR(H5E_OHDR, H5E_CANTALLOC, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  679|       |
  680|       |    /* Check if we are still decoding the object header */
  681|       |    /* (as opposed to bringing a piece of it back from the file) */
  682|     10|    if (udata->decoding) {
  ------------------
  |  Branch (682:9): [True: 10, False: 0]
  ------------------
  683|     10|        assert(udata->common.f);
  684|     10|        assert(udata->common.cont_msg_info);
  685|       |
  686|       |        /* Parse the chunk */
  687|     10|        if (H5O__chunk_deserialize(udata->oh, udata->common.addr, udata->size, (const uint8_t *)image, len,
  ------------------
  |  Branch (687:13): [True: 3, False: 7]
  ------------------
  688|     10|                                   &(udata->common), dirty) < 0)
  689|      3|            HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, NULL, "can't deserialize object header chunk");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  690|       |
  691|       |        /* Set the chunk number for the chunk proxy */
  692|      7|        H5_CHECKED_ASSIGN(chk_proxy->chunkno, unsigned, udata->oh->nchunks - 1, size_t);
  ------------------
  |  |  977|      7|    do {                                                                                                     \
  |  |  978|      7|        (dst) = (dsttype)(src);                                                                              \
  |  |  979|      7|    } while (0)
  |  |  ------------------
  |  |  |  Branch (979:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  693|      7|    }
  694|      0|    else {
  695|       |        /* Sanity check */
  696|      0|        assert(udata->chunkno < udata->oh->nchunks);
  697|       |
  698|       |        /* Set the chunk number for the chunk proxy */
  699|      0|        chk_proxy->chunkno = udata->chunkno;
  700|       |
  701|       |        /* Sanity check that the chunk representation we have in memory is
  702|       |         * the same as the one being brought in from disk.
  703|       |         */
  704|      0|        assert(0 == memcmp(image, udata->oh->chunk[chk_proxy->chunkno].image,
  705|      0|                           udata->oh->chunk[chk_proxy->chunkno].size));
  706|      0|    }
  707|       |
  708|       |    /* Increment reference count of object header */
  709|      7|    if (H5O__inc_rc(udata->oh) < 0)
  ------------------
  |  Branch (709:9): [True: 0, False: 7]
  ------------------
  710|      0|        HGOTO_ERROR(H5E_OHDR, H5E_CANTINC, NULL, "can't increment reference count on object header");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  711|      7|    chk_proxy->oh = udata->oh;
  712|       |
  713|       |    /* Set return value */
  714|      7|    ret_value = chk_proxy;
  715|       |
  716|     10|done:
  717|     10|    if (NULL == ret_value)
  ------------------
  |  Branch (717:9): [True: 3, False: 7]
  ------------------
  718|      3|        if (chk_proxy && H5O__chunk_dest(chk_proxy) < 0)
  ------------------
  |  Branch (718:13): [True: 3, False: 0]
  |  Branch (718:26): [True: 3, False: 0]
  ------------------
  719|      3|            HDONE_ERROR(H5E_OHDR, H5E_CANTRELEASE, NULL, "unable to destroy object header chunk");
  ------------------
  |  |   55|      3|    do {                                                                                                     \
  |  |   56|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      3|        ret_value = ret_val;                                                                                 \
  |  |   58|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  720|       |
  721|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  722|      7|} /* end H5O__cache_chk_deserialize() */
H5Ocache.c:H5O__cache_chk_notify:
  800|     14|{
  801|     14|    H5O_chunk_proxy_t *chk_proxy = (H5O_chunk_proxy_t *)_thing;
  802|     14|    herr_t             ret_value = SUCCEED;
  ------------------
  |  |  283|     14|#define SUCCEED 0
  ------------------
  803|       |
  804|     14|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     14|    {                                                                                                        \
  |  | 1461|     14|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     14|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     14|                                                                                                             \
  |  |  |  | 1267|     14|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     14|        {
  ------------------
  805|       |
  806|     14|    assert(chk_proxy);
  807|     14|    assert(chk_proxy->oh);
  808|       |
  809|     14|    switch (action) {
  810|      0|        case H5AC_NOTIFY_ACTION_AFTER_INSERT:
  ------------------
  |  |  157|      0|#define H5AC_NOTIFY_ACTION_AFTER_INSERT       H5C_NOTIFY_ACTION_AFTER_INSERT
  ------------------
  |  Branch (810:9): [True: 0, False: 14]
  ------------------
  811|      7|        case H5AC_NOTIFY_ACTION_AFTER_LOAD:
  ------------------
  |  |  158|      7|#define H5AC_NOTIFY_ACTION_AFTER_LOAD         H5C_NOTIFY_ACTION_AFTER_LOAD
  ------------------
  |  Branch (811:9): [True: 7, False: 7]
  ------------------
  812|      7|            if (chk_proxy->oh->swmr_write) {
  ------------------
  |  Branch (812:17): [True: 0, False: 7]
  ------------------
  813|       |                /* Add flush dependency on chunk with continuation, if one exists */
  814|      0|                if (chk_proxy->fd_parent) {
  ------------------
  |  Branch (814:21): [True: 0, False: 0]
  ------------------
  815|       |                    /* Sanity checks */
  816|      0|                    assert(((H5C_cache_entry_t *)(chk_proxy->fd_parent))->type);
  817|      0|                    assert((((H5C_cache_entry_t *)(chk_proxy->fd_parent))->type->id == H5AC_OHDR_ID) ||
  818|      0|                           (((H5C_cache_entry_t *)(chk_proxy->fd_parent))->type->id == H5AC_OHDR_CHK_ID));
  819|       |
  820|       |                    /* Add flush dependency from chunk containing the continuation message
  821|       |                     * that points to this chunk (either oh or another chunk proxy object)
  822|       |                     */
  823|      0|                    if (H5AC_create_flush_dependency(chk_proxy->fd_parent, chk_proxy) < 0)
  ------------------
  |  Branch (823:25): [True: 0, False: 0]
  ------------------
  824|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_CANTDEPEND, FAIL, "unable to create flush dependency");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  825|      0|                }
  826|       |
  827|       |                /* Add flush dependency on object header */
  828|      0|                {
  829|      0|                    if (H5AC_create_flush_dependency(chk_proxy->oh, chk_proxy) < 0)
  ------------------
  |  Branch (829:25): [True: 0, False: 0]
  ------------------
  830|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_CANTDEPEND, FAIL, "unable to create flush dependency");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  831|      0|                }
  832|       |
  833|       |                /* Add flush dependency on object header proxy, if proxy exists */
  834|      0|                {
  835|       |                    /* Sanity check */
  836|      0|                    assert(chk_proxy->oh->proxy);
  837|       |
  838|       |                    /* Register the object header chunk as a parent of the virtual entry */
  839|      0|                    if (H5AC_proxy_entry_add_parent(chk_proxy->oh->proxy, chk_proxy) < 0)
  ------------------
  |  Branch (839:25): [True: 0, False: 0]
  ------------------
  840|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_CANTSET, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  841|      0|                                    "can't add object header chunk as parent of proxy");
  842|      0|                }
  843|      0|            }
  844|      7|            break;
  845|       |
  846|      7|        case H5AC_NOTIFY_ACTION_AFTER_FLUSH:
  ------------------
  |  |  159|      0|#define H5AC_NOTIFY_ACTION_AFTER_FLUSH        H5C_NOTIFY_ACTION_AFTER_FLUSH
  ------------------
  |  Branch (846:9): [True: 0, False: 14]
  ------------------
  847|      0|        case H5AC_NOTIFY_ACTION_ENTRY_DIRTIED:
  ------------------
  |  |  161|      0|#define H5AC_NOTIFY_ACTION_ENTRY_DIRTIED      H5C_NOTIFY_ACTION_ENTRY_DIRTIED
  ------------------
  |  Branch (847:9): [True: 0, False: 14]
  ------------------
  848|       |            /* Do nothing */
  849|      0|            break;
  850|       |
  851|      0|        case H5AC_NOTIFY_ACTION_ENTRY_CLEANED: {
  ------------------
  |  |  162|      0|#define H5AC_NOTIFY_ACTION_ENTRY_CLEANED      H5C_NOTIFY_ACTION_ENTRY_CLEANED
  ------------------
  |  Branch (851:9): [True: 0, False: 14]
  ------------------
  852|      0|            unsigned u; /* Local index variable */
  853|       |
  854|       |            /* Mark messages in chunk as clean */
  855|      0|            for (u = 0; u < chk_proxy->oh->nmesgs; u++)
  ------------------
  |  Branch (855:25): [True: 0, False: 0]
  ------------------
  856|      0|                if (chk_proxy->oh->mesg[u].chunkno == chk_proxy->chunkno)
  ------------------
  |  Branch (856:21): [True: 0, False: 0]
  ------------------
  857|      0|                    chk_proxy->oh->mesg[u].dirty = false;
  858|      0|        } break;
  859|       |
  860|      0|        case H5AC_NOTIFY_ACTION_CHILD_DIRTIED:
  ------------------
  |  |  163|      0|#define H5AC_NOTIFY_ACTION_CHILD_DIRTIED      H5C_NOTIFY_ACTION_CHILD_DIRTIED
  ------------------
  |  Branch (860:9): [True: 0, False: 14]
  ------------------
  861|      0|        case H5AC_NOTIFY_ACTION_CHILD_CLEANED:
  ------------------
  |  |  164|      0|#define H5AC_NOTIFY_ACTION_CHILD_CLEANED      H5C_NOTIFY_ACTION_CHILD_CLEANED
  ------------------
  |  Branch (861:9): [True: 0, False: 14]
  ------------------
  862|      0|        case H5AC_NOTIFY_ACTION_CHILD_UNSERIALIZED:
  ------------------
  |  |  165|      0|#define H5AC_NOTIFY_ACTION_CHILD_UNSERIALIZED H5C_NOTIFY_ACTION_CHILD_UNSERIALIZED
  ------------------
  |  Branch (862:9): [True: 0, False: 14]
  ------------------
  863|      0|        case H5AC_NOTIFY_ACTION_CHILD_SERIALIZED:
  ------------------
  |  |  166|      0|#define H5AC_NOTIFY_ACTION_CHILD_SERIALIZED   H5C_NOTIFY_ACTION_CHILD_SERIALIZED
  ------------------
  |  Branch (863:9): [True: 0, False: 14]
  ------------------
  864|       |            /* Do nothing */
  865|      0|            break;
  866|       |
  867|      7|        case H5AC_NOTIFY_ACTION_BEFORE_EVICT:
  ------------------
  |  |  160|      7|#define H5AC_NOTIFY_ACTION_BEFORE_EVICT       H5C_NOTIFY_ACTION_BEFORE_EVICT
  ------------------
  |  Branch (867:9): [True: 7, False: 7]
  ------------------
  868|      7|            if (chk_proxy->oh->swmr_write) {
  ------------------
  |  Branch (868:17): [True: 0, False: 7]
  ------------------
  869|       |                /* Remove flush dependency on parent object header chunk, if one is set */
  870|      0|                if (chk_proxy->fd_parent) {
  ------------------
  |  Branch (870:21): [True: 0, False: 0]
  ------------------
  871|       |                    /* Sanity checks */
  872|      0|                    assert(((H5C_cache_entry_t *)(chk_proxy->fd_parent))->type);
  873|      0|                    assert((((H5C_cache_entry_t *)(chk_proxy->fd_parent))->type->id == H5AC_OHDR_ID) ||
  874|      0|                           (((H5C_cache_entry_t *)(chk_proxy->fd_parent))->type->id == H5AC_OHDR_CHK_ID));
  875|       |
  876|      0|                    if (H5AC_destroy_flush_dependency(chk_proxy->fd_parent, chk_proxy) < 0)
  ------------------
  |  Branch (876:25): [True: 0, False: 0]
  ------------------
  877|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_CANTUNDEPEND, FAIL, "unable to destroy flush dependency");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  878|      0|                    chk_proxy->fd_parent = NULL;
  879|      0|                }
  880|       |
  881|       |                /* Unregister the object header as a parent of the virtual entry */
  882|      0|                if (H5AC_destroy_flush_dependency(chk_proxy->oh, chk_proxy) < 0)
  ------------------
  |  Branch (882:21): [True: 0, False: 0]
  ------------------
  883|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_CANTUNDEPEND, FAIL, "unable to destroy flush dependency");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  884|       |
  885|       |                /* Unregister the object header chunk as a parent of the virtual entry */
  886|      0|                if (H5AC_proxy_entry_remove_parent(chk_proxy->oh->proxy, chk_proxy) < 0)
  ------------------
  |  Branch (886:21): [True: 0, False: 0]
  ------------------
  887|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_CANTSET, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  888|      0|                                "can't remove object header chunk as parent of proxy");
  889|      0|            }
  890|      7|            break;
  891|       |
  892|      7|        default:
  ------------------
  |  Branch (892:9): [True: 0, False: 14]
  ------------------
  893|      0|            HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, FAIL, "unknown action from metadata cache");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  894|     14|    }
  895|       |
  896|     14|done:
  897|     14|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     14|    ;                                                                                                        \
  |  | 1573|     14|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     14|    return (ret_value);                                                                                      \
  |  | 1575|     14|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  898|     14|} /* end H5O__cache_chk_notify() */
H5Ocache.c:H5O__cache_chk_free_icr:
  911|      7|{
  912|      7|    H5O_chunk_proxy_t *chk_proxy = (H5O_chunk_proxy_t *)_thing; /* Object header chunk proxy to release */
  913|      7|    herr_t             ret_value = SUCCEED;
  ------------------
  |  |  283|      7|#define SUCCEED 0
  ------------------
  914|       |
  915|      7|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      7|    {                                                                                                        \
  |  | 1461|      7|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      7|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      7|                                                                                                             \
  |  |  |  | 1267|      7|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      7|        {
  ------------------
  916|       |
  917|      7|    assert(chk_proxy);
  918|      7|    assert(chk_proxy->cache_info.type == H5AC_OHDR_CHK);
  919|       |
  920|       |    /* Destroy object header chunk proxy */
  921|      7|    if (H5O__chunk_dest(chk_proxy) < 0)
  ------------------
  |  Branch (921:9): [True: 0, False: 7]
  ------------------
  922|      0|        HGOTO_ERROR(H5E_OHDR, H5E_CANTRELEASE, FAIL, "unable to destroy object header chunk proxy");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  923|       |
  924|      7|done:
  925|      7|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  926|      7|} /* end H5O__cache_chk_free_icr() */

H5O__chunk_dest:
  383|     10|{
  384|     10|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
  385|       |
  386|     10|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     10|    {                                                                                                        \
  |  | 1461|     10|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     10|        {
  ------------------
  387|       |
  388|       |    /* Check arguments */
  389|     10|    assert(chk_proxy);
  390|       |
  391|       |    /* Decrement reference count of object header */
  392|     10|    if (H5O__dec_rc(chk_proxy->oh) < 0)
  ------------------
  |  Branch (392:9): [True: 3, False: 7]
  ------------------
  393|      3|        HGOTO_ERROR(H5E_OHDR, H5E_CANTDEC, FAIL, "can't decrement reference count on object header");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  394|       |
  395|     10|done:
  396|       |    /* Release the chunk proxy object */
  397|     10|    chk_proxy = H5FL_FREE(H5O_chunk_proxy_t, chk_proxy);
  ------------------
  |  |   81|     10|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|     10|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  398|       |
  399|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  400|     10|} /* H5O__chunk_dest() */

H5Ocont.c:H5O__cont_decode:
   81|     10|{
   82|     10|    H5O_cont_t    *cont      = NULL;
   83|     10|    const uint8_t *p_end     = p + p_size - 1;
   84|     10|    void          *ret_value = NULL;
   85|       |
   86|     10|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     10|    {                                                                                                        \
  |  | 1461|     10|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     10|        {
  ------------------
   87|       |
   88|     10|    assert(f);
   89|     10|    assert(p);
   90|       |
   91|       |    /* Allocate space for the message */
   92|     10|    if (NULL == (cont = H5FL_MALLOC(H5O_cont_t)))
  ------------------
  |  |   75|     10|#define H5FL_MALLOC(t) (t *)H5FL_reg_malloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|     10|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (92:9): [True: 0, False: 10]
  ------------------
   93|      0|        HGOTO_ERROR(H5E_OHDR, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   94|       |
   95|       |    /* Decode */
   96|     10|    if (H5_IS_BUFFER_OVERFLOW(p, H5F_sizeof_addr(f), p_end))
  ------------------
  |  |  344|     10|    (                                                                                                        \
  |  |  345|     10|      /* Trivial case */                                                                                     \
  |  |  346|     10|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 10, False: 0]
  |  |  ------------------
  |  |  347|     10|      (                                                                                                      \
  |  |  348|     10|        /* Bad precondition */                                                                               \
  |  |  349|     10|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 10]
  |  |  ------------------
  |  |  350|     10|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     10|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 10, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 10]
  |  |  ------------------
  |  |  352|     10|        /* Typical overflow */                                                                               \
  |  |  353|     10|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 10]
  |  |  ------------------
  |  |  354|     10|      )                                                                                                      \
  |  |  355|     10|    )
  ------------------
   97|      0|        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   98|     10|    H5F_addr_decode(f, &p, &(cont->addr));
   99|       |
  100|     10|    if (H5_IS_BUFFER_OVERFLOW(p, H5F_sizeof_size(f), p_end))
  ------------------
  |  |  344|     10|    (                                                                                                        \
  |  |  345|     10|      /* Trivial case */                                                                                     \
  |  |  346|     10|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 10, False: 0]
  |  |  ------------------
  |  |  347|     10|      (                                                                                                      \
  |  |  348|     10|        /* Bad precondition */                                                                               \
  |  |  349|     10|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 10]
  |  |  ------------------
  |  |  350|     10|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     10|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 10, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 10]
  |  |  ------------------
  |  |  352|     10|        /* Typical overflow */                                                                               \
  |  |  353|     10|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 10]
  |  |  ------------------
  |  |  354|     10|      )                                                                                                      \
  |  |  355|     10|    )
  ------------------
  101|      0|        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  102|     10|    H5F_DECODE_LENGTH(f, p, cont->size);
  ------------------
  |  |  174|     10|#define H5F_DECODE_LENGTH(f, p, l) H5_DECODE_LENGTH_LEN(p, l, H5F_SIZEOF_SIZE(f))
  |  |  ------------------
  |  |  |  |  276|     10|    do {                                                                                                     \
  |  |  |  |  277|     10|        switch (s) {                                                                                         \
  |  |  |  |  278|      0|            case 4:                                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (278:13): [True: 0, False: 10]
  |  |  |  |  ------------------
  |  |  |  |  279|      0|                UINT32DECODE(p, l);                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  179|      0|    do {                                                                                                     \
  |  |  |  |  |  |  180|      0|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  |  |  |  |  181|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  182|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  |  |  |  |  183|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  184|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  |  |  |  |  185|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  186|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  |  |  |  |  187|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  188|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  280|      0|                break;                                                                                       \
  |  |  |  |  281|     10|            case 8:                                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (281:13): [True: 10, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  282|     10|                UINT64DECODE(p, l);                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  220|     10|    do {                                                                                                     \
  |  |  |  |  |  |  221|     10|        /* WE DON'T CHECK FOR OVERFLOW! */                                                                   \
  |  |  |  |  |  |  222|     10|        size_t _i;                                                                                           \
  |  |  |  |  |  |  223|     10|                                                                                                             \
  |  |  |  |  |  |  224|     10|        n = 0;                                                                                               \
  |  |  |  |  |  |  225|     10|        (p) += 8;                                                                                            \
  |  |  |  |  |  |  226|     90|        for (_i = 0; _i < sizeof(uint64_t); _i++)                                                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (226:22): [True: 80, False: 10]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  227|     80|            n = (uint64_t)(((uint64_t)n << 8) | *(--p));                                                     \
  |  |  |  |  |  |  228|     10|        (p) += 8;                                                                                            \
  |  |  |  |  |  |  229|     10|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (229:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  283|     10|                break;                                                                                       \
  |  |  |  |  284|      0|            case 2:                                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (284:13): [True: 0, False: 10]
  |  |  |  |  ------------------
  |  |  |  |  285|      0|                UINT16DECODE(p, l);                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  159|      0|    do {                                                                                                     \
  |  |  |  |  |  |  160|      0|        (i) = (uint16_t)(*(p)&0xff);                                                                         \
  |  |  |  |  |  |  161|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  162|      0|        (i) |= (uint16_t)((*(p)&0xff) << 8);                                                                 \
  |  |  |  |  |  |  163|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  164|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (164:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  286|      0|                break;                                                                                       \
  |  |  |  |  287|      0|            default:                                                                                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (287:13): [True: 0, False: 10]
  |  |  |  |  ------------------
  |  |  |  |  288|      0|                assert("bad sizeof size" && 0);                                                              \
  |  |  |  |  289|     10|        }                                                                                                    \
  |  |  |  |  290|     10|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (290:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  103|       |
  104|     10|    cont->chunkno = 0;
  105|       |
  106|       |    /* Set return value */
  107|     10|    ret_value = cont;
  108|       |
  109|     10|done:
  110|     10|    if (NULL == ret_value && NULL != cont)
  ------------------
  |  Branch (110:9): [True: 0, False: 10]
  |  Branch (110:30): [True: 0, False: 0]
  ------------------
  111|      0|        H5FL_FREE(H5O_cont_t, cont);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  112|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  113|     10|} /* end H5O__cont_decode() */
H5Ocont.c:H5O__cont_free:
  184|     10|{
  185|     10|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     10|    {                                                                                                        \
  |  | 1467|     10|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     10|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     10|        {
  ------------------
  186|       |
  187|     10|    assert(mesg);
  188|       |
  189|     10|    mesg = H5FL_FREE(H5O_cont_t, mesg);
  ------------------
  |  |   81|     10|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|     10|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  190|       |
  191|     10|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  192|     10|} /* end H5O__cont_free() */

H5Odtype.c:H5O__dtype_decode:
 1391|    117|{
 1392|    117|    bool           skip;
 1393|    117|    H5T_t         *dt        = NULL;
 1394|    117|    const uint8_t *p_end     = p + p_size - 1;
 1395|    117|    void          *ret_value = NULL;
 1396|       |
 1397|    117|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    117|    {                                                                                                        \
  |  | 1461|    117|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    117|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    117|                                                                                                             \
  |  |  |  | 1267|    117|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    117|        {
  ------------------
 1398|       |
 1399|    117|    assert(f);
 1400|    117|    assert(p);
 1401|       |
 1402|       |    /* Allocate datatype message */
 1403|    117|    if (NULL == (dt = H5T__alloc()))
  ------------------
  |  Branch (1403:9): [True: 0, False: 117]
  ------------------
 1404|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1405|       |
 1406|       |    /* If we are decoding a buffer from H5Tdecode(), we won't have the size
 1407|       |     * of the buffer and bounds checking will be impossible. In this case,
 1408|       |     * the library will have set p_size to SIZE_MAX and we can use that
 1409|       |     * as a signal to skip bounds checking.
 1410|       |     */
 1411|    117|    skip = (p_size == SIZE_MAX ? true : false);
  ------------------
  |  Branch (1411:13): [True: 0, False: 117]
  ------------------
 1412|       |
 1413|       |    /* Indicate if the object header has a checksum, or if the
 1414|       |     * H5F_RFIC_UNUSUAL_NUM_UNUSED_NUMERIC_BITS flag is set */
 1415|    117|    if (open_oh) {
  ------------------
  |  Branch (1415:9): [True: 117, False: 0]
  ------------------
 1416|    117|        if (H5O_SIZEOF_CHKSUM_OH(open_oh) > 0 ||
  ------------------
  |  |  148|    117|#define H5O_SIZEOF_CHKSUM_OH(O) H5O_SIZEOF_CHKSUM_VERS((O)->version)
  |  |  ------------------
  |  |  |  |  145|    117|    (((V) == H5O_VERSION_1) ? 0                 /*no checksum */                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |   38|    117|#define H5O_VERSION_1 1
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (145:6): [True: 117, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  146|    117|                            : H5O_SIZEOF_CHKSUM /*checksum */                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   63|      0|#define H5O_SIZEOF_CHKSUM 4
  |  |  |  |  ------------------
  |  |  |  |  147|    117|    )
  |  |  ------------------
  ------------------
  |  Branch (1416:13): [True: 0, False: 117]
  ------------------
 1417|    117|            (f && (H5F_RFIC_FLAGS(f) & H5F_RFIC_UNUSUAL_NUM_UNUSED_NUMERIC_BITS)))
  ------------------
  |  |  169|    117|#define H5F_RFIC_FLAGS(F)              (H5F_get_rfic_flags(F))
  ------------------
                          (f && (H5F_RFIC_FLAGS(f) & H5F_RFIC_UNUSUAL_NUM_UNUSED_NUMERIC_BITS)))
  ------------------
  |  |  250|    117|    (0x0001u) /**< Suppress errors for numeric datatypes with an unusually                                   \
  ------------------
  |  Branch (1417:14): [True: 117, False: 0]
  |  Branch (1417:19): [True: 0, False: 117]
  ------------------
 1418|      0|            *ioflags |= H5O_DECODEIO_RFIC_UNUBNT;
  ------------------
  |  |  154|      0|    0x04u /* IN: Relax file integrity checks for unusual numbers of unused bits in numeric datatypes */
  ------------------
 1419|    117|    }
 1420|      0|    else
 1421|       |        /* Decode operations from non-object headers are assumed to be checksummed */
 1422|      0|        *ioflags |= H5O_DECODEIO_RFIC_UNUBNT;
  ------------------
  |  |  154|      0|    0x04u /* IN: Relax file integrity checks for unusual numbers of unused bits in numeric datatypes */
  ------------------
 1423|       |
 1424|       |    /* Perform actual decode of message */
 1425|    117|    if (H5O__dtype_decode_helper(ioflags, &p, dt, skip, p_end) < 0)
  ------------------
  |  Branch (1425:9): [True: 27, False: 90]
  ------------------
 1426|     27|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTDECODE, NULL, "can't decode type");
  ------------------
  |  |   68|     27|    do {                                                                                                     \
  |  |   69|     27|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     27|    do {                                                                                                     \
  |  |  |  |   40|     27|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     27|    do {                                                                                                     \
  |  |  |  |  |  |   31|     27|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     27|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     27|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     27|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     27|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     27|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     27|    do {                                                                                                     \
  |  |  |  |   92|     27|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     27|        goto done;                                                                                           \
  |  |  |  |   94|     27|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     27|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1427|       |
 1428|       |    /* Set return value */
 1429|     90|    ret_value = dt;
 1430|       |
 1431|    117|done:
 1432|       |    /* Cleanup on error */
 1433|    117|    if (!ret_value)
  ------------------
  |  Branch (1433:9): [True: 27, False: 90]
  ------------------
 1434|       |        /* Free dt */
 1435|     27|        if (H5T_close_real(dt) < 0)
  ------------------
  |  Branch (1435:13): [True: 0, False: 27]
  ------------------
 1436|      0|            HDONE_ERROR(H5E_DATATYPE, H5E_CANTRELEASE, NULL, "can't release datatype info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1437|       |
 1438|    117|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    117|    ;                                                                                                        \
  |  | 1573|    117|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    117|    return (ret_value);                                                                                      \
  |  | 1575|    117|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1439|     90|} /* end H5O__dtype_decode() */
H5Odtype.c:H5O__dtype_decode_helper:
  122|    120|{
  123|    120|    unsigned flags;
  124|    120|    unsigned version;
  125|    120|    htri_t   ret_value = false;
  126|       |
  127|    120|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    120|    {                                                                                                        \
  |  | 1461|    120|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    120|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    120|                                                                                                             \
  |  |  |  | 1267|    120|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    120|        {
  ------------------
  128|       |
  129|    120|    assert(pp && *pp);
  130|    120|    assert(dt && dt->shared);
  131|       |
  132|       |    /* XXX NOTE!
  133|       |     *
  134|       |     * H5Tencode() does not take a buffer size, so normal bounds checking in
  135|       |     * that case is impossible.
  136|       |     *
  137|       |     * Instead of using our normal H5_IS_BUFFER_OVERFLOW macro, use
  138|       |     * H5_IS_KNOWN_BUFFER_OVERFLOW, which will skip the check when the
  139|       |     * we're decoding a buffer from H5Tconvert().
  140|       |     *
  141|       |     * Even if this is fixed at some point in the future, as long as we
  142|       |     * support the old, size-less API call, we will need to use the modified
  143|       |     * macros.
  144|       |     */
  145|       |
  146|       |    /* Version, class & flags */
  147|    120|    if (H5_IS_KNOWN_BUFFER_OVERFLOW(skip, *pp, 4, p_end))
  ------------------
  |  |  365|    120|    (skip ? false : H5_IS_BUFFER_OVERFLOW(ptr, size, buffer_end))
  |  |  ------------------
  |  |  |  |  344|    120|    (                                                                                                        \
  |  |  |  |  345|    120|      /* Trivial case */                                                                                     \
  |  |  |  |  346|    120|      ((size) != 0) &&                                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  347|    120|      (                                                                                                      \
  |  |  |  |  348|    120|        /* Bad precondition */                                                                               \
  |  |  |  |  349|    120|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (349:9): [True: 0, False: 120]
  |  |  |  |  ------------------
  |  |  |  |  350|    120|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  |  |  351|    120|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  352|    120|        /* Typical overflow */                                                                               \
  |  |  |  |  353|    120|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (353:9): [True: 0, False: 120]
  |  |  |  |  ------------------
  |  |  |  |  354|    120|      )                                                                                                      \
  |  |  |  |  355|    120|    )
  |  |  ------------------
  |  |  |  Branch (365:5): [True: 0, False: 120]
  |  |  |  Branch (365:6): [True: 0, False: 120]
  |  |  ------------------
  ------------------
  148|      0|        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  149|    120|    UINT32DECODE(*pp, flags);
  ------------------
  |  |  179|    120|    do {                                                                                                     \
  |  |  180|    120|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  181|    120|        (p)++;                                                                                               \
  |  |  182|    120|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  183|    120|        (p)++;                                                                                               \
  |  |  184|    120|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  185|    120|        (p)++;                                                                                               \
  |  |  186|    120|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  187|    120|        (p)++;                                                                                               \
  |  |  188|    120|    } while (0)
  |  |  ------------------
  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  150|    120|    version = (flags >> 4) & 0x0f;
  151|    120|    if (version < H5O_DTYPE_VERSION_1 || version > H5O_DTYPE_VERSION_LATEST)
  ------------------
  |  |   77|    240|#define H5O_DTYPE_VERSION_1 1
  ------------------
                  if (version < H5O_DTYPE_VERSION_1 || version > H5O_DTYPE_VERSION_LATEST)
  ------------------
  |  |  100|    120|#define H5O_DTYPE_VERSION_LATEST H5O_DTYPE_VERSION_4
  |  |  ------------------
  |  |  |  |   96|    120|#define H5O_DTYPE_VERSION_4 4
  |  |  ------------------
  ------------------
  |  Branch (151:9): [True: 0, False: 120]
  |  Branch (151:42): [True: 6, False: 114]
  ------------------
  152|      6|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTLOAD, FAIL, "bad version number for datatype message");
  ------------------
  |  |   68|      6|    do {                                                                                                     \
  |  |   69|      6|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      6|    do {                                                                                                     \
  |  |  |  |   40|      6|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      6|    do {                                                                                                     \
  |  |  |  |  |  |   31|      6|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      6|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      6|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      6|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      6|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      6|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      6|    do {                                                                                                     \
  |  |  |  |   92|      6|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      6|        goto done;                                                                                           \
  |  |  |  |   94|      6|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      6|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  153|    114|    dt->shared->version = version;
  154|    114|    dt->shared->type    = (H5T_class_t)(flags & 0x0f);
  155|    114|    flags >>= 8;
  156|       |
  157|       |    /* Size */
  158|    114|    if (H5_IS_KNOWN_BUFFER_OVERFLOW(skip, *pp, 4, p_end))
  ------------------
  |  |  365|    114|    (skip ? false : H5_IS_BUFFER_OVERFLOW(ptr, size, buffer_end))
  |  |  ------------------
  |  |  |  |  344|    114|    (                                                                                                        \
  |  |  |  |  345|    114|      /* Trivial case */                                                                                     \
  |  |  |  |  346|    114|      ((size) != 0) &&                                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  347|    114|      (                                                                                                      \
  |  |  |  |  348|    114|        /* Bad precondition */                                                                               \
  |  |  |  |  349|    114|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (349:9): [True: 0, False: 114]
  |  |  |  |  ------------------
  |  |  |  |  350|    114|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  |  |  351|    114|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  352|    114|        /* Typical overflow */                                                                               \
  |  |  |  |  353|    114|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (353:9): [True: 0, False: 114]
  |  |  |  |  ------------------
  |  |  |  |  354|    114|      )                                                                                                      \
  |  |  |  |  355|    114|    )
  |  |  ------------------
  |  |  |  Branch (365:5): [True: 0, False: 114]
  |  |  |  Branch (365:6): [True: 0, False: 114]
  |  |  ------------------
  ------------------
  159|      0|        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  160|    114|    UINT32DECODE(*pp, dt->shared->size);
  ------------------
  |  |  179|    114|    do {                                                                                                     \
  |  |  180|    114|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  181|    114|        (p)++;                                                                                               \
  |  |  182|    114|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  183|    114|        (p)++;                                                                                               \
  |  |  184|    114|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  185|    114|        (p)++;                                                                                               \
  |  |  186|    114|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  187|    114|        (p)++;                                                                                               \
  |  |  188|    114|    } while (0)
  |  |  ------------------
  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  161|       |
  162|       |    /* Check for invalid datatype size */
  163|    114|    if (dt->shared->size == 0)
  ------------------
  |  Branch (163:9): [True: 0, False: 114]
  ------------------
  164|      0|        HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, FAIL, "invalid datatype size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  165|       |
  166|    114|    switch (dt->shared->type) {
  167|     47|        case H5T_INTEGER:
  ------------------
  |  Branch (167:9): [True: 47, False: 67]
  ------------------
  168|       |            /*
  169|       |             * Integer types...
  170|       |             */
  171|     47|            dt->shared->u.atomic.order    = (flags & 0x1) ? H5T_ORDER_BE : H5T_ORDER_LE;
  ------------------
  |  Branch (171:45): [True: 0, False: 47]
  ------------------
  172|     47|            dt->shared->u.atomic.lsb_pad  = (flags & 0x2) ? H5T_PAD_ONE : H5T_PAD_ZERO;
  ------------------
  |  Branch (172:45): [True: 0, False: 47]
  ------------------
  173|     47|            dt->shared->u.atomic.msb_pad  = (flags & 0x4) ? H5T_PAD_ONE : H5T_PAD_ZERO;
  ------------------
  |  Branch (173:45): [True: 0, False: 47]
  ------------------
  174|     47|            dt->shared->u.atomic.u.i.sign = (flags & 0x8) ? H5T_SGN_2 : H5T_SGN_NONE;
  ------------------
  |  Branch (174:45): [True: 35, False: 12]
  ------------------
  175|     47|            if (H5_IS_KNOWN_BUFFER_OVERFLOW(skip, *pp, 2 + 2, p_end))
  ------------------
  |  |  365|     47|    (skip ? false : H5_IS_BUFFER_OVERFLOW(ptr, size, buffer_end))
  |  |  ------------------
  |  |  |  |  344|     47|    (                                                                                                        \
  |  |  |  |  345|     47|      /* Trivial case */                                                                                     \
  |  |  |  |  346|     47|      ((size) != 0) &&                                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  347|     47|      (                                                                                                      \
  |  |  |  |  348|     47|        /* Bad precondition */                                                                               \
  |  |  |  |  349|     47|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (349:9): [True: 0, False: 47]
  |  |  |  |  ------------------
  |  |  |  |  350|     47|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  |  |  351|     47|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  352|     47|        /* Typical overflow */                                                                               \
  |  |  |  |  353|     47|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (353:9): [True: 0, False: 47]
  |  |  |  |  ------------------
  |  |  |  |  354|     47|      )                                                                                                      \
  |  |  |  |  355|     47|    )
  |  |  ------------------
  |  |  |  Branch (365:5): [True: 0, False: 47]
  |  |  |  Branch (365:6): [True: 0, False: 47]
  |  |  ------------------
  ------------------
  176|      0|                HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  177|     47|            UINT16DECODE(*pp, dt->shared->u.atomic.offset);
  ------------------
  |  |  159|     47|    do {                                                                                                     \
  |  |  160|     47|        (i) = (uint16_t)(*(p)&0xff);                                                                         \
  |  |  161|     47|        (p)++;                                                                                               \
  |  |  162|     47|        (i) |= (uint16_t)((*(p)&0xff) << 8);                                                                 \
  |  |  163|     47|        (p)++;                                                                                               \
  |  |  164|     47|    } while (0)
  |  |  ------------------
  |  |  |  Branch (164:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  178|     47|            UINT16DECODE(*pp, dt->shared->u.atomic.prec);
  ------------------
  |  |  159|     47|    do {                                                                                                     \
  |  |  160|     47|        (i) = (uint16_t)(*(p)&0xff);                                                                         \
  |  |  161|     47|        (p)++;                                                                                               \
  |  |  162|     47|        (i) |= (uint16_t)((*(p)&0xff) << 8);                                                                 \
  |  |  163|     47|        (p)++;                                                                                               \
  |  |  164|     47|    } while (0)
  |  |  ------------------
  |  |  |  Branch (164:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  179|       |
  180|       |            /* Sanity checks */
  181|     47|            if (dt->shared->u.atomic.offset >= (dt->shared->size * 8))
  ------------------
  |  Branch (181:17): [True: 0, False: 47]
  ------------------
  182|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_BADRANGE, FAIL, "integer offset out of bounds");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  183|     47|            if (0 == dt->shared->u.atomic.prec)
  ------------------
  |  Branch (183:17): [True: 0, False: 47]
  ------------------
  184|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_BADVALUE, FAIL, "precision is zero");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  185|     47|            if (((dt->shared->u.atomic.offset + dt->shared->u.atomic.prec) - 1) >= (dt->shared->size * 8))
  ------------------
  |  Branch (185:17): [True: 18, False: 29]
  ------------------
  186|     18|                HGOTO_ERROR(H5E_DATATYPE, H5E_BADRANGE, FAIL, "integer offset+precision out of bounds");
  ------------------
  |  |   68|     18|    do {                                                                                                     \
  |  |   69|     18|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     18|    do {                                                                                                     \
  |  |  |  |   40|     18|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     18|    do {                                                                                                     \
  |  |  |  |  |  |   31|     18|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     18|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     18|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     18|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     18|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     18|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     18|    do {                                                                                                     \
  |  |  |  |   92|     18|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     18|        goto done;                                                                                           \
  |  |  |  |   94|     18|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     18|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  187|     29|            break;
  188|       |
  189|     29|        case H5T_FLOAT:
  ------------------
  |  Branch (189:9): [True: 11, False: 103]
  ------------------
  190|       |            /*
  191|       |             * Floating-point types...
  192|       |             */
  193|     11|            dt->shared->u.atomic.order = (flags & 0x1) ? H5T_ORDER_BE : H5T_ORDER_LE;
  ------------------
  |  Branch (193:42): [True: 0, False: 11]
  ------------------
  194|     11|            if (version >= H5O_DTYPE_VERSION_3) {
  ------------------
  |  |   91|     11|#define H5O_DTYPE_VERSION_3 3
  ------------------
  |  Branch (194:17): [True: 0, False: 11]
  ------------------
  195|       |                /* Unsupported byte order*/
  196|      0|                if ((flags & 0x40) && !(flags & 0x1))
  ------------------
  |  Branch (196:21): [True: 0, False: 0]
  |  Branch (196:39): [True: 0, False: 0]
  ------------------
  197|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "bad byte order for datatype message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  198|       |
  199|       |                /* VAX order if both 1st and 6th bits are turned on*/
  200|      0|                if (flags & 0x40)
  ------------------
  |  Branch (200:21): [True: 0, False: 0]
  ------------------
  201|      0|                    dt->shared->u.atomic.order = H5T_ORDER_VAX;
  202|      0|            }
  203|     11|            dt->shared->u.atomic.lsb_pad = (flags & 0x2) ? H5T_PAD_ONE : H5T_PAD_ZERO;
  ------------------
  |  Branch (203:44): [True: 0, False: 11]
  ------------------
  204|     11|            dt->shared->u.atomic.msb_pad = (flags & 0x4) ? H5T_PAD_ONE : H5T_PAD_ZERO;
  ------------------
  |  Branch (204:44): [True: 0, False: 11]
  ------------------
  205|     11|            dt->shared->u.atomic.u.f.pad = (flags & 0x8) ? H5T_PAD_ONE : H5T_PAD_ZERO;
  ------------------
  |  Branch (205:44): [True: 0, False: 11]
  ------------------
  206|     11|            switch ((flags >> 4) & 0x03) {
  207|      0|                case 0:
  ------------------
  |  Branch (207:17): [True: 0, False: 11]
  ------------------
  208|      0|                    dt->shared->u.atomic.u.f.norm = H5T_NORM_NONE;
  209|      0|                    break;
  210|       |
  211|      0|                case 1:
  ------------------
  |  Branch (211:17): [True: 0, False: 11]
  ------------------
  212|      0|                    dt->shared->u.atomic.u.f.norm = H5T_NORM_MSBSET;
  213|      0|                    break;
  214|       |
  215|     11|                case 2:
  ------------------
  |  Branch (215:17): [True: 11, False: 0]
  ------------------
  216|     11|                    dt->shared->u.atomic.u.f.norm = H5T_NORM_IMPLIED;
  217|     11|                    break;
  218|       |
  219|      0|                default:
  ------------------
  |  Branch (219:17): [True: 0, False: 11]
  ------------------
  220|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown floating-point normalization");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  221|     11|            }
  222|     11|            dt->shared->u.atomic.u.f.sign = (flags >> 8) & 0xff;
  223|     11|            if (dt->shared->u.atomic.u.f.sign >= (dt->shared->size * 8))
  ------------------
  |  Branch (223:17): [True: 0, False: 11]
  ------------------
  224|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_BADRANGE, FAIL, "sign bit position out of bounds");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  225|       |
  226|     11|            if (H5_IS_KNOWN_BUFFER_OVERFLOW(skip, *pp, 2 + 2, p_end))
  ------------------
  |  |  365|     11|    (skip ? false : H5_IS_BUFFER_OVERFLOW(ptr, size, buffer_end))
  |  |  ------------------
  |  |  |  |  344|     11|    (                                                                                                        \
  |  |  |  |  345|     11|      /* Trivial case */                                                                                     \
  |  |  |  |  346|     11|      ((size) != 0) &&                                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  347|     11|      (                                                                                                      \
  |  |  |  |  348|     11|        /* Bad precondition */                                                                               \
  |  |  |  |  349|     11|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (349:9): [True: 0, False: 11]
  |  |  |  |  ------------------
  |  |  |  |  350|     11|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  |  |  351|     11|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  352|     11|        /* Typical overflow */                                                                               \
  |  |  |  |  353|     11|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (353:9): [True: 0, False: 11]
  |  |  |  |  ------------------
  |  |  |  |  354|     11|      )                                                                                                      \
  |  |  |  |  355|     11|    )
  |  |  ------------------
  |  |  |  Branch (365:5): [True: 0, False: 11]
  |  |  |  Branch (365:6): [True: 0, False: 11]
  |  |  ------------------
  ------------------
  227|      0|                HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  228|     11|            UINT16DECODE(*pp, dt->shared->u.atomic.offset);
  ------------------
  |  |  159|     11|    do {                                                                                                     \
  |  |  160|     11|        (i) = (uint16_t)(*(p)&0xff);                                                                         \
  |  |  161|     11|        (p)++;                                                                                               \
  |  |  162|     11|        (i) |= (uint16_t)((*(p)&0xff) << 8);                                                                 \
  |  |  163|     11|        (p)++;                                                                                               \
  |  |  164|     11|    } while (0)
  |  |  ------------------
  |  |  |  Branch (164:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  229|     11|            UINT16DECODE(*pp, dt->shared->u.atomic.prec);
  ------------------
  |  |  159|     11|    do {                                                                                                     \
  |  |  160|     11|        (i) = (uint16_t)(*(p)&0xff);                                                                         \
  |  |  161|     11|        (p)++;                                                                                               \
  |  |  162|     11|        (i) |= (uint16_t)((*(p)&0xff) << 8);                                                                 \
  |  |  163|     11|        (p)++;                                                                                               \
  |  |  164|     11|    } while (0)
  |  |  ------------------
  |  |  |  Branch (164:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  230|       |
  231|     11|            if (H5_IS_KNOWN_BUFFER_OVERFLOW(skip, *pp, 1 + 1, p_end))
  ------------------
  |  |  365|     11|    (skip ? false : H5_IS_BUFFER_OVERFLOW(ptr, size, buffer_end))
  |  |  ------------------
  |  |  |  |  344|     11|    (                                                                                                        \
  |  |  |  |  345|     11|      /* Trivial case */                                                                                     \
  |  |  |  |  346|     11|      ((size) != 0) &&                                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  347|     11|      (                                                                                                      \
  |  |  |  |  348|     11|        /* Bad precondition */                                                                               \
  |  |  |  |  349|     11|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (349:9): [True: 0, False: 11]
  |  |  |  |  ------------------
  |  |  |  |  350|     11|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  |  |  351|     11|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  352|     11|        /* Typical overflow */                                                                               \
  |  |  |  |  353|     11|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (353:9): [True: 0, False: 11]
  |  |  |  |  ------------------
  |  |  |  |  354|     11|      )                                                                                                      \
  |  |  |  |  355|     11|    )
  |  |  ------------------
  |  |  |  Branch (365:5): [True: 0, False: 11]
  |  |  |  Branch (365:6): [True: 0, False: 11]
  |  |  ------------------
  ------------------
  232|      0|                HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  233|     11|            dt->shared->u.atomic.u.f.epos  = *(*pp)++;
  234|     11|            dt->shared->u.atomic.u.f.esize = *(*pp)++;
  235|     11|            if (dt->shared->u.atomic.u.f.esize == 0)
  ------------------
  |  Branch (235:17): [True: 0, False: 11]
  ------------------
  236|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_BADVALUE, FAIL, "exponent size can't be zero");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  237|     11|            if (dt->shared->u.atomic.u.f.epos >= (dt->shared->size * 8))
  ------------------
  |  Branch (237:17): [True: 0, False: 11]
  ------------------
  238|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_BADRANGE, FAIL, "exponent starting position out of bounds");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  239|     11|            if (((dt->shared->u.atomic.u.f.epos + dt->shared->u.atomic.u.f.esize) - 1) >=
  ------------------
  |  Branch (239:17): [True: 0, False: 11]
  ------------------
  240|     11|                (dt->shared->size * 8))
  241|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_BADRANGE, FAIL, "exponent range out of bounds");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  242|       |
  243|     11|            if (H5_IS_KNOWN_BUFFER_OVERFLOW(skip, *pp, 1 + 1, p_end))
  ------------------
  |  |  365|     11|    (skip ? false : H5_IS_BUFFER_OVERFLOW(ptr, size, buffer_end))
  |  |  ------------------
  |  |  |  |  344|     11|    (                                                                                                        \
  |  |  |  |  345|     11|      /* Trivial case */                                                                                     \
  |  |  |  |  346|     11|      ((size) != 0) &&                                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  347|     11|      (                                                                                                      \
  |  |  |  |  348|     11|        /* Bad precondition */                                                                               \
  |  |  |  |  349|     11|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (349:9): [True: 0, False: 11]
  |  |  |  |  ------------------
  |  |  |  |  350|     11|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  |  |  351|     11|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  352|     11|        /* Typical overflow */                                                                               \
  |  |  |  |  353|     11|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (353:9): [True: 0, False: 11]
  |  |  |  |  ------------------
  |  |  |  |  354|     11|      )                                                                                                      \
  |  |  |  |  355|     11|    )
  |  |  ------------------
  |  |  |  Branch (365:5): [True: 0, False: 11]
  |  |  |  Branch (365:6): [True: 0, False: 11]
  |  |  ------------------
  ------------------
  244|      0|                HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  245|     11|            dt->shared->u.atomic.u.f.mpos  = *(*pp)++;
  246|     11|            dt->shared->u.atomic.u.f.msize = *(*pp)++;
  247|     11|            if (dt->shared->u.atomic.u.f.msize == 0)
  ------------------
  |  Branch (247:17): [True: 3, False: 8]
  ------------------
  248|      3|                HGOTO_ERROR(H5E_DATATYPE, H5E_BADVALUE, FAIL, "mantissa size can't be zero");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  249|      8|            if (dt->shared->u.atomic.u.f.mpos >= (dt->shared->size * 8))
  ------------------
  |  Branch (249:17): [True: 0, False: 8]
  ------------------
  250|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_BADRANGE, FAIL, "mantissa starting position out of bounds");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  251|      8|            if (((dt->shared->u.atomic.u.f.mpos + dt->shared->u.atomic.u.f.msize) - 1) >=
  ------------------
  |  Branch (251:17): [True: 0, False: 8]
  ------------------
  252|      8|                (dt->shared->size * 8))
  253|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_BADRANGE, FAIL, "mantissa range out of bounds");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  254|       |
  255|      8|            if (H5_IS_KNOWN_BUFFER_OVERFLOW(skip, *pp, 4, p_end))
  ------------------
  |  |  365|      8|    (skip ? false : H5_IS_BUFFER_OVERFLOW(ptr, size, buffer_end))
  |  |  ------------------
  |  |  |  |  344|      8|    (                                                                                                        \
  |  |  |  |  345|      8|      /* Trivial case */                                                                                     \
  |  |  |  |  346|      8|      ((size) != 0) &&                                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  347|      8|      (                                                                                                      \
  |  |  |  |  348|      8|        /* Bad precondition */                                                                               \
  |  |  |  |  349|      8|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (349:9): [True: 0, False: 8]
  |  |  |  |  ------------------
  |  |  |  |  350|      8|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  |  |  351|      8|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  352|      8|        /* Typical overflow */                                                                               \
  |  |  |  |  353|      8|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (353:9): [True: 0, False: 8]
  |  |  |  |  ------------------
  |  |  |  |  354|      8|      )                                                                                                      \
  |  |  |  |  355|      8|    )
  |  |  ------------------
  |  |  |  Branch (365:5): [True: 0, False: 8]
  |  |  |  Branch (365:6): [True: 0, False: 8]
  |  |  ------------------
  ------------------
  256|      0|                HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  257|      8|            UINT32DECODE(*pp, dt->shared->u.atomic.u.f.ebias);
  ------------------
  |  |  179|      8|    do {                                                                                                     \
  |  |  180|      8|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  181|      8|        (p)++;                                                                                               \
  |  |  182|      8|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  183|      8|        (p)++;                                                                                               \
  |  |  184|      8|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  185|      8|        (p)++;                                                                                               \
  |  |  186|      8|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  187|      8|        (p)++;                                                                                               \
  |  |  188|      8|    } while (0)
  |  |  ------------------
  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  258|       |
  259|       |            /* Sanity check bits don't overlap */
  260|      8|            if (H5_RANGE_OVERLAP(dt->shared->u.atomic.u.f.sign, dt->shared->u.atomic.u.f.sign,
  ------------------
  |  |  315|      8|#define H5_RANGE_OVERLAP(L1, H1, L2, H2) (!((L1) > (H2) || (L2) > (H1)))
  |  |  ------------------
  |  |  |  Branch (315:45): [True: 8, False: 0]
  |  |  |  Branch (315:60): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  261|      8|                                 dt->shared->u.atomic.u.f.epos,
  262|      8|                                 ((dt->shared->u.atomic.u.f.epos + dt->shared->u.atomic.u.f.esize) - 1)))
  263|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_BADVALUE, FAIL, "exponent and sign positions overlap");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  264|      8|            if (H5_RANGE_OVERLAP(dt->shared->u.atomic.u.f.sign, dt->shared->u.atomic.u.f.sign,
  ------------------
  |  |  315|      8|#define H5_RANGE_OVERLAP(L1, H1, L2, H2) (!((L1) > (H2) || (L2) > (H1)))
  |  |  ------------------
  |  |  |  Branch (315:45): [True: 8, False: 0]
  |  |  |  Branch (315:60): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  265|      8|                                 dt->shared->u.atomic.u.f.mpos,
  266|      8|                                 ((dt->shared->u.atomic.u.f.mpos + dt->shared->u.atomic.u.f.msize) - 1)))
  267|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_BADVALUE, FAIL, "mantissa and sign positions overlap");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  268|      8|            if (H5_RANGE_OVERLAP(dt->shared->u.atomic.u.f.epos,
  ------------------
  |  |  315|      8|#define H5_RANGE_OVERLAP(L1, H1, L2, H2) (!((L1) > (H2) || (L2) > (H1)))
  |  |  ------------------
  |  |  |  Branch (315:45): [True: 8, False: 0]
  |  |  |  Branch (315:60): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  269|      8|                                 ((dt->shared->u.atomic.u.f.epos + dt->shared->u.atomic.u.f.esize) - 1),
  270|      8|                                 dt->shared->u.atomic.u.f.mpos,
  271|      8|                                 ((dt->shared->u.atomic.u.f.mpos + dt->shared->u.atomic.u.f.msize) - 1)))
  272|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_BADVALUE, FAIL, "mantissa and exponent positions overlap");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  273|      8|            break;
  274|       |
  275|      8|        case H5T_TIME:
  ------------------
  |  Branch (275:9): [True: 0, False: 114]
  ------------------
  276|       |            /*
  277|       |             * Time datatypes...
  278|       |             */
  279|      0|            dt->shared->u.atomic.order = (flags & 0x1) ? H5T_ORDER_BE : H5T_ORDER_LE;
  ------------------
  |  Branch (279:42): [True: 0, False: 0]
  ------------------
  280|      0|            if (H5_IS_KNOWN_BUFFER_OVERFLOW(skip, *pp, 2, p_end))
  ------------------
  |  |  365|      0|    (skip ? false : H5_IS_BUFFER_OVERFLOW(ptr, size, buffer_end))
  |  |  ------------------
  |  |  |  |  344|      0|    (                                                                                                        \
  |  |  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  347|      0|      (                                                                                                      \
  |  |  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  354|      0|      )                                                                                                      \
  |  |  |  |  355|      0|    )
  |  |  ------------------
  |  |  |  Branch (365:5): [True: 0, False: 0]
  |  |  |  Branch (365:6): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  281|      0|                HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  282|      0|            UINT16DECODE(*pp, dt->shared->u.atomic.prec);
  ------------------
  |  |  159|      0|    do {                                                                                                     \
  |  |  160|      0|        (i) = (uint16_t)(*(p)&0xff);                                                                         \
  |  |  161|      0|        (p)++;                                                                                               \
  |  |  162|      0|        (i) |= (uint16_t)((*(p)&0xff) << 8);                                                                 \
  |  |  163|      0|        (p)++;                                                                                               \
  |  |  164|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (164:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  283|      0|            break;
  284|       |
  285|     46|        case H5T_STRING:
  ------------------
  |  Branch (285:9): [True: 46, False: 68]
  ------------------
  286|       |            /*
  287|       |             * Character string types...
  288|       |             */
  289|     46|            dt->shared->u.atomic.order   = H5T_ORDER_NONE;
  290|     46|            dt->shared->u.atomic.prec    = 8 * dt->shared->size;
  291|     46|            dt->shared->u.atomic.offset  = 0;
  292|     46|            dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
  293|     46|            dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
  294|       |
  295|     46|            dt->shared->u.atomic.u.s.pad  = (H5T_str_t)(flags & 0x0f);
  296|     46|            dt->shared->u.atomic.u.s.cset = (H5T_cset_t)((flags >> 4) & 0x0f);
  297|     46|            break;
  298|       |
  299|      0|        case H5T_BITFIELD:
  ------------------
  |  Branch (299:9): [True: 0, False: 114]
  ------------------
  300|       |            /*
  301|       |             * Bit fields...
  302|       |             */
  303|      0|            dt->shared->u.atomic.order   = (flags & 0x1) ? H5T_ORDER_BE : H5T_ORDER_LE;
  ------------------
  |  Branch (303:44): [True: 0, False: 0]
  ------------------
  304|      0|            dt->shared->u.atomic.lsb_pad = (flags & 0x2) ? H5T_PAD_ONE : H5T_PAD_ZERO;
  ------------------
  |  Branch (304:44): [True: 0, False: 0]
  ------------------
  305|      0|            dt->shared->u.atomic.msb_pad = (flags & 0x4) ? H5T_PAD_ONE : H5T_PAD_ZERO;
  ------------------
  |  Branch (305:44): [True: 0, False: 0]
  ------------------
  306|      0|            if (H5_IS_KNOWN_BUFFER_OVERFLOW(skip, *pp, 2 + 2, p_end))
  ------------------
  |  |  365|      0|    (skip ? false : H5_IS_BUFFER_OVERFLOW(ptr, size, buffer_end))
  |  |  ------------------
  |  |  |  |  344|      0|    (                                                                                                        \
  |  |  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  347|      0|      (                                                                                                      \
  |  |  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  354|      0|      )                                                                                                      \
  |  |  |  |  355|      0|    )
  |  |  ------------------
  |  |  |  Branch (365:5): [True: 0, False: 0]
  |  |  |  Branch (365:6): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  307|      0|                HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  308|      0|            UINT16DECODE(*pp, dt->shared->u.atomic.offset);
  ------------------
  |  |  159|      0|    do {                                                                                                     \
  |  |  160|      0|        (i) = (uint16_t)(*(p)&0xff);                                                                         \
  |  |  161|      0|        (p)++;                                                                                               \
  |  |  162|      0|        (i) |= (uint16_t)((*(p)&0xff) << 8);                                                                 \
  |  |  163|      0|        (p)++;                                                                                               \
  |  |  164|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (164:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  309|      0|            UINT16DECODE(*pp, dt->shared->u.atomic.prec);
  ------------------
  |  |  159|      0|    do {                                                                                                     \
  |  |  160|      0|        (i) = (uint16_t)(*(p)&0xff);                                                                         \
  |  |  161|      0|        (p)++;                                                                                               \
  |  |  162|      0|        (i) |= (uint16_t)((*(p)&0xff) << 8);                                                                 \
  |  |  163|      0|        (p)++;                                                                                               \
  |  |  164|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (164:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  310|      0|            break;
  311|       |
  312|      0|        case H5T_OPAQUE: {
  ------------------
  |  Branch (312:9): [True: 0, False: 114]
  ------------------
  313|      0|            size_t z;
  314|       |
  315|       |            /*
  316|       |             * Opaque types...
  317|       |             */
  318|       |
  319|       |            /* The opaque tag flag field must be aligned */
  320|      0|            z = flags & (H5T_OPAQUE_TAG_MAX - 1);
  ------------------
  |  |  214|      0|#define H5T_OPAQUE_TAG_MAX 256
  ------------------
  321|      0|            if (0 != (z & 0x7))
  ------------------
  |  Branch (321:17): [True: 0, False: 0]
  ------------------
  322|      0|                HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, FAIL, "opaque flag field must be aligned");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  323|       |
  324|      0|            if (NULL == (dt->shared->u.opaque.tag = (char *)H5MM_malloc(z + 1)))
  ------------------
  |  |   38|      0|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  |  Branch (324:17): [True: 0, False: 0]
  ------------------
  325|      0|                HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  326|       |
  327|      0|            if (H5_IS_KNOWN_BUFFER_OVERFLOW(skip, *pp, z, p_end))
  ------------------
  |  |  365|      0|    (skip ? false : H5_IS_BUFFER_OVERFLOW(ptr, size, buffer_end))
  |  |  ------------------
  |  |  |  |  344|      0|    (                                                                                                        \
  |  |  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (346:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  347|      0|      (                                                                                                      \
  |  |  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (351:10): [True: 0, False: 0]
  |  |  |  |  |  Branch (351:45): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  354|      0|      )                                                                                                      \
  |  |  |  |  355|      0|    )
  |  |  ------------------
  |  |  |  Branch (365:5): [True: 0, False: 0]
  |  |  |  Branch (365:6): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  328|      0|                HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  329|      0|            H5MM_memcpy(dt->shared->u.opaque.tag, *pp, z);
  ------------------
  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  330|      0|            dt->shared->u.opaque.tag[z] = '\0';
  331|       |
  332|      0|            *pp += z;
  333|      0|            break;
  334|      0|        }
  335|       |
  336|      0|        case H5T_COMPOUND: {
  ------------------
  |  Branch (336:9): [True: 0, False: 114]
  ------------------
  337|      0|            unsigned nmembs;           /* Number of compound members */
  338|      0|            unsigned offset_nbytes;    /* Size needed to encode member offsets */
  339|      0|            size_t   max_memb_pos = 0; /* Maximum member covered, so far */
  340|      0|            unsigned max_version  = 0; /* Maximum member version */
  341|      0|            unsigned upgrade_to   = 0; /* Version number we can "soft" upgrade to */
  342|       |
  343|       |            /* Compute the # of bytes required to store a member offset */
  344|      0|            offset_nbytes = H5VM_limit_enc_size((uint64_t)dt->shared->size);
  345|       |
  346|       |            /*
  347|       |             * Compound datatypes...
  348|       |             */
  349|      0|            nmembs = flags & 0xffff;
  350|      0|            if (nmembs == 0)
  ------------------
  |  Branch (350:17): [True: 0, False: 0]
  ------------------
  351|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_BADVALUE, FAIL, "invalid number of members: %u", nmembs);
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  352|      0|            if (NULL ==
  ------------------
  |  Branch (352:17): [True: 0, False: 0]
  ------------------
  353|      0|                (dt->shared->u.compnd.memb = (H5T_cmemb_t *)H5MM_calloc(nmembs * sizeof(H5T_cmemb_t))))
  ------------------
  |  |   36|      0|#define H5MM_calloc(Z) calloc(1, Z)
  ------------------
  354|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTALLOC, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  355|      0|            dt->shared->u.compnd.nalloc = nmembs;
  356|       |
  357|      0|            if (dt->shared->u.compnd.memb_size != 0)
  ------------------
  |  Branch (357:17): [True: 0, False: 0]
  ------------------
  358|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_BADVALUE, FAIL, "member size not initialized to zero");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  359|       |
  360|      0|            for (dt->shared->u.compnd.nmembs = 0; dt->shared->u.compnd.nmembs < nmembs;
  ------------------
  |  Branch (360:51): [True: 0, False: 0]
  ------------------
  361|      0|                 dt->shared->u.compnd.nmembs++) {
  362|       |
  363|      0|                size_t   actual_name_length = 0; /* Actual length of name */
  364|      0|                unsigned ndims              = 0; /* Number of dimensions of the array field */
  365|      0|                htri_t   can_upgrade;            /* Whether we can upgrade this type's version */
  366|      0|                hsize_t  dim[H5O_LAYOUT_NDIMS];  /* Dimensions of the array */
  367|      0|                H5T_t   *array_dt;               /* Temporary pointer to the array datatype */
  368|      0|                H5T_t   *temp_type;              /* Temporary pointer to the field's datatype */
  369|      0|                unsigned memb_idx;               /* Local index counter */
  370|       |
  371|       |                /* Get the length of the field name */
  372|      0|                if (!skip) {
  ------------------
  |  Branch (372:21): [True: 0, False: 0]
  ------------------
  373|       |                    /* There is a realistic buffer end, so check bounds */
  374|       |
  375|      0|                    size_t max = (size_t)(p_end - *pp + 1); /* Max possible name length */
  376|       |
  377|      0|                    actual_name_length = strnlen((const char *)*pp, max);
  378|      0|                    if (actual_name_length == max)
  ------------------
  |  Branch (378:25): [True: 0, False: 0]
  ------------------
  379|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_NOSPACE, FAIL, "field name not null terminated");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  380|      0|                }
  381|      0|                else {
  382|       |                    /* The buffer end can't be determined when it's an unbounded buffer
  383|       |                     * passed via H5Tdecode(), so don't bounds check and hope for
  384|       |                     * the best.
  385|       |                     */
  386|      0|                    actual_name_length = strlen((const char *)*pp);
  387|      0|                }
  388|       |
  389|      0|                if (H5_IS_KNOWN_BUFFER_OVERFLOW(skip, *pp, actual_name_length, p_end))
  ------------------
  |  |  365|      0|    (skip ? false : H5_IS_BUFFER_OVERFLOW(ptr, size, buffer_end))
  |  |  ------------------
  |  |  |  |  344|      0|    (                                                                                                        \
  |  |  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (346:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  347|      0|      (                                                                                                      \
  |  |  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (351:10): [True: 0, False: 0]
  |  |  |  |  |  Branch (351:45): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  354|      0|      )                                                                                                      \
  |  |  |  |  355|      0|    )
  |  |  ------------------
  |  |  |  Branch (365:5): [True: 0, False: 0]
  |  |  |  Branch (365:6): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  390|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  391|       |
  392|       |                /* Check for duplicated field name */
  393|      0|                for (memb_idx = 0; memb_idx < dt->shared->u.compnd.nmembs; memb_idx++)
  ------------------
  |  Branch (393:36): [True: 0, False: 0]
  ------------------
  394|      0|                    if (0 == strcmp((const char *)*pp, dt->shared->u.compnd.memb[memb_idx].name))
  ------------------
  |  Branch (394:25): [True: 0, False: 0]
  ------------------
  395|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  396|      0|                                    "duplicated compound field name '%s', for fields %u and %u",
  397|      0|                                    (const char *)*pp, memb_idx, dt->shared->u.compnd.nmembs);
  398|       |
  399|       |                /* Decode the field name */
  400|      0|                if (NULL == (dt->shared->u.compnd.memb[dt->shared->u.compnd.nmembs].name =
  ------------------
  |  Branch (400:21): [True: 0, False: 0]
  ------------------
  401|      0|                                 H5MM_xstrdup((const char *)*pp)))
  402|      0|                    HGOTO_ERROR(H5E_RESOURCE, H5E_CANTCOPY, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  403|      0|                                "can't duplicate compound member name string");
  404|       |
  405|       |                /* Version 3 of the datatype message eliminated the padding to multiple of 8 bytes */
  406|      0|                if (version >= H5O_DTYPE_VERSION_3) {
  ------------------
  |  |   91|      0|#define H5O_DTYPE_VERSION_3 3
  ------------------
  |  Branch (406:21): [True: 0, False: 0]
  ------------------
  407|       |                    /* Advance past name, including null terminator */
  408|      0|                    if (H5_IS_KNOWN_BUFFER_OVERFLOW(skip, *pp, actual_name_length + 1, p_end))
  ------------------
  |  |  365|      0|    (skip ? false : H5_IS_BUFFER_OVERFLOW(ptr, size, buffer_end))
  |  |  ------------------
  |  |  |  |  344|      0|    (                                                                                                        \
  |  |  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (346:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  347|      0|      (                                                                                                      \
  |  |  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (351:10): [True: 0, False: 0]
  |  |  |  |  |  Branch (351:45): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  354|      0|      )                                                                                                      \
  |  |  |  |  355|      0|    )
  |  |  ------------------
  |  |  |  Branch (365:5): [True: 0, False: 0]
  |  |  |  Branch (365:6): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  409|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  410|      0|                                    "ran off end of input buffer while decoding");
  411|      0|                    *pp += actual_name_length + 1;
  412|      0|                }
  413|      0|                else {
  414|       |                    /* Advance multiple of 8 w/ null terminator */
  415|      0|                    if (H5_IS_KNOWN_BUFFER_OVERFLOW(skip, *pp, ((actual_name_length + 8) / 8) * 8, p_end))
  ------------------
  |  |  365|      0|    (skip ? false : H5_IS_BUFFER_OVERFLOW(ptr, size, buffer_end))
  |  |  ------------------
  |  |  |  |  344|      0|    (                                                                                                        \
  |  |  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (346:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  347|      0|      (                                                                                                      \
  |  |  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (351:10): [True: 0, False: 0]
  |  |  |  |  |  Branch (351:45): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  354|      0|      )                                                                                                      \
  |  |  |  |  355|      0|    )
  |  |  ------------------
  |  |  |  Branch (365:5): [True: 0, False: 0]
  |  |  |  Branch (365:6): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  416|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  417|      0|                                    "ran off end of input buffer while decoding");
  418|      0|                    *pp += ((actual_name_length + 8) / 8) * 8;
  419|      0|                }
  420|       |
  421|       |                /* Decode the field offset */
  422|       |                /* (starting with version 3 of the datatype message, use the minimum # of bytes required) */
  423|      0|                if (version >= H5O_DTYPE_VERSION_3) {
  ------------------
  |  |   91|      0|#define H5O_DTYPE_VERSION_3 3
  ------------------
  |  Branch (423:21): [True: 0, False: 0]
  ------------------
  424|      0|                    H5_GCC_CLANG_DIAG_OFF("type-limits")
  425|      0|                    if (H5_IS_KNOWN_BUFFER_OVERFLOW(skip, *pp, offset_nbytes, p_end))
  ------------------
  |  |  365|      0|    (skip ? false : H5_IS_BUFFER_OVERFLOW(ptr, size, buffer_end))
  |  |  ------------------
  |  |  |  |  344|      0|    (                                                                                                        \
  |  |  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (346:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  347|      0|      (                                                                                                      \
  |  |  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (351:10): [True: 0, False: 0]
  |  |  |  |  |  Branch (351:45): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  354|      0|      )                                                                                                      \
  |  |  |  |  355|      0|    )
  |  |  ------------------
  |  |  |  Branch (365:5): [True: 0, False: 0]
  |  |  |  Branch (365:6): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  426|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  427|      0|                                    "ran off end of input buffer while decoding");
  428|      0|                    H5_GCC_CLANG_DIAG_ON("type-limits")
  429|      0|                    UINT32DECODE_VAR(*pp, dt->shared->u.compnd.memb[dt->shared->u.compnd.nmembs].offset,
  ------------------
  |  |  205|      0|#define UINT32DECODE_VAR(p, n, l) DECODE_VAR(p, n, l)
  |  |  ------------------
  |  |  |  |  193|      0|    do {                                                                                                     \
  |  |  |  |  194|      0|        size_t _i;                                                                                           \
  |  |  |  |  195|      0|                                                                                                             \
  |  |  |  |  196|      0|        n = 0;                                                                                               \
  |  |  |  |  197|      0|        (p) += l;                                                                                            \
  |  |  |  |  198|      0|        for (_i = 0; _i < l; _i++)                                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (198:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  199|      0|            n = (n << 8) | *(--p);                                                                           \
  |  |  |  |  200|      0|        (p) += l;                                                                                            \
  |  |  |  |  201|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (201:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  430|      0|                                     offset_nbytes);
  431|      0|                }
  432|      0|                else {
  433|      0|                    if (H5_IS_KNOWN_BUFFER_OVERFLOW(skip, *pp, 4, p_end))
  ------------------
  |  |  365|      0|    (skip ? false : H5_IS_BUFFER_OVERFLOW(ptr, size, buffer_end))
  |  |  ------------------
  |  |  |  |  344|      0|    (                                                                                                        \
  |  |  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  347|      0|      (                                                                                                      \
  |  |  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  354|      0|      )                                                                                                      \
  |  |  |  |  355|      0|    )
  |  |  ------------------
  |  |  |  Branch (365:5): [True: 0, False: 0]
  |  |  |  Branch (365:6): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  434|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  435|      0|                                    "ran off end of input buffer while decoding");
  436|      0|                    UINT32DECODE(*pp, dt->shared->u.compnd.memb[dt->shared->u.compnd.nmembs].offset);
  ------------------
  |  |  179|      0|    do {                                                                                                     \
  |  |  180|      0|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  181|      0|        (p)++;                                                                                               \
  |  |  182|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  183|      0|        (p)++;                                                                                               \
  |  |  184|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  185|      0|        (p)++;                                                                                               \
  |  |  186|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  187|      0|        (p)++;                                                                                               \
  |  |  188|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  437|      0|                }
  438|       |
  439|       |                /* Older versions of the library allowed a field to have
  440|       |                 * intrinsic 'arrayness'.  Newer versions of the library
  441|       |                 * use the separate array datatypes. */
  442|      0|                if (version == H5O_DTYPE_VERSION_1) {
  ------------------
  |  |   77|      0|#define H5O_DTYPE_VERSION_1 1
  ------------------
  |  Branch (442:21): [True: 0, False: 0]
  ------------------
  443|       |                    /* Decode the number of dimensions */
  444|      0|                    if (H5_IS_KNOWN_BUFFER_OVERFLOW(skip, *pp, 1, p_end))
  ------------------
  |  |  365|      0|    (skip ? false : H5_IS_BUFFER_OVERFLOW(ptr, size, buffer_end))
  |  |  ------------------
  |  |  |  |  344|      0|    (                                                                                                        \
  |  |  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  347|      0|      (                                                                                                      \
  |  |  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  354|      0|      )                                                                                                      \
  |  |  |  |  355|      0|    )
  |  |  ------------------
  |  |  |  Branch (365:5): [True: 0, False: 0]
  |  |  |  Branch (365:6): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  445|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  446|      0|                                    "ran off end of input buffer while decoding");
  447|      0|                    ndims = *(*pp)++;
  448|       |
  449|       |                    /* Check that ndims is valid */
  450|      0|                    if (ndims > 4) {
  ------------------
  |  Branch (450:25): [True: 0, False: 0]
  ------------------
  451|      0|                        dt->shared->u.compnd.memb[dt->shared->u.compnd.nmembs].name =
  452|      0|                            H5MM_xfree(dt->shared->u.compnd.memb[dt->shared->u.compnd.nmembs].name);
  453|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_BADTYPE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  454|      0|                                    "invalid number of dimensions for array");
  455|      0|                    }
  456|       |
  457|       |                    /* Skip reserved bytes */
  458|      0|                    if (H5_IS_KNOWN_BUFFER_OVERFLOW(skip, *pp, 3, p_end))
  ------------------
  |  |  365|      0|    (skip ? false : H5_IS_BUFFER_OVERFLOW(ptr, size, buffer_end))
  |  |  ------------------
  |  |  |  |  344|      0|    (                                                                                                        \
  |  |  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  347|      0|      (                                                                                                      \
  |  |  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  354|      0|      )                                                                                                      \
  |  |  |  |  355|      0|    )
  |  |  ------------------
  |  |  |  Branch (365:5): [True: 0, False: 0]
  |  |  |  Branch (365:6): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  459|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  460|      0|                                    "ran off end of input buffer while decoding");
  461|      0|                    *pp += 3;
  462|       |
  463|       |                    /* Skip dimension permutation */
  464|      0|                    if (H5_IS_KNOWN_BUFFER_OVERFLOW(skip, *pp, 4, p_end))
  ------------------
  |  |  365|      0|    (skip ? false : H5_IS_BUFFER_OVERFLOW(ptr, size, buffer_end))
  |  |  ------------------
  |  |  |  |  344|      0|    (                                                                                                        \
  |  |  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  347|      0|      (                                                                                                      \
  |  |  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  354|      0|      )                                                                                                      \
  |  |  |  |  355|      0|    )
  |  |  ------------------
  |  |  |  Branch (365:5): [True: 0, False: 0]
  |  |  |  Branch (365:6): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  465|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  466|      0|                                    "ran off end of input buffer while decoding");
  467|      0|                    *pp += 4;
  468|       |
  469|       |                    /* Skip reserved bytes */
  470|      0|                    if (H5_IS_KNOWN_BUFFER_OVERFLOW(skip, *pp, 4, p_end))
  ------------------
  |  |  365|      0|    (skip ? false : H5_IS_BUFFER_OVERFLOW(ptr, size, buffer_end))
  |  |  ------------------
  |  |  |  |  344|      0|    (                                                                                                        \
  |  |  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  347|      0|      (                                                                                                      \
  |  |  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  354|      0|      )                                                                                                      \
  |  |  |  |  355|      0|    )
  |  |  ------------------
  |  |  |  Branch (365:5): [True: 0, False: 0]
  |  |  |  Branch (365:6): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  472|      0|                                    "ran off end of input buffer while decoding");
  473|      0|                    *pp += 4;
  474|       |
  475|       |                    /* Decode array dimension sizes */
  476|      0|                    if (H5_IS_KNOWN_BUFFER_OVERFLOW(skip, *pp, (4 * 4), p_end))
  ------------------
  |  |  365|      0|    (skip ? false : H5_IS_BUFFER_OVERFLOW(ptr, size, buffer_end))
  |  |  ------------------
  |  |  |  |  344|      0|    (                                                                                                        \
  |  |  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  347|      0|      (                                                                                                      \
  |  |  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  354|      0|      )                                                                                                      \
  |  |  |  |  355|      0|    )
  |  |  ------------------
  |  |  |  Branch (365:5): [True: 0, False: 0]
  |  |  |  Branch (365:6): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  477|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  478|      0|                                    "ran off end of input buffer while decoding");
  479|      0|                    for (int i = 0; i < 4; i++)
  ------------------
  |  Branch (479:37): [True: 0, False: 0]
  ------------------
  480|      0|                        UINT32DECODE(*pp, dim[i]);
  ------------------
  |  |  179|      0|    do {                                                                                                     \
  |  |  180|      0|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  181|      0|        (p)++;                                                                                               \
  |  |  182|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  183|      0|        (p)++;                                                                                               \
  |  |  184|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  185|      0|        (p)++;                                                                                               \
  |  |  186|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  187|      0|        (p)++;                                                                                               \
  |  |  188|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  481|      0|                }
  482|       |
  483|       |                /* Allocate space for the field's datatype */
  484|      0|                if (NULL == (temp_type = H5T__alloc())) {
  ------------------
  |  Branch (484:21): [True: 0, False: 0]
  ------------------
  485|      0|                    dt->shared->u.compnd.memb[dt->shared->u.compnd.nmembs].name =
  486|      0|                        H5MM_xfree(dt->shared->u.compnd.memb[dt->shared->u.compnd.nmembs].name);
  487|      0|                    HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  488|      0|                }
  489|       |
  490|       |                /* Decode the field's datatype information */
  491|      0|                if ((can_upgrade = H5O__dtype_decode_helper(ioflags, pp, temp_type, skip, p_end)) < 0) {
  ------------------
  |  Branch (491:21): [True: 0, False: 0]
  ------------------
  492|      0|                    dt->shared->u.compnd.memb[dt->shared->u.compnd.nmembs].name =
  493|      0|                        H5MM_xfree(dt->shared->u.compnd.memb[dt->shared->u.compnd.nmembs].name);
  494|      0|                    if (H5T_close_real(temp_type) < 0)
  ------------------
  |  Branch (494:25): [True: 0, False: 0]
  ------------------
  495|      0|                        HDONE_ERROR(H5E_DATATYPE, H5E_CANTRELEASE, FAIL, "can't release datatype info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  496|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_CANTDECODE, FAIL, "unable to decode member type");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  497|      0|                }
  498|      0|                if (temp_type->shared->size == 0)
  ------------------
  |  Branch (498:21): [True: 0, False: 0]
  ------------------
  499|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_CANTDECODE, FAIL, "type size can't be zero");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  500|      0|                if ((dt->shared->u.compnd.memb[dt->shared->u.compnd.nmembs].offset +
  ------------------
  |  Branch (500:21): [True: 0, False: 0]
  ------------------
  501|      0|                     temp_type->shared->size) > dt->shared->size) {
  502|      0|                    if (H5T_close_real(temp_type) < 0)
  ------------------
  |  Branch (502:25): [True: 0, False: 0]
  ------------------
  503|      0|                        HDONE_ERROR(H5E_DATATYPE, H5E_CANTRELEASE, FAIL, "can't release datatype info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  504|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_CANTDECODE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  505|      0|                                "member type extends outside its parent compound type");
  506|      0|                }
  507|       |
  508|       |                /* Upgrade the version if we can and it is necessary */
  509|      0|                if (can_upgrade && temp_type->shared->version > version) {
  ------------------
  |  Branch (509:21): [True: 0, False: 0]
  |  Branch (509:36): [True: 0, False: 0]
  ------------------
  510|      0|                    upgrade_to = temp_type->shared->version;
  511|       |
  512|       |                    /* Pass "can_upgrade" flag down to parent type */
  513|      0|                    ret_value = true;
  514|      0|                }
  515|       |
  516|       |                /* Go create the array datatype now, for older versions of the datatype message */
  517|      0|                if (version == H5O_DTYPE_VERSION_1) {
  ------------------
  |  |   77|      0|#define H5O_DTYPE_VERSION_1 1
  ------------------
  |  Branch (517:21): [True: 0, False: 0]
  ------------------
  518|       |                    /* Check if this member is an array field */
  519|      0|                    if (ndims > 0) {
  ------------------
  |  Branch (519:25): [True: 0, False: 0]
  ------------------
  520|       |                        /* Validate decoded dims */
  521|      0|                        for (unsigned u = 0; u < ndims; u++)
  ------------------
  |  Branch (521:46): [True: 0, False: 0]
  ------------------
  522|      0|                            if (!(dim[u] > 0)) {
  ------------------
  |  Branch (522:33): [True: 0, False: 0]
  ------------------
  523|      0|                                dt->shared->u.compnd.memb[dt->shared->u.compnd.nmembs].name =
  524|      0|                                    H5MM_xfree(dt->shared->u.compnd.memb[dt->shared->u.compnd.nmembs].name);
  525|      0|                                if (H5T_close_real(temp_type) < 0)
  ------------------
  |  Branch (525:37): [True: 0, False: 0]
  ------------------
  526|      0|                                    HDONE_ERROR(H5E_DATATYPE, H5E_CANTRELEASE, FAIL,
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  527|      0|                                                "can't release datatype info");
  528|      0|                                HGOTO_ERROR(H5E_DATATYPE, H5E_BADVALUE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  529|      0|                                            "zero-sized dimension specified");
  530|      0|                            }
  531|       |
  532|       |                        /* Create the array datatype for the field */
  533|      0|                        if ((array_dt = H5T__array_create(temp_type, ndims, dim)) == NULL) {
  ------------------
  |  Branch (533:29): [True: 0, False: 0]
  ------------------
  534|      0|                            dt->shared->u.compnd.memb[dt->shared->u.compnd.nmembs].name =
  535|      0|                                H5MM_xfree(dt->shared->u.compnd.memb[dt->shared->u.compnd.nmembs].name);
  536|      0|                            if (H5T_close_real(temp_type) < 0)
  ------------------
  |  Branch (536:33): [True: 0, False: 0]
  ------------------
  537|      0|                                HDONE_ERROR(H5E_DATATYPE, H5E_CANTRELEASE, FAIL,
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  538|      0|                                            "can't release datatype info");
  539|      0|                            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  540|      0|                                        "unable to create array datatype");
  541|      0|                        }
  542|       |
  543|       |                        /* Close the base type for the array */
  544|      0|                        if (H5T_close_real(temp_type) < 0) {
  ------------------
  |  Branch (544:29): [True: 0, False: 0]
  ------------------
  545|      0|                            dt->shared->u.compnd.memb[dt->shared->u.compnd.nmembs].name =
  546|      0|                                H5MM_xfree(dt->shared->u.compnd.memb[dt->shared->u.compnd.nmembs].name);
  547|      0|                            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTRELEASE, FAIL, "can't release datatype info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  548|      0|                        }
  549|       |
  550|       |                        /* Make the array type the type that is set for the field */
  551|      0|                        temp_type = array_dt;
  552|       |
  553|       |                        /* Reset array version if NOCHANGE is specified (i.e. h5debug) */
  554|      0|                        if (*ioflags & H5O_DECODEIO_NOCHANGE)
  ------------------
  |  |  151|      0|#define H5O_DECODEIO_NOCHANGE 0x01u /* IN: do not modify values */
  ------------------
  |  Branch (554:29): [True: 0, False: 0]
  ------------------
  555|      0|                            temp_type->shared->version = H5O_DTYPE_VERSION_1;
  ------------------
  |  |   77|      0|#define H5O_DTYPE_VERSION_1 1
  ------------------
  556|      0|                        else {
  557|       |                            /* Otherwise upgrade the compound version */
  558|      0|                            if (upgrade_to < temp_type->shared->version)
  ------------------
  |  Branch (558:33): [True: 0, False: 0]
  ------------------
  559|      0|                                upgrade_to = temp_type->shared->version;
  560|       |
  561|       |                            /* Set the return value to indicate that we should freely
  562|       |                             * upgrade parent types */
  563|      0|                            ret_value = true;
  564|      0|                        }
  565|      0|                    }
  566|      0|                }
  567|       |
  568|       |                /* Keep track of the maximum member version found */
  569|      0|                if (temp_type->shared->version > max_version)
  ------------------
  |  Branch (569:21): [True: 0, False: 0]
  ------------------
  570|      0|                    max_version = temp_type->shared->version;
  571|       |
  572|       |                /* Set the "force conversion" flag if VL datatype fields exist in this
  573|       |                 * type or any component types
  574|       |                 */
  575|      0|                if (temp_type->shared->force_conv == true)
  ------------------
  |  Branch (575:21): [True: 0, False: 0]
  ------------------
  576|      0|                    dt->shared->force_conv = true;
  577|       |
  578|       |                /* Member size */
  579|      0|                dt->shared->u.compnd.memb[dt->shared->u.compnd.nmembs].size = temp_type->shared->size;
  580|      0|                dt->shared->u.compnd.memb_size += temp_type->shared->size;
  581|       |
  582|       |                /* Set the field datatype (finally :-) */
  583|      0|                dt->shared->u.compnd.memb[dt->shared->u.compnd.nmembs].type = temp_type;
  584|       |
  585|       |                /* Check if this field overlaps with a prior field
  586|       |                 * (probably indicates that the file is corrupt)
  587|       |                 */
  588|      0|                if (dt->shared->u.compnd.nmembs > 0 &&
  ------------------
  |  Branch (588:21): [True: 0, False: 0]
  ------------------
  589|      0|                    dt->shared->u.compnd.memb[dt->shared->u.compnd.nmembs].offset < max_memb_pos) {
  ------------------
  |  Branch (589:21): [True: 0, False: 0]
  ------------------
  590|      0|                    for (unsigned u = 0; u < dt->shared->u.compnd.nmembs; u++)
  ------------------
  |  Branch (590:42): [True: 0, False: 0]
  ------------------
  591|      0|                        if ((dt->shared->u.compnd.memb[dt->shared->u.compnd.nmembs].offset >=
  ------------------
  |  Branch (591:30): [True: 0, False: 0]
  ------------------
  592|      0|                                 dt->shared->u.compnd.memb[u].offset &&
  593|      0|                             dt->shared->u.compnd.memb[dt->shared->u.compnd.nmembs].offset <
  ------------------
  |  Branch (593:30): [True: 0, False: 0]
  ------------------
  594|      0|                                 (dt->shared->u.compnd.memb[u].offset + dt->shared->u.compnd.memb[u].size)) ||
  595|      0|                            (dt->shared->u.compnd.memb[dt->shared->u.compnd.nmembs].offset <
  ------------------
  |  Branch (595:30): [True: 0, False: 0]
  ------------------
  596|      0|                                 dt->shared->u.compnd.memb[u].offset &&
  597|      0|                             (dt->shared->u.compnd.memb[dt->shared->u.compnd.nmembs].offset +
  ------------------
  |  Branch (597:30): [True: 0, False: 0]
  ------------------
  598|      0|                              dt->shared->u.compnd.memb[dt->shared->u.compnd.nmembs].size) >
  599|      0|                                 dt->shared->u.compnd.memb[u].offset))
  600|      0|                            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTDECODE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  601|      0|                                        "member overlaps with previous member");
  602|      0|                }
  603|       |
  604|       |                /* Update the maximum member position covered */
  605|      0|                max_memb_pos =
  606|      0|                    MAX(max_memb_pos, (dt->shared->u.compnd.memb[dt->shared->u.compnd.nmembs].offset +
  ------------------
  |  |  300|      0|#define MAX(a, b)        (((a) > (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (300:27): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  607|      0|                                       dt->shared->u.compnd.memb[dt->shared->u.compnd.nmembs].size));
  608|      0|            }
  609|       |
  610|       |            /* Check if the compound type is packed */
  611|      0|            H5T__update_packed(dt);
  612|       |
  613|       |            /* Upgrade the compound if requested */
  614|      0|            if (version < upgrade_to) {
  ------------------
  |  Branch (614:17): [True: 0, False: 0]
  ------------------
  615|      0|                version = upgrade_to;
  616|      0|                if (H5T__upgrade_version(dt, upgrade_to) < 0)
  ------------------
  |  Branch (616:21): [True: 0, False: 0]
  ------------------
  617|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_CANTSET, FAIL, "can't upgrade compound encoding version");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  618|       |                /* We won't mark the message dirty since there were no
  619|       |                 * errors in the file, simply type versions that we will no
  620|       |                 * longer encode. */
  621|      0|            }
  622|       |
  623|       |            /* Check that no member of this compound has a version greater
  624|       |             * than the compound itself. */
  625|      0|            H5O_DTYPE_CHECK_VERSION(dt, version, max_version, ioflags, "compound", FAIL)
  ------------------
  |  |   70|      0|    if (((VERS) < (MIN_VERS)) && !(*(IOF)&H5O_DECODEIO_NOCHANGE))                                            \
  |  |  ------------------
  |  |  |  |  151|      0|#define H5O_DECODEIO_NOCHANGE 0x01u /* IN: do not modify values */
  |  |  ------------------
  |  |  |  Branch (70:9): [True: 0, False: 0]
  |  |  |  Branch (70:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   71|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_VERSION, ERR, "incorrect " CLASS " datatype version");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  626|      0|        } break;
  627|       |
  628|      7|        case H5T_REFERENCE:
  ------------------
  |  Branch (628:9): [True: 7, False: 107]
  ------------------
  629|       |            /*
  630|       |             * Reference datatypes...
  631|       |             */
  632|      7|            dt->shared->u.atomic.order   = H5T_ORDER_NONE;
  633|      7|            dt->shared->u.atomic.prec    = 8 * dt->shared->size;
  634|      7|            dt->shared->u.atomic.offset  = 0;
  635|      7|            dt->shared->u.atomic.lsb_pad = H5T_PAD_ZERO;
  636|      7|            dt->shared->u.atomic.msb_pad = H5T_PAD_ZERO;
  637|       |
  638|       |            /* Set reference type */
  639|      7|            dt->shared->u.atomic.u.r.rtype = (H5R_type_t)(flags & 0x0f);
  640|      7|            if (dt->shared->u.atomic.u.r.rtype <= H5R_BADTYPE ||
  ------------------
  |  Branch (640:17): [True: 0, False: 7]
  ------------------
  641|      7|                dt->shared->u.atomic.u.r.rtype >= H5R_MAXTYPE)
  ------------------
  |  Branch (641:17): [True: 0, False: 7]
  ------------------
  642|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTDECODE, FAIL, "invalid reference type");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  643|       |
  644|       |            /* Set generic flag */
  645|      7|            if (dt->shared->u.atomic.u.r.rtype == H5R_OBJECT2 ||
  ------------------
  |  Branch (645:17): [True: 0, False: 7]
  ------------------
  646|      7|                dt->shared->u.atomic.u.r.rtype == H5R_DATASET_REGION2 ||
  ------------------
  |  Branch (646:17): [True: 0, False: 7]
  ------------------
  647|      7|                dt->shared->u.atomic.u.r.rtype == H5R_ATTR) {
  ------------------
  |  Branch (647:17): [True: 0, False: 7]
  ------------------
  648|      0|                dt->shared->u.atomic.u.r.opaque  = true;
  649|      0|                dt->shared->u.atomic.u.r.version = (unsigned)((flags >> 4) & 0x0f);
  650|      0|                if (dt->shared->u.atomic.u.r.version != H5R_ENCODE_VERSION)
  ------------------
  |  |   27|      0|#define H5R_ENCODE_VERSION 0x1 /* Version for encoding references */
  ------------------
  |  Branch (650:21): [True: 0, False: 0]
  ------------------
  651|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_CANTDECODE, FAIL, "reference version does not match");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  652|      0|            }
  653|      7|            else
  654|      7|                dt->shared->u.atomic.u.r.opaque = false;
  655|       |
  656|       |            /* This type needs conversion */
  657|      7|            dt->shared->force_conv = true;
  658|       |
  659|       |            /* Mark location of this type as undefined for now.  The caller
  660|       |             * function should decide the location. */
  661|      7|            if (H5T_set_loc(dt, NULL, H5T_LOC_BADLOC) < 0)
  ------------------
  |  Branch (661:17): [True: 0, False: 7]
  ------------------
  662|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  663|      7|            break;
  664|       |
  665|      7|        case H5T_ENUM: {
  ------------------
  |  Branch (665:9): [True: 0, False: 114]
  ------------------
  666|      0|            unsigned nmembs;
  667|       |
  668|       |            /*
  669|       |             * Enumeration datatypes...
  670|       |             */
  671|      0|            nmembs = flags & 0xffff;
  672|      0|            if (NULL == (dt->shared->parent = H5T__alloc()))
  ------------------
  |  Branch (672:17): [True: 0, False: 0]
  ------------------
  673|      0|                HGOTO_ERROR(H5E_RESOURCE, H5E_CANTALLOC, FAIL, "can't allocate parent datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  674|      0|            if (H5O__dtype_decode_helper(ioflags, pp, dt->shared->parent, skip, p_end) < 0)
  ------------------
  |  Branch (674:17): [True: 0, False: 0]
  ------------------
  675|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTDECODE, FAIL, "unable to decode parent datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  676|      0|            if (dt->shared->parent->shared->size != dt->shared->size)
  ------------------
  |  Branch (676:17): [True: 0, False: 0]
  ------------------
  677|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_BADSIZE, FAIL, "ENUM datatype size does not match parent");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  678|       |
  679|       |            /* Check if the parent of this enum has a version greater than the
  680|       |             * enum itself. */
  681|      0|            H5O_DTYPE_CHECK_VERSION(dt, version, dt->shared->parent->shared->version, ioflags, "enum", FAIL)
  ------------------
  |  |   70|      0|    if (((VERS) < (MIN_VERS)) && !(*(IOF)&H5O_DECODEIO_NOCHANGE))                                            \
  |  |  ------------------
  |  |  |  |  151|      0|#define H5O_DECODEIO_NOCHANGE 0x01u /* IN: do not modify values */
  |  |  ------------------
  |  |  |  Branch (70:9): [True: 0, False: 0]
  |  |  |  Branch (70:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   71|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_VERSION, ERR, "incorrect " CLASS " datatype version");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  682|       |
  683|       |            /* Allocate name and value arrays */
  684|      0|            if (NULL == (dt->shared->u.enumer.name = (char **)H5MM_calloc(nmembs * sizeof(char *))) ||
  ------------------
  |  |   36|      0|#define H5MM_calloc(Z) calloc(1, Z)
  ------------------
  |  Branch (684:17): [True: 0, False: 0]
  ------------------
  685|      0|                NULL == (dt->shared->u.enumer.value =
  ------------------
  |  Branch (685:17): [True: 0, False: 0]
  ------------------
  686|      0|                             (uint8_t *)H5MM_calloc(nmembs * dt->shared->parent->shared->size)))
  ------------------
  |  |   36|      0|#define H5MM_calloc(Z) calloc(1, Z)
  ------------------
  687|      0|                HGOTO_ERROR(H5E_RESOURCE, H5E_CANTALLOC, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  688|      0|            dt->shared->u.enumer.nalloc = nmembs;
  689|       |
  690|       |            /* Names */
  691|      0|            for (dt->shared->u.enumer.nmembs = 0; dt->shared->u.enumer.nmembs < nmembs;
  ------------------
  |  Branch (691:51): [True: 0, False: 0]
  ------------------
  692|      0|                 dt->shared->u.enumer.nmembs++) {
  693|       |
  694|      0|                size_t actual_name_length = 0; /* Actual length of name */
  695|       |
  696|       |                /* Get the length of the enum name */
  697|      0|                if (!skip) {
  ------------------
  |  Branch (697:21): [True: 0, False: 0]
  ------------------
  698|       |                    /* There is a realistic buffer end, so check bounds */
  699|       |
  700|      0|                    size_t max = (size_t)(p_end - *pp + 1); /* Max possible name length */
  701|       |
  702|      0|                    actual_name_length = strnlen((const char *)*pp, max);
  703|      0|                    if (actual_name_length == max)
  ------------------
  |  Branch (703:25): [True: 0, False: 0]
  ------------------
  704|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_NOSPACE, FAIL, "enum name not null terminated");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  705|      0|                }
  706|      0|                else {
  707|       |                    /* The buffer end can't be determined when it's an unbounded buffer
  708|       |                     * passed via H5Tdecode(), so don't bounds check and hope for
  709|       |                     * the best.
  710|       |                     */
  711|      0|                    actual_name_length = strlen((const char *)*pp);
  712|      0|                }
  713|      0|                if (0 == actual_name_length)
  ------------------
  |  Branch (713:21): [True: 0, False: 0]
  ------------------
  714|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_BADSIZE, FAIL, "0 length enum name");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  715|       |
  716|      0|                if (H5_IS_KNOWN_BUFFER_OVERFLOW(skip, *pp, actual_name_length, p_end))
  ------------------
  |  |  365|      0|    (skip ? false : H5_IS_BUFFER_OVERFLOW(ptr, size, buffer_end))
  |  |  ------------------
  |  |  |  |  344|      0|    (                                                                                                        \
  |  |  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (346:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  347|      0|      (                                                                                                      \
  |  |  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (351:10): [True: 0, False: 0]
  |  |  |  |  |  Branch (351:45): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  354|      0|      )                                                                                                      \
  |  |  |  |  355|      0|    )
  |  |  ------------------
  |  |  |  Branch (365:5): [True: 0, False: 0]
  |  |  |  Branch (365:6): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  717|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  718|      0|                if (NULL == (dt->shared->u.enumer.name[dt->shared->u.enumer.nmembs] =
  ------------------
  |  Branch (718:21): [True: 0, False: 0]
  ------------------
  719|      0|                                 H5MM_xstrdup((const char *)*pp)))
  720|      0|                    HGOTO_ERROR(H5E_RESOURCE, H5E_CANTCOPY, FAIL, "can't duplicate enum name string");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  721|       |
  722|       |                /* Version 3 of the datatype message eliminated the padding to multiple of 8 bytes */
  723|      0|                if (version >= H5O_DTYPE_VERSION_3) {
  ------------------
  |  |   91|      0|#define H5O_DTYPE_VERSION_3 3
  ------------------
  |  Branch (723:21): [True: 0, False: 0]
  ------------------
  724|       |                    /* Advance past name, including null terminator */
  725|      0|                    if (H5_IS_KNOWN_BUFFER_OVERFLOW(skip, *pp, actual_name_length + 1, p_end))
  ------------------
  |  |  365|      0|    (skip ? false : H5_IS_BUFFER_OVERFLOW(ptr, size, buffer_end))
  |  |  ------------------
  |  |  |  |  344|      0|    (                                                                                                        \
  |  |  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (346:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  347|      0|      (                                                                                                      \
  |  |  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (351:10): [True: 0, False: 0]
  |  |  |  |  |  Branch (351:45): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  354|      0|      )                                                                                                      \
  |  |  |  |  355|      0|    )
  |  |  ------------------
  |  |  |  Branch (365:5): [True: 0, False: 0]
  |  |  |  Branch (365:6): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  726|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  727|      0|                                    "ran off end of input buffer while decoding");
  728|      0|                    *pp += actual_name_length + 1;
  729|      0|                }
  730|      0|                else {
  731|       |                    /* Advance multiple of 8 w/ null terminator */
  732|      0|                    if (H5_IS_KNOWN_BUFFER_OVERFLOW(skip, *pp, ((actual_name_length + 8) / 8) * 8, p_end))
  ------------------
  |  |  365|      0|    (skip ? false : H5_IS_BUFFER_OVERFLOW(ptr, size, buffer_end))
  |  |  ------------------
  |  |  |  |  344|      0|    (                                                                                                        \
  |  |  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (346:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  347|      0|      (                                                                                                      \
  |  |  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (351:10): [True: 0, False: 0]
  |  |  |  |  |  Branch (351:45): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  354|      0|      )                                                                                                      \
  |  |  |  |  355|      0|    )
  |  |  ------------------
  |  |  |  Branch (365:5): [True: 0, False: 0]
  |  |  |  Branch (365:6): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  733|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  734|      0|                                    "ran off end of input buffer while decoding");
  735|      0|                    *pp += ((actual_name_length + 8) / 8) * 8;
  736|      0|                }
  737|      0|            }
  738|      0|            if (dt->shared->u.enumer.nmembs != nmembs)
  ------------------
  |  Branch (738:17): [True: 0, False: 0]
  ------------------
  739|      0|                HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "incorrect number of enum members decoded");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  740|       |
  741|       |            /* Values */
  742|      0|            if (H5_IS_KNOWN_BUFFER_OVERFLOW(skip, *pp, nmembs * dt->shared->parent->shared->size, p_end))
  ------------------
  |  |  365|      0|    (skip ? false : H5_IS_BUFFER_OVERFLOW(ptr, size, buffer_end))
  |  |  ------------------
  |  |  |  |  344|      0|    (                                                                                                        \
  |  |  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (346:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  347|      0|      (                                                                                                      \
  |  |  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (351:10): [True: 0, False: 0]
  |  |  |  |  |  Branch (351:45): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  354|      0|      )                                                                                                      \
  |  |  |  |  355|      0|    )
  |  |  ------------------
  |  |  |  Branch (365:5): [True: 0, False: 0]
  |  |  |  Branch (365:6): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  743|      0|                HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  744|      0|            H5MM_memcpy(dt->shared->u.enumer.value, *pp, nmembs * dt->shared->parent->shared->size);
  ------------------
  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  745|      0|            *pp += nmembs * dt->shared->parent->shared->size;
  746|      0|        } break;
  747|       |
  748|      3|        case H5T_VLEN:
  ------------------
  |  Branch (748:9): [True: 3, False: 111]
  ------------------
  749|       |            /*
  750|       |             * Variable length datatypes...
  751|       |             */
  752|       |            /* Set the type of VL information, either sequence or string */
  753|      3|            dt->shared->u.vlen.type = (H5T_vlen_type_t)(flags & 0x0f);
  754|      3|            if (dt->shared->u.vlen.type == H5T_VLEN_STRING) {
  ------------------
  |  Branch (754:17): [True: 0, False: 3]
  ------------------
  755|      0|                dt->shared->u.vlen.pad  = (H5T_str_t)((flags >> 4) & 0x0f);
  756|      0|                dt->shared->u.vlen.cset = (H5T_cset_t)((flags >> 8) & 0x0f);
  757|      0|            }
  758|       |
  759|       |            /* Decode base type of VL information */
  760|      3|            if (NULL == (dt->shared->parent = H5T__alloc()))
  ------------------
  |  Branch (760:17): [True: 0, False: 3]
  ------------------
  761|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  762|      3|            if (H5O__dtype_decode_helper(ioflags, pp, dt->shared->parent, skip, p_end) < 0)
  ------------------
  |  Branch (762:17): [True: 0, False: 3]
  ------------------
  763|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTDECODE, FAIL, "unable to decode VL parent type");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  764|       |
  765|       |            /* Check if the parent of this vlen has a version greater than the
  766|       |             * vlen itself. */
  767|      3|            H5O_DTYPE_CHECK_VERSION(dt, version, dt->shared->parent->shared->version, ioflags, "vlen", FAIL)
  ------------------
  |  |   70|      3|    if (((VERS) < (MIN_VERS)) && !(*(IOF)&H5O_DECODEIO_NOCHANGE))                                            \
  |  |  ------------------
  |  |  |  |  151|      0|#define H5O_DECODEIO_NOCHANGE 0x01u /* IN: do not modify values */
  |  |  ------------------
  |  |  |  Branch (70:9): [True: 0, False: 3]
  |  |  |  Branch (70:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   71|      3|        HGOTO_ERROR(H5E_DATATYPE, H5E_VERSION, ERR, "incorrect " CLASS " datatype version");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  768|       |
  769|      3|            dt->shared->force_conv = true;
  770|       |
  771|       |            /* Mark location this type as undefined for now.  The caller function should
  772|       |             * decide the location. */
  773|      3|            if (H5T_set_loc(dt, NULL, H5T_LOC_BADLOC) < 0)
  ------------------
  |  Branch (773:17): [True: 0, False: 3]
  ------------------
  774|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  775|      3|            break;
  776|       |
  777|      3|        case H5T_ARRAY:
  ------------------
  |  Branch (777:9): [True: 0, False: 114]
  ------------------
  778|       |            /*
  779|       |             * Array datatypes...
  780|       |             */
  781|       |            /* Decode the number of dimensions */
  782|      0|            if (H5_IS_KNOWN_BUFFER_OVERFLOW(skip, *pp, 1, p_end))
  ------------------
  |  |  365|      0|    (skip ? false : H5_IS_BUFFER_OVERFLOW(ptr, size, buffer_end))
  |  |  ------------------
  |  |  |  |  344|      0|    (                                                                                                        \
  |  |  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  347|      0|      (                                                                                                      \
  |  |  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  354|      0|      )                                                                                                      \
  |  |  |  |  355|      0|    )
  |  |  ------------------
  |  |  |  Branch (365:5): [True: 0, False: 0]
  |  |  |  Branch (365:6): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  783|      0|                HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  784|      0|            dt->shared->u.array.ndims = *(*pp)++;
  785|       |
  786|       |            /* Double-check the number of dimensions */
  787|      0|            if (dt->shared->u.array.ndims > H5S_MAX_RANK)
  ------------------
  |  |   53|      0|#define H5S_MAX_RANK 32
  ------------------
  |  Branch (787:17): [True: 0, False: 0]
  ------------------
  788|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTLOAD, FAIL, "too many dimensions for array datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  789|       |
  790|       |            /* Skip reserved bytes, if version has them */
  791|      0|            if (version < H5O_DTYPE_VERSION_3) {
  ------------------
  |  |   91|      0|#define H5O_DTYPE_VERSION_3 3
  ------------------
  |  Branch (791:17): [True: 0, False: 0]
  ------------------
  792|      0|                if (H5_IS_KNOWN_BUFFER_OVERFLOW(skip, *pp, 3, p_end))
  ------------------
  |  |  365|      0|    (skip ? false : H5_IS_BUFFER_OVERFLOW(ptr, size, buffer_end))
  |  |  ------------------
  |  |  |  |  344|      0|    (                                                                                                        \
  |  |  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  347|      0|      (                                                                                                      \
  |  |  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  354|      0|      )                                                                                                      \
  |  |  |  |  355|      0|    )
  |  |  ------------------
  |  |  |  Branch (365:5): [True: 0, False: 0]
  |  |  |  Branch (365:6): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  793|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  794|      0|                *pp += 3;
  795|      0|            }
  796|       |
  797|       |            /* Decode array dimension sizes & compute number of elements */
  798|      0|            dt->shared->u.array.nelem = 1;
  799|      0|            if (H5_IS_KNOWN_BUFFER_OVERFLOW(skip, *pp, (dt->shared->u.array.ndims * 4), p_end))
  ------------------
  |  |  365|      0|    (skip ? false : H5_IS_BUFFER_OVERFLOW(ptr, size, buffer_end))
  |  |  ------------------
  |  |  |  |  344|      0|    (                                                                                                        \
  |  |  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (346:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  347|      0|      (                                                                                                      \
  |  |  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (351:10): [True: 0, False: 0]
  |  |  |  |  |  Branch (351:45): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  354|      0|      )                                                                                                      \
  |  |  |  |  355|      0|    )
  |  |  ------------------
  |  |  |  Branch (365:5): [True: 0, False: 0]
  |  |  |  Branch (365:6): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  800|      0|                HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  801|      0|            for (unsigned u = 0; u < dt->shared->u.array.ndims; u++) {
  ------------------
  |  Branch (801:34): [True: 0, False: 0]
  ------------------
  802|      0|                UINT32DECODE(*pp, dt->shared->u.array.dim[u]);
  ------------------
  |  |  179|      0|    do {                                                                                                     \
  |  |  180|      0|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  181|      0|        (p)++;                                                                                               \
  |  |  182|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  183|      0|        (p)++;                                                                                               \
  |  |  184|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  185|      0|        (p)++;                                                                                               \
  |  |  186|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  187|      0|        (p)++;                                                                                               \
  |  |  188|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  803|      0|                dt->shared->u.array.nelem *= dt->shared->u.array.dim[u];
  804|      0|            }
  805|       |
  806|       |            /* Skip array dimension permutations, if version has them */
  807|      0|            if (version < H5O_DTYPE_VERSION_3) {
  ------------------
  |  |   91|      0|#define H5O_DTYPE_VERSION_3 3
  ------------------
  |  Branch (807:17): [True: 0, False: 0]
  ------------------
  808|      0|                if (H5_IS_KNOWN_BUFFER_OVERFLOW(skip, *pp, (dt->shared->u.array.ndims * 4), p_end))
  ------------------
  |  |  365|      0|    (skip ? false : H5_IS_BUFFER_OVERFLOW(ptr, size, buffer_end))
  |  |  ------------------
  |  |  |  |  344|      0|    (                                                                                                        \
  |  |  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (346:7): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  347|      0|      (                                                                                                      \
  |  |  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (351:10): [True: 0, False: 0]
  |  |  |  |  |  Branch (351:45): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  354|      0|      )                                                                                                      \
  |  |  |  |  355|      0|    )
  |  |  ------------------
  |  |  |  Branch (365:5): [True: 0, False: 0]
  |  |  |  Branch (365:6): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  809|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, FAIL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  810|      0|                *pp += dt->shared->u.array.ndims * 4;
  811|      0|            }
  812|       |
  813|       |            /* Decode base type of array */
  814|      0|            if (NULL == (dt->shared->parent = H5T__alloc()))
  ------------------
  |  Branch (814:17): [True: 0, False: 0]
  ------------------
  815|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  816|      0|            if (H5O__dtype_decode_helper(ioflags, pp, dt->shared->parent, skip, p_end) < 0)
  ------------------
  |  Branch (816:17): [True: 0, False: 0]
  ------------------
  817|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTDECODE, FAIL, "unable to decode array parent type");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  818|       |
  819|       |            /* Check if the parent of this array has a version greater than the
  820|       |             * array itself. */
  821|      0|            H5O_DTYPE_CHECK_VERSION(dt, version, dt->shared->parent->shared->version, ioflags, "array", FAIL)
  ------------------
  |  |   70|      0|    if (((VERS) < (MIN_VERS)) && !(*(IOF)&H5O_DECODEIO_NOCHANGE))                                            \
  |  |  ------------------
  |  |  |  |  151|      0|#define H5O_DECODEIO_NOCHANGE 0x01u /* IN: do not modify values */
  |  |  ------------------
  |  |  |  Branch (70:9): [True: 0, False: 0]
  |  |  |  Branch (70:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   71|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_VERSION, ERR, "incorrect " CLASS " datatype version");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  822|       |
  823|       |            /* There should be no array datatypes with version < 2. */
  824|      0|            H5O_DTYPE_CHECK_VERSION(dt, version, H5O_DTYPE_VERSION_2, ioflags, "array", FAIL)
  ------------------
  |  |   70|      0|    if (((VERS) < (MIN_VERS)) && !(*(IOF)&H5O_DECODEIO_NOCHANGE))                                            \
  |  |  ------------------
  |  |  |  |  151|      0|#define H5O_DECODEIO_NOCHANGE 0x01u /* IN: do not modify values */
  |  |  ------------------
  |  |  |  Branch (70:9): [True: 0, False: 0]
  |  |  |  Branch (70:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   71|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_VERSION, ERR, "incorrect " CLASS " datatype version");
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  825|       |
  826|       |            /* Set the "force conversion" flag if a VL base datatype is used or
  827|       |             * or if any components of the base datatype are VL types.
  828|       |             */
  829|      0|            if (dt->shared->parent->shared->force_conv == true)
  ------------------
  |  Branch (829:17): [True: 0, False: 0]
  ------------------
  830|      0|                dt->shared->force_conv = true;
  831|      0|            break;
  832|       |
  833|      0|        case H5T_NO_CLASS:
  ------------------
  |  Branch (833:9): [True: 0, False: 114]
  ------------------
  834|      0|        case H5T_NCLASSES:
  ------------------
  |  Branch (834:9): [True: 0, False: 114]
  ------------------
  835|      0|        default:
  ------------------
  |  Branch (835:9): [True: 0, False: 114]
  ------------------
  836|      0|            HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown datatype class found");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  837|    114|    }
  838|       |
  839|       |    /* Check for numeric type w/unusual # of unused bits */
  840|     93|    if (H5T_is_numeric_with_unusual_unused_bits(dt))
  ------------------
  |  Branch (840:9): [True: 0, False: 93]
  ------------------
  841|       |        /* Throw an error if the object header is not checksummed, unless the
  842|       |         * H5F_RFIC_UNUSUAL_NUM_UNUSED_NUMERIC_BITS flag is set with
  843|       |         * H5Pset_relax_file_integrity_checks() to suppress it.
  844|       |         */
  845|      0|        if (!(*ioflags & H5O_DECODEIO_RFIC_UNUBNT))
  ------------------
  |  |  154|      0|    0x04u /* IN: Relax file integrity checks for unusual numbers of unused bits in numeric datatypes */
  ------------------
  |  Branch (845:13): [True: 0, False: 0]
  ------------------
  846|      0|            HGOTO_ERROR(
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  847|     93|                H5E_DATATYPE, H5E_BADVALUE, FAIL,
  848|     93|                "datatype has unusually large # of unused bits (prec = %zu bits, size = %zu bytes), possibly "
  849|     93|                "corrupted file. See documentation for H5Pset_relax_file_integrity_checks for details.",
  850|     93|                dt->shared->u.atomic.prec, dt->shared->size);
  851|       |
  852|    120|done:
  853|       |    /* Cleanup on error */
  854|    120|    if (ret_value < 0)
  ------------------
  |  Branch (854:9): [True: 27, False: 93]
  ------------------
  855|       |        /* Release (reset) dt but do not free it - leave it as an empty datatype as was the case on
  856|       |         * function entry */
  857|     27|        if (H5T__free(dt) < 0)
  ------------------
  |  Branch (857:13): [True: 0, False: 27]
  ------------------
  858|      0|            HDONE_ERROR(H5E_DATATYPE, H5E_CANTRELEASE, FAIL, "can't release datatype info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  859|       |
  860|    120|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    120|    ;                                                                                                        \
  |  | 1573|    120|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    120|    return (ret_value);                                                                                      \
  |  | 1575|    120|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  861|     93|} /* end H5O__dtype_decode_helper() */
H5Odtype.c:H5O__dtype_copy:
 1498|     52|{
 1499|     52|    const H5T_t *src = (const H5T_t *)_src;
 1500|     52|    H5T_t       *dst;
 1501|     52|    void        *ret_value = NULL; /* Return value */
 1502|       |
 1503|     52|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     52|    {                                                                                                        \
  |  | 1461|     52|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     52|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     52|                                                                                                             \
  |  |  |  | 1267|     52|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     52|        {
  ------------------
 1504|       |
 1505|       |    /* check args */
 1506|     52|    assert(src);
 1507|       |
 1508|       |    /* Copy */
 1509|     52|    if (NULL == (dst = H5T_copy(src, H5T_COPY_ALL)))
  ------------------
  |  Branch (1509:9): [True: 0, False: 52]
  ------------------
 1510|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, NULL, "can't copy type");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1511|       |
 1512|       |    /* Was result already allocated? */
 1513|     52|    if (_dst) {
  ------------------
  |  Branch (1513:9): [True: 0, False: 52]
  ------------------
 1514|      0|        *((H5T_t *)_dst) = *dst;
 1515|      0|        dst              = H5FL_FREE(H5T_t, dst);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 1516|      0|        dst              = (H5T_t *)_dst;
 1517|      0|    } /* end if */
 1518|       |
 1519|       |    /* Set return value */
 1520|     52|    ret_value = dst;
 1521|       |
 1522|     52|done:
 1523|     52|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     52|    ;                                                                                                        \
  |  | 1573|     52|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     52|    return (ret_value);                                                                                      \
  |  | 1575|     52|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1524|     52|} /* end H5O__dtype_copy() */
H5Odtype.c:H5O__dtype_reset:
 1671|     38|{
 1672|     38|    H5T_t *dt = (H5T_t *)_mesg;
 1673|       |
 1674|     38|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     38|    {                                                                                                        \
  |  | 1467|     38|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     38|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     38|        {
  ------------------
 1675|       |
 1676|     38|    if (dt)
  ------------------
  |  Branch (1676:9): [True: 38, False: 0]
  ------------------
 1677|     38|        H5T__free(dt);
 1678|       |
 1679|     38|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     38|    ;                                                                                                        \
  |  | 1573|     38|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     38|    return (ret_value);                                                                                      \
  |  | 1575|     38|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1680|     38|} /* end H5O__dtype_reset() */
H5Odtype.c:H5O__dtype_free:
 1693|     38|{
 1694|     38|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     38|#define SUCCEED 0
  ------------------
 1695|       |
 1696|     38|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     38|    {                                                                                                        \
  |  | 1461|     38|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     38|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     38|                                                                                                             \
  |  |  |  | 1267|     38|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     38|        {
  ------------------
 1697|       |
 1698|       |    /* Sanity check */
 1699|     38|    assert(mesg);
 1700|       |
 1701|       |    /* Release the datatype */
 1702|     38|    if (H5T_close_real((H5T_t *)mesg) < 0)
  ------------------
  |  Branch (1702:9): [True: 0, False: 38]
  ------------------
 1703|      0|        HGOTO_ERROR(H5E_OHDR, H5E_CANTFREE, FAIL, "unable to free datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1704|       |
 1705|     38|done:
 1706|     38|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     38|    ;                                                                                                        \
  |  | 1573|     38|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     38|    return (ret_value);                                                                                      \
  |  | 1575|     38|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1707|     38|} /* end H5O__dtype_free() */

H5Oefl.c:H5O__efl_copy:
  269|     93|{
  270|     93|    const H5O_efl_t *mesg = (const H5O_efl_t *)_mesg;
  271|     93|    H5O_efl_t       *dest = (H5O_efl_t *)_dest;
  272|     93|    size_t           u;                      /* Local index variable */
  273|     93|    bool             slot_allocated = false; /* Flag to indicate that dynamic allocation has begun */
  274|     93|    void            *ret_value      = NULL;  /* Return value */
  275|       |
  276|     93|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     93|    {                                                                                                        \
  |  | 1461|     93|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     93|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     93|                                                                                                             \
  |  |  |  | 1267|     93|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     93|        {
  ------------------
  277|       |
  278|       |    /* check args */
  279|     93|    assert(mesg);
  280|       |
  281|       |    /* Allocate destination message, if necessary */
  282|     93|    if (!dest && NULL == (dest = (H5O_efl_t *)H5MM_calloc(sizeof(H5O_efl_t))))
  ------------------
  |  |   36|      0|#define H5MM_calloc(Z) calloc(1, Z)
  ------------------
  |  Branch (282:9): [True: 0, False: 93]
  |  Branch (282:18): [True: 0, False: 0]
  ------------------
  283|      0|        HGOTO_ERROR(H5E_OHDR, H5E_CANTALLOC, NULL, "can't allocate efl message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  284|       |
  285|       |    /* copy */
  286|     93|    *dest = *mesg;
  287|       |
  288|       |    /* Deep copy allocated information */
  289|     93|    if (dest->nalloc > 0) {
  ------------------
  |  Branch (289:9): [True: 0, False: 93]
  ------------------
  290|      0|        if (NULL == (dest->slot = (H5O_efl_entry_t *)H5MM_calloc(dest->nalloc * sizeof(H5O_efl_entry_t))))
  ------------------
  |  |   36|      0|#define H5MM_calloc(Z) calloc(1, Z)
  ------------------
  |  Branch (290:13): [True: 0, False: 0]
  ------------------
  291|      0|            HGOTO_ERROR(H5E_OHDR, H5E_CANTALLOC, NULL, "can't allocate efl message slots");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  292|      0|        slot_allocated = true;
  293|      0|        for (u = 0; u < mesg->nused; u++) {
  ------------------
  |  Branch (293:21): [True: 0, False: 0]
  ------------------
  294|      0|            dest->slot[u] = mesg->slot[u];
  295|      0|            if (NULL == (dest->slot[u].name = H5MM_xstrdup(mesg->slot[u].name)))
  ------------------
  |  Branch (295:17): [True: 0, False: 0]
  ------------------
  296|      0|                HGOTO_ERROR(H5E_OHDR, H5E_CANTALLOC, NULL, "can't allocate efl message slot name");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  297|      0|        } /* end for */
  298|      0|    }     /* end if */
  299|       |
  300|       |    /* Set return value */
  301|     93|    ret_value = dest;
  302|       |
  303|     93|done:
  304|     93|    if (NULL == ret_value) {
  ------------------
  |  Branch (304:9): [True: 0, False: 93]
  ------------------
  305|      0|        if (slot_allocated) {
  ------------------
  |  Branch (305:13): [True: 0, False: 0]
  ------------------
  306|      0|            for (u = 0; u < dest->nused; u++)
  ------------------
  |  Branch (306:25): [True: 0, False: 0]
  ------------------
  307|      0|                if (dest->slot[u].name != NULL && dest->slot[u].name != mesg->slot[u].name)
  ------------------
  |  Branch (307:21): [True: 0, False: 0]
  |  Branch (307:51): [True: 0, False: 0]
  ------------------
  308|      0|                    dest->slot[u].name = (char *)H5MM_xfree(dest->slot[u].name);
  309|      0|            dest->slot = (H5O_efl_entry_t *)H5MM_xfree(dest->slot);
  310|      0|        } /* end if */
  311|      0|        if (NULL == _dest)
  ------------------
  |  Branch (311:13): [True: 0, False: 0]
  ------------------
  312|      0|            dest = (H5O_efl_t *)H5MM_xfree(dest);
  313|      0|    } /* end if */
  314|       |
  315|     93|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     93|    ;                                                                                                        \
  |  | 1573|     93|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     93|    return (ret_value);                                                                                      \
  |  | 1575|     93|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  316|     93|} /* end H5O__efl_copy() */
H5Oefl.c:H5O__efl_reset:
  367|    145|{
  368|    145|    H5O_efl_t *mesg = (H5O_efl_t *)_mesg;
  369|    145|    size_t     u; /* Local index variable */
  370|       |
  371|    145|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|    145|    {                                                                                                        \
  |  | 1467|    145|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|    145|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|    145|        {
  ------------------
  372|       |
  373|       |    /* check args */
  374|    145|    assert(mesg);
  375|       |
  376|       |    /* reset */
  377|    145|    if (mesg->slot) {
  ------------------
  |  Branch (377:9): [True: 0, False: 145]
  ------------------
  378|      0|        for (u = 0; u < mesg->nused; u++) {
  ------------------
  |  Branch (378:21): [True: 0, False: 0]
  ------------------
  379|      0|            mesg->slot[u].name        = (char *)H5MM_xfree(mesg->slot[u].name);
  380|      0|            mesg->slot[u].name_offset = 0;
  381|      0|        } /* end for */
  382|      0|        mesg->slot = (H5O_efl_entry_t *)H5MM_xfree(mesg->slot);
  383|      0|    } /* end if */
  384|    145|    mesg->heap_addr = HADDR_UNDEF;
  ------------------
  |  |  336|    145|#define HADDR_UNDEF         UINT64_MAX
  ------------------
  385|    145|    mesg->nused = mesg->nalloc = 0;
  386|       |
  387|    145|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|    145|    ;                                                                                                        \
  |  | 1573|    145|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    145|    return (ret_value);                                                                                      \
  |  | 1575|    145|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  388|    145|} /* end H5O__efl_reset() */

H5O_fill_reset_dyn:
  708|    235|{
  709|    235|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    235|#define SUCCEED 0
  ------------------
  710|       |
  711|    235|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    235|    {                                                                                                        \
  |  | 1392|    235|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    235|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    235|                                                                                                             \
  |  |  |  | 1267|    235|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    235|        {
  ------------------
  712|       |
  713|    235|    assert(fill);
  714|       |
  715|    235|    if (fill->buf) {
  ------------------
  |  Branch (715:9): [True: 34, False: 201]
  ------------------
  716|     34|        if (fill->type && H5T_detect_class(fill->type, H5T_VLEN, false) > 0) {
  ------------------
  |  Branch (716:13): [True: 9, False: 25]
  |  Branch (716:27): [True: 0, False: 9]
  ------------------
  717|      0|            H5S_t *fill_space; /* Scalar dataspace for fill value element */
  718|       |
  719|       |            /* Create a scalar dataspace for the fill value element */
  720|      0|            if (NULL == (fill_space = H5S_create(H5S_SCALAR)))
  ------------------
  |  Branch (720:17): [True: 0, False: 0]
  ------------------
  721|      0|                HGOTO_ERROR(H5E_OHDR, H5E_CANTCREATE, FAIL, "can't create scalar dataspace");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  722|       |
  723|       |            /* Reclaim any variable length components of the fill value */
  724|      0|            if (H5T_reclaim(fill->type, fill_space, fill->buf) < 0) {
  ------------------
  |  Branch (724:17): [True: 0, False: 0]
  ------------------
  725|      0|                H5S_close(fill_space);
  726|      0|                HGOTO_ERROR(H5E_OHDR, H5E_BADITER, FAIL, "unable to reclaim variable-length fill value data");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  727|      0|            } /* end if */
  728|       |
  729|       |            /* Release the scalar fill value dataspace */
  730|      0|            H5S_close(fill_space);
  731|      0|        } /* end if */
  732|       |
  733|       |        /* Release the fill value buffer now */
  734|     34|        fill->buf = H5MM_xfree(fill->buf);
  735|     34|    } /* end if */
  736|    235|    fill->size = 0;
  737|    235|    if (fill->type) {
  ------------------
  |  Branch (737:9): [True: 9, False: 226]
  ------------------
  738|      9|        (void)H5T_close_real(fill->type);
  739|      9|        fill->type = NULL;
  740|      9|    } /* end if */
  741|       |
  742|    235|done:
  743|    235|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    235|    ;                                                                                                        \
  |  | 1573|    235|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    235|    return (ret_value);                                                                                      \
  |  | 1575|    235|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  744|    235|} /* end H5O_fill_reset_dyn() */
H5Ofill.c:H5O__fill_new_decode:
  190|     38|{
  191|     38|    H5O_fill_t    *fill      = NULL;
  192|     38|    const uint8_t *p_end     = p + p_size - 1; /* End of the p buffer */
  193|     38|    void          *ret_value = NULL;           /* Return value */
  194|       |
  195|     38|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     38|    {                                                                                                        \
  |  | 1461|     38|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     38|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     38|                                                                                                             \
  |  |  |  | 1267|     38|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     38|        {
  ------------------
  196|       |
  197|     38|    assert(f);
  198|     38|    assert(p);
  199|       |
  200|     38|    if (NULL == (fill = H5FL_CALLOC(H5O_fill_t)))
  ------------------
  |  |   78|     38|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|     38|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (200:9): [True: 0, False: 38]
  ------------------
  201|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed for fill value message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  202|       |
  203|       |    /* Version */
  204|     38|    if (H5_IS_BUFFER_OVERFLOW(p, 1, p_end))
  ------------------
  |  |  344|     38|    (                                                                                                        \
  |  |  345|     38|      /* Trivial case */                                                                                     \
  |  |  346|     38|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|     38|      (                                                                                                      \
  |  |  348|     38|        /* Bad precondition */                                                                               \
  |  |  349|     38|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 38]
  |  |  ------------------
  |  |  350|     38|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     38|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|     38|        /* Typical overflow */                                                                               \
  |  |  353|     38|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 38]
  |  |  ------------------
  |  |  354|     38|      )                                                                                                      \
  |  |  355|     38|    )
  ------------------
  205|      0|        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  206|     38|    fill->version = *p++;
  207|     38|    if (fill->version < H5O_FILL_VERSION_1 || fill->version > H5O_FILL_VERSION_LATEST)
  ------------------
  |  |  311|     76|#define H5O_FILL_VERSION_1 1
  ------------------
                  if (fill->version < H5O_FILL_VERSION_1 || fill->version > H5O_FILL_VERSION_LATEST)
  ------------------
  |  |  319|     38|#define H5O_FILL_VERSION_LATEST H5O_FILL_VERSION_3
  |  |  ------------------
  |  |  |  |  315|     38|#define H5O_FILL_VERSION_3 3
  |  |  ------------------
  ------------------
  |  Branch (207:9): [True: 0, False: 38]
  |  Branch (207:47): [True: 0, False: 38]
  ------------------
  208|      0|        HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, NULL, "bad version number for fill value message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  209|       |
  210|       |    /* Decode each version */
  211|     38|    if (fill->version < H5O_FILL_VERSION_3) {
  ------------------
  |  |  315|     38|#define H5O_FILL_VERSION_3 3
  ------------------
  |  Branch (211:9): [True: 38, False: 0]
  ------------------
  212|       |
  213|       |        /* Versions 1 & 2 */
  214|       |
  215|       |        /* Buffer size check for the next three bytes */
  216|     38|        if (H5_IS_BUFFER_OVERFLOW(p, 3, p_end))
  ------------------
  |  |  344|     38|    (                                                                                                        \
  |  |  345|     38|      /* Trivial case */                                                                                     \
  |  |  346|     38|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|     38|      (                                                                                                      \
  |  |  348|     38|        /* Bad precondition */                                                                               \
  |  |  349|     38|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 38]
  |  |  ------------------
  |  |  350|     38|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     38|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|     38|        /* Typical overflow */                                                                               \
  |  |  353|     38|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 38]
  |  |  ------------------
  |  |  354|     38|      )                                                                                                      \
  |  |  355|     38|    )
  ------------------
  217|      0|            HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  218|       |
  219|       |        /* Space allocation time */
  220|     38|        fill->alloc_time = (H5D_alloc_time_t)*p++;
  221|       |
  222|       |        /* Fill value write time */
  223|     38|        fill->fill_time = (H5D_fill_time_t)*p++;
  224|       |
  225|       |        /* Whether fill value is defined */
  226|     38|        fill->fill_defined = *p++;
  227|       |
  228|       |        /* Only decode fill value information if one is defined */
  229|     38|        if (fill->fill_defined) {
  ------------------
  |  Branch (229:13): [True: 38, False: 0]
  ------------------
  230|       |
  231|     38|            if (H5_IS_BUFFER_OVERFLOW(p, 4, p_end))
  ------------------
  |  |  344|     38|    (                                                                                                        \
  |  |  345|     38|      /* Trivial case */                                                                                     \
  |  |  346|     38|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|     38|      (                                                                                                      \
  |  |  348|     38|        /* Bad precondition */                                                                               \
  |  |  349|     38|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 38]
  |  |  ------------------
  |  |  350|     38|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     38|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|     38|        /* Typical overflow */                                                                               \
  |  |  353|     38|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 38]
  |  |  ------------------
  |  |  354|     38|      )                                                                                                      \
  |  |  355|     38|    )
  ------------------
  232|      0|                HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  233|     38|            INT32DECODE(p, fill->size);
  ------------------
  |  |  167|     38|    do {                                                                                                     \
  |  |  168|     38|        (i) = ((int32_t)(*(p)&0xff));                                                                        \
  |  |  169|     38|        (p)++;                                                                                               \
  |  |  170|     38|        (i) |= ((int32_t)(*(p)&0xff) << 8);                                                                  \
  |  |  171|     38|        (p)++;                                                                                               \
  |  |  172|     38|        (i) |= ((int32_t)(*(p)&0xff) << 16);                                                                 \
  |  |  173|     38|        (p)++;                                                                                               \
  |  |  174|     38|        (i) |= ((int32_t)(((*(p) & (unsigned)0xff) << 24) | ((*(p)&0x80) ? ~0xffffffffULL : 0x0ULL)));       \
  |  |  ------------------
  |  |  |  Branch (174:62): [True: 0, False: 38]
  |  |  ------------------
  |  |  175|     38|        (p)++;                                                                                               \
  |  |  176|     38|    } while (0)
  |  |  ------------------
  |  |  |  Branch (176:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  234|       |
  235|     38|            if (fill->size > 0) {
  ------------------
  |  Branch (235:17): [True: 7, False: 31]
  ------------------
  236|      7|                H5_CHECK_OVERFLOW(fill->size, ssize_t, size_t);
  237|       |
  238|      7|                if (H5_IS_BUFFER_OVERFLOW(p, fill->size, p_end))
  ------------------
  |  |  344|      7|    (                                                                                                        \
  |  |  345|      7|      /* Trivial case */                                                                                     \
  |  |  346|      7|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 7, False: 0]
  |  |  ------------------
  |  |  347|      7|      (                                                                                                      \
  |  |  348|      7|        /* Bad precondition */                                                                               \
  |  |  349|      7|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 7]
  |  |  ------------------
  |  |  350|      7|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      7|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 7, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 7]
  |  |  ------------------
  |  |  352|      7|        /* Typical overflow */                                                                               \
  |  |  353|      7|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 7]
  |  |  ------------------
  |  |  354|      7|      )                                                                                                      \
  |  |  355|      7|    )
  ------------------
  239|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  240|       |
  241|      7|                if (NULL == (fill->buf = H5MM_malloc((size_t)fill->size)))
  ------------------
  |  |   38|      7|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  |  Branch (241:21): [True: 0, False: 7]
  ------------------
  242|      0|                    HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed for fill value");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  243|      7|                H5MM_memcpy(fill->buf, p, (size_t)fill->size);
  ------------------
  |  |   41|      7|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  244|      7|            }
  245|     38|        }
  246|      0|        else
  247|      0|            fill->size = -1;
  248|     38|    }
  249|      0|    else {
  250|       |
  251|       |        /* Version 3 */
  252|       |
  253|      0|        unsigned flags; /* Status flags */
  254|       |
  255|       |        /* Flags */
  256|      0|        if (H5_IS_BUFFER_OVERFLOW(p, 1, p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  257|      0|            HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  258|      0|        flags = *p++;
  259|       |
  260|       |        /* Check for unknown flags */
  261|      0|        if (flags & (unsigned)~H5O_FILL_FLAGS_ALL)
  ------------------
  |  |  166|      0|    (H5O_FILL_MASK_ALLOC_TIME | (H5O_FILL_MASK_FILL_TIME << H5O_FILL_SHIFT_FILL_TIME) |                      \
  |  |  ------------------
  |  |  |  |  159|      0|#define H5O_FILL_MASK_ALLOC_TIME      0x03
  |  |  ------------------
  |  |                   (H5O_FILL_MASK_ALLOC_TIME | (H5O_FILL_MASK_FILL_TIME << H5O_FILL_SHIFT_FILL_TIME) |                      \
  |  |  ------------------
  |  |  |  |  161|      0|#define H5O_FILL_MASK_FILL_TIME       0x03
  |  |  ------------------
  |  |                   (H5O_FILL_MASK_ALLOC_TIME | (H5O_FILL_MASK_FILL_TIME << H5O_FILL_SHIFT_FILL_TIME) |                      \
  |  |  ------------------
  |  |  |  |  162|      0|#define H5O_FILL_SHIFT_FILL_TIME      2
  |  |  ------------------
  |  |  167|      0|     H5O_FILL_FLAG_UNDEFINED_VALUE | H5O_FILL_FLAG_HAVE_VALUE)
  |  |  ------------------
  |  |  |  |  163|      0|#define H5O_FILL_FLAG_UNDEFINED_VALUE 0x10
  |  |  ------------------
  |  |                    H5O_FILL_FLAG_UNDEFINED_VALUE | H5O_FILL_FLAG_HAVE_VALUE)
  |  |  ------------------
  |  |  |  |  164|      0|#define H5O_FILL_FLAG_HAVE_VALUE      0x20
  |  |  ------------------
  ------------------
  |  Branch (261:13): [True: 0, False: 0]
  ------------------
  262|      0|            HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, NULL, "unknown flag for fill value message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  263|       |
  264|       |        /* Space allocation time */
  265|      0|        fill->alloc_time =
  266|      0|            (H5D_alloc_time_t)((flags >> H5O_FILL_SHIFT_ALLOC_TIME) & H5O_FILL_MASK_ALLOC_TIME);
  ------------------
  |  |  160|      0|#define H5O_FILL_SHIFT_ALLOC_TIME     0
  ------------------
                          (H5D_alloc_time_t)((flags >> H5O_FILL_SHIFT_ALLOC_TIME) & H5O_FILL_MASK_ALLOC_TIME);
  ------------------
  |  |  159|      0|#define H5O_FILL_MASK_ALLOC_TIME      0x03
  ------------------
  267|       |
  268|       |        /* Fill value write time */
  269|      0|        fill->fill_time = (H5D_fill_time_t)((flags >> H5O_FILL_SHIFT_FILL_TIME) & H5O_FILL_MASK_FILL_TIME);
  ------------------
  |  |  162|      0|#define H5O_FILL_SHIFT_FILL_TIME      2
  ------------------
                      fill->fill_time = (H5D_fill_time_t)((flags >> H5O_FILL_SHIFT_FILL_TIME) & H5O_FILL_MASK_FILL_TIME);
  ------------------
  |  |  161|      0|#define H5O_FILL_MASK_FILL_TIME       0x03
  ------------------
  270|       |
  271|       |        /* Check for undefined fill value */
  272|      0|        if (flags & H5O_FILL_FLAG_UNDEFINED_VALUE) {
  ------------------
  |  |  163|      0|#define H5O_FILL_FLAG_UNDEFINED_VALUE 0x10
  ------------------
  |  Branch (272:13): [True: 0, False: 0]
  ------------------
  273|       |
  274|      0|            if (flags & H5O_FILL_FLAG_HAVE_VALUE)
  ------------------
  |  |  164|      0|#define H5O_FILL_FLAG_HAVE_VALUE      0x20
  ------------------
  |  Branch (274:17): [True: 0, False: 0]
  ------------------
  275|      0|                HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, NULL, "have value and undefined value flags both set");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  276|       |
  277|       |            /* Set value for "undefined" fill value */
  278|      0|            fill->size = -1;
  279|      0|        }
  280|      0|        else if (flags & H5O_FILL_FLAG_HAVE_VALUE) {
  ------------------
  |  |  164|      0|#define H5O_FILL_FLAG_HAVE_VALUE      0x20
  ------------------
  |  Branch (280:18): [True: 0, False: 0]
  ------------------
  281|       |            /* Fill value size */
  282|      0|            if (H5_IS_BUFFER_OVERFLOW(p, 4, p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  283|      0|                HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  284|      0|            UINT32DECODE(p, fill->size);
  ------------------
  |  |  179|      0|    do {                                                                                                     \
  |  |  180|      0|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  181|      0|        (p)++;                                                                                               \
  |  |  182|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  183|      0|        (p)++;                                                                                               \
  |  |  184|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  185|      0|        (p)++;                                                                                               \
  |  |  186|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  187|      0|        (p)++;                                                                                               \
  |  |  188|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  285|       |
  286|       |            /* Fill value */
  287|      0|            H5_CHECK_OVERFLOW(fill->size, ssize_t, size_t);
  288|       |
  289|      0|            if (H5_IS_BUFFER_OVERFLOW(p, fill->size, p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 0, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 0]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  290|      0|                HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  291|       |
  292|      0|            if (NULL == (fill->buf = H5MM_malloc((size_t)fill->size)))
  ------------------
  |  |   38|      0|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  |  Branch (292:17): [True: 0, False: 0]
  ------------------
  293|      0|                HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed for fill value");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  294|      0|            H5MM_memcpy(fill->buf, p, (size_t)fill->size);
  ------------------
  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  295|       |
  296|       |            /* Set the "defined" flag */
  297|      0|            fill->fill_defined = true;
  298|      0|        }
  299|      0|        else
  300|       |            /* Set the "defined" flag */
  301|      0|            fill->fill_defined = true;
  302|      0|    }
  303|       |
  304|       |    /* Set return value */
  305|     38|    ret_value = (void *)fill;
  306|       |
  307|     38|done:
  308|     38|    if (!ret_value && fill) {
  ------------------
  |  Branch (308:9): [True: 0, False: 38]
  |  Branch (308:23): [True: 0, False: 0]
  ------------------
  309|      0|        H5MM_xfree(fill->buf);
  310|      0|        fill = H5FL_FREE(H5O_fill_t, fill);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  311|      0|    }
  312|       |
  313|     38|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     38|    ;                                                                                                        \
  |  | 1573|     38|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     38|    return (ret_value);                                                                                      \
  |  | 1575|     38|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  314|     38|} /* end H5O__fill_new_decode() */
H5Ofill.c:H5O__fill_copy:
  532|    197|{
  533|    197|    const H5O_fill_t *src       = (const H5O_fill_t *)_src;
  534|    197|    H5O_fill_t       *dst       = (H5O_fill_t *)_dst;
  535|    197|    H5T_t            *dst_type  = NULL;
  536|    197|    H5T_t            *tmp_type  = NULL;
  537|    197|    void             *ret_value = NULL; /* Return value */
  538|       |
  539|    197|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    197|    {                                                                                                        \
  |  | 1461|    197|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    197|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    197|                                                                                                             \
  |  |  |  | 1267|    197|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    197|        {
  ------------------
  540|       |
  541|    197|    assert(src);
  542|       |
  543|    197|    if (!dst && NULL == (dst = H5FL_MALLOC(H5O_fill_t)))
  ------------------
  |  |   75|      0|#define H5FL_MALLOC(t) (t *)H5FL_reg_malloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (543:9): [True: 0, False: 197]
  |  Branch (543:17): [True: 0, False: 0]
  ------------------
  544|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed for fill message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  545|       |
  546|       |    /* Shallow copy basic fields */
  547|    197|    *dst = *src;
  548|       |
  549|       |    /* Copy data type of fill value */
  550|    197|    if (src->type) {
  ------------------
  |  Branch (550:9): [True: 0, False: 197]
  ------------------
  551|      0|        if (NULL == (dst->type = H5T_copy(src->type, H5T_COPY_TRANSIENT)))
  ------------------
  |  Branch (551:13): [True: 0, False: 0]
  ------------------
  552|      0|            HGOTO_ERROR(H5E_OHDR, H5E_CANTCOPY, NULL, "can't copy datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  553|      0|    } /* end if */
  554|    197|    else
  555|    197|        dst->type = NULL;
  556|       |
  557|       |    /* Copy fill value and its size */
  558|    197|    if (src->buf) {
  ------------------
  |  Branch (558:9): [True: 27, False: 170]
  ------------------
  559|     27|        H5_CHECK_OVERFLOW(src->size, ssize_t, size_t);
  560|     27|        if (NULL == (dst->buf = H5MM_malloc((size_t)src->size)))
  ------------------
  |  |   38|     27|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  |  Branch (560:13): [True: 0, False: 27]
  ------------------
  561|      0|            HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed for fill value");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  562|     27|        H5MM_memcpy(dst->buf, src->buf, (size_t)src->size);
  ------------------
  |  |   41|     27|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  563|       |
  564|       |        /* Check for needing to convert/copy fill value */
  565|     27|        if (src->type) {
  ------------------
  |  Branch (565:13): [True: 0, False: 27]
  ------------------
  566|      0|            H5T_path_t *tpath; /* Conversion information */
  567|       |
  568|       |            /* Set up type conversion function */
  569|      0|            if (NULL == (tpath = H5T_path_find(src->type, dst->type)))
  ------------------
  |  Branch (569:17): [True: 0, False: 0]
  ------------------
  570|      0|                HGOTO_ERROR(H5E_OHDR, H5E_UNSUPPORTED, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  571|      0|                            "unable to convert between src and dst data types");
  572|       |
  573|       |            /* If necessary, convert fill value datatypes (which copies VL components, etc.) */
  574|      0|            if (!H5T_path_noop(tpath)) {
  ------------------
  |  Branch (574:17): [True: 0, False: 0]
  ------------------
  575|      0|                uint8_t *bkg_buf = NULL; /* Background conversion buffer */
  576|      0|                size_t   bkg_size;       /* Size of background buffer */
  577|       |
  578|      0|                dst_type = dst->type;
  579|      0|                if (H5T_detect_class(dst_type, H5T_VLEN, false) > 0 ||
  ------------------
  |  Branch (579:21): [True: 0, False: 0]
  ------------------
  580|      0|                    H5T_detect_class(dst_type, H5T_REFERENCE, false) > 0) {
  ------------------
  |  Branch (580:21): [True: 0, False: 0]
  ------------------
  581|      0|                    if (NULL == (tmp_type = H5T_copy(dst_type, H5T_COPY_TRANSIENT)))
  ------------------
  |  Branch (581:25): [True: 0, False: 0]
  ------------------
  582|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_CANTCOPY, NULL, "unable to copy destination datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  583|      0|                    dst_type = tmp_type;
  584|      0|                }
  585|       |
  586|       |                /* Allocate a background buffer */
  587|      0|                bkg_size = MAX(H5T_get_size(dst->type), H5T_get_size(src->type));
  ------------------
  |  |  300|      0|#define MAX(a, b)        (((a) > (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (300:27): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  588|      0|                if (H5T_path_bkg(tpath) && NULL == (bkg_buf = H5FL_BLK_CALLOC(type_conv, bkg_size)))
  ------------------
  |  |  149|      0|#define H5FL_BLK_CALLOC(t, size) (uint8_t *)H5FL_blk_calloc(&(H5FL_BLK_NAME(t)), (size))
  |  |  ------------------
  |  |  |  |  131|      0|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
  |  Branch (588:21): [True: 0, False: 0]
  |  Branch (588:44): [True: 0, False: 0]
  ------------------
  589|      0|                    HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  590|       |
  591|       |                /* Convert fill value */
  592|      0|                if (H5T_convert(tpath, src->type, dst_type, (size_t)1, (size_t)0, (size_t)0, dst->buf,
  ------------------
  |  Branch (592:21): [True: 0, False: 0]
  ------------------
  593|      0|                                bkg_buf) < 0) {
  594|      0|                    if (bkg_buf)
  ------------------
  |  Branch (594:25): [True: 0, False: 0]
  ------------------
  595|      0|                        bkg_buf = H5FL_BLK_FREE(type_conv, bkg_buf);
  ------------------
  |  |  152|      0|#define H5FL_BLK_FREE(t, blk) (uint8_t *)H5FL_blk_free(&(H5FL_BLK_NAME(t)), blk)
  |  |  ------------------
  |  |  |  |  131|      0|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
  596|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_CANTCONVERT, NULL, "datatype conversion failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  597|      0|                } /* end if */
  598|       |
  599|       |                /* Release the background buffer */
  600|      0|                if (bkg_buf)
  ------------------
  |  Branch (600:21): [True: 0, False: 0]
  ------------------
  601|      0|                    bkg_buf = H5FL_BLK_FREE(type_conv, bkg_buf);
  ------------------
  |  |  152|      0|#define H5FL_BLK_FREE(t, blk) (uint8_t *)H5FL_blk_free(&(H5FL_BLK_NAME(t)), blk)
  |  |  ------------------
  |  |  |  |  131|      0|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
  602|      0|            } /* end if */
  603|      0|        }     /* end if */
  604|     27|    }         /* end if */
  605|    170|    else
  606|    170|        dst->buf = NULL;
  607|       |
  608|       |    /* Set return value */
  609|    197|    ret_value = dst;
  610|       |
  611|    197|done:
  612|    197|    if (tmp_type && (H5T_close(tmp_type) < 0))
  ------------------
  |  Branch (612:9): [True: 0, False: 197]
  |  Branch (612:21): [True: 0, False: 0]
  ------------------
  613|      0|        HDONE_ERROR(H5E_OHDR, H5E_CANTCLOSEOBJ, NULL, "unable to close temporary datatype");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  614|       |
  615|    197|    if (!ret_value && dst) {
  ------------------
  |  Branch (615:9): [True: 0, False: 197]
  |  Branch (615:23): [True: 0, False: 0]
  ------------------
  616|      0|        if (dst->buf)
  ------------------
  |  Branch (616:13): [True: 0, False: 0]
  ------------------
  617|      0|            H5MM_xfree(dst->buf);
  618|      0|        if (dst->type)
  ------------------
  |  Branch (618:13): [True: 0, False: 0]
  ------------------
  619|      0|            (void)H5T_close_real(dst->type);
  620|      0|        if (!_dst)
  ------------------
  |  Branch (620:13): [True: 0, False: 0]
  ------------------
  621|      0|            dst = H5FL_FREE(H5O_fill_t, dst);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  622|      0|    } /* end if */
  623|       |
  624|    197|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    197|    ;                                                                                                        \
  |  | 1573|    197|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    197|    return (ret_value);                                                                                      \
  |  | 1575|    197|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  625|    197|} /* end H5O__fill_copy() */
H5Ofill.c:H5O__fill_reset:
  757|    235|{
  758|    235|    H5O_fill_t *fill = (H5O_fill_t *)_fill;
  759|       |
  760|    235|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|    235|    {                                                                                                        \
  |  | 1467|    235|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|    235|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|    235|        {
  ------------------
  761|       |
  762|    235|    assert(fill);
  763|       |
  764|       |    /* Reset dynamic fields */
  765|    235|    H5O_fill_reset_dyn(fill);
  766|       |
  767|       |    /* Reset value fields */
  768|    235|    fill->alloc_time   = H5D_ALLOC_TIME_LATE;
  769|    235|    fill->fill_time    = H5D_FILL_TIME_IFSET;
  770|    235|    fill->fill_defined = false;
  771|       |
  772|    235|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|    235|    ;                                                                                                        \
  |  | 1573|    235|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    235|    return (ret_value);                                                                                      \
  |  | 1575|    235|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  773|    235|} /* end H5O__fill_reset() */
H5Ofill.c:H5O__fill_free:
  786|     38|{
  787|     38|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     38|    {                                                                                                        \
  |  | 1467|     38|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     38|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     38|        {
  ------------------
  788|       |
  789|     38|    assert(fill);
  790|       |
  791|     38|    fill = H5FL_FREE(H5O_fill_t, fill);
  ------------------
  |  |   81|     38|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|     38|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  792|       |
  793|     38|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     38|    ;                                                                                                        \
  |  | 1573|     38|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     38|    return (ret_value);                                                                                      \
  |  | 1575|     38|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  794|     38|} /* end H5O__fill_free() */

H5O_init:
  188|      1|{
  189|      1|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  190|       |
  191|      1|    FUNC_ENTER_NOAPI_NOERR
  ------------------
  |  | 1397|      1|    {                                                                                                        \
  |  | 1398|      1|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      1|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1399|      1|        {
  ------------------
  192|       |
  193|       |    /* H5O interface sanity checks */
  194|      1|    HDcompile_assert(H5O_MSG_TYPES == NELMTS(H5O_msg_class_g));
  ------------------
  |  | 1611|      1|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  ------------------
  195|      1|    HDcompile_assert(sizeof(H5O_fheap_id_t) == H5O_FHEAP_ID_LEN);
  ------------------
  |  | 1611|      1|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  ------------------
  196|       |
  197|      1|    HDcompile_assert(H5O_UNKNOWN_ID < H5O_MSG_TYPES);
  ------------------
  |  | 1611|      1|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  ------------------
  198|       |
  199|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  200|      1|}
H5O_open:
  543|    217|{
  544|    217|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    217|#define SUCCEED 0
  ------------------
  545|       |
  546|    217|    FUNC_ENTER_NOAPI_NOERR
  ------------------
  |  | 1397|    217|    {                                                                                                        \
  |  | 1398|    217|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    217|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1399|    217|        {
  ------------------
  547|       |
  548|       |    /* Check args */
  549|    217|    assert(loc);
  550|    217|    assert(loc->file);
  551|       |
  552|       |    /* Turn off the variable for holding file or increment open-lock counters */
  553|    217|    if (loc->holding_file)
  ------------------
  |  Branch (553:9): [True: 0, False: 217]
  ------------------
  554|      0|        loc->holding_file = false;
  555|    217|    else
  556|    217|        H5F_INCR_NOPEN_OBJS(loc->file);
  ------------------
  |  |  116|    217|#define H5F_INCR_NOPEN_OBJS(F)           (H5F_incr_nopen_objs(F))
  ------------------
  557|       |
  558|    217|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    217|    ;                                                                                                        \
  |  | 1573|    217|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    217|    return (ret_value);                                                                                      \
  |  | 1575|    217|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  559|    217|} /* end H5O_open() */
H5O__open_by_addr:
  668|     15|{
  669|     15|    H5G_loc_t  obj_loc;          /* Location used to open group */
  670|     15|    H5G_name_t obj_path;         /* Opened object group hier. path */
  671|     15|    H5O_loc_t  obj_oloc;         /* Opened object object location */
  672|     15|    void      *ret_value = NULL; /* Return value */
  673|       |
  674|     15|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     15|    {                                                                                                        \
  |  | 1461|     15|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     15|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     15|                                                                                                             \
  |  |  |  | 1267|     15|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     15|        {
  ------------------
  675|       |
  676|       |    /* Check arguments */
  677|     15|    assert(loc);
  678|       |
  679|       |    /* Set up opened group location to fill in */
  680|     15|    obj_loc.oloc = &obj_oloc;
  681|     15|    obj_loc.path = &obj_path;
  682|     15|    H5G_loc_reset(&obj_loc);
  683|     15|    obj_loc.oloc->addr = addr;
  684|     15|    obj_loc.oloc->file = loc->oloc->file;
  685|     15|    H5G_name_reset(obj_loc.path); /* objects opened through this routine don't have a path name */
  686|       |
  687|       |    /* Open the object */
  688|     15|    if (NULL == (ret_value = H5O_open_by_loc(&obj_loc, opened_type)))
  ------------------
  |  Branch (688:9): [True: 6, False: 9]
  ------------------
  689|      6|        HGOTO_ERROR(H5E_OHDR, H5E_CANTOPENOBJ, NULL, "unable to open object");
  ------------------
  |  |   68|      6|    do {                                                                                                     \
  |  |   69|      6|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      6|    do {                                                                                                     \
  |  |  |  |   40|      6|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      6|    do {                                                                                                     \
  |  |  |  |  |  |   31|      6|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      6|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      6|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      6|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      6|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      6|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      6|    do {                                                                                                     \
  |  |  |  |   92|      6|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      6|        goto done;                                                                                           \
  |  |  |  |   94|      6|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      6|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  690|       |
  691|     15|done:
  692|     15|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     15|    ;                                                                                                        \
  |  | 1573|     15|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     15|    return (ret_value);                                                                                      \
  |  | 1575|     15|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  693|     15|} /* end H5O__open_by_addr() */
H5O_open_by_loc:
  707|     15|{
  708|     15|    const H5O_obj_class_t *obj_class;        /* Class of object for location */
  709|     15|    void                  *ret_value = NULL; /* Return value */
  710|       |
  711|     15|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|     15|    {                                                                                                        \
  |  | 1392|     15|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     15|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     15|                                                                                                             \
  |  |  |  | 1267|     15|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     15|        {
  ------------------
  712|       |
  713|     15|    assert(obj_loc);
  714|       |
  715|       |    /* Get the object class for this location */
  716|     15|    if (NULL == (obj_class = H5O__obj_class(obj_loc->oloc)))
  ------------------
  |  Branch (716:9): [True: 6, False: 9]
  ------------------
  717|      6|        HGOTO_ERROR(H5E_OHDR, H5E_CANTGET, NULL, "unable to determine object class");
  ------------------
  |  |   68|      6|    do {                                                                                                     \
  |  |   69|      6|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      6|    do {                                                                                                     \
  |  |  |  |   40|      6|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      6|    do {                                                                                                     \
  |  |  |  |  |  |   31|      6|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      6|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      6|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      6|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      6|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      6|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      6|    do {                                                                                                     \
  |  |  |  |   92|      6|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      6|        goto done;                                                                                           \
  |  |  |  |   94|      6|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      6|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  718|       |
  719|       |    /* Call the object class's 'open' routine */
  720|      9|    assert(obj_class->open);
  721|      9|    if (NULL == (ret_value = obj_class->open(obj_loc, opened_type)))
  ------------------
  |  Branch (721:9): [True: 0, False: 9]
  ------------------
  722|      0|        HGOTO_ERROR(H5E_OHDR, H5E_CANTOPENOBJ, NULL, "unable to open object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  723|       |
  724|     15|done:
  725|     15|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     15|    ;                                                                                                        \
  |  | 1573|     15|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     15|    return (ret_value);                                                                                      \
  |  | 1575|     15|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  726|      9|} /* end H5O_open_by_loc() */
H5O_close:
  739|    210|{
  740|    210|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    210|#define SUCCEED 0
  ------------------
  741|       |
  742|    210|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    210|    {                                                                                                        \
  |  | 1392|    210|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    210|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    210|                                                                                                             \
  |  |  |  | 1267|    210|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    210|        {
  ------------------
  743|       |
  744|       |    /* Check args */
  745|    210|    assert(loc);
  746|    210|    assert(loc->file);
  747|    210|    assert(H5F_NOPEN_OBJS(loc->file) > 0);
  748|       |
  749|       |    /* Set the file_closed flag to the default value.
  750|       |     * This flag lets downstream code know if the file struct is
  751|       |     * still accessible and/or likely to contain useful data.
  752|       |     * It's needed by the evict-on-close code. Clients can ignore
  753|       |     * this value by passing in NULL.
  754|       |     */
  755|    210|    if (file_closed)
  ------------------
  |  Branch (755:9): [True: 143, False: 67]
  ------------------
  756|    143|        *file_closed = false;
  757|       |
  758|       |    /* Decrement open-lock counters */
  759|    210|    H5F_DECR_NOPEN_OBJS(loc->file);
  ------------------
  |  |  117|    210|#define H5F_DECR_NOPEN_OBJS(F)           (H5F_decr_nopen_objs(F))
  ------------------
  760|       |
  761|       |    /*
  762|       |     * If the file open object count has reached the number of open mount points
  763|       |     * (each of which has a group open in the file) attempt to close the file.
  764|       |     */
  765|    210|    if (H5F_NOPEN_OBJS(loc->file) == H5F_NMOUNTS(loc->file))
  ------------------
  |  |  115|    210|#define H5F_NOPEN_OBJS(F)                (H5F_get_nopen_objs(F))
  ------------------
                  if (H5F_NOPEN_OBJS(loc->file) == H5F_NMOUNTS(loc->file))
  ------------------
  |  |  120|    210|#define H5F_NMOUNTS(F)                   (H5F_get_nmounts(F))
  ------------------
  |  Branch (765:9): [True: 83, False: 127]
  ------------------
  766|       |        /* Attempt to close down the file hierarchy */
  767|     83|        if (H5F_try_close(loc->file, file_closed) < 0)
  ------------------
  |  Branch (767:13): [True: 0, False: 83]
  ------------------
  768|      0|            HGOTO_ERROR(H5E_OHDR, H5E_CANTCLOSEFILE, FAIL, "problem attempting file close");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  769|       |
  770|       |    /* Release location information */
  771|    210|    if (H5O_loc_free(loc) < 0)
  ------------------
  |  Branch (771:9): [True: 0, False: 210]
  ------------------
  772|      0|        HGOTO_ERROR(H5E_OHDR, H5E_CANTRELEASE, FAIL, "problem attempting to free location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  773|       |
  774|    210|done:
  775|    210|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    210|    ;                                                                                                        \
  |  | 1573|    210|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    210|    return (ret_value);                                                                                      \
  |  | 1575|    210|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  776|    210|} /* end H5O_close() */
H5O_protect:
  948|  1.63k|{
  949|  1.63k|    H5O_t          *oh = NULL;        /* Object header protected */
  950|  1.63k|    H5O_cache_ud_t  udata;            /* User data for protecting object header */
  951|  1.63k|    H5O_cont_msgs_t cont_msg_info;    /* Continuation message info */
  952|  1.63k|    unsigned        file_intent;      /* R/W intent on file */
  953|  1.63k|    H5O_t          *ret_value = NULL; /* Return value */
  954|       |
  955|  1.63k|    FUNC_ENTER_NOAPI_TAG(loc->addr, NULL)
  ------------------
  |  | 1443|  1.63k|    {                                                                                                        \
  |  | 1444|  1.63k|        haddr_t prev_tag = HADDR_UNDEF;                                                                      \
  |  |  ------------------
  |  |  |  |  336|  1.63k|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  | 1445|  1.63k|                                                                                                             \
  |  | 1446|  1.63k|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|  1.63k|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|  1.63k|                                                                                                             \
  |  |  |  | 1267|  1.63k|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1447|  1.63k|        H5AC_tag(tag, &prev_tag);                                                                            \
  |  | 1448|  1.63k|        {
  ------------------
  956|       |
  957|       |    /* check args */
  958|  1.63k|    assert(loc);
  959|  1.63k|    assert(loc->file);
  960|       |
  961|       |    /* prot_flags may only contain the H5AC__READ_ONLY_FLAG */
  962|  1.63k|    assert((prot_flags & (unsigned)(~H5AC__READ_ONLY_FLAG)) == 0);
  963|       |
  964|       |    /* Check for valid address */
  965|  1.63k|    if (!H5_addr_defined(loc->addr))
  ------------------
  |  |  449|  1.63k|#define H5_addr_defined(X)       ((X) != HADDR_UNDEF)
  |  |  ------------------
  |  |  |  |  336|  1.63k|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  ------------------
  |  Branch (965:9): [True: 0, False: 1.63k]
  ------------------
  966|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, NULL, "address undefined");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  967|       |
  968|       |    /* Check for write access on the file */
  969|  1.63k|    file_intent = H5F_INTENT(loc->file);
  ------------------
  |  |  109|  1.63k|#define H5F_INTENT(F)                    (H5F_get_intent(F))
  ------------------
  970|  1.63k|    if ((0 == (prot_flags & H5AC__READ_ONLY_FLAG)) && (0 == (file_intent & H5F_ACC_RDWR)))
  ------------------
  |  |  322|  1.63k|#define H5AC__READ_ONLY_FLAG              H5C__READ_ONLY_FLAG
  |  |  ------------------
  |  |  |  |  183|  1.63k|#define H5C__READ_ONLY_FLAG                 0x00080
  |  |  ------------------
  ------------------
                  if ((0 == (prot_flags & H5AC__READ_ONLY_FLAG)) && (0 == (file_intent & H5F_ACC_RDWR)))
  ------------------
  |  |   49|      0|#define H5F_ACC_RDWR   (H5CHECK H5OPEN 0x0001u) /**< Open for read and write    */
  ------------------
  |  Branch (970:9): [True: 0, False: 1.63k]
  |  Branch (970:55): [True: 0, False: 0]
  ------------------
  971|      0|        HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, NULL, "no write intent on file");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  972|       |
  973|       |    /* Construct the user data for protect callback */
  974|  1.63k|    udata.made_attempt            = false;
  975|  1.63k|    udata.v1_pfx_nmesgs           = 0;
  976|  1.63k|    udata.chunk0_size             = 0;
  977|  1.63k|    udata.oh                      = NULL;
  978|  1.63k|    udata.oh_version              = 0;
  979|  1.63k|    udata.common.f                = loc->file;
  980|  1.63k|    udata.common.file_intent      = file_intent;
  981|  1.63k|    udata.common.merged_null_msgs = 0;
  982|  1.63k|    memset(&cont_msg_info, 0, sizeof(cont_msg_info));
  983|  1.63k|    udata.common.cont_msg_info = &cont_msg_info;
  984|  1.63k|    udata.common.addr          = loc->addr;
  985|       |
  986|       |    /* Lock the object header into the cache */
  987|  1.63k|    if (NULL == (oh = (H5O_t *)H5AC_protect(loc->file, H5AC_OHDR, loc->addr, &udata, prot_flags)))
  ------------------
  |  Branch (987:9): [True: 30, False: 1.60k]
  ------------------
  988|     30|        HGOTO_ERROR(H5E_OHDR, H5E_CANTPROTECT, NULL, "unable to load object header");
  ------------------
  |  |   68|     30|    do {                                                                                                     \
  |  |   69|     30|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     30|    do {                                                                                                     \
  |  |  |  |   40|     30|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     30|    do {                                                                                                     \
  |  |  |  |  |  |   31|     30|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     30|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     30|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     30|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     30|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     30|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     30|    do {                                                                                                     \
  |  |  |  |   92|     30|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     30|        goto done;                                                                                           \
  |  |  |  |   94|     30|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     30|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  989|       |
  990|       |    /* Check if there are any continuation messages to process */
  991|  1.60k|    if (cont_msg_info.nmsgs > 0) {
  ------------------
  |  Branch (991:9): [True: 10, False: 1.59k]
  ------------------
  992|     10|        size_t             curr_msg;  /* Current continuation message to process */
  993|     10|        H5O_chk_cache_ud_t chk_udata; /* User data for loading chunk */
  994|       |
  995|       |        /* Sanity check - we should only have continuation messages to process
  996|       |         *      when the object header is actually loaded from the file.
  997|       |         */
  998|     10|        assert(udata.made_attempt == true);
  999|     10|        assert(cont_msg_info.msgs);
 1000|       |
 1001|       |        /* Construct the user data for protecting chunks */
 1002|     10|        chk_udata.decoding                = true;
 1003|     10|        chk_udata.oh                      = oh;
 1004|     10|        chk_udata.chunkno                 = UINT_MAX; /* Set to invalid value, for better error detection */
 1005|     10|        chk_udata.common.f                = loc->file;
 1006|     10|        chk_udata.common.file_intent      = file_intent;
 1007|     10|        chk_udata.common.merged_null_msgs = udata.common.merged_null_msgs;
 1008|     10|        chk_udata.common.cont_msg_info    = &cont_msg_info;
 1009|       |
 1010|       |        /* Read in continuation messages, until there are no more */
 1011|       |        /* (Note that loading chunks could increase the # of continuation
 1012|       |         *      messages if new ones are found - QAK, 19/11/2016)
 1013|       |         */
 1014|     10|        curr_msg = 0;
 1015|     17|        while (curr_msg < cont_msg_info.nmsgs) {
  ------------------
  |  Branch (1015:16): [True: 10, False: 7]
  ------------------
 1016|     10|            H5O_chunk_proxy_t *chk_proxy; /* Proxy for chunk, to bring it into memory */
 1017|       |#ifndef NDEBUG
 1018|       |            size_t chkcnt = oh->nchunks; /* Count of chunks (for sanity checking) */
 1019|       |#endif                                   /* NDEBUG */
 1020|       |
 1021|       |            /* Bring the chunk into the cache */
 1022|       |            /* (which adds to the object header) */
 1023|     10|            chk_udata.common.addr = cont_msg_info.msgs[curr_msg].addr;
 1024|     10|            chk_udata.size        = cont_msg_info.msgs[curr_msg].size;
 1025|     10|            if (NULL == (chk_proxy = (H5O_chunk_proxy_t *)H5AC_protect(loc->file, H5AC_OHDR_CHK,
  ------------------
  |  Branch (1025:17): [True: 3, False: 7]
  ------------------
 1026|     10|                                                                       cont_msg_info.msgs[curr_msg].addr,
 1027|     10|                                                                       &chk_udata, prot_flags)))
 1028|      3|                HGOTO_ERROR(H5E_OHDR, H5E_CANTPROTECT, NULL, "unable to load object header chunk");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1029|       |
 1030|       |            /* Sanity check */
 1031|      7|            assert(chk_proxy->oh == oh);
 1032|      7|            assert(chk_proxy->chunkno == chkcnt);
 1033|      7|            assert(oh->nchunks == (chkcnt + 1));
 1034|       |
 1035|       |            /* Release the chunk from the cache */
 1036|      7|            if (H5AC_unprotect(loc->file, H5AC_OHDR_CHK, cont_msg_info.msgs[curr_msg].addr, chk_proxy,
  ------------------
  |  Branch (1036:17): [True: 0, False: 7]
  ------------------
 1037|      7|                               H5AC__NO_FLAGS_SET) < 0)
  ------------------
  |  |  314|      7|#define H5AC__NO_FLAGS_SET                H5C__NO_FLAGS_SET
  |  |  ------------------
  |  |  |  |  175|      7|#define H5C__NO_FLAGS_SET                   0x00000
  |  |  ------------------
  ------------------
 1038|      0|                HGOTO_ERROR(H5E_OHDR, H5E_CANTUNPROTECT, NULL, "unable to release object header chunk");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1039|       |
 1040|       |            /* Advance to next continuation message */
 1041|      7|            curr_msg++;
 1042|      7|        } /* end while */
 1043|       |
 1044|       |        /* Release any continuation messages built up */
 1045|      7|        cont_msg_info.msgs = (H5O_cont_t *)H5FL_SEQ_FREE(H5O_cont_t, cont_msg_info.msgs);
  ------------------
  |  |  288|      7|#define H5FL_SEQ_FREE(t, obj) (t *)H5FL_seq_free(&(H5FL_SEQ_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |  266|      7|#define H5FL_SEQ_NAME(t) H5_##t##_seq_free_list
  |  |  ------------------
  ------------------
 1046|       |
 1047|       |        /* Pass back out some of the chunk's user data */
 1048|      7|        udata.common.merged_null_msgs = chk_udata.common.merged_null_msgs;
 1049|      7|    } /* end if */
 1050|       |
 1051|       |    /* Check for incorrect # of object header messages, if we've just loaded
 1052|       |     *  this object header from the file
 1053|       |     */
 1054|  1.60k|    if (udata.made_attempt) {
  ------------------
  |  Branch (1054:9): [True: 57, False: 1.54k]
  ------------------
 1055|       |/* Don't enforce the error on an incorrect # of object header messages bug
 1056|       | *      unless strict format checking is enabled.  This allows for older
 1057|       | *      files, created with a version of the library that had a bug in tracking
 1058|       | *      the correct # of header messages to be read in without the library
 1059|       | *      erroring out here. -QAK
 1060|       | */
 1061|     57|#ifdef H5_STRICT_FORMAT_CHECKS
 1062|       |        /* Check for incorrect # of messages in v1 object header */
 1063|     57|        if (oh->version == H5O_VERSION_1 &&
  ------------------
  |  |   38|    114|#define H5O_VERSION_1 1
  ------------------
  |  Branch (1063:13): [True: 57, False: 0]
  ------------------
 1064|     57|            (oh->nmesgs + udata.common.merged_null_msgs) != udata.v1_pfx_nmesgs)
  ------------------
  |  Branch (1064:13): [True: 1, False: 56]
  ------------------
 1065|      1|            HGOTO_ERROR(H5E_OHDR, H5E_CANTLOAD, NULL, "corrupt object header - incorrect # of messages");
  ------------------
  |  |   68|      1|    do {                                                                                                     \
  |  |   69|      1|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      1|    do {                                                                                                     \
  |  |  |  |   40|      1|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      1|    do {                                                                                                     \
  |  |  |  |  |  |   31|      1|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      1|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      1|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      1|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      1|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      1|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      1|    do {                                                                                                     \
  |  |  |  |   92|      1|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      1|        goto done;                                                                                           \
  |  |  |  |   94|      1|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      1|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1066|     57|#endif /* H5_STRICT_FORMAT_CHECKS */
 1067|     57|    }  /* end if */
 1068|       |
 1069|       |#ifdef H5O_DEBUG
 1070|       |    H5O__assert(oh);
 1071|       |#endif /* H5O_DEBUG */
 1072|       |
 1073|       |    /* Pin the other chunks also when requested, so that the object header
 1074|       |     *  proxy can be set up.
 1075|       |     */
 1076|  1.60k|    if (pin_all_chunks && oh->nchunks > 1) {
  ------------------
  |  Branch (1076:9): [True: 0, False: 1.60k]
  |  Branch (1076:27): [True: 0, False: 0]
  ------------------
 1077|      0|        unsigned u; /* Local index variable */
 1078|       |
 1079|       |        /* Sanity check */
 1080|      0|        assert(oh->swmr_write);
 1081|       |
 1082|       |        /* Iterate over chunks > 0 */
 1083|      0|        for (u = 1; u < oh->nchunks; u++) {
  ------------------
  |  Branch (1083:21): [True: 0, False: 0]
  ------------------
 1084|      0|            H5O_chunk_proxy_t *chk_proxy; /* Chunk proxy */
 1085|       |
 1086|       |            /* Protect chunk */
 1087|      0|            if (NULL == (chk_proxy = H5O__chunk_protect(loc->file, oh, u)))
  ------------------
  |  Branch (1087:17): [True: 0, False: 0]
  ------------------
 1088|      0|                HGOTO_ERROR(H5E_OHDR, H5E_CANTPROTECT, NULL, "unable to protect object header chunk");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1089|       |
 1090|       |            /* Pin chunk proxy*/
 1091|      0|            if (H5AC_pin_protected_entry(chk_proxy) < 0)
  ------------------
  |  Branch (1091:17): [True: 0, False: 0]
  ------------------
 1092|      0|                HGOTO_ERROR(H5E_OHDR, H5E_CANTPIN, NULL, "unable to pin object header chunk");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1093|       |
 1094|       |            /* Unprotect chunk */
 1095|      0|            if (H5O__chunk_unprotect(loc->file, chk_proxy, false) < 0)
  ------------------
  |  Branch (1095:17): [True: 0, False: 0]
  ------------------
 1096|      0|                HGOTO_ERROR(H5E_OHDR, H5E_CANTUNPROTECT, NULL, "unable to unprotect object header chunk");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1097|       |
 1098|       |            /* Preserve chunk proxy pointer for later */
 1099|      0|            oh->chunk[u].chunk_proxy = chk_proxy;
 1100|      0|        } /* end for */
 1101|       |
 1102|       |        /* Set the flag for the unprotect */
 1103|      0|        oh->chunks_pinned = true;
 1104|      0|    } /* end if */
 1105|       |
 1106|       |    /* Set return value */
 1107|  1.60k|    ret_value = oh;
 1108|       |
 1109|  1.63k|done:
 1110|  1.63k|    if (ret_value == NULL && oh) {
  ------------------
  |  Branch (1110:9): [True: 34, False: 1.60k]
  |  Branch (1110:30): [True: 4, False: 30]
  ------------------
 1111|       |        /* Release any continuation messages built up */
 1112|      4|        if (cont_msg_info.msgs)
  ------------------
  |  Branch (1112:13): [True: 0, False: 4]
  ------------------
 1113|      0|            cont_msg_info.msgs = (H5O_cont_t *)H5FL_SEQ_FREE(H5O_cont_t, cont_msg_info.msgs);
  ------------------
  |  |  288|      0|#define H5FL_SEQ_FREE(t, obj) (t *)H5FL_seq_free(&(H5FL_SEQ_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |  266|      0|#define H5FL_SEQ_NAME(t) H5_##t##_seq_free_list
  |  |  ------------------
  ------------------
 1114|       |
 1115|       |        /* Unprotect the ohdr and delete it from cache since if we failed to load it it's in an inconsistent
 1116|       |         * state */
 1117|      4|        if (H5O_unprotect(loc, oh, H5AC__DELETED_FLAG) < 0)
  ------------------
  |  |  315|      4|#define H5AC__DELETED_FLAG                H5C__DELETED_FLAG
  |  |  ------------------
  |  |  |  |  176|      4|#define H5C__DELETED_FLAG                   0x00001
  |  |  ------------------
  ------------------
  |  Branch (1117:13): [True: 0, False: 4]
  ------------------
 1118|      0|            HDONE_ERROR(H5E_OHDR, H5E_CANTUNPROTECT, NULL, "unable to release object header");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1119|      4|    }
 1120|       |
 1121|  1.63k|    FUNC_LEAVE_NOAPI_TAG(ret_value)
  ------------------
  |  | 1593|  1.63k|    ;                                                                                                        \
  |  | 1594|  1.63k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1595|  1.63k|    H5AC_tag(prev_tag, NULL);                                                                                \
  |  | 1596|  1.63k|    return (ret_value);                                                                                      \
  |  | 1597|  1.63k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1122|  1.60k|} /* end H5O_protect() */
H5O_unprotect:
 1212|  1.60k|{
 1213|  1.60k|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|  1.60k|#define SUCCEED 0
  ------------------
 1214|       |
 1215|  1.60k|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|  1.60k|    {                                                                                                        \
  |  | 1392|  1.60k|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|  1.60k|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|  1.60k|                                                                                                             \
  |  |  |  | 1267|  1.60k|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|  1.60k|        {
  ------------------
 1216|       |
 1217|       |    /* check args */
 1218|  1.60k|    assert(loc);
 1219|  1.60k|    assert(oh);
 1220|       |
 1221|       |    /* Unpin the other chunks */
 1222|  1.60k|    if (oh->chunks_pinned && oh->nchunks > 1) {
  ------------------
  |  Branch (1222:9): [True: 0, False: 1.60k]
  |  Branch (1222:30): [True: 0, False: 0]
  ------------------
 1223|      0|        unsigned u; /* Local index variable */
 1224|       |
 1225|       |        /* Sanity check */
 1226|      0|        assert(oh->swmr_write);
 1227|       |
 1228|       |        /* Iterate over chunks > 0 */
 1229|      0|        for (u = 1; u < oh->nchunks; u++) {
  ------------------
  |  Branch (1229:21): [True: 0, False: 0]
  ------------------
 1230|      0|            if (NULL != oh->chunk[u].chunk_proxy) {
  ------------------
  |  Branch (1230:17): [True: 0, False: 0]
  ------------------
 1231|       |                /* Release chunk proxy */
 1232|      0|                if (H5AC_unpin_entry(oh->chunk[u].chunk_proxy) < 0)
  ------------------
  |  Branch (1232:21): [True: 0, False: 0]
  ------------------
 1233|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_CANTUNPIN, FAIL, "unable to unpin object header chunk");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1234|      0|                oh->chunk[u].chunk_proxy = NULL;
 1235|      0|            } /* end if */
 1236|      0|        }     /* end for */
 1237|       |
 1238|       |        /* Reset the flag from the unprotect */
 1239|      0|        oh->chunks_pinned = false;
 1240|      0|    } /* end if */
 1241|       |
 1242|       |    /* Remove the other chunks if we're removing the ohdr (due to a failure) */
 1243|  1.60k|    if (oh_flags & H5AC__DELETED_FLAG) {
  ------------------
  |  |  315|  1.60k|#define H5AC__DELETED_FLAG                H5C__DELETED_FLAG
  |  |  ------------------
  |  |  |  |  176|  1.60k|#define H5C__DELETED_FLAG                   0x00001
  |  |  ------------------
  ------------------
  |  Branch (1243:9): [True: 4, False: 1.60k]
  ------------------
 1244|      4|        unsigned u; /* Local index variable */
 1245|       |
 1246|       |        /* Iterate over chunks > 0 */
 1247|      8|        for (u = 1; u < oh->nchunks; u++)
  ------------------
  |  Branch (1247:21): [True: 4, False: 4]
  ------------------
 1248|       |            /* Expunge chunk proxy from cache */
 1249|      4|            if (H5AC_expunge_entry(loc->file, H5AC_OHDR_CHK, oh->chunk[u].addr, H5AC__NO_FLAGS_SET) < 0)
  ------------------
  |  |  314|      4|#define H5AC__NO_FLAGS_SET                H5C__NO_FLAGS_SET
  |  |  ------------------
  |  |  |  |  175|      4|#define H5C__NO_FLAGS_SET                   0x00000
  |  |  ------------------
  ------------------
  |  Branch (1249:17): [True: 0, False: 4]
  ------------------
 1250|      0|                HGOTO_ERROR(H5E_OHDR, H5E_CANTUNPIN, FAIL, "unable to expunge object header chunk");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1251|      4|    } /* end if */
 1252|       |
 1253|       |    /* Unprotect the object header */
 1254|  1.60k|    if (H5AC_unprotect(loc->file, H5AC_OHDR, oh->chunk[0].addr, oh, oh_flags) < 0)
  ------------------
  |  Branch (1254:9): [True: 0, False: 1.60k]
  ------------------
 1255|      0|        HGOTO_ERROR(H5E_OHDR, H5E_CANTUNPROTECT, FAIL, "unable to release object header");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1256|       |
 1257|  1.60k|done:
 1258|  1.60k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  1.60k|    ;                                                                                                        \
  |  | 1573|  1.60k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  1.60k|    return (ret_value);                                                                                      \
  |  | 1575|  1.60k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1259|  1.60k|} /* end H5O_unprotect() */
H5O_obj_type:
 1571|    136|{
 1572|    136|    H5O_t *oh        = NULL;    /* Object header for location */
 1573|    136|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    136|#define SUCCEED 0
  ------------------
 1574|       |
 1575|    136|    FUNC_ENTER_NOAPI_TAG(loc->addr, FAIL)
  ------------------
  |  | 1443|    136|    {                                                                                                        \
  |  | 1444|    136|        haddr_t prev_tag = HADDR_UNDEF;                                                                      \
  |  |  ------------------
  |  |  |  |  336|    136|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  | 1445|    136|                                                                                                             \
  |  | 1446|    136|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    136|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    136|                                                                                                             \
  |  |  |  | 1267|    136|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1447|    136|        H5AC_tag(tag, &prev_tag);                                                                            \
  |  | 1448|    136|        {
  ------------------
 1576|       |
 1577|       |    /* Load the object header */
 1578|    136|    if (NULL == (oh = H5O_protect(loc, H5AC__READ_ONLY_FLAG, false)))
  ------------------
  |  |  322|    136|#define H5AC__READ_ONLY_FLAG              H5C__READ_ONLY_FLAG
  |  |  ------------------
  |  |  |  |  183|    136|#define H5C__READ_ONLY_FLAG                 0x00080
  |  |  ------------------
  ------------------
  |  Branch (1578:9): [True: 6, False: 130]
  ------------------
 1579|      6|        HGOTO_ERROR(H5E_OHDR, H5E_CANTPROTECT, FAIL, "unable to load object header");
  ------------------
  |  |   68|      6|    do {                                                                                                     \
  |  |   69|      6|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      6|    do {                                                                                                     \
  |  |  |  |   40|      6|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      6|    do {                                                                                                     \
  |  |  |  |  |  |   31|      6|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      6|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      6|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      6|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      6|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      6|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      6|    do {                                                                                                     \
  |  |  |  |   92|      6|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      6|        goto done;                                                                                           \
  |  |  |  |   94|      6|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      6|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1580|       |
 1581|       |    /* Retrieve the type of the object */
 1582|    130|    if (H5O__obj_type_real(oh, obj_type) < 0)
  ------------------
  |  Branch (1582:9): [True: 0, False: 130]
  ------------------
 1583|      0|        HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, FAIL, "unable to determine object type");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1584|       |
 1585|    136|done:
 1586|    136|    if (oh && H5O_unprotect(loc, oh, H5AC__NO_FLAGS_SET) < 0)
  ------------------
  |  |  314|    130|#define H5AC__NO_FLAGS_SET                H5C__NO_FLAGS_SET
  |  |  ------------------
  |  |  |  |  175|    130|#define H5C__NO_FLAGS_SET                   0x00000
  |  |  ------------------
  ------------------
  |  Branch (1586:9): [True: 130, False: 6]
  |  Branch (1586:15): [True: 0, False: 130]
  ------------------
 1587|      0|        HDONE_ERROR(H5E_OHDR, H5E_CANTUNPROTECT, FAIL, "unable to release object header");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1588|       |
 1589|    136|    FUNC_LEAVE_NOAPI_TAG(ret_value)
  ------------------
  |  | 1593|    136|    ;                                                                                                        \
  |  | 1594|    136|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1595|    136|    H5AC_tag(prev_tag, NULL);                                                                                \
  |  | 1596|    136|    return (ret_value);                                                                                      \
  |  | 1597|    136|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1590|    130|} /* end H5O_obj_type() */
H5O__obj_class:
 1640|     15|{
 1641|     15|    H5O_t                 *oh        = NULL; /* Object header for location */
 1642|     15|    const H5O_obj_class_t *ret_value = NULL; /* Return value */
 1643|       |
 1644|     15|    FUNC_ENTER_PACKAGE_TAG(loc->addr)
  ------------------
  |  | 1473|     15|    {                                                                                                        \
  |  | 1474|     15|        haddr_t prev_tag = HADDR_UNDEF;                                                                      \
  |  |  ------------------
  |  |  |  |  336|     15|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  | 1475|     15|                                                                                                             \
  |  | 1476|     15|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     15|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     15|                                                                                                             \
  |  |  |  | 1267|     15|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1477|     15|        H5AC_tag(tag, &prev_tag);                                                                            \
  |  | 1478|     15|        {
  ------------------
 1645|       |
 1646|       |    /* Load the object header */
 1647|     15|    if (NULL == (oh = H5O_protect(loc, H5AC__READ_ONLY_FLAG, false)))
  ------------------
  |  |  322|     15|#define H5AC__READ_ONLY_FLAG              H5C__READ_ONLY_FLAG
  |  |  ------------------
  |  |  |  |  183|     15|#define H5C__READ_ONLY_FLAG                 0x00080
  |  |  ------------------
  ------------------
  |  Branch (1647:9): [True: 6, False: 9]
  ------------------
 1648|      6|        HGOTO_ERROR(H5E_OHDR, H5E_CANTPROTECT, NULL, "unable to load object header");
  ------------------
  |  |   68|      6|    do {                                                                                                     \
  |  |   69|      6|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      6|    do {                                                                                                     \
  |  |  |  |   40|      6|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      6|    do {                                                                                                     \
  |  |  |  |  |  |   31|      6|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      6|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      6|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      6|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      6|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      6|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      6|    do {                                                                                                     \
  |  |  |  |   92|      6|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      6|        goto done;                                                                                           \
  |  |  |  |   94|      6|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      6|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1649|       |
 1650|       |    /* Test whether entry qualifies as a particular type of object */
 1651|      9|    if (NULL == (ret_value = H5O__obj_class_real(oh)))
  ------------------
  |  Branch (1651:9): [True: 0, False: 9]
  ------------------
 1652|      0|        HGOTO_ERROR(H5E_OHDR, H5E_CANTGET, NULL, "unable to determine object type");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1653|       |
 1654|     15|done:
 1655|     15|    if (oh && H5O_unprotect(loc, oh, H5AC__NO_FLAGS_SET) < 0)
  ------------------
  |  |  314|      9|#define H5AC__NO_FLAGS_SET                H5C__NO_FLAGS_SET
  |  |  ------------------
  |  |  |  |  175|      9|#define H5C__NO_FLAGS_SET                   0x00000
  |  |  ------------------
  ------------------
  |  Branch (1655:9): [True: 9, False: 6]
  |  Branch (1655:15): [True: 0, False: 9]
  ------------------
 1656|      0|        HDONE_ERROR(H5E_OHDR, H5E_CANTUNPROTECT, NULL, "unable to release object header");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1657|       |
 1658|     15|    FUNC_LEAVE_NOAPI_TAG(ret_value)
  ------------------
  |  | 1593|     15|    ;                                                                                                        \
  |  | 1594|     15|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1595|     15|    H5AC_tag(prev_tag, NULL);                                                                                \
  |  | 1596|     15|    return (ret_value);                                                                                      \
  |  | 1597|     15|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1659|      9|} /* end H5O__obj_class() */
H5O_loc_reset:
 1771|  1.99k|{
 1772|  1.99k|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|  1.99k|    {                                                                                                        \
  |  | 1425|  1.99k|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|  1.99k|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|  1.99k|        {
  ------------------
 1773|       |
 1774|       |    /* Check arguments */
 1775|  1.99k|    assert(loc);
 1776|       |
 1777|       |    /* Clear the object location to an empty state */
 1778|  1.99k|    memset(loc, 0, sizeof(H5O_loc_t));
 1779|  1.99k|    loc->addr = HADDR_UNDEF;
  ------------------
  |  |  336|  1.99k|#define HADDR_UNDEF         UINT64_MAX
  ------------------
 1780|       |
 1781|  1.99k|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|  1.99k|    ;                                                                                                        \
  |  | 1573|  1.99k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  1.99k|    return (ret_value);                                                                                      \
  |  | 1575|  1.99k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1782|  1.99k|} /* end H5O_loc_reset() */
H5O_loc_copy:
 1796|    862|{
 1797|    862|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|    862|    {                                                                                                        \
  |  | 1425|    862|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    862|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|    862|        {
  ------------------
 1798|       |
 1799|       |    /* Check arguments */
 1800|    862|    assert(src);
 1801|    862|    assert(dst);
 1802|    862|    assert(depth == H5_COPY_SHALLOW || depth == H5_COPY_DEEP);
 1803|       |
 1804|       |    /* Invoke correct routine */
 1805|    862|    if (depth == H5_COPY_SHALLOW)
  ------------------
  |  Branch (1805:9): [True: 321, False: 541]
  ------------------
 1806|    321|        H5O_loc_copy_shallow(dst, src);
 1807|    541|    else
 1808|    541|        H5O_loc_copy_deep(dst, src);
 1809|       |
 1810|    862|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|    862|    ;                                                                                                        \
  |  | 1573|    862|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    862|    return (ret_value);                                                                                      \
  |  | 1575|    862|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1811|    862|} /* end H5O_loc_copy() */
H5O_loc_copy_shallow:
 1828|    467|{
 1829|    467|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|    467|    {                                                                                                        \
  |  | 1425|    467|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    467|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|    467|        {
  ------------------
 1830|       |
 1831|       |    /* Check arguments */
 1832|    467|    assert(src);
 1833|    467|    assert(dst);
 1834|       |
 1835|       |    /* Copy the top level information */
 1836|    467|    H5MM_memcpy(dst, src, sizeof(H5O_loc_t));
  ------------------
  |  |   41|    467|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
 1837|       |
 1838|       |    /* Reset the source location, as the destination 'owns' it now */
 1839|    467|    H5O_loc_reset(src);
 1840|       |
 1841|    467|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|    467|    ;                                                                                                        \
  |  | 1573|    467|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    467|    return (ret_value);                                                                                      \
  |  | 1575|    467|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1842|    467|} /* end H5O_loc_copy_shallow() */
H5O_loc_copy_deep:
 1858|    612|{
 1859|    612|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|    612|    {                                                                                                        \
  |  | 1425|    612|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    612|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|    612|        {
  ------------------
 1860|       |
 1861|       |    /* Check arguments */
 1862|    612|    assert(src);
 1863|    612|    assert(dst);
 1864|       |
 1865|       |    /* Copy the top level information */
 1866|    612|    H5MM_memcpy(dst, src, sizeof(H5O_loc_t));
  ------------------
  |  |   41|    612|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
 1867|       |
 1868|       |    /* If the original entry was holding open the file, this one should
 1869|       |     * hold it open, too.
 1870|       |     */
 1871|    612|    if (src->holding_file)
  ------------------
  |  Branch (1871:9): [True: 0, False: 612]
  ------------------
 1872|      0|        H5F_INCR_NOPEN_OBJS(dst->file);
  ------------------
  |  |  116|      0|#define H5F_INCR_NOPEN_OBJS(F)           (H5F_incr_nopen_objs(F))
  ------------------
 1873|       |
 1874|    612|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|    612|    ;                                                                                                        \
  |  | 1573|    612|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    612|    return (ret_value);                                                                                      \
  |  | 1575|    612|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1875|    612|} /* end H5O_loc_copy_deep() */
H5O_loc_free:
 1920|    767|{
 1921|    767|    herr_t ret_value = SUCCEED;
  ------------------
  |  |  283|    767|#define SUCCEED 0
  ------------------
 1922|       |
 1923|    767|    FUNC_ENTER_NOAPI_NOINIT
  ------------------
  |  | 1410|    767|    {                                                                                                        \
  |  | 1411|    767|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    767|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    767|                                                                                                             \
  |  |  |  | 1267|    767|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1412|    767|        {
  ------------------
 1924|       |
 1925|       |    /* Check arguments */
 1926|    767|    assert(loc);
 1927|       |
 1928|       |    /* If this location is holding its file open try to close the file. */
 1929|    767|    if (loc->holding_file) {
  ------------------
  |  Branch (1929:9): [True: 0, False: 767]
  ------------------
 1930|      0|        H5F_DECR_NOPEN_OBJS(loc->file);
  ------------------
  |  |  117|      0|#define H5F_DECR_NOPEN_OBJS(F)           (H5F_decr_nopen_objs(F))
  ------------------
 1931|      0|        loc->holding_file = false;
 1932|      0|        if (H5F_NOPEN_OBJS(loc->file) <= 0) {
  ------------------
  |  |  115|      0|#define H5F_NOPEN_OBJS(F)                (H5F_get_nopen_objs(F))
  ------------------
  |  Branch (1932:13): [True: 0, False: 0]
  ------------------
 1933|      0|            if (H5F_try_close(loc->file, NULL) < 0)
  ------------------
  |  Branch (1933:17): [True: 0, False: 0]
  ------------------
 1934|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTCLOSEFILE, FAIL, "can't close file");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1935|      0|        }
 1936|      0|    }
 1937|       |
 1938|    767|done:
 1939|    767|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    767|    ;                                                                                                        \
  |  | 1573|    767|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    767|    return (ret_value);                                                                                      \
  |  | 1575|    767|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1940|    767|} /* end H5O_loc_free() */
H5O_get_info:
 2071|     74|{
 2072|     74|    const H5O_obj_class_t *obj_class;           /* Class of object for header */
 2073|     74|    H5O_t                 *oh        = NULL;    /* Object header */
 2074|     74|    herr_t                 ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     74|#define SUCCEED 0
  ------------------
 2075|       |
 2076|     74|    FUNC_ENTER_NOAPI_TAG(loc->addr, FAIL)
  ------------------
  |  | 1443|     74|    {                                                                                                        \
  |  | 1444|     74|        haddr_t prev_tag = HADDR_UNDEF;                                                                      \
  |  |  ------------------
  |  |  |  |  336|     74|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  | 1445|     74|                                                                                                             \
  |  | 1446|     74|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     74|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     74|                                                                                                             \
  |  |  |  | 1267|     74|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1447|     74|        H5AC_tag(tag, &prev_tag);                                                                            \
  |  | 1448|     74|        {
  ------------------
 2077|       |
 2078|       |    /* Check args */
 2079|     74|    assert(loc);
 2080|     74|    assert(oinfo);
 2081|       |
 2082|       |    /* Get the object header */
 2083|     74|    if (NULL == (oh = H5O_protect(loc, H5AC__READ_ONLY_FLAG, false)))
  ------------------
  |  |  322|     74|#define H5AC__READ_ONLY_FLAG              H5C__READ_ONLY_FLAG
  |  |  ------------------
  |  |  |  |  183|     74|#define H5C__READ_ONLY_FLAG                 0x00080
  |  |  ------------------
  ------------------
  |  Branch (2083:9): [True: 22, False: 52]
  ------------------
 2084|     22|        HGOTO_ERROR(H5E_OHDR, H5E_CANTPROTECT, FAIL, "unable to load object header");
  ------------------
  |  |   68|     22|    do {                                                                                                     \
  |  |   69|     22|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     22|    do {                                                                                                     \
  |  |  |  |   40|     22|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     22|    do {                                                                                                     \
  |  |  |  |  |  |   31|     22|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     22|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     22|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     22|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     22|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     22|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     22|    do {                                                                                                     \
  |  |  |  |   92|     22|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     22|        goto done;                                                                                           \
  |  |  |  |   94|     22|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     22|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2085|       |
 2086|       |    /* Get class for object */
 2087|     52|    if (NULL == (obj_class = H5O__obj_class_real(oh)))
  ------------------
  |  Branch (2087:9): [True: 0, False: 52]
  ------------------
 2088|      0|        HGOTO_ERROR(H5E_OHDR, H5E_CANTGET, FAIL, "unable to determine object class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2089|       |
 2090|       |    /* Reset the object info structure */
 2091|     52|    if (H5O__reset_info2(oinfo) < 0)
  ------------------
  |  Branch (2091:9): [True: 0, False: 52]
  ------------------
 2092|      0|        HGOTO_ERROR(H5E_OHDR, H5E_CANTSET, FAIL, "can't reset object data struct");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2093|       |
 2094|       |    /* Get basic information, if requested */
 2095|     52|    if (fields & H5O_INFO_BASIC) {
  ------------------
  |  |   81|     52|#define H5O_INFO_BASIC     0x0001u /**< Fill in the fileno, addr, type, and rc fields */
  ------------------
  |  Branch (2095:9): [True: 52, False: 0]
  ------------------
 2096|       |        /* Retrieve the file's fileno */
 2097|     52|        H5F_GET_FILENO(loc->file, oinfo->fileno);
  ------------------
  |  |  123|     52|#define H5F_GET_FILENO(F, FILENUM)       (H5F_get_fileno((F), &(FILENUM)))
  ------------------
 2098|       |
 2099|       |        /* Set the object's address into the token */
 2100|     52|        if (H5VL_native_addr_to_token(loc->file, H5I_FILE, loc->addr, &oinfo->token) < 0)
  ------------------
  |  Branch (2100:13): [True: 0, False: 52]
  ------------------
 2101|      0|            HGOTO_ERROR(H5E_OHDR, H5E_CANTSERIALIZE, FAIL, "can't serialize address into object token");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2102|       |
 2103|       |        /* Retrieve the type of the object */
 2104|     52|        oinfo->type = obj_class->type;
 2105|       |
 2106|       |        /* Set the object's reference count */
 2107|     52|        oinfo->rc = oh->nlink;
 2108|     52|    }
 2109|       |
 2110|       |    /* Get time information, if requested */
 2111|     52|    if (fields & H5O_INFO_TIME) {
  ------------------
  |  |   82|     52|#define H5O_INFO_TIME      0x0002u /**< Fill in the atime, mtime, ctime, and btime fields */
  ------------------
  |  Branch (2111:9): [True: 0, False: 52]
  ------------------
 2112|      0|        if (oh->version > H5O_VERSION_1) {
  ------------------
  |  |   38|      0|#define H5O_VERSION_1 1
  ------------------
  |  Branch (2112:13): [True: 0, False: 0]
  ------------------
 2113|      0|            oinfo->atime = oh->atime;
 2114|      0|            oinfo->mtime = oh->mtime;
 2115|      0|            oinfo->ctime = oh->ctime;
 2116|      0|            oinfo->btime = oh->btime;
 2117|      0|        } /* end if */
 2118|      0|        else {
 2119|      0|            htri_t exists; /* Flag if header message of interest exists */
 2120|       |
 2121|       |            /* No information for access & modification fields */
 2122|       |            /* (we stopped updating the "modification time" header message for
 2123|       |             *      raw data changes, so the "modification time" header message
 2124|       |             *      is closest to the 'change time', in POSIX terms - QAK)
 2125|       |             */
 2126|      0|            oinfo->atime = 0;
 2127|      0|            oinfo->mtime = 0;
 2128|      0|            oinfo->btime = 0;
 2129|       |
 2130|       |            /* Might be information for modification time */
 2131|      0|            if ((exists = H5O_msg_exists_oh(oh, H5O_MTIME_ID)) < 0)
  ------------------
  |  |  220|      0|#define H5O_MTIME_ID       0x000e /* Modification time message. (Old)  */
  ------------------
  |  Branch (2131:17): [True: 0, False: 0]
  ------------------
 2132|      0|                HGOTO_ERROR(H5E_OHDR, H5E_NOTFOUND, FAIL, "unable to check for MTIME message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2133|      0|            if (exists > 0) {
  ------------------
  |  Branch (2133:17): [True: 0, False: 0]
  ------------------
 2134|       |                /* Get "old style" modification time info */
 2135|      0|                if (NULL == H5O_msg_read_oh(loc->file, oh, H5O_MTIME_ID, &oinfo->ctime))
  ------------------
  |  |  220|      0|#define H5O_MTIME_ID       0x000e /* Modification time message. (Old)  */
  ------------------
  |  Branch (2135:21): [True: 0, False: 0]
  ------------------
 2136|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_CANTGET, FAIL, "can't read MTIME message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2137|      0|            } /* end if */
 2138|      0|            else {
 2139|       |                /* Check for "new style" modification time info */
 2140|      0|                if ((exists = H5O_msg_exists_oh(oh, H5O_MTIME_NEW_ID)) < 0)
  ------------------
  |  |  224|      0|#define H5O_MTIME_NEW_ID   0x0012 /* Modification time message. (New)  */
  ------------------
  |  Branch (2140:21): [True: 0, False: 0]
  ------------------
 2141|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_NOTFOUND, FAIL, "unable to check for MTIME_NEW message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2142|      0|                if (exists > 0) {
  ------------------
  |  Branch (2142:21): [True: 0, False: 0]
  ------------------
 2143|       |                    /* Get "new style" modification time info */
 2144|      0|                    if (NULL == H5O_msg_read_oh(loc->file, oh, H5O_MTIME_NEW_ID, &oinfo->ctime))
  ------------------
  |  |  224|      0|#define H5O_MTIME_NEW_ID   0x0012 /* Modification time message. (New)  */
  ------------------
  |  Branch (2144:25): [True: 0, False: 0]
  ------------------
 2145|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_CANTGET, FAIL, "can't read MTIME_NEW message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2146|      0|                } /* end if */
 2147|      0|                else
 2148|      0|                    oinfo->ctime = 0;
 2149|      0|            } /* end else */
 2150|      0|        }     /* end else */
 2151|      0|    }         /* end if */
 2152|       |
 2153|       |    /* Retrieve # of attributes */
 2154|     52|    if (fields & H5O_INFO_NUM_ATTRS)
  ------------------
  |  |   83|     52|#define H5O_INFO_NUM_ATTRS 0x0004u /**< Fill in the num_attrs field */
  ------------------
  |  Branch (2154:9): [True: 0, False: 52]
  ------------------
 2155|      0|        if (H5O__attr_count_real(loc->file, oh, &oinfo->num_attrs) < 0)
  ------------------
  |  Branch (2155:13): [True: 0, False: 0]
  ------------------
 2156|      0|            HGOTO_ERROR(H5E_OHDR, H5E_CANTGET, FAIL, "can't retrieve attribute count");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2157|       |
 2158|     74|done:
 2159|     74|    if (oh && H5O_unprotect(loc, oh, H5AC__NO_FLAGS_SET) < 0)
  ------------------
  |  |  314|     52|#define H5AC__NO_FLAGS_SET                H5C__NO_FLAGS_SET
  |  |  ------------------
  |  |  |  |  175|     52|#define H5C__NO_FLAGS_SET                   0x00000
  |  |  ------------------
  ------------------
  |  Branch (2159:9): [True: 52, False: 22]
  |  Branch (2159:15): [True: 0, False: 52]
  ------------------
 2160|      0|        HDONE_ERROR(H5E_OHDR, H5E_CANTUNPROTECT, FAIL, "unable to release object header");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2161|       |
 2162|     74|    FUNC_LEAVE_NOAPI_TAG(ret_value)
  ------------------
  |  | 1593|     74|    ;                                                                                                        \
  |  | 1594|     74|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1595|     74|    H5AC_tag(prev_tag, NULL);                                                                                \
  |  | 1596|     74|    return (ret_value);                                                                                      \
  |  | 1597|     74|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2163|     52|} /* end H5O_get_info() */
H5O_get_create_plist:
 2236|     37|{
 2237|     37|    H5O_t *oh        = NULL;    /* Object header */
 2238|     37|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     37|#define SUCCEED 0
  ------------------
 2239|       |
 2240|     37|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     37|    {                                                                                                        \
  |  | 1392|     37|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     37|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     37|                                                                                                             \
  |  |  |  | 1267|     37|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     37|        {
  ------------------
 2241|       |
 2242|       |    /* Check args */
 2243|     37|    assert(loc);
 2244|     37|    assert(oc_plist);
 2245|       |
 2246|       |    /* Get the object header */
 2247|     37|    if (NULL == (oh = H5O_protect(loc, H5AC__READ_ONLY_FLAG, false)))
  ------------------
  |  |  322|     37|#define H5AC__READ_ONLY_FLAG              H5C__READ_ONLY_FLAG
  |  |  ------------------
  |  |  |  |  183|     37|#define H5C__READ_ONLY_FLAG                 0x00080
  |  |  ------------------
  ------------------
  |  Branch (2247:9): [True: 0, False: 37]
  ------------------
 2248|      0|        HGOTO_ERROR(H5E_OHDR, H5E_CANTPROTECT, FAIL, "unable to load object header");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2249|       |
 2250|       |    /* Set property values, if they were used for the object */
 2251|     37|    if (oh->version > H5O_VERSION_1) {
  ------------------
  |  |   38|     37|#define H5O_VERSION_1 1
  ------------------
  |  Branch (2251:9): [True: 0, False: 37]
  ------------------
 2252|      0|        uint8_t ohdr_flags; /* "User-visible" object header status flags */
 2253|       |
 2254|       |        /* Set attribute storage values */
 2255|      0|        if (H5P_set(oc_plist, H5O_CRT_ATTR_MAX_COMPACT_NAME, &oh->max_compact) < 0)
  ------------------
  |  |   96|      0|#define H5O_CRT_ATTR_MAX_COMPACT_NAME "max compact attr"    /* Max. # of attributes to store compactly */
  ------------------
  |  Branch (2255:13): [True: 0, False: 0]
  ------------------
 2256|      0|            HGOTO_ERROR(H5E_OHDR, H5E_CANTSET, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2257|      0|                        "can't set max. # of compact attributes in property list");
 2258|      0|        if (H5P_set(oc_plist, H5O_CRT_ATTR_MIN_DENSE_NAME, &oh->min_dense) < 0)
  ------------------
  |  |   97|      0|#define H5O_CRT_ATTR_MIN_DENSE_NAME   "min dense attr"      /* Min. # of attributes to store densely */
  ------------------
  |  Branch (2258:13): [True: 0, False: 0]
  ------------------
 2259|      0|            HGOTO_ERROR(H5E_OHDR, H5E_CANTSET, FAIL, "can't set min. # of dense attributes in property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2260|       |
 2261|       |        /* Mask off non-"user visible" flags */
 2262|      0|        H5_CHECKED_ASSIGN(ohdr_flags, uint8_t,
  ------------------
  |  |  977|      0|    do {                                                                                                     \
  |  |  978|      0|        (dst) = (dsttype)(src);                                                                              \
  |  |  979|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (979:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2263|      0|                          oh->flags & (H5O_HDR_ATTR_CRT_ORDER_TRACKED | H5O_HDR_ATTR_CRT_ORDER_INDEXED |
 2264|      0|                                       H5O_HDR_STORE_TIMES),
 2265|      0|                          int);
 2266|       |
 2267|       |        /* Set object header flags */
 2268|      0|        if (H5P_set(oc_plist, H5O_CRT_OHDR_FLAGS_NAME, &ohdr_flags) < 0)
  ------------------
  |  |   98|      0|#define H5O_CRT_OHDR_FLAGS_NAME       "object header flags" /* Object header flags */
  ------------------
  |  Branch (2268:13): [True: 0, False: 0]
  ------------------
 2269|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "can't set object header flags");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2270|      0|    } /* end if */
 2271|       |
 2272|     37|done:
 2273|     37|    if (oh && H5O_unprotect(loc, oh, H5AC__NO_FLAGS_SET) < 0)
  ------------------
  |  |  314|     37|#define H5AC__NO_FLAGS_SET                H5C__NO_FLAGS_SET
  |  |  ------------------
  |  |  |  |  175|     37|#define H5C__NO_FLAGS_SET                   0x00000
  |  |  ------------------
  ------------------
  |  Branch (2273:9): [True: 37, False: 0]
  |  Branch (2273:15): [True: 0, False: 37]
  ------------------
 2274|      0|        HDONE_ERROR(H5E_OHDR, H5E_CANTUNPROTECT, FAIL, "unable to release object header");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2275|       |
 2276|     37|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     37|    ;                                                                                                        \
  |  | 1573|     37|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     37|    return (ret_value);                                                                                      \
  |  | 1575|     37|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2277|     37|} /* end H5O_get_create_plist() */
H5O__inc_rc:
 2739|      7|{
 2740|      7|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      7|#define SUCCEED 0
  ------------------
 2741|       |
 2742|      7|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      7|    {                                                                                                        \
  |  | 1461|      7|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      7|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      7|                                                                                                             \
  |  |  |  | 1267|      7|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      7|        {
  ------------------
 2743|       |
 2744|       |    /* check args */
 2745|      7|    assert(oh);
 2746|       |
 2747|       |    /* Pin the object header when the reference count goes above 0 */
 2748|      7|    if (oh->rc == 0)
  ------------------
  |  Branch (2748:9): [True: 7, False: 0]
  ------------------
 2749|      7|        if (H5AC_pin_protected_entry(oh) < 0)
  ------------------
  |  Branch (2749:13): [True: 0, False: 7]
  ------------------
 2750|      0|            HGOTO_ERROR(H5E_OHDR, H5E_CANTPIN, FAIL, "unable to pin object header");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2751|       |
 2752|       |    /* Increment reference count */
 2753|      7|    oh->rc++;
 2754|       |
 2755|      7|done:
 2756|      7|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2757|      7|} /* end H5O__inc_rc() */
H5O__dec_rc:
 2770|     10|{
 2771|     10|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
 2772|       |
 2773|     10|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     10|    {                                                                                                        \
  |  | 1461|     10|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     10|        {
  ------------------
 2774|       |
 2775|       |    /* check args */
 2776|     10|    if (!oh)
  ------------------
  |  Branch (2776:9): [True: 3, False: 7]
  ------------------
 2777|      3|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid object header");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2778|       |
 2779|       |    /* Decrement reference count */
 2780|      7|    oh->rc--;
 2781|       |
 2782|       |    /* Unpin the object header when the reference count goes back to 0 */
 2783|      7|    if (oh->rc == 0)
  ------------------
  |  Branch (2783:9): [True: 7, False: 0]
  ------------------
 2784|      7|        if (H5AC_unpin_entry(oh) < 0)
  ------------------
  |  Branch (2784:13): [True: 0, False: 7]
  ------------------
 2785|      0|            HGOTO_ERROR(H5E_OHDR, H5E_CANTUNPIN, FAIL, "unable to unpin object header");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2786|       |
 2787|     10|done:
 2788|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2789|      7|} /* end H5O__dec_rc() */
H5O__free:
 2860|    159|{
 2861|    159|    unsigned u;                   /* Local index variable */
 2862|    159|    herr_t   ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    159|#define SUCCEED 0
  ------------------
 2863|       |
 2864|    159|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    159|    {                                                                                                        \
  |  | 1461|    159|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    159|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    159|                                                                                                             \
  |  |  |  | 1267|    159|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    159|        {
  ------------------
 2865|       |
 2866|       |    /* check args */
 2867|    159|    assert(oh);
 2868|    159|    assert(0 == oh->rc);
 2869|       |
 2870|       |    /* Destroy chunks */
 2871|    159|    if (oh->chunk) {
  ------------------
  |  Branch (2871:9): [True: 69, False: 90]
  ------------------
 2872|    148|        for (u = 0; u < oh->nchunks; u++)
  ------------------
  |  Branch (2872:21): [True: 79, False: 69]
  ------------------
 2873|     79|            oh->chunk[u].image = H5FL_BLK_FREE(chunk_image, oh->chunk[u].image);
  ------------------
  |  |  152|     79|#define H5FL_BLK_FREE(t, blk) (uint8_t *)H5FL_blk_free(&(H5FL_BLK_NAME(t)), blk)
  |  |  ------------------
  |  |  |  |  131|     79|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
 2874|       |
 2875|     69|        oh->chunk = (H5O_chunk_t *)H5FL_SEQ_FREE(H5O_chunk_t, oh->chunk);
  ------------------
  |  |  288|     69|#define H5FL_SEQ_FREE(t, obj) (t *)H5FL_seq_free(&(H5FL_SEQ_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |  266|     69|#define H5FL_SEQ_NAME(t) H5_##t##_seq_free_list
  |  |  ------------------
  ------------------
 2876|     69|    } /* end if */
 2877|       |
 2878|       |    /* Destroy messages */
 2879|    159|    if (oh->mesg) {
  ------------------
  |  Branch (2879:9): [True: 69, False: 90]
  ------------------
 2880|    482|        for (u = 0; u < oh->nmesgs; u++) {
  ------------------
  |  Branch (2880:21): [True: 413, False: 69]
  ------------------
 2881|       |#ifndef NDEBUG
 2882|       |            /* Verify that message is clean, unless it could have been marked
 2883|       |             * dirty by decoding, or if this is a forced free (in case of
 2884|       |             * failure during creation of the object some messages may be dirty)
 2885|       |             */
 2886|       |            if (oh->ndecode_dirtied && oh->mesg[u].dirty)
 2887|       |                oh->ndecode_dirtied--;
 2888|       |            else if (!force)
 2889|       |                assert(oh->mesg[u].dirty == 0);
 2890|       |#endif /* NDEBUG */
 2891|       |
 2892|    413|            H5O__msg_free_mesg(&oh->mesg[u]);
 2893|    413|        } /* end for */
 2894|       |
 2895|       |        /* Make sure we accounted for all the messages dirtied by decoding */
 2896|     69|        assert(!oh->ndecode_dirtied);
 2897|       |
 2898|     69|        oh->mesg = (H5O_mesg_t *)H5FL_SEQ_FREE(H5O_mesg_t, oh->mesg);
  ------------------
  |  |  288|     69|#define H5FL_SEQ_FREE(t, obj) (t *)H5FL_seq_free(&(H5FL_SEQ_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |  266|     69|#define H5FL_SEQ_NAME(t) H5_##t##_seq_free_list
  |  |  ------------------
  ------------------
 2899|     69|    } /* end if */
 2900|       |
 2901|       |    /* Destroy the proxy */
 2902|    159|    if (oh->proxy)
  ------------------
  |  Branch (2902:9): [True: 0, False: 159]
  ------------------
 2903|      0|        if (H5AC_proxy_entry_dest(oh->proxy) < 0)
  ------------------
  |  Branch (2903:13): [True: 0, False: 0]
  ------------------
 2904|      0|            HGOTO_ERROR(H5E_OHDR, H5E_CANTFREE, FAIL, "unable to destroy virtual entry used for proxy");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2905|       |
 2906|       |    /* destroy object header */
 2907|    159|    oh = H5FL_FREE(H5O_t, oh);
  ------------------
  |  |   81|    159|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|    159|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 2908|       |
 2909|    159|done:
 2910|    159|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    159|    ;                                                                                                        \
  |  | 1573|    159|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    159|    return (ret_value);                                                                                      \
  |  | 1575|    159|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2911|    159|} /* end H5O__free() */
H5Oint.c:H5O__obj_type_real:
 1604|    130|{
 1605|    130|    const H5O_obj_class_t *obj_class; /* Class of object for header */
 1606|       |
 1607|    130|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|    130|    {                                                                                                        \
  |  | 1467|    130|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|    130|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|    130|        {
  ------------------
 1608|       |
 1609|       |    /* Sanity check */
 1610|    130|    assert(oh);
 1611|    130|    assert(obj_type);
 1612|       |
 1613|       |    /* Look up class for object header */
 1614|    130|    if (NULL == (obj_class = H5O__obj_class_real(oh))) {
  ------------------
  |  Branch (1614:9): [True: 0, False: 130]
  ------------------
 1615|       |        /* Clear error stack from "failed" class lookup */
 1616|      0|        H5E_clear_stack();
 1617|       |
 1618|       |        /* Set type to "unknown" */
 1619|      0|        *obj_type = H5O_TYPE_UNKNOWN;
 1620|      0|    }
 1621|    130|    else
 1622|       |        /* Set object type */
 1623|    130|        *obj_type = obj_class->type;
 1624|       |
 1625|    130|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|    130|    ;                                                                                                        \
  |  | 1573|    130|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    130|    return (ret_value);                                                                                      \
  |  | 1575|    130|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1626|    130|} /* end H5O__obj_type_real() */
H5Oint.c:H5O__obj_class_real:
 1673|    191|{
 1674|    191|    size_t                 i;                /* Local index variable */
 1675|    191|    const H5O_obj_class_t *ret_value = NULL; /* Return value */
 1676|       |
 1677|    191|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    191|    {                                                                                                        \
  |  | 1461|    191|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    191|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    191|                                                                                                             \
  |  |  |  | 1267|    191|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    191|        {
  ------------------
 1678|       |
 1679|       |    /* Sanity check */
 1680|    191|    assert(oh);
 1681|       |
 1682|       |    /* Test whether entry qualifies as a particular type of object */
 1683|       |    /* (Note: loop is in reverse order, to test specific objects first) */
 1684|    291|    for (i = NELMTS(H5O_obj_class_g); i > 0; --i) {
  ------------------
  |  |  288|    191|#define NELMTS(X) (sizeof(X) / sizeof(X[0]))
  ------------------
  |  Branch (1684:39): [True: 291, False: 0]
  ------------------
 1685|    291|        htri_t isa; /* Is entry a particular type? */
 1686|       |
 1687|    291|        if ((isa = (H5O_obj_class_g[i - 1]->isa)(oh)) < 0)
  ------------------
  |  Branch (1687:13): [True: 0, False: 291]
  ------------------
 1688|      0|            HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, NULL, "unable to determine object type");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1689|    291|        else if (isa)
  ------------------
  |  Branch (1689:18): [True: 191, False: 100]
  ------------------
 1690|    191|            HGOTO_DONE(H5O_obj_class_g[i - 1]);
  ------------------
  |  |   91|    191|    do {                                                                                                     \
  |  |   92|    191|        ret_value = ret_val;                                                                                 \
  |  |   93|    191|        goto done;                                                                                           \
  |  |   94|    191|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1691|    291|    }
 1692|       |
 1693|      0|    if (0 == i)
  ------------------
  |  Branch (1693:9): [True: 0, False: 0]
  ------------------
 1694|      0|        HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, NULL, "unable to determine object type");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1695|       |
 1696|    191|done:
 1697|    191|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    191|    ;                                                                                                        \
  |  | 1573|    191|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    191|    return (ret_value);                                                                                      \
  |  | 1575|    191|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1698|      0|} /* end H5O__obj_class_real() */
H5Oint.c:H5O__reset_info2:
 2924|     52|{
 2925|     52|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     52|    {                                                                                                        \
  |  | 1467|     52|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     52|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     52|        {
  ------------------
 2926|       |
 2927|       |    /* Reset the passed-in info struct */
 2928|     52|    memset(oinfo, 0, sizeof(H5O_info2_t));
 2929|     52|    oinfo->type  = H5O_TYPE_UNKNOWN;
 2930|     52|    oinfo->token = H5O_TOKEN_UNDEF;
  ------------------
  |  | 1685|     52|#define H5O_TOKEN_UNDEF (H5OPEN H5O_TOKEN_UNDEF_g)
  ------------------
 2931|       |
 2932|     52|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     52|    ;                                                                                                        \
  |  | 1573|     52|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     52|    return (ret_value);                                                                                      \
  |  | 1575|     52|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2933|     52|} /* end H5O__reset_info2() */

H5Olayout.c:H5O__layout_decode:
   85|     38|{
   86|     38|    const uint8_t *p_end      = p + p_size - 1; /* End of the p buffer */
   87|     38|    H5O_layout_t  *mesg       = NULL;
   88|     38|    uint8_t       *heap_block = NULL;
   89|     38|    void          *ret_value  = NULL;
   90|       |
   91|     38|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     38|    {                                                                                                        \
  |  | 1461|     38|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     38|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     38|                                                                                                             \
  |  |  |  | 1267|     38|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     38|        {
  ------------------
   92|       |
   93|     38|    assert(f);
   94|     38|    assert(p);
   95|       |
   96|     38|    if (NULL == (mesg = H5FL_CALLOC(H5O_layout_t)))
  ------------------
  |  |   78|     38|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|     38|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (96:9): [True: 0, False: 38]
  ------------------
   97|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_CANTALLOC, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   98|     38|    mesg->storage.type = H5D_LAYOUT_ERROR;
   99|       |
  100|     38|    if (H5_IS_BUFFER_OVERFLOW(p, 1, p_end))
  ------------------
  |  |  344|     38|    (                                                                                                        \
  |  |  345|     38|      /* Trivial case */                                                                                     \
  |  |  346|     38|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|     38|      (                                                                                                      \
  |  |  348|     38|        /* Bad precondition */                                                                               \
  |  |  349|     38|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 38]
  |  |  ------------------
  |  |  350|     38|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     38|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|     38|        /* Typical overflow */                                                                               \
  |  |  353|     38|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 38]
  |  |  ------------------
  |  |  354|     38|      )                                                                                                      \
  |  |  355|     38|    )
  ------------------
  101|      0|        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  102|     38|    mesg->version = *p++;
  103|       |
  104|     38|    if (mesg->version < H5O_LAYOUT_VERSION_1 || mesg->version > H5O_LAYOUT_VERSION_4)
  ------------------
  |  |  409|     76|#define H5O_LAYOUT_VERSION_1 1
  ------------------
                  if (mesg->version < H5O_LAYOUT_VERSION_1 || mesg->version > H5O_LAYOUT_VERSION_4)
  ------------------
  |  |  428|     38|#define H5O_LAYOUT_VERSION_4 4
  ------------------
  |  Branch (104:9): [True: 0, False: 38]
  |  Branch (104:49): [True: 0, False: 38]
  ------------------
  105|      0|        HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, NULL, "bad version number for layout message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  106|       |
  107|     38|    if (mesg->version < H5O_LAYOUT_VERSION_3) {
  ------------------
  |  |  419|     38|#define H5O_LAYOUT_VERSION_3 3
  ------------------
  |  Branch (107:9): [True: 0, False: 38]
  ------------------
  108|      0|        unsigned ndims; /* Num dimensions in chunk */
  109|       |
  110|       |        /* Dimensionality */
  111|      0|        if (H5_IS_BUFFER_OVERFLOW(p, 1, p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  112|      0|            HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  113|      0|        ndims = *p++;
  114|       |
  115|      0|        if (!ndims || ndims > H5O_LAYOUT_NDIMS)
  ------------------
  |  |  397|      0|#define H5O_LAYOUT_NDIMS (H5S_MAX_RANK + 1)
  |  |  ------------------
  |  |  |  |   53|      0|#define H5S_MAX_RANK 32
  |  |  ------------------
  ------------------
  |  Branch (115:13): [True: 0, False: 0]
  |  Branch (115:23): [True: 0, False: 0]
  ------------------
  116|      0|            HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, NULL, "dimensionality is out of range");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  117|       |
  118|       |        /* Layout class */
  119|      0|        if (H5_IS_BUFFER_OVERFLOW(p, 1, p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  120|      0|            HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  121|      0|        mesg->type = (H5D_layout_t)*p++;
  122|       |
  123|      0|        if (H5D_CONTIGUOUS != mesg->type && H5D_CHUNKED != mesg->type && H5D_COMPACT != mesg->type)
  ------------------
  |  Branch (123:13): [True: 0, False: 0]
  |  Branch (123:45): [True: 0, False: 0]
  |  Branch (123:74): [True: 0, False: 0]
  ------------------
  124|      0|            HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, NULL, "bad layout type for layout message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  125|       |
  126|       |        /* Set the storage type */
  127|      0|        mesg->storage.type = mesg->type;
  128|       |
  129|       |        /* Reserved bytes */
  130|      0|        if (H5_IS_BUFFER_OVERFLOW(p, 5, p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  131|      0|            HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  132|      0|        p += 5;
  133|       |
  134|       |        /* Address */
  135|      0|        if (mesg->type == H5D_CONTIGUOUS) {
  ------------------
  |  Branch (135:13): [True: 0, False: 0]
  ------------------
  136|      0|            if (H5_IS_BUFFER_OVERFLOW(p, H5F_sizeof_addr(f), p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 0, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 0]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  137|      0|                HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  138|      0|            H5F_addr_decode(f, &p, &(mesg->storage.u.contig.addr));
  139|       |
  140|       |            /* Set the layout operations */
  141|      0|            mesg->ops = H5D_LOPS_CONTIG;
  142|      0|        }
  143|      0|        else if (mesg->type == H5D_CHUNKED) {
  ------------------
  |  Branch (143:18): [True: 0, False: 0]
  ------------------
  144|      0|            if (H5_IS_BUFFER_OVERFLOW(p, H5F_sizeof_addr(f), p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 0, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 0]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  145|      0|                HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  146|      0|            H5F_addr_decode(f, &p, &(mesg->storage.u.chunk.idx_addr));
  147|       |
  148|       |            /* Set the layout operations */
  149|      0|            mesg->ops = H5D_LOPS_CHUNK;
  150|       |
  151|       |            /* Set the chunk operations
  152|       |             * (Only "btree" indexing type currently supported in this version)
  153|       |             */
  154|      0|            mesg->storage.u.chunk.idx_type = H5D_CHUNK_IDX_BTREE;
  155|      0|            mesg->storage.u.chunk.ops      = H5D_COPS_BTREE;
  156|      0|        }
  157|      0|        else if (mesg->type == H5D_COMPACT) {
  ------------------
  |  Branch (157:18): [True: 0, False: 0]
  ------------------
  158|       |            /* Set the layout operations */
  159|      0|            mesg->ops = H5D_LOPS_COMPACT;
  160|      0|        }
  161|      0|        else
  162|      0|            HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, NULL, "invalid layout type");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  163|       |
  164|       |        /* Read the size */
  165|      0|        if (mesg->type != H5D_CHUNKED) {
  ------------------
  |  Branch (165:13): [True: 0, False: 0]
  ------------------
  166|       |            /* Don't compute size of contiguous storage here, due to possible
  167|       |             * truncation of the dimension sizes when they were stored in this
  168|       |             * version of the layout message.  Compute the contiguous storage
  169|       |             * size in the dataset code, where we've got the dataspace
  170|       |             * information available also.
  171|       |             */
  172|      0|            if (H5_IS_BUFFER_OVERFLOW(p, (ndims * 4), p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 0, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 0]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  173|      0|                HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  174|      0|            p += ndims * sizeof(uint32_t); /* Skip over dimension sizes */
  175|      0|        }
  176|      0|        else {
  177|      0|            if (ndims < 2)
  ------------------
  |  Branch (177:17): [True: 0, False: 0]
  ------------------
  178|      0|                HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, NULL, "bad dimensions for chunked storage");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  179|      0|            mesg->u.chunk.ndims = ndims;
  180|       |
  181|      0|            if (H5_IS_BUFFER_OVERFLOW(p, (ndims * 4), p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 0, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 0]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  182|      0|                HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  183|      0|            for (unsigned u = 0; u < ndims; u++) {
  ------------------
  |  Branch (183:34): [True: 0, False: 0]
  ------------------
  184|       |
  185|      0|                UINT32DECODE(p, mesg->u.chunk.dim[u]);
  ------------------
  |  |  179|      0|    do {                                                                                                     \
  |  |  180|      0|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  181|      0|        (p)++;                                                                                               \
  |  |  182|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  183|      0|        (p)++;                                                                                               \
  |  |  184|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  185|      0|        (p)++;                                                                                               \
  |  |  186|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  187|      0|        (p)++;                                                                                               \
  |  |  188|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  186|       |
  187|       |                /* Just in case that something goes very wrong, such as file corruption */
  188|      0|                if (mesg->u.chunk.dim[u] == 0)
  ------------------
  |  Branch (188:21): [True: 0, False: 0]
  ------------------
  189|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  190|      0|                                "bad chunk dimension value when parsing layout message - chunk dimension "
  191|      0|                                "must be positive: mesg->u.chunk.dim[%u] = %u",
  192|      0|                                u, mesg->u.chunk.dim[u]);
  193|      0|            }
  194|       |
  195|       |            /* Compute chunk size */
  196|      0|            mesg->u.chunk.size = mesg->u.chunk.dim[0];
  197|      0|            for (unsigned u = 1; u < ndims; u++)
  ------------------
  |  Branch (197:34): [True: 0, False: 0]
  ------------------
  198|      0|                mesg->u.chunk.size *= mesg->u.chunk.dim[u];
  199|      0|        }
  200|       |
  201|      0|        if (mesg->type == H5D_COMPACT) {
  ------------------
  |  Branch (201:13): [True: 0, False: 0]
  ------------------
  202|      0|            if (H5_IS_BUFFER_OVERFLOW(p, 4, p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  203|      0|                HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  204|      0|            UINT32DECODE(p, mesg->storage.u.compact.size);
  ------------------
  |  |  179|      0|    do {                                                                                                     \
  |  |  180|      0|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  181|      0|        (p)++;                                                                                               \
  |  |  182|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  183|      0|        (p)++;                                                                                               \
  |  |  184|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  185|      0|        (p)++;                                                                                               \
  |  |  186|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  187|      0|        (p)++;                                                                                               \
  |  |  188|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  205|       |
  206|      0|            if (mesg->storage.u.compact.size > 0) {
  ------------------
  |  Branch (206:17): [True: 0, False: 0]
  ------------------
  207|       |                /* Ensure that size doesn't exceed buffer size, due to possible data corruption */
  208|      0|                if (H5_IS_BUFFER_OVERFLOW(p, mesg->storage.u.compact.size, p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 0, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 0]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  209|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  210|       |
  211|      0|                if (NULL == (mesg->storage.u.compact.buf = H5MM_malloc(mesg->storage.u.compact.size)))
  ------------------
  |  |   38|      0|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  |  Branch (211:21): [True: 0, False: 0]
  ------------------
  212|      0|                    HGOTO_ERROR(H5E_RESOURCE, H5E_CANTALLOC, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  213|      0|                                "memory allocation failed for compact data buffer");
  214|      0|                H5MM_memcpy(mesg->storage.u.compact.buf, p, mesg->storage.u.compact.size);
  ------------------
  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  215|      0|                p += mesg->storage.u.compact.size;
  216|      0|            }
  217|      0|        }
  218|      0|    }
  219|     38|    else {
  220|       |        /* Layout & storage class */
  221|     38|        if (H5_IS_BUFFER_OVERFLOW(p, 1, p_end))
  ------------------
  |  |  344|     38|    (                                                                                                        \
  |  |  345|     38|      /* Trivial case */                                                                                     \
  |  |  346|     38|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|     38|      (                                                                                                      \
  |  |  348|     38|        /* Bad precondition */                                                                               \
  |  |  349|     38|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 38]
  |  |  ------------------
  |  |  350|     38|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     38|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|     38|        /* Typical overflow */                                                                               \
  |  |  353|     38|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 38]
  |  |  ------------------
  |  |  354|     38|      )                                                                                                      \
  |  |  355|     38|    )
  ------------------
  222|      0|            HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  223|     38|        mesg->type = mesg->storage.type = (H5D_layout_t)*p++;
  224|       |
  225|       |        /* Interpret the rest of the message according to the layout class */
  226|     38|        switch (mesg->type) {
  227|     38|            case H5D_COMPACT:
  ------------------
  |  Branch (227:13): [True: 38, False: 0]
  ------------------
  228|       |                /* Compact data size */
  229|     38|                if (H5_IS_BUFFER_OVERFLOW(p, 2, p_end))
  ------------------
  |  |  344|     38|    (                                                                                                        \
  |  |  345|     38|      /* Trivial case */                                                                                     \
  |  |  346|     38|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|     38|      (                                                                                                      \
  |  |  348|     38|        /* Bad precondition */                                                                               \
  |  |  349|     38|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 38]
  |  |  ------------------
  |  |  350|     38|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     38|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|     38|        /* Typical overflow */                                                                               \
  |  |  353|     38|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 38]
  |  |  ------------------
  |  |  354|     38|      )                                                                                                      \
  |  |  355|     38|    )
  ------------------
  230|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  231|     38|                UINT16DECODE(p, mesg->storage.u.compact.size);
  ------------------
  |  |  159|     38|    do {                                                                                                     \
  |  |  160|     38|        (i) = (uint16_t)(*(p)&0xff);                                                                         \
  |  |  161|     38|        (p)++;                                                                                               \
  |  |  162|     38|        (i) |= (uint16_t)((*(p)&0xff) << 8);                                                                 \
  |  |  163|     38|        (p)++;                                                                                               \
  |  |  164|     38|    } while (0)
  |  |  ------------------
  |  |  |  Branch (164:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  232|       |
  233|     38|                if (mesg->storage.u.compact.size > 0) {
  ------------------
  |  Branch (233:21): [True: 38, False: 0]
  ------------------
  234|       |                    /* Ensure that size doesn't exceed buffer size, due to possible data corruption */
  235|     38|                    if (H5_IS_BUFFER_OVERFLOW(p, mesg->storage.u.compact.size, p_end))
  ------------------
  |  |  344|     38|    (                                                                                                        \
  |  |  345|     38|      /* Trivial case */                                                                                     \
  |  |  346|     38|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 38, False: 0]
  |  |  ------------------
  |  |  347|     38|      (                                                                                                      \
  |  |  348|     38|        /* Bad precondition */                                                                               \
  |  |  349|     38|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 38]
  |  |  ------------------
  |  |  350|     38|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     38|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 38, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 38]
  |  |  ------------------
  |  |  352|     38|        /* Typical overflow */                                                                               \
  |  |  353|     38|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 38]
  |  |  ------------------
  |  |  354|     38|      )                                                                                                      \
  |  |  355|     38|    )
  ------------------
  236|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  237|     38|                                    "ran off end of input buffer while decoding");
  238|       |
  239|       |                    /* Allocate space for compact data */
  240|     38|                    if (NULL == (mesg->storage.u.compact.buf = H5MM_malloc(mesg->storage.u.compact.size)))
  ------------------
  |  |   38|     38|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  |  Branch (240:25): [True: 0, False: 38]
  ------------------
  241|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_CANTALLOC, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  242|     38|                                    "memory allocation failed for compact data buffer");
  243|       |
  244|       |                    /* Compact data */
  245|     38|                    H5MM_memcpy(mesg->storage.u.compact.buf, p, mesg->storage.u.compact.size);
  ------------------
  |  |   41|     38|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  246|     38|                    p += mesg->storage.u.compact.size;
  247|     38|                }
  248|       |
  249|       |                /* Set the layout operations */
  250|     38|                mesg->ops = H5D_LOPS_COMPACT;
  251|     38|                break;
  252|       |
  253|      0|            case H5D_CONTIGUOUS:
  ------------------
  |  Branch (253:13): [True: 0, False: 38]
  ------------------
  254|       |                /* Contiguous storage address */
  255|      0|                if (H5_IS_BUFFER_OVERFLOW(p, H5F_sizeof_addr(f), p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 0, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 0]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  256|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  257|      0|                H5F_addr_decode(f, &p, &(mesg->storage.u.contig.addr));
  258|       |
  259|       |                /* Contiguous storage size */
  260|      0|                if (H5_IS_BUFFER_OVERFLOW(p, H5F_sizeof_size(f), p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 0, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 0]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  261|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  262|      0|                H5F_DECODE_LENGTH(f, p, mesg->storage.u.contig.size);
  ------------------
  |  |  174|      0|#define H5F_DECODE_LENGTH(f, p, l) H5_DECODE_LENGTH_LEN(p, l, H5F_SIZEOF_SIZE(f))
  |  |  ------------------
  |  |  |  |  276|      0|    do {                                                                                                     \
  |  |  |  |  277|      0|        switch (s) {                                                                                         \
  |  |  |  |  278|      0|            case 4:                                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (278:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  279|      0|                UINT32DECODE(p, l);                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  179|      0|    do {                                                                                                     \
  |  |  |  |  |  |  180|      0|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  |  |  |  |  181|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  182|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  |  |  |  |  183|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  184|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  |  |  |  |  185|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  186|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  |  |  |  |  187|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  188|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  280|      0|                break;                                                                                       \
  |  |  |  |  281|      0|            case 8:                                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (281:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  282|      0|                UINT64DECODE(p, l);                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  220|      0|    do {                                                                                                     \
  |  |  |  |  |  |  221|      0|        /* WE DON'T CHECK FOR OVERFLOW! */                                                                   \
  |  |  |  |  |  |  222|      0|        size_t _i;                                                                                           \
  |  |  |  |  |  |  223|      0|                                                                                                             \
  |  |  |  |  |  |  224|      0|        n = 0;                                                                                               \
  |  |  |  |  |  |  225|      0|        (p) += 8;                                                                                            \
  |  |  |  |  |  |  226|      0|        for (_i = 0; _i < sizeof(uint64_t); _i++)                                                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (226:22): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  227|      0|            n = (uint64_t)(((uint64_t)n << 8) | *(--p));                                                     \
  |  |  |  |  |  |  228|      0|        (p) += 8;                                                                                            \
  |  |  |  |  |  |  229|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (229:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  283|      0|                break;                                                                                       \
  |  |  |  |  284|      0|            case 2:                                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (284:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  285|      0|                UINT16DECODE(p, l);                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  159|      0|    do {                                                                                                     \
  |  |  |  |  |  |  160|      0|        (i) = (uint16_t)(*(p)&0xff);                                                                         \
  |  |  |  |  |  |  161|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  162|      0|        (i) |= (uint16_t)((*(p)&0xff) << 8);                                                                 \
  |  |  |  |  |  |  163|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  164|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (164:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  286|      0|                break;                                                                                       \
  |  |  |  |  287|      0|            default:                                                                                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (287:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  288|      0|                assert("bad sizeof size" && 0);                                                              \
  |  |  |  |  289|      0|        }                                                                                                    \
  |  |  |  |  290|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (290:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  263|       |
  264|       |                /* Set the layout operations */
  265|      0|                mesg->ops = H5D_LOPS_CONTIG;
  266|      0|                break;
  267|       |
  268|      0|            case H5D_CHUNKED:
  ------------------
  |  Branch (268:13): [True: 0, False: 38]
  ------------------
  269|      0|                if (mesg->version < H5O_LAYOUT_VERSION_4) {
  ------------------
  |  |  428|      0|#define H5O_LAYOUT_VERSION_4 4
  ------------------
  |  Branch (269:21): [True: 0, False: 0]
  ------------------
  270|       |                    /* Set the chunked layout flags */
  271|      0|                    mesg->u.chunk.flags = (uint8_t)0;
  272|       |
  273|       |                    /* Dimensionality */
  274|      0|                    if (H5_IS_BUFFER_OVERFLOW(p, 1, p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  275|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  276|      0|                                    "ran off end of input buffer while decoding");
  277|      0|                    mesg->u.chunk.ndims = *p++;
  278|       |
  279|      0|                    if (mesg->u.chunk.ndims > H5O_LAYOUT_NDIMS)
  ------------------
  |  |  397|      0|#define H5O_LAYOUT_NDIMS (H5S_MAX_RANK + 1)
  |  |  ------------------
  |  |  |  |   53|      0|#define H5S_MAX_RANK 32
  |  |  ------------------
  ------------------
  |  Branch (279:25): [True: 0, False: 0]
  ------------------
  280|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, NULL, "dimensionality is too large");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  281|      0|                    if (mesg->u.chunk.ndims < 2)
  ------------------
  |  Branch (281:25): [True: 0, False: 0]
  ------------------
  282|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, NULL, "bad dimensions for chunked storage");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  283|       |
  284|       |                    /* B-tree address */
  285|      0|                    if (H5_IS_BUFFER_OVERFLOW(p, H5F_sizeof_addr(f), p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 0, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 0]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  286|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  287|      0|                                    "ran off end of input buffer while decoding");
  288|      0|                    H5F_addr_decode(f, &p, &(mesg->storage.u.chunk.idx_addr));
  289|       |
  290|      0|                    if (H5_IS_BUFFER_OVERFLOW(p, (mesg->u.chunk.ndims * 4), p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 0, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 0]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  291|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  292|      0|                                    "ran off end of input buffer while decoding");
  293|       |
  294|       |                    /* Chunk dimensions */
  295|      0|                    for (unsigned u = 0; u < mesg->u.chunk.ndims; u++) {
  ------------------
  |  Branch (295:42): [True: 0, False: 0]
  ------------------
  296|       |
  297|      0|                        UINT32DECODE(p, mesg->u.chunk.dim[u]);
  ------------------
  |  |  179|      0|    do {                                                                                                     \
  |  |  180|      0|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  181|      0|        (p)++;                                                                                               \
  |  |  182|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  183|      0|        (p)++;                                                                                               \
  |  |  184|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  185|      0|        (p)++;                                                                                               \
  |  |  186|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  187|      0|        (p)++;                                                                                               \
  |  |  188|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  298|       |
  299|       |                        /* Just in case that something goes very wrong, such as file corruption. */
  300|      0|                        if (mesg->u.chunk.dim[u] == 0)
  ------------------
  |  Branch (300:29): [True: 0, False: 0]
  ------------------
  301|      0|                            HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  302|      0|                                        "bad chunk dimension value when parsing layout message - chunk "
  303|      0|                                        "dimension must be positive: mesg->u.chunk.dim[%u] = %u",
  304|      0|                                        u, mesg->u.chunk.dim[u]);
  305|      0|                    }
  306|       |
  307|       |                    /* Compute chunk size */
  308|      0|                    mesg->u.chunk.size = mesg->u.chunk.dim[0];
  309|      0|                    for (unsigned u = 1; u < mesg->u.chunk.ndims; u++)
  ------------------
  |  Branch (309:42): [True: 0, False: 0]
  ------------------
  310|      0|                        mesg->u.chunk.size *= mesg->u.chunk.dim[u];
  311|       |
  312|       |                    /* Set the chunk operations
  313|       |                     * (Only "btree" indexing type supported with v3 of message format)
  314|       |                     */
  315|      0|                    mesg->storage.u.chunk.idx_type = H5D_CHUNK_IDX_BTREE;
  316|      0|                    mesg->storage.u.chunk.ops      = H5D_COPS_BTREE;
  317|      0|                }
  318|      0|                else {
  319|       |                    /* Get the chunked layout flags */
  320|      0|                    if (H5_IS_BUFFER_OVERFLOW(p, 1, p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  321|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  322|      0|                                    "ran off end of input buffer while decoding");
  323|      0|                    mesg->u.chunk.flags = *p++;
  324|       |
  325|       |                    /* Check for valid flags */
  326|       |                    /* (Currently issues an error for all non-zero values,
  327|       |                     *      until features are added for the flags)
  328|       |                     */
  329|      0|                    if (mesg->u.chunk.flags & ~H5O_LAYOUT_ALL_CHUNK_FLAGS)
  ------------------
  |  |  403|      0|    (H5O_LAYOUT_CHUNK_DONT_FILTER_PARTIAL_BOUND_CHUNKS | H5O_LAYOUT_CHUNK_SINGLE_INDEX_WITH_FILTER)
  |  |  ------------------
  |  |  |  |  400|      0|#define H5O_LAYOUT_CHUNK_DONT_FILTER_PARTIAL_BOUND_CHUNKS 0x01
  |  |  ------------------
  |  |                   (H5O_LAYOUT_CHUNK_DONT_FILTER_PARTIAL_BOUND_CHUNKS | H5O_LAYOUT_CHUNK_SINGLE_INDEX_WITH_FILTER)
  |  |  ------------------
  |  |  |  |  401|      0|#define H5O_LAYOUT_CHUNK_SINGLE_INDEX_WITH_FILTER         0x02
  |  |  ------------------
  ------------------
  |  Branch (329:25): [True: 0, False: 0]
  ------------------
  330|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, NULL, "bad flag value for message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  331|       |
  332|       |                    /* Dimensionality */
  333|      0|                    if (H5_IS_BUFFER_OVERFLOW(p, 1, p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  334|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  335|      0|                                    "ran off end of input buffer while decoding");
  336|      0|                    mesg->u.chunk.ndims = *p++;
  337|       |
  338|      0|                    if (mesg->u.chunk.ndims > H5O_LAYOUT_NDIMS)
  ------------------
  |  |  397|      0|#define H5O_LAYOUT_NDIMS (H5S_MAX_RANK + 1)
  |  |  ------------------
  |  |  |  |   53|      0|#define H5S_MAX_RANK 32
  |  |  ------------------
  ------------------
  |  Branch (338:25): [True: 0, False: 0]
  ------------------
  339|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, NULL, "dimensionality is too large");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  340|       |
  341|       |                    /* Encoded # of bytes for each chunk dimension */
  342|      0|                    if (H5_IS_BUFFER_OVERFLOW(p, 1, p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  343|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  344|      0|                                    "ran off end of input buffer while decoding");
  345|      0|                    mesg->u.chunk.enc_bytes_per_dim = *p++;
  346|       |
  347|      0|                    if (mesg->u.chunk.enc_bytes_per_dim == 0 || mesg->u.chunk.enc_bytes_per_dim > 8)
  ------------------
  |  Branch (347:25): [True: 0, False: 0]
  |  Branch (347:65): [True: 0, False: 0]
  ------------------
  348|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  349|      0|                                    "encoded chunk dimension size is too large");
  350|       |
  351|      0|                    if (H5_IS_BUFFER_OVERFLOW(p, (mesg->u.chunk.ndims * mesg->u.chunk.enc_bytes_per_dim),
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 0, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 0]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  352|      0|                                              p_end))
  353|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  354|      0|                                    "ran off end of input buffer while decoding");
  355|       |
  356|       |                    /* Chunk dimensions */
  357|      0|                    for (unsigned u = 0; u < mesg->u.chunk.ndims; u++) {
  ------------------
  |  Branch (357:42): [True: 0, False: 0]
  ------------------
  358|      0|                        UINT64DECODE_VAR(p, mesg->u.chunk.dim[u], mesg->u.chunk.enc_bytes_per_dim);
  ------------------
  |  |  233|      0|#define UINT64DECODE_VAR(p, n, l) DECODE_VAR(p, n, l)
  |  |  ------------------
  |  |  |  |  193|      0|    do {                                                                                                     \
  |  |  |  |  194|      0|        size_t _i;                                                                                           \
  |  |  |  |  195|      0|                                                                                                             \
  |  |  |  |  196|      0|        n = 0;                                                                                               \
  |  |  |  |  197|      0|        (p) += l;                                                                                            \
  |  |  |  |  198|      0|        for (_i = 0; _i < l; _i++)                                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (198:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  199|      0|            n = (n << 8) | *(--p);                                                                           \
  |  |  |  |  200|      0|        (p) += l;                                                                                            \
  |  |  |  |  201|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (201:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  359|       |
  360|       |                        /* Just in case that something goes very wrong, such as file corruption. */
  361|      0|                        if (mesg->u.chunk.dim[u] == 0)
  ------------------
  |  Branch (361:29): [True: 0, False: 0]
  ------------------
  362|      0|                            HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  363|      0|                                        "bad chunk dimension value when parsing layout message - chunk "
  364|      0|                                        "dimension must be positive: mesg->u.chunk.dim[%u] = %u",
  365|      0|                                        u, mesg->u.chunk.dim[u]);
  366|      0|                    }
  367|       |
  368|       |                    /* Compute chunk size */
  369|      0|                    mesg->u.chunk.size = mesg->u.chunk.dim[0];
  370|      0|                    for (unsigned u = 1; u < mesg->u.chunk.ndims; u++)
  ------------------
  |  Branch (370:42): [True: 0, False: 0]
  ------------------
  371|      0|                        mesg->u.chunk.size *= mesg->u.chunk.dim[u];
  372|       |
  373|       |                    /* Chunk index type */
  374|      0|                    if (H5_IS_BUFFER_OVERFLOW(p, 1, p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  375|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  376|      0|                                    "ran off end of input buffer while decoding");
  377|      0|                    mesg->u.chunk.idx_type = (H5D_chunk_index_t)*p++;
  378|       |
  379|      0|                    if (mesg->u.chunk.idx_type >= H5D_CHUNK_IDX_NTYPES)
  ------------------
  |  Branch (379:25): [True: 0, False: 0]
  ------------------
  380|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, NULL, "unknown chunk index type");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  381|      0|                    mesg->storage.u.chunk.idx_type = mesg->u.chunk.idx_type;
  382|       |
  383|      0|                    switch (mesg->u.chunk.idx_type) {
  384|      0|                        case H5D_CHUNK_IDX_BTREE:
  ------------------
  |  Branch (384:25): [True: 0, False: 0]
  ------------------
  385|      0|                            HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  386|      0|                                        "v1 B-tree index type should never be in a v4 layout message");
  387|      0|                            break;
  388|       |
  389|      0|                        case H5D_CHUNK_IDX_NONE: /* Implicit Index */
  ------------------
  |  Branch (389:25): [True: 0, False: 0]
  ------------------
  390|      0|                            mesg->storage.u.chunk.ops = H5D_COPS_NONE;
  391|      0|                            break;
  392|       |
  393|      0|                        case H5D_CHUNK_IDX_SINGLE: /* Single Chunk Index */
  ------------------
  |  Branch (393:25): [True: 0, False: 0]
  ------------------
  394|      0|                            if (mesg->u.chunk.flags & H5O_LAYOUT_CHUNK_SINGLE_INDEX_WITH_FILTER) {
  ------------------
  |  |  401|      0|#define H5O_LAYOUT_CHUNK_SINGLE_INDEX_WITH_FILTER         0x02
  ------------------
  |  Branch (394:33): [True: 0, False: 0]
  ------------------
  395|      0|                                uint64_t nbytes = 0;
  396|       |
  397|      0|                                if (H5_IS_BUFFER_OVERFLOW(p, H5F_sizeof_size(f) + 4, p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 0, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 0]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  398|      0|                                    HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  399|      0|                                                "ran off end of input buffer while decoding");
  400|       |
  401|      0|                                H5F_DECODE_LENGTH(f, p, nbytes);
  ------------------
  |  |  174|      0|#define H5F_DECODE_LENGTH(f, p, l) H5_DECODE_LENGTH_LEN(p, l, H5F_SIZEOF_SIZE(f))
  |  |  ------------------
  |  |  |  |  276|      0|    do {                                                                                                     \
  |  |  |  |  277|      0|        switch (s) {                                                                                         \
  |  |  |  |  278|      0|            case 4:                                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (278:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  279|      0|                UINT32DECODE(p, l);                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  179|      0|    do {                                                                                                     \
  |  |  |  |  |  |  180|      0|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  |  |  |  |  181|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  182|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  |  |  |  |  183|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  184|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  |  |  |  |  185|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  186|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  |  |  |  |  187|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  188|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  280|      0|                break;                                                                                       \
  |  |  |  |  281|      0|            case 8:                                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (281:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  282|      0|                UINT64DECODE(p, l);                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  220|      0|    do {                                                                                                     \
  |  |  |  |  |  |  221|      0|        /* WE DON'T CHECK FOR OVERFLOW! */                                                                   \
  |  |  |  |  |  |  222|      0|        size_t _i;                                                                                           \
  |  |  |  |  |  |  223|      0|                                                                                                             \
  |  |  |  |  |  |  224|      0|        n = 0;                                                                                               \
  |  |  |  |  |  |  225|      0|        (p) += 8;                                                                                            \
  |  |  |  |  |  |  226|      0|        for (_i = 0; _i < sizeof(uint64_t); _i++)                                                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (226:22): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  227|      0|            n = (uint64_t)(((uint64_t)n << 8) | *(--p));                                                     \
  |  |  |  |  |  |  228|      0|        (p) += 8;                                                                                            \
  |  |  |  |  |  |  229|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (229:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  283|      0|                break;                                                                                       \
  |  |  |  |  284|      0|            case 2:                                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (284:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  285|      0|                UINT16DECODE(p, l);                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  159|      0|    do {                                                                                                     \
  |  |  |  |  |  |  160|      0|        (i) = (uint16_t)(*(p)&0xff);                                                                         \
  |  |  |  |  |  |  161|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  162|      0|        (i) |= (uint16_t)((*(p)&0xff) << 8);                                                                 \
  |  |  |  |  |  |  163|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  164|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (164:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  286|      0|                break;                                                                                       \
  |  |  |  |  287|      0|            default:                                                                                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (287:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  288|      0|                assert("bad sizeof size" && 0);                                                              \
  |  |  |  |  289|      0|        }                                                                                                    \
  |  |  |  |  290|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (290:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  402|      0|                                H5_CHECKED_ASSIGN(mesg->storage.u.chunk.u.single.nbytes, uint32_t, nbytes,
  ------------------
  |  |  977|      0|    do {                                                                                                     \
  |  |  978|      0|        (dst) = (dsttype)(src);                                                                              \
  |  |  979|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (979:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  403|      0|                                                  uint64_t);
  404|       |
  405|      0|                                UINT32DECODE(p, mesg->storage.u.chunk.u.single.filter_mask);
  ------------------
  |  |  179|      0|    do {                                                                                                     \
  |  |  180|      0|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  181|      0|        (p)++;                                                                                               \
  |  |  182|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  183|      0|        (p)++;                                                                                               \
  |  |  184|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  185|      0|        (p)++;                                                                                               \
  |  |  186|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  187|      0|        (p)++;                                                                                               \
  |  |  188|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  406|      0|                            }
  407|       |
  408|       |                            /* Set the chunk operations */
  409|      0|                            mesg->storage.u.chunk.ops = H5D_COPS_SINGLE;
  410|      0|                            break;
  411|       |
  412|      0|                        case H5D_CHUNK_IDX_FARRAY:
  ------------------
  |  Branch (412:25): [True: 0, False: 0]
  ------------------
  413|       |                            /* Fixed array creation parameters */
  414|      0|                            if (H5_IS_BUFFER_OVERFLOW(p, 1, p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  415|      0|                                HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  416|      0|                                            "ran off end of input buffer while decoding");
  417|      0|                            mesg->u.chunk.u.farray.cparam.max_dblk_page_nelmts_bits = *p++;
  418|       |
  419|      0|                            if (0 == mesg->u.chunk.u.farray.cparam.max_dblk_page_nelmts_bits)
  ------------------
  |  Branch (419:33): [True: 0, False: 0]
  ------------------
  420|      0|                                HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  421|      0|                                            "invalid fixed array creation parameter");
  422|       |
  423|       |                            /* Set the chunk operations */
  424|      0|                            mesg->storage.u.chunk.ops = H5D_COPS_FARRAY;
  425|      0|                            break;
  426|       |
  427|      0|                        case H5D_CHUNK_IDX_EARRAY:
  ------------------
  |  Branch (427:25): [True: 0, False: 0]
  ------------------
  428|       |                            /* Extensible array creation parameters */
  429|      0|                            if (H5_IS_BUFFER_OVERFLOW(p, 1, p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  430|      0|                                HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  431|      0|                                            "ran off end of input buffer while decoding");
  432|      0|                            mesg->u.chunk.u.earray.cparam.max_nelmts_bits = *p++;
  433|       |
  434|      0|                            if (0 == mesg->u.chunk.u.earray.cparam.max_nelmts_bits)
  ------------------
  |  Branch (434:33): [True: 0, False: 0]
  ------------------
  435|      0|                                HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  436|      0|                                            "invalid extensible array creation parameter");
  437|       |
  438|      0|                            if (H5_IS_BUFFER_OVERFLOW(p, 1, p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  439|      0|                                HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  440|      0|                                            "ran off end of input buffer while decoding");
  441|      0|                            mesg->u.chunk.u.earray.cparam.idx_blk_elmts = *p++;
  442|       |
  443|      0|                            if (0 == mesg->u.chunk.u.earray.cparam.idx_blk_elmts)
  ------------------
  |  Branch (443:33): [True: 0, False: 0]
  ------------------
  444|      0|                                HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  445|      0|                                            "invalid extensible array creation parameter");
  446|       |
  447|      0|                            if (H5_IS_BUFFER_OVERFLOW(p, 1, p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  448|      0|                                HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  449|      0|                                            "ran off end of input buffer while decoding");
  450|      0|                            mesg->u.chunk.u.earray.cparam.sup_blk_min_data_ptrs = *p++;
  451|       |
  452|      0|                            if (0 == mesg->u.chunk.u.earray.cparam.sup_blk_min_data_ptrs)
  ------------------
  |  Branch (452:33): [True: 0, False: 0]
  ------------------
  453|      0|                                HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  454|      0|                                            "invalid extensible array creation parameter");
  455|       |
  456|      0|                            if (H5_IS_BUFFER_OVERFLOW(p, 1, p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  457|      0|                                HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  458|      0|                                            "ran off end of input buffer while decoding");
  459|      0|                            mesg->u.chunk.u.earray.cparam.data_blk_min_elmts = *p++;
  460|       |
  461|      0|                            if (0 == mesg->u.chunk.u.earray.cparam.data_blk_min_elmts)
  ------------------
  |  Branch (461:33): [True: 0, False: 0]
  ------------------
  462|      0|                                HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  463|      0|                                            "invalid extensible array creation parameter");
  464|       |
  465|      0|                            if (H5_IS_BUFFER_OVERFLOW(p, 1, p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  466|      0|                                HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  467|      0|                                            "ran off end of input buffer while decoding");
  468|      0|                            mesg->u.chunk.u.earray.cparam.max_dblk_page_nelmts_bits = *p++;
  469|       |
  470|      0|                            if (0 == mesg->u.chunk.u.earray.cparam.max_dblk_page_nelmts_bits)
  ------------------
  |  Branch (470:33): [True: 0, False: 0]
  ------------------
  471|      0|                                HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  472|      0|                                            "invalid extensible array creation parameter");
  473|       |
  474|       |                            /* Set the chunk operations */
  475|      0|                            mesg->storage.u.chunk.ops = H5D_COPS_EARRAY;
  476|      0|                            break;
  477|       |
  478|      0|                        case H5D_CHUNK_IDX_BT2: /* v2 B-tree index */
  ------------------
  |  Branch (478:25): [True: 0, False: 0]
  ------------------
  479|      0|                            if (H5_IS_BUFFER_OVERFLOW(p, 4, p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  480|      0|                                HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  481|      0|                                            "ran off end of input buffer while decoding");
  482|      0|                            UINT32DECODE(p, mesg->u.chunk.u.btree2.cparam.node_size);
  ------------------
  |  |  179|      0|    do {                                                                                                     \
  |  |  180|      0|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  181|      0|        (p)++;                                                                                               \
  |  |  182|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  183|      0|        (p)++;                                                                                               \
  |  |  184|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  185|      0|        (p)++;                                                                                               \
  |  |  186|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  187|      0|        (p)++;                                                                                               \
  |  |  188|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  483|       |
  484|      0|                            if (H5_IS_BUFFER_OVERFLOW(p, 1, p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  485|      0|                                HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  486|      0|                                            "ran off end of input buffer while decoding");
  487|      0|                            mesg->u.chunk.u.btree2.cparam.split_percent = *p++;
  488|       |
  489|      0|                            if (mesg->u.chunk.u.btree2.cparam.split_percent == 0 ||
  ------------------
  |  Branch (489:33): [True: 0, False: 0]
  ------------------
  490|      0|                                mesg->u.chunk.u.btree2.cparam.split_percent > 100)
  ------------------
  |  Branch (490:33): [True: 0, False: 0]
  ------------------
  491|      0|                                HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  492|      0|                                            "bad value for v2 B-tree split percent value - must be > 0 and "
  493|      0|                                            "<= 100: split percent = %" PRIu8,
  494|      0|                                            mesg->u.chunk.u.btree2.cparam.split_percent);
  495|       |
  496|      0|                            if (H5_IS_BUFFER_OVERFLOW(p, 1, p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  497|      0|                                HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  498|      0|                                            "ran off end of input buffer while decoding");
  499|      0|                            mesg->u.chunk.u.btree2.cparam.merge_percent = *p++;
  500|       |
  501|      0|                            if (mesg->u.chunk.u.btree2.cparam.merge_percent == 0 ||
  ------------------
  |  Branch (501:33): [True: 0, False: 0]
  ------------------
  502|      0|                                mesg->u.chunk.u.btree2.cparam.merge_percent > 100)
  ------------------
  |  Branch (502:33): [True: 0, False: 0]
  ------------------
  503|      0|                                HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  504|      0|                                            "bad value for v2 B-tree merge percent value - must be > 0 and "
  505|      0|                                            "<= 100: merge percent = %" PRIu8,
  506|      0|                                            mesg->u.chunk.u.btree2.cparam.merge_percent);
  507|       |
  508|       |                            /* Set the chunk operations */
  509|      0|                            mesg->storage.u.chunk.ops = H5D_COPS_BT2;
  510|      0|                            break;
  511|       |
  512|      0|                        case H5D_CHUNK_IDX_NTYPES:
  ------------------
  |  Branch (512:25): [True: 0, False: 0]
  ------------------
  513|      0|                        default:
  ------------------
  |  Branch (513:25): [True: 0, False: 0]
  ------------------
  514|      0|                            HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, NULL, "Invalid chunk index type");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  515|      0|                    }
  516|       |
  517|       |                    /* Chunk index address */
  518|      0|                    if (H5_IS_BUFFER_OVERFLOW(p, H5F_sizeof_addr(f), p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 0, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 0]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  519|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  520|      0|                                    "ran off end of input buffer while decoding");
  521|      0|                    H5F_addr_decode(f, &p, &(mesg->storage.u.chunk.idx_addr));
  522|      0|                }
  523|       |
  524|       |                /* Set the layout operations */
  525|      0|                mesg->ops = H5D_LOPS_CHUNK;
  526|      0|                break;
  527|       |
  528|      0|            case H5D_VIRTUAL:
  ------------------
  |  Branch (528:13): [True: 0, False: 38]
  ------------------
  529|       |                /* Check version */
  530|      0|                if (mesg->version < H5O_LAYOUT_VERSION_4)
  ------------------
  |  |  428|      0|#define H5O_LAYOUT_VERSION_4 4
  ------------------
  |  Branch (530:21): [True: 0, False: 0]
  ------------------
  531|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_VERSION, NULL, "invalid layout version with virtual layout");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  532|       |
  533|       |                /* Heap information */
  534|      0|                if (H5_IS_BUFFER_OVERFLOW(p, H5F_sizeof_addr(f), p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 0, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 0]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  535|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  536|      0|                H5F_addr_decode(f, &p, &(mesg->storage.u.virt.serial_list_hobjid.addr));
  537|       |                /* NOTE: virtual mapping global heap entry address could be undefined */
  538|       |
  539|      0|                if (H5_IS_BUFFER_OVERFLOW(p, 4, p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  540|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  541|      0|                UINT32DECODE(p, mesg->storage.u.virt.serial_list_hobjid.idx);
  ------------------
  |  |  179|      0|    do {                                                                                                     \
  |  |  180|      0|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  181|      0|        (p)++;                                                                                               \
  |  |  182|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  183|      0|        (p)++;                                                                                               \
  |  |  184|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  185|      0|        (p)++;                                                                                               \
  |  |  186|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  187|      0|        (p)++;                                                                                               \
  |  |  188|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  542|       |
  543|       |                /* Initialize other fields */
  544|      0|                mesg->storage.u.virt.list_nused  = 0;
  545|      0|                mesg->storage.u.virt.list        = NULL;
  546|      0|                mesg->storage.u.virt.list_nalloc = 0;
  547|      0|                mesg->storage.u.virt.view        = H5D_VDS_ERROR;
  548|      0|                mesg->storage.u.virt.printf_gap  = HSIZE_UNDEF;
  ------------------
  |  |  322|      0|#define HSIZE_UNDEF        UINT64_MAX
  ------------------
  549|      0|                mesg->storage.u.virt.source_fapl = -1;
  550|      0|                mesg->storage.u.virt.source_dapl = -1;
  551|      0|                mesg->storage.u.virt.init        = false;
  552|       |
  553|       |                /* Decode heap block if it exists */
  554|      0|                if (mesg->storage.u.virt.serial_list_hobjid.addr != HADDR_UNDEF) {
  ------------------
  |  |  336|      0|#define HADDR_UNDEF         UINT64_MAX
  ------------------
  |  Branch (554:21): [True: 0, False: 0]
  ------------------
  555|      0|                    const uint8_t *heap_block_p;
  556|      0|                    const uint8_t *heap_block_p_end;
  557|      0|                    uint8_t        heap_vers;
  558|      0|                    size_t         block_size = 0;
  559|      0|                    size_t         tmp_size;
  560|      0|                    hsize_t        tmp_hsize = 0;
  561|      0|                    uint32_t       stored_chksum;
  562|      0|                    uint32_t       computed_chksum;
  563|       |
  564|       |                    /* Read heap */
  565|      0|                    if (NULL == (heap_block = (uint8_t *)H5HG_read(
  ------------------
  |  Branch (565:25): [True: 0, False: 0]
  ------------------
  566|      0|                                     f, &(mesg->storage.u.virt.serial_list_hobjid), NULL, &block_size)))
  567|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_READERROR, NULL, "Unable to read global heap block");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  568|       |
  569|      0|                    heap_block_p     = (const uint8_t *)heap_block;
  570|      0|                    heap_block_p_end = heap_block_p + block_size - 1;
  571|       |
  572|       |                    /* Decode the version number of the heap block encoding */
  573|      0|                    if (H5_IS_BUFFER_OVERFLOW(heap_block_p, 1, heap_block_p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  574|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  575|      0|                                    "ran off end of input buffer while decoding");
  576|      0|                    heap_vers = (uint8_t)*heap_block_p++;
  577|       |
  578|      0|                    if ((uint8_t)H5O_LAYOUT_VDS_GH_ENC_VERS != heap_vers)
  ------------------
  |  |  406|      0|#define H5O_LAYOUT_VDS_GH_ENC_VERS 0
  ------------------
  |  Branch (578:25): [True: 0, False: 0]
  ------------------
  579|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_VERSION, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  580|      0|                                    "bad version # of encoded VDS heap information, expected %u, got %u",
  581|      0|                                    (unsigned)H5O_LAYOUT_VDS_GH_ENC_VERS, (unsigned)heap_vers);
  582|       |
  583|       |                    /* Number of entries */
  584|      0|                    if (H5_IS_BUFFER_OVERFLOW(heap_block_p, H5F_sizeof_size(f), heap_block_p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 0, False: 0]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 0, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 0]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  585|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  586|      0|                                    "ran off end of input buffer while decoding");
  587|      0|                    H5F_DECODE_LENGTH(f, heap_block_p, tmp_hsize);
  ------------------
  |  |  174|      0|#define H5F_DECODE_LENGTH(f, p, l) H5_DECODE_LENGTH_LEN(p, l, H5F_SIZEOF_SIZE(f))
  |  |  ------------------
  |  |  |  |  276|      0|    do {                                                                                                     \
  |  |  |  |  277|      0|        switch (s) {                                                                                         \
  |  |  |  |  278|      0|            case 4:                                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (278:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  279|      0|                UINT32DECODE(p, l);                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  179|      0|    do {                                                                                                     \
  |  |  |  |  |  |  180|      0|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  |  |  |  |  181|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  182|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  |  |  |  |  183|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  184|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  |  |  |  |  185|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  186|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  |  |  |  |  187|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  188|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  280|      0|                break;                                                                                       \
  |  |  |  |  281|      0|            case 8:                                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (281:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  282|      0|                UINT64DECODE(p, l);                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  220|      0|    do {                                                                                                     \
  |  |  |  |  |  |  221|      0|        /* WE DON'T CHECK FOR OVERFLOW! */                                                                   \
  |  |  |  |  |  |  222|      0|        size_t _i;                                                                                           \
  |  |  |  |  |  |  223|      0|                                                                                                             \
  |  |  |  |  |  |  224|      0|        n = 0;                                                                                               \
  |  |  |  |  |  |  225|      0|        (p) += 8;                                                                                            \
  |  |  |  |  |  |  226|      0|        for (_i = 0; _i < sizeof(uint64_t); _i++)                                                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (226:22): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  227|      0|            n = (uint64_t)(((uint64_t)n << 8) | *(--p));                                                     \
  |  |  |  |  |  |  228|      0|        (p) += 8;                                                                                            \
  |  |  |  |  |  |  229|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (229:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  283|      0|                break;                                                                                       \
  |  |  |  |  284|      0|            case 2:                                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (284:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  285|      0|                UINT16DECODE(p, l);                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  159|      0|    do {                                                                                                     \
  |  |  |  |  |  |  160|      0|        (i) = (uint16_t)(*(p)&0xff);                                                                         \
  |  |  |  |  |  |  161|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  162|      0|        (i) |= (uint16_t)((*(p)&0xff) << 8);                                                                 \
  |  |  |  |  |  |  163|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  164|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (164:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  286|      0|                break;                                                                                       \
  |  |  |  |  287|      0|            default:                                                                                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (287:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  288|      0|                assert("bad sizeof size" && 0);                                                              \
  |  |  |  |  289|      0|        }                                                                                                    \
  |  |  |  |  290|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (290:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  588|       |
  589|       |                    /* Allocate entry list */
  590|      0|                    if (tmp_hsize > 0) {
  ------------------
  |  Branch (590:25): [True: 0, False: 0]
  ------------------
  591|      0|                        if (NULL == (mesg->storage.u.virt.list = (H5O_storage_virtual_ent_t *)H5MM_calloc(
  ------------------
  |  |   36|      0|#define H5MM_calloc(Z) calloc(1, Z)
  ------------------
  |  Branch (591:29): [True: 0, False: 0]
  ------------------
  592|      0|                                         (size_t)tmp_hsize * sizeof(H5O_storage_virtual_ent_t))))
  593|      0|                            HGOTO_ERROR(H5E_OHDR, H5E_CANTALLOC, NULL, "unable to allocate heap block");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  594|      0|                    }
  595|      0|                    else {
  596|       |                        /* Avoid zero-size allocation */
  597|      0|                        mesg->storage.u.virt.list = NULL;
  598|      0|                    }
  599|       |
  600|      0|                    mesg->storage.u.virt.list_nalloc = (size_t)tmp_hsize;
  601|      0|                    mesg->storage.u.virt.list_nused  = (size_t)tmp_hsize;
  602|       |
  603|       |                    /* Decode each entry */
  604|      0|                    for (size_t i = 0; i < mesg->storage.u.virt.list_nused; i++) {
  ------------------
  |  Branch (604:40): [True: 0, False: 0]
  ------------------
  605|      0|                        ptrdiff_t avail_buffer_space;
  606|       |
  607|      0|                        avail_buffer_space = heap_block_p_end - heap_block_p + 1;
  608|      0|                        if (avail_buffer_space <= 0)
  ------------------
  |  Branch (608:29): [True: 0, False: 0]
  ------------------
  609|      0|                            HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  610|      0|                                        "ran off end of input buffer while decoding");
  611|       |
  612|       |                        /* Source file name */
  613|      0|                        tmp_size = strnlen((const char *)heap_block_p, (size_t)avail_buffer_space);
  614|      0|                        if (tmp_size == (size_t)avail_buffer_space)
  ------------------
  |  Branch (614:29): [True: 0, False: 0]
  ------------------
  615|      0|                            HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  616|      0|                                        "ran off end of input buffer while decoding - unterminated source "
  617|      0|                                        "file name string");
  618|      0|                        else
  619|      0|                            tmp_size += 1; /* Add space for NUL terminator */
  620|       |
  621|      0|                        if (NULL ==
  ------------------
  |  Branch (621:29): [True: 0, False: 0]
  ------------------
  622|      0|                            (mesg->storage.u.virt.list[i].source_file_name = (char *)H5MM_malloc(tmp_size)))
  ------------------
  |  |   38|      0|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  623|      0|                            HGOTO_ERROR(H5E_OHDR, H5E_CANTALLOC, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  624|      0|                                        "unable to allocate memory for source file name");
  625|      0|                        H5MM_memcpy(mesg->storage.u.virt.list[i].source_file_name, heap_block_p, tmp_size);
  ------------------
  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  626|      0|                        heap_block_p += tmp_size;
  627|       |
  628|      0|                        avail_buffer_space = heap_block_p_end - heap_block_p + 1;
  629|      0|                        if (avail_buffer_space <= 0)
  ------------------
  |  Branch (629:29): [True: 0, False: 0]
  ------------------
  630|      0|                            HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  631|      0|                                        "ran off end of input buffer while decoding");
  632|       |
  633|       |                        /* Source dataset name */
  634|      0|                        tmp_size = strnlen((const char *)heap_block_p, (size_t)avail_buffer_space);
  635|      0|                        if (tmp_size == (size_t)avail_buffer_space)
  ------------------
  |  Branch (635:29): [True: 0, False: 0]
  ------------------
  636|      0|                            HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  637|      0|                                        "ran off end of input buffer while decoding - unterminated source "
  638|      0|                                        "dataset name string");
  639|      0|                        else
  640|      0|                            tmp_size += 1; /* Add space for NUL terminator */
  641|       |
  642|      0|                        if (NULL ==
  ------------------
  |  Branch (642:29): [True: 0, False: 0]
  ------------------
  643|      0|                            (mesg->storage.u.virt.list[i].source_dset_name = (char *)H5MM_malloc(tmp_size)))
  ------------------
  |  |   38|      0|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  644|      0|                            HGOTO_ERROR(H5E_OHDR, H5E_CANTALLOC, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  645|      0|                                        "unable to allocate memory for source dataset name");
  646|      0|                        H5MM_memcpy(mesg->storage.u.virt.list[i].source_dset_name, heap_block_p, tmp_size);
  ------------------
  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  647|      0|                        heap_block_p += tmp_size;
  648|       |
  649|       |                        /* Source selection */
  650|      0|                        avail_buffer_space = heap_block_p_end - heap_block_p + 1;
  651|       |
  652|      0|                        if (avail_buffer_space <= 0)
  ------------------
  |  Branch (652:29): [True: 0, False: 0]
  ------------------
  653|      0|                            HGOTO_ERROR(H5E_DATASPACE, H5E_OVERFLOW, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  654|      0|                                        "buffer overflow while decoding layout");
  655|       |
  656|      0|                        if (H5S_SELECT_DESERIALIZE(&mesg->storage.u.virt.list[i].source_select, &heap_block_p,
  ------------------
  |  |  195|      0|#define H5S_SELECT_DESERIALIZE(S, BUF, BUF_SIZE)  (H5S_select_deserialize(S, BUF, BUF_SIZE))
  ------------------
  |  Branch (656:29): [True: 0, False: 0]
  ------------------
  657|      0|                                                   (size_t)(avail_buffer_space)) < 0)
  658|      0|                            HGOTO_ERROR(H5E_OHDR, H5E_CANTDECODE, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  659|      0|                                        "can't decode source space selection");
  660|       |
  661|       |                        /* Virtual selection */
  662|       |
  663|       |                        /* Buffer space must be updated after previous deserialization */
  664|      0|                        avail_buffer_space = heap_block_p_end - heap_block_p + 1;
  665|       |
  666|      0|                        if (avail_buffer_space <= 0)
  ------------------
  |  Branch (666:29): [True: 0, False: 0]
  ------------------
  667|      0|                            HGOTO_ERROR(H5E_DATASPACE, H5E_OVERFLOW, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  668|      0|                                        "buffer overflow while decoding layout");
  669|       |
  670|      0|                        if (H5S_SELECT_DESERIALIZE(&mesg->storage.u.virt.list[i].source_dset.virtual_select,
  ------------------
  |  |  195|      0|#define H5S_SELECT_DESERIALIZE(S, BUF, BUF_SIZE)  (H5S_select_deserialize(S, BUF, BUF_SIZE))
  ------------------
  |  Branch (670:29): [True: 0, False: 0]
  ------------------
  671|      0|                                                   &heap_block_p, (size_t)(avail_buffer_space)) < 0)
  672|      0|                            HGOTO_ERROR(H5E_OHDR, H5E_CANTDECODE, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  673|      0|                                        "can't decode virtual space selection");
  674|       |
  675|       |                        /* Parse source file and dataset names for "printf"
  676|       |                         * style format specifiers */
  677|      0|                        if (H5D_virtual_parse_source_name(
  ------------------
  |  Branch (677:29): [True: 0, False: 0]
  ------------------
  678|      0|                                mesg->storage.u.virt.list[i].source_file_name,
  679|      0|                                &mesg->storage.u.virt.list[i].parsed_source_file_name,
  680|      0|                                &mesg->storage.u.virt.list[i].psfn_static_strlen,
  681|      0|                                &mesg->storage.u.virt.list[i].psfn_nsubs) < 0)
  682|      0|                            HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, NULL, "can't parse source file name");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  683|      0|                        if (H5D_virtual_parse_source_name(
  ------------------
  |  Branch (683:29): [True: 0, False: 0]
  ------------------
  684|      0|                                mesg->storage.u.virt.list[i].source_dset_name,
  685|      0|                                &mesg->storage.u.virt.list[i].parsed_source_dset_name,
  686|      0|                                &mesg->storage.u.virt.list[i].psdn_static_strlen,
  687|      0|                                &mesg->storage.u.virt.list[i].psdn_nsubs) < 0)
  688|      0|                            HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, NULL, "can't parse source dataset name");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  689|       |
  690|       |                        /* Set source names in source_dset struct */
  691|      0|                        if ((mesg->storage.u.virt.list[i].psfn_nsubs == 0) &&
  ------------------
  |  Branch (691:29): [True: 0, False: 0]
  ------------------
  692|      0|                            (mesg->storage.u.virt.list[i].psdn_nsubs == 0)) {
  ------------------
  |  Branch (692:29): [True: 0, False: 0]
  ------------------
  693|      0|                            if (mesg->storage.u.virt.list[i].parsed_source_file_name)
  ------------------
  |  Branch (693:33): [True: 0, False: 0]
  ------------------
  694|      0|                                mesg->storage.u.virt.list[i].source_dset.file_name =
  695|      0|                                    mesg->storage.u.virt.list[i].parsed_source_file_name->name_segment;
  696|      0|                            else
  697|      0|                                mesg->storage.u.virt.list[i].source_dset.file_name =
  698|      0|                                    mesg->storage.u.virt.list[i].source_file_name;
  699|      0|                            if (mesg->storage.u.virt.list[i].parsed_source_dset_name)
  ------------------
  |  Branch (699:33): [True: 0, False: 0]
  ------------------
  700|      0|                                mesg->storage.u.virt.list[i].source_dset.dset_name =
  701|      0|                                    mesg->storage.u.virt.list[i].parsed_source_dset_name->name_segment;
  702|      0|                            else
  703|      0|                                mesg->storage.u.virt.list[i].source_dset.dset_name =
  704|      0|                                    mesg->storage.u.virt.list[i].source_dset_name;
  705|      0|                        }
  706|       |
  707|       |                        /* Unlim_dim fields */
  708|      0|                        mesg->storage.u.virt.list[i].unlim_dim_source =
  709|      0|                            H5S_get_select_unlim_dim(mesg->storage.u.virt.list[i].source_select);
  710|      0|                        mesg->storage.u.virt.list[i].unlim_dim_virtual =
  711|      0|                            H5S_get_select_unlim_dim(mesg->storage.u.virt.list[i].source_dset.virtual_select);
  712|      0|                        mesg->storage.u.virt.list[i].unlim_extent_source  = HSIZE_UNDEF;
  ------------------
  |  |  322|      0|#define HSIZE_UNDEF        UINT64_MAX
  ------------------
  713|      0|                        mesg->storage.u.virt.list[i].unlim_extent_virtual = HSIZE_UNDEF;
  ------------------
  |  |  322|      0|#define HSIZE_UNDEF        UINT64_MAX
  ------------------
  714|      0|                        mesg->storage.u.virt.list[i].clip_size_source     = HSIZE_UNDEF;
  ------------------
  |  |  322|      0|#define HSIZE_UNDEF        UINT64_MAX
  ------------------
  715|      0|                        mesg->storage.u.virt.list[i].clip_size_virtual    = HSIZE_UNDEF;
  ------------------
  |  |  322|      0|#define HSIZE_UNDEF        UINT64_MAX
  ------------------
  716|       |
  717|       |                        /* Clipped selections */
  718|      0|                        if (mesg->storage.u.virt.list[i].unlim_dim_virtual < 0) {
  ------------------
  |  Branch (718:29): [True: 0, False: 0]
  ------------------
  719|      0|                            mesg->storage.u.virt.list[i].source_dset.clipped_source_select =
  720|      0|                                mesg->storage.u.virt.list[i].source_select;
  721|      0|                            mesg->storage.u.virt.list[i].source_dset.clipped_virtual_select =
  722|      0|                                mesg->storage.u.virt.list[i].source_dset.virtual_select;
  723|      0|                        }
  724|       |
  725|       |                        /* Check mapping for validity (do both pre and post
  726|       |                         * checks here, since we had to allocate the entry list
  727|       |                         * before decoding the selections anyways) */
  728|      0|                        if (H5D_virtual_check_mapping_pre(
  ------------------
  |  Branch (728:29): [True: 0, False: 0]
  ------------------
  729|      0|                                mesg->storage.u.virt.list[i].source_dset.virtual_select,
  730|      0|                                mesg->storage.u.virt.list[i].source_select, H5O_VIRTUAL_STATUS_INVALID) < 0)
  731|      0|                            HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, NULL, "invalid mapping selections");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  732|      0|                        if (H5D_virtual_check_mapping_post(&mesg->storage.u.virt.list[i]) < 0)
  ------------------
  |  Branch (732:29): [True: 0, False: 0]
  ------------------
  733|      0|                            HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, NULL, "invalid mapping entry");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  734|       |
  735|       |                        /* Update min_dims */
  736|      0|                        if (H5D_virtual_update_min_dims(mesg, i) < 0)
  ------------------
  |  Branch (736:29): [True: 0, False: 0]
  ------------------
  737|      0|                            HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  738|      0|                                        "unable to update virtual dataset minimum dimensions");
  739|      0|                    }
  740|       |
  741|       |                    /* Read stored checksum */
  742|      0|                    if (H5_IS_BUFFER_OVERFLOW(heap_block_p, 4, heap_block_p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  743|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  744|      0|                                    "ran off end of input buffer while decoding");
  745|      0|                    UINT32DECODE(heap_block_p, stored_chksum);
  ------------------
  |  |  179|      0|    do {                                                                                                     \
  |  |  180|      0|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  181|      0|        (p)++;                                                                                               \
  |  |  182|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  183|      0|        (p)++;                                                                                               \
  |  |  184|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  185|      0|        (p)++;                                                                                               \
  |  |  186|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  187|      0|        (p)++;                                                                                               \
  |  |  188|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  746|       |
  747|       |                    /* Compute checksum */
  748|      0|                    computed_chksum = H5_checksum_metadata(heap_block, block_size - (size_t)4, 0);
  749|       |
  750|       |                    /* Verify checksum */
  751|      0|                    if (stored_chksum != computed_chksum)
  ------------------
  |  Branch (751:25): [True: 0, False: 0]
  ------------------
  752|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  753|      0|                                    "incorrect metadata checksum for global heap block");
  754|       |
  755|       |                    /* Verify that the heap block size is correct */
  756|      0|                    if ((size_t)(heap_block_p - heap_block) != block_size)
  ------------------
  |  Branch (756:25): [True: 0, False: 0]
  ------------------
  757|      0|                        HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, NULL, "incorrect heap block size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  758|      0|                } /* end if */
  759|       |
  760|       |                /* Set the layout operations */
  761|      0|                mesg->ops = H5D_LOPS_VIRTUAL;
  762|       |
  763|      0|                break;
  764|       |
  765|      0|            case H5D_LAYOUT_ERROR:
  ------------------
  |  Branch (765:13): [True: 0, False: 38]
  ------------------
  766|      0|            case H5D_NLAYOUTS:
  ------------------
  |  Branch (766:13): [True: 0, False: 38]
  ------------------
  767|      0|            default:
  ------------------
  |  Branch (767:13): [True: 0, False: 38]
  ------------------
  768|      0|                HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, NULL, "Invalid layout class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  769|     38|        }
  770|     38|    }
  771|       |
  772|       |    /* Set return value */
  773|     38|    ret_value = mesg;
  774|       |
  775|     38|done:
  776|     38|    if (ret_value == NULL)
  ------------------
  |  Branch (776:9): [True: 0, False: 38]
  ------------------
  777|      0|        if (mesg) {
  ------------------
  |  Branch (777:13): [True: 0, False: 0]
  ------------------
  778|      0|            if (mesg->type == H5D_VIRTUAL)
  ------------------
  |  Branch (778:17): [True: 0, False: 0]
  ------------------
  779|      0|                if (H5D__virtual_reset_layout(mesg) < 0)
  ------------------
  |  Branch (779:21): [True: 0, False: 0]
  ------------------
  780|      0|                    HDONE_ERROR(H5E_OHDR, H5E_CANTFREE, NULL, "unable to reset virtual layout");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  781|      0|            H5FL_FREE(H5O_layout_t, mesg);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  782|      0|        }
  783|       |
  784|     38|    heap_block = (uint8_t *)H5MM_xfree(heap_block);
  785|       |
  786|     38|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     38|    ;                                                                                                        \
  |  | 1573|     38|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     38|    return (ret_value);                                                                                      \
  |  | 1575|     38|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  787|     38|} /* end H5O__layout_decode() */
H5Olayout.c:H5O__layout_copy:
  959|    197|{
  960|    197|    const H5O_layout_t *mesg      = (const H5O_layout_t *)_mesg;
  961|    197|    H5O_layout_t       *dest      = (H5O_layout_t *)_dest;
  962|    197|    void               *ret_value = NULL; /* Return value */
  963|       |
  964|    197|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    197|    {                                                                                                        \
  |  | 1461|    197|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    197|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    197|                                                                                                             \
  |  |  |  | 1267|    197|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    197|        {
  ------------------
  965|       |
  966|       |    /* check args */
  967|    197|    assert(mesg);
  968|       |
  969|       |    /* Allocate destination message, if necessary */
  970|    197|    if (!dest && NULL == (dest = H5FL_MALLOC(H5O_layout_t)))
  ------------------
  |  |   75|      0|#define H5FL_MALLOC(t) (t *)H5FL_reg_malloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (970:9): [True: 0, False: 197]
  |  Branch (970:18): [True: 0, False: 0]
  ------------------
  971|      0|        HGOTO_ERROR(H5E_OHDR, H5E_CANTALLOC, NULL, "layout message allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  972|       |
  973|       |    /* copy */
  974|    197|    *dest = *mesg;
  975|       |
  976|       |    /* Special actions for each type of layout */
  977|    197|    switch (mesg->type) {
  978|    141|        case H5D_COMPACT:
  ------------------
  |  Branch (978:9): [True: 141, False: 56]
  ------------------
  979|       |            /* Deep copy the buffer for compact datasets also */
  980|    141|            if (mesg->storage.u.compact.size > 0) {
  ------------------
  |  Branch (980:17): [True: 141, False: 0]
  ------------------
  981|       |                /* Sanity check */
  982|    141|                assert(mesg->storage.u.compact.buf);
  983|       |
  984|       |                /* Allocate memory for the raw data */
  985|    141|                if (NULL == (dest->storage.u.compact.buf = H5MM_malloc(dest->storage.u.compact.size)))
  ------------------
  |  |   38|    141|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  |  Branch (985:21): [True: 0, False: 141]
  ------------------
  986|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_NOSPACE, NULL, "unable to allocate memory for compact dataset");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  987|       |
  988|       |                /* Copy over the raw data */
  989|    141|                H5MM_memcpy(dest->storage.u.compact.buf, mesg->storage.u.compact.buf,
  ------------------
  |  |   41|    141|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  990|    141|                            dest->storage.u.compact.size);
  991|    141|            } /* end if */
  992|      0|            else
  993|      0|                assert(dest->storage.u.compact.buf == NULL);
  994|    141|            break;
  995|       |
  996|    141|        case H5D_CONTIGUOUS:
  ------------------
  |  Branch (996:9): [True: 56, False: 141]
  ------------------
  997|       |            /* Nothing required */
  998|     56|            break;
  999|       |
 1000|      0|        case H5D_CHUNKED:
  ------------------
  |  Branch (1000:9): [True: 0, False: 197]
  ------------------
 1001|       |            /* Reset the pointer of the chunked storage index but not the address */
 1002|      0|            if (dest->storage.u.chunk.ops)
  ------------------
  |  Branch (1002:17): [True: 0, False: 0]
  ------------------
 1003|      0|                H5D_chunk_idx_reset(&dest->storage.u.chunk, false);
 1004|      0|            break;
 1005|       |
 1006|      0|        case H5D_VIRTUAL:
  ------------------
  |  Branch (1006:9): [True: 0, False: 197]
  ------------------
 1007|      0|            if (H5D__virtual_copy_layout(dest) < 0)
  ------------------
  |  Branch (1007:17): [True: 0, False: 0]
  ------------------
 1008|      0|                HGOTO_ERROR(H5E_OHDR, H5E_CANTCOPY, NULL, "unable to copy virtual layout");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1009|      0|            break;
 1010|       |
 1011|      0|        case H5D_LAYOUT_ERROR:
  ------------------
  |  Branch (1011:9): [True: 0, False: 197]
  ------------------
 1012|      0|        case H5D_NLAYOUTS:
  ------------------
  |  Branch (1012:9): [True: 0, False: 197]
  ------------------
 1013|      0|        default:
  ------------------
  |  Branch (1013:9): [True: 0, False: 197]
  ------------------
 1014|      0|            HGOTO_ERROR(H5E_OHDR, H5E_CANTENCODE, NULL, "Invalid layout class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1015|    197|    } /* end switch */
 1016|       |
 1017|       |    /* Set return value */
 1018|    197|    ret_value = dest;
 1019|       |
 1020|    197|done:
 1021|    197|    if (ret_value == NULL)
  ------------------
  |  Branch (1021:9): [True: 0, False: 197]
  ------------------
 1022|      0|        if (NULL == _dest)
  ------------------
  |  Branch (1022:13): [True: 0, False: 0]
  ------------------
 1023|      0|            dest = H5FL_FREE(H5O_layout_t, dest);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 1024|       |
 1025|    197|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    197|    ;                                                                                                        \
  |  | 1573|    197|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    197|    return (ret_value);                                                                                      \
  |  | 1575|    197|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1026|    197|} /* end H5O__layout_copy() */
H5Olayout.c:H5O__layout_reset:
 1072|    273|{
 1073|    273|    H5O_layout_t *mesg      = (H5O_layout_t *)_mesg;
 1074|    273|    herr_t        ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    273|#define SUCCEED 0
  ------------------
 1075|       |
 1076|    273|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    273|    {                                                                                                        \
  |  | 1461|    273|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    273|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    273|                                                                                                             \
  |  |  |  | 1267|    273|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    273|        {
  ------------------
 1077|       |
 1078|    273|    if (mesg) {
  ------------------
  |  Branch (1078:9): [True: 273, False: 0]
  ------------------
 1079|       |        /* Free the compact storage buffer */
 1080|    273|        if (H5D_COMPACT == mesg->type)
  ------------------
  |  Branch (1080:13): [True: 179, False: 94]
  ------------------
 1081|    179|            mesg->storage.u.compact.buf = H5MM_xfree(mesg->storage.u.compact.buf);
 1082|     94|        else if (H5D_VIRTUAL == mesg->type)
  ------------------
  |  Branch (1082:18): [True: 0, False: 94]
  ------------------
 1083|       |            /* Free the virtual entry list */
 1084|      0|            if (H5D__virtual_reset_layout(mesg) < 0)
  ------------------
  |  Branch (1084:17): [True: 0, False: 0]
  ------------------
 1085|      0|                HGOTO_ERROR(H5E_OHDR, H5E_CANTFREE, FAIL, "unable to reset virtual layout");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1086|       |
 1087|       |        /* Reset the message */
 1088|    273|        mesg->type    = H5D_CONTIGUOUS;
 1089|    273|        mesg->version = H5O_LAYOUT_VERSION_DEFAULT;
  ------------------
  |  |  431|    273|#define H5O_LAYOUT_VERSION_DEFAULT H5O_LAYOUT_VERSION_3
  |  |  ------------------
  |  |  |  |  419|    273|#define H5O_LAYOUT_VERSION_3 3
  |  |  ------------------
  ------------------
 1090|    273|    } /* end if */
 1091|       |
 1092|    273|done:
 1093|    273|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    273|    ;                                                                                                        \
  |  | 1573|    273|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    273|    return (ret_value);                                                                                      \
  |  | 1575|    273|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1094|    273|} /* end H5O__layout_reset() */
H5Olayout.c:H5O__layout_free:
 1107|     38|{
 1108|     38|    H5O_layout_t *mesg = (H5O_layout_t *)_mesg;
 1109|       |
 1110|     38|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     38|    {                                                                                                        \
  |  | 1467|     38|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     38|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     38|        {
  ------------------
 1111|       |
 1112|     38|    assert(mesg);
 1113|       |
 1114|       |    /* Free resources within the message */
 1115|     38|    H5O__layout_reset(mesg);
 1116|       |
 1117|     38|    (void)H5FL_FREE(H5O_layout_t, mesg);
  ------------------
  |  |   81|     38|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|     38|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 1118|       |
 1119|     38|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     38|    ;                                                                                                        \
  |  | 1573|     38|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     38|    return (ret_value);                                                                                      \
  |  | 1575|     38|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1120|     38|} /* end H5O__layout_free() */

H5Olink.c:H5O__link_reset:
  546|    825|{
  547|    825|    H5O_link_t *lnk = (H5O_link_t *)_mesg;
  548|       |
  549|    825|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|    825|    {                                                                                                        \
  |  | 1467|    825|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|    825|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|    825|        {
  ------------------
  550|       |
  551|    825|    if (lnk) {
  ------------------
  |  Branch (551:9): [True: 825, False: 0]
  ------------------
  552|       |        /* Free information for link (but don't free link pointer) */
  553|    825|        if (lnk->type == H5L_TYPE_SOFT)
  ------------------
  |  Branch (553:13): [True: 0, False: 825]
  ------------------
  554|      0|            lnk->u.soft.name = (char *)H5MM_xfree(lnk->u.soft.name);
  555|    825|        else if (lnk->type >= H5L_TYPE_UD_MIN) {
  ------------------
  |  |   77|    825|#define H5L_TYPE_UD_MIN H5L_TYPE_EXTERNAL
  ------------------
  |  Branch (555:18): [True: 0, False: 825]
  ------------------
  556|      0|            if (lnk->u.ud.size > 0)
  ------------------
  |  Branch (556:17): [True: 0, False: 0]
  ------------------
  557|      0|                lnk->u.ud.udata = H5MM_xfree(lnk->u.ud.udata);
  558|      0|        } /* end if */
  559|    825|        lnk->name = (char *)H5MM_xfree(lnk->name);
  560|    825|    } /* end if */
  561|       |
  562|    825|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|    825|    ;                                                                                                        \
  |  | 1573|    825|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    825|    return (ret_value);                                                                                      \
  |  | 1575|    825|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  563|    825|} /* end H5O__link_reset() */

H5O_msg_read:
  413|    574|{
  414|    574|    H5O_t *oh        = NULL; /* Object header to use */
  415|    574|    void  *ret_value = NULL; /* Return value */
  416|       |
  417|    574|    FUNC_ENTER_NOAPI_TAG(loc->addr, NULL)
  ------------------
  |  | 1443|    574|    {                                                                                                        \
  |  | 1444|    574|        haddr_t prev_tag = HADDR_UNDEF;                                                                      \
  |  |  ------------------
  |  |  |  |  336|    574|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  | 1445|    574|                                                                                                             \
  |  | 1446|    574|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    574|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    574|                                                                                                             \
  |  |  |  | 1267|    574|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1447|    574|        H5AC_tag(tag, &prev_tag);                                                                            \
  |  | 1448|    574|        {
  ------------------
  418|       |
  419|       |    /* check args */
  420|    574|    assert(loc);
  421|    574|    assert(loc->file);
  422|    574|    assert(H5_addr_defined(loc->addr));
  423|    574|    assert(type_id < NELMTS(H5O_msg_class_g));
  424|       |
  425|       |    /* Get the object header */
  426|    574|    if (NULL == (oh = H5O_protect(loc, H5AC__READ_ONLY_FLAG, false)))
  ------------------
  |  |  322|    574|#define H5AC__READ_ONLY_FLAG              H5C__READ_ONLY_FLAG
  |  |  ------------------
  |  |  |  |  183|    574|#define H5C__READ_ONLY_FLAG                 0x00080
  |  |  ------------------
  ------------------
  |  Branch (426:9): [True: 0, False: 574]
  ------------------
  427|      0|        HGOTO_ERROR(H5E_OHDR, H5E_CANTPROTECT, NULL, "unable to protect object header");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  428|       |
  429|       |    /* Call the "real" read routine */
  430|    574|    if (NULL == (ret_value = H5O_msg_read_oh(loc->file, oh, type_id, mesg)))
  ------------------
  |  Branch (430:9): [True: 3, False: 571]
  ------------------
  431|      3|        HGOTO_ERROR(H5E_OHDR, H5E_READERROR, NULL, "unable to read object header message");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  432|       |
  433|    574|done:
  434|    574|    if (oh && H5O_unprotect(loc, oh, H5AC__NO_FLAGS_SET) < 0)
  ------------------
  |  |  314|    574|#define H5AC__NO_FLAGS_SET                H5C__NO_FLAGS_SET
  |  |  ------------------
  |  |  |  |  175|    574|#define H5C__NO_FLAGS_SET                   0x00000
  |  |  ------------------
  ------------------
  |  Branch (434:9): [True: 574, False: 0]
  |  Branch (434:15): [True: 0, False: 574]
  ------------------
  435|      0|        HDONE_ERROR(H5E_OHDR, H5E_CANTUNPROTECT, NULL, "unable to release object header");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  436|       |
  437|    574|    FUNC_LEAVE_NOAPI_TAG(ret_value)
  ------------------
  |  | 1593|    574|    ;                                                                                                        \
  |  | 1594|    574|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1595|    574|    H5AC_tag(prev_tag, NULL);                                                                                \
  |  | 1596|    574|    return (ret_value);                                                                                      \
  |  | 1597|    574|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  438|    574|} /* end H5O_msg_read() */
H5O_msg_read_oh:
  461|    574|{
  462|    574|    const H5O_msg_class_t *type; /* Actual H5O class type for the ID */
  463|    574|    unsigned               idx;  /* Message's index in object header */
  464|    574|    void                  *ret_value = NULL;
  465|       |
  466|    574|    FUNC_ENTER_NOAPI_NOINIT
  ------------------
  |  | 1410|    574|    {                                                                                                        \
  |  | 1411|    574|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    574|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    574|                                                                                                             \
  |  |  |  | 1267|    574|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1412|    574|        {
  ------------------
  467|       |
  468|       |    /* check args */
  469|    574|    assert(f);
  470|    574|    assert(oh);
  471|    574|    assert(type_id < NELMTS(H5O_msg_class_g));
  472|    574|    type = H5O_msg_class_g[type_id]; /* map the type ID to the actual type object */
  473|    574|    assert(type);
  474|       |
  475|       |    /* Scan through the messages looking for the right one */
  476|    913|    for (idx = 0; idx < oh->nmesgs; idx++)
  ------------------
  |  Branch (476:19): [True: 913, False: 0]
  ------------------
  477|    913|        if (type == oh->mesg[idx].type)
  ------------------
  |  Branch (477:13): [True: 574, False: 339]
  ------------------
  478|    574|            break;
  479|    574|    if (idx == oh->nmesgs)
  ------------------
  |  Branch (479:9): [True: 0, False: 574]
  ------------------
  480|      0|        HGOTO_ERROR(H5E_OHDR, H5E_NOTFOUND, NULL, "message type not found");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  481|       |
  482|       |    /*
  483|       |     * Decode the message if necessary.  If the message is shared then retrieve
  484|       |     * native message through the shared interface.
  485|       |     */
  486|    574|    H5O_LOAD_NATIVE(f, 0, oh, &(oh->mesg[idx]), NULL)
  ------------------
  |  |  166|    574|    if (NULL == (MSG)->native) {                                                                             \
  |  |  ------------------
  |  |  |  Branch (166:9): [True: 165, False: 409]
  |  |  ------------------
  |  |  167|    165|        const H5O_msg_class_t *msg_type = (MSG)->type;                                                       \
  |  |  168|    165|        unsigned               ioflags  = (IOF);                                                             \
  |  |  169|    165|                                                                                                             \
  |  |  170|    165|        /* Decode the message */                                                                             \
  |  |  171|    165|        assert(msg_type->decode);                                                                            \
  |  |  172|    165|        if (NULL == ((MSG)->native = (msg_type->decode)((F), (OH), (MSG)->flags, &ioflags, (MSG)->raw_size,  \
  |  |  ------------------
  |  |  |  Branch (172:13): [True: 3, False: 162]
  |  |  ------------------
  |  |  173|    165|                                                        (MSG)->raw)))                                        \
  |  |  174|    165|            HGOTO_ERROR(H5E_OHDR, H5E_CANTDECODE, ERR, "unable to decode message");                          \
  |  |  ------------------
  |  |  |  |   68|      3|    do {                                                                                                     \
  |  |  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  175|    165|                                                                                                             \
  |  |  176|    165|        /* Mark the message dirty if it was changed by decoding */                                           \
  |  |  177|    165|        if ((ioflags & H5O_DECODEIO_DIRTY) && (H5F_get_intent((F)) & H5F_ACC_RDWR)) {                        \
  |  |  ------------------
  |  |  |  |  152|    162|#define H5O_DECODEIO_DIRTY    0x02u /* OUT: message has been changed */
  |  |  ------------------
  |  |                       if ((ioflags & H5O_DECODEIO_DIRTY) && (H5F_get_intent((F)) & H5F_ACC_RDWR)) {                        \
  |  |  ------------------
  |  |  |  |   49|      0|#define H5F_ACC_RDWR   (H5CHECK H5OPEN 0x0001u) /**< Open for read and write    */
  |  |  ------------------
  |  |  |  Branch (177:13): [True: 0, False: 162]
  |  |  |  Branch (177:47): [True: 0, False: 0]
  |  |  ------------------
  |  |  178|      0|            (MSG)->dirty = true;                                                                             \
  |  |  179|      0|            /* Increment the count of messages dirtied by decoding, but */                                   \
  |  |  180|      0|            /* only ifndef NDEBUG */                                                                         \
  |  |  181|      0|            INCR_NDECODE_DIRTIED(OH)                                                                         \
  |  |  ------------------
  |  |  |  |  160|      0|#define INCR_NDECODE_DIRTIED(OH) ;
  |  |  ------------------
  |  |  182|      0|        }                                                                                                    \
  |  |  183|    162|                                                                                                             \
  |  |  184|    162|        /* Set the message's "shared info", if it's shareable */                                             \
  |  |  185|    162|        if ((MSG)->flags & H5O_MSG_FLAG_SHAREABLE) {                                                         \
  |  |  ------------------
  |  |  |  |   78|    162|#define H5O_MSG_FLAG_SHAREABLE                          0x40u
  |  |  ------------------
  |  |  |  Branch (185:13): [True: 0, False: 162]
  |  |  ------------------
  |  |  186|      0|            assert(msg_type->share_flags &H5O_SHARE_IS_SHARABLE);                                            \
  |  |  187|      0|            H5O_UPDATE_SHARED((H5O_shared_t *)(MSG)->native, H5O_SHARE_TYPE_HERE, (F), msg_type->id,         \
  |  |  ------------------
  |  |  |  |  142|      0|    {                                                                                                        \
  |  |  |  |  143|      0|        (SH_MESG)->type          = (SH_TYPE);                                                                \
  |  |  |  |  144|      0|        (SH_MESG)->file          = (F);                                                                      \
  |  |  |  |  145|      0|        (SH_MESG)->msg_type_id   = (MSG_TYPE);                                                               \
  |  |  |  |  146|      0|        (SH_MESG)->u.loc.index   = (CRT_IDX);                                                                \
  |  |  |  |  147|      0|        (SH_MESG)->u.loc.oh_addr = (OH_ADDR);                                                                \
  |  |  |  |  148|      0|    } /* end block */
  |  |  ------------------
  |  |  188|      0|                              (MSG)->crt_idx, (OH)->chunk[0].addr)                                           \
  |  |  189|      0|        } /* end if */                                                                                       \
  |  |  190|    162|                                                                                                             \
  |  |  191|    162|        /* Set the message's "creation index", if it has one */                                              \
  |  |  192|    162|        if (msg_type->set_crt_index) {                                                                       \
  |  |  ------------------
  |  |  |  Branch (192:13): [True: 0, False: 162]
  |  |  ------------------
  |  |  193|      0|            /* Set the creation index for the message */                                                     \
  |  |  194|      0|            if ((msg_type->set_crt_index)((MSG)->native, (MSG)->crt_idx) < 0)                                \
  |  |  ------------------
  |  |  |  Branch (194:17): [True: 0, False: 0]
  |  |  ------------------
  |  |  195|      0|                HGOTO_ERROR(H5E_OHDR, H5E_CANTSET, ERR, "unable to set creation index");                     \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  196|      0|        } /* end if */                                                                                       \
  |  |  197|    162|    }     /* end if */
  ------------------
  487|       |
  488|       |    /*
  489|       |     * The object header caches the native message (along with
  490|       |     * the raw message) so we must copy the native message before
  491|       |     * returning.
  492|       |     */
  493|    571|    if (NULL == (ret_value = (type->copy)(oh->mesg[idx].native, mesg)))
  ------------------
  |  Branch (493:9): [True: 0, False: 571]
  ------------------
  494|      0|        HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, NULL, "unable to copy message to user space");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  495|       |
  496|    574|done:
  497|    574|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    574|    ;                                                                                                        \
  |  | 1573|    574|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    574|    return (ret_value);                                                                                      \
  |  | 1575|    574|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  498|    571|} /* end H5O_msg_read_oh() */
H5O_msg_reset:
  513|  1.52k|{
  514|  1.52k|    const H5O_msg_class_t *type;                /* Actual H5O class type for the ID */
  515|  1.52k|    herr_t                 ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|  1.52k|#define SUCCEED 0
  ------------------
  516|       |
  517|  1.52k|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|  1.52k|    {                                                                                                        \
  |  | 1392|  1.52k|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|  1.52k|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|  1.52k|                                                                                                             \
  |  |  |  | 1267|  1.52k|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|  1.52k|        {
  ------------------
  518|       |
  519|       |    /* check args */
  520|  1.52k|    assert(type_id < NELMTS(H5O_msg_class_g));
  521|  1.52k|    type = H5O_msg_class_g[type_id]; /* map the type ID to the actual type object */
  522|  1.52k|    assert(type);
  523|       |
  524|       |    /* Call the "real" reset routine */
  525|  1.52k|    if (H5O__msg_reset_real(type, native) < 0)
  ------------------
  |  Branch (525:9): [True: 0, False: 1.52k]
  ------------------
  526|      0|        HGOTO_ERROR(H5E_OHDR, H5E_CANTRESET, FAIL, "unable to reset object header");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  527|       |
  528|  1.52k|done:
  529|  1.52k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  1.52k|    ;                                                                                                        \
  |  | 1573|  1.52k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  1.52k|    return (ret_value);                                                                                      \
  |  | 1575|  1.52k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  530|  1.52k|} /* end H5O_msg_reset() */
H5O__msg_free_mesg:
  608|    413|{
  609|    413|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|    413|    {                                                                                                        \
  |  | 1467|    413|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|    413|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|    413|        {
  ------------------
  610|       |
  611|       |    /* check args */
  612|    413|    assert(mesg);
  613|       |
  614|       |    /* Free any native information */
  615|    413|    mesg->native = H5O_msg_free_real(mesg->type, mesg->native);
  616|       |
  617|    413|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|    413|    ;                                                                                                        \
  |  | 1573|    413|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    413|    return (ret_value);                                                                                      \
  |  | 1575|    413|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  618|    413|} /* end H5O__msg_free_mesg() */
H5O_msg_free_real:
  632|    413|{
  633|    413|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|    413|    {                                                                                                        \
  |  | 1425|    413|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    413|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|    413|        {
  ------------------
  634|       |
  635|       |    /* Don't assert on args since this could be called in cleanup code */
  636|       |
  637|    413|    if (msg_native) {
  ------------------
  |  Branch (637:9): [True: 225, False: 188]
  ------------------
  638|    225|        H5O__msg_reset_real(type, msg_native);
  639|    225|        if (type && type->free)
  ------------------
  |  Branch (639:13): [True: 225, False: 0]
  |  Branch (639:21): [True: 225, False: 0]
  ------------------
  640|    225|            (type->free)(msg_native);
  641|      0|        else
  642|      0|            H5MM_xfree(msg_native);
  643|    225|    }
  644|       |
  645|    413|    FUNC_LEAVE_NOAPI(NULL)
  ------------------
  |  | 1572|    413|    ;                                                                                                        \
  |  | 1573|    413|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    413|    return (ret_value);                                                                                      \
  |  | 1575|    413|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  646|    413|} /* end H5O_msg_free_real() */
H5O_msg_copy:
  662|    486|{
  663|    486|    const H5O_msg_class_t *type;             /* Actual H5O class type for the ID */
  664|    486|    void                  *ret_value = NULL; /* Return value */
  665|       |
  666|    486|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|    486|    {                                                                                                        \
  |  | 1392|    486|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    486|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    486|                                                                                                             \
  |  |  |  | 1267|    486|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    486|        {
  ------------------
  667|       |
  668|       |    /* check args */
  669|    486|    assert(mesg);
  670|    486|    assert(type_id < NELMTS(H5O_msg_class_g));
  671|    486|    type = H5O_msg_class_g[type_id]; /* map the type ID to the actual type object */
  672|    486|    assert(type);
  673|       |
  674|       |    /* Call the message class's copy routine */
  675|    486|    if (NULL == (ret_value = (type->copy)(mesg, dst)))
  ------------------
  |  Branch (675:9): [True: 0, False: 486]
  ------------------
  676|      0|        HGOTO_ERROR(H5E_OHDR, H5E_CANTINIT, NULL, "unable to copy object header message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  677|       |
  678|    486|done:
  679|    486|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    486|    ;                                                                                                        \
  |  | 1573|    486|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    486|    return (ret_value);                                                                                      \
  |  | 1575|    486|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  680|    486|} /* end H5O_msg_copy() */
H5O_msg_exists:
  776|    617|{
  777|    617|    H5O_t *oh        = NULL; /* Object header for location */
  778|    617|    htri_t ret_value = FAIL; /* Return value */
  ------------------
  |  |  284|    617|#define FAIL    (-1)
  ------------------
  779|       |
  780|    617|    FUNC_ENTER_NOAPI_TAG(loc->addr, FAIL)
  ------------------
  |  | 1443|    617|    {                                                                                                        \
  |  | 1444|    617|        haddr_t prev_tag = HADDR_UNDEF;                                                                      \
  |  |  ------------------
  |  |  |  |  336|    617|#define HADDR_UNDEF         UINT64_MAX
  |  |  ------------------
  |  | 1445|    617|                                                                                                             \
  |  | 1446|    617|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    617|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    617|                                                                                                             \
  |  |  |  | 1267|    617|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1447|    617|        H5AC_tag(tag, &prev_tag);                                                                            \
  |  | 1448|    617|        {
  ------------------
  781|       |
  782|    617|    assert(loc);
  783|    617|    assert(loc->file);
  784|    617|    assert(type_id < NELMTS(H5O_msg_class_g));
  785|       |
  786|       |    /* Load the object header */
  787|    617|    if (NULL == (oh = H5O_protect(loc, H5AC__READ_ONLY_FLAG, false)))
  ------------------
  |  |  322|    617|#define H5AC__READ_ONLY_FLAG              H5C__READ_ONLY_FLAG
  |  |  ------------------
  |  |  |  |  183|    617|#define H5C__READ_ONLY_FLAG                 0x00080
  |  |  ------------------
  ------------------
  |  Branch (787:9): [True: 0, False: 617]
  ------------------
  788|      0|        HGOTO_ERROR(H5E_OHDR, H5E_CANTPROTECT, FAIL, "unable to protect object header");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  789|       |
  790|       |    /* Call the "real" exists routine */
  791|    617|    if ((ret_value = H5O_msg_exists_oh(oh, type_id)) < 0)
  ------------------
  |  Branch (791:9): [True: 0, False: 617]
  ------------------
  792|      0|        HGOTO_ERROR(H5E_OHDR, H5E_READERROR, FAIL, "unable to verify object header message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  793|       |
  794|    617|done:
  795|    617|    if (oh && H5O_unprotect(loc, oh, H5AC__NO_FLAGS_SET) < 0)
  ------------------
  |  |  314|    617|#define H5AC__NO_FLAGS_SET                H5C__NO_FLAGS_SET
  |  |  ------------------
  |  |  |  |  175|    617|#define H5C__NO_FLAGS_SET                   0x00000
  |  |  ------------------
  ------------------
  |  Branch (795:9): [True: 617, False: 0]
  |  Branch (795:15): [True: 0, False: 617]
  ------------------
  796|      0|        HDONE_ERROR(H5E_OHDR, H5E_CANTUNPROTECT, FAIL, "unable to release object header");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  797|       |
  798|    617|    FUNC_LEAVE_NOAPI_TAG(ret_value)
  ------------------
  |  | 1593|    617|    ;                                                                                                        \
  |  | 1594|    617|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1595|    617|    H5AC_tag(prev_tag, NULL);                                                                                \
  |  | 1596|    617|    return (ret_value);                                                                                      \
  |  | 1597|    617|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  799|    617|} /* end H5O_msg_exists() */
H5O_msg_exists_oh:
  818|  1.19k|{
  819|  1.19k|    const H5O_msg_class_t *type;              /* Actual H5O class type for the ID */
  820|  1.19k|    unsigned               u;                 /* Local index variable */
  821|  1.19k|    htri_t                 ret_value = false; /* Return value */
  822|       |
  823|  1.19k|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|  1.19k|    {                                                                                                        \
  |  | 1425|  1.19k|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|  1.19k|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|  1.19k|        {
  ------------------
  824|       |
  825|  1.19k|    assert(oh);
  826|  1.19k|    assert(type_id < NELMTS(H5O_msg_class_g));
  827|  1.19k|    type = H5O_msg_class_g[type_id]; /* map the type ID to the actual type object */
  828|  1.19k|    assert(type);
  829|       |
  830|       |    /* Scan through the messages looking for the right one */
  831|  4.22k|    for (u = 0; u < oh->nmesgs; u++)
  ------------------
  |  Branch (831:17): [True: 3.46k, False: 758]
  ------------------
  832|  3.46k|        if (type == oh->mesg[u].type)
  ------------------
  |  Branch (832:13): [True: 440, False: 3.02k]
  ------------------
  833|    440|            HGOTO_DONE(true);
  ------------------
  |  |   91|    440|    do {                                                                                                     \
  |  |   92|    440|        ret_value = ret_val;                                                                                 \
  |  |   93|    440|        goto done;                                                                                           \
  |  |   94|    440|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  834|       |
  835|  1.19k|done:
  836|  1.19k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  1.19k|    ;                                                                                                        \
  |  | 1573|  1.19k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  1.19k|    return (ret_value);                                                                                      \
  |  | 1575|  1.19k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  837|  1.19k|} /* end H5O_msg_exists_oh() */
H5O__msg_iterate_real:
 1139|    185|{
 1140|    185|    H5O_mesg_t *idx_msg;                    /* Pointer to current message */
 1141|    185|    unsigned    idx;                        /* Absolute index of current message in all messages */
 1142|    185|    unsigned    sequence;                   /* Relative index of current message for messages of type */
 1143|    185|    unsigned    oh_modified = 0;            /* Whether the callback modified the object header */
 1144|    185|    herr_t      ret_value   = H5_ITER_CONT; /* Return value */
  ------------------
  |  |  362|    185|#define H5_ITER_CONT  (0)  /**< Continue iteration */
  ------------------
 1145|       |
 1146|    185|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    185|    {                                                                                                        \
  |  | 1461|    185|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    185|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    185|                                                                                                             \
  |  |  |  | 1267|    185|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    185|        {
  ------------------
 1147|       |
 1148|       |    /* check args */
 1149|    185|    assert(f);
 1150|    185|    assert(oh);
 1151|    185|    assert(type);
 1152|    185|    assert(op);
 1153|    185|    assert(op->u.app_op);
 1154|       |
 1155|       |    /* Iterate over messages */
 1156|  1.27k|    for (sequence = 0, idx = 0, idx_msg = &oh->mesg[0]; idx < oh->nmesgs && !ret_value; idx++, idx_msg++) {
  ------------------
  |  Branch (1156:57): [True: 1.18k, False: 88]
  |  Branch (1156:77): [True: 1.18k, False: 0]
  ------------------
 1157|  1.18k|        if (type == idx_msg->type) {
  ------------------
  |  Branch (1157:13): [True: 255, False: 928]
  ------------------
 1158|       |            /* Decode the message if necessary.  */
 1159|    255|            H5O_LOAD_NATIVE(f, 0, oh, idx_msg, FAIL)
  ------------------
  |  |  166|    255|    if (NULL == (MSG)->native) {                                                                             \
  |  |  ------------------
  |  |  |  Branch (166:9): [True: 76, False: 179]
  |  |  ------------------
  |  |  167|     76|        const H5O_msg_class_t *msg_type = (MSG)->type;                                                       \
  |  |  168|     76|        unsigned               ioflags  = (IOF);                                                             \
  |  |  169|     76|                                                                                                             \
  |  |  170|     76|        /* Decode the message */                                                                             \
  |  |  171|     76|        assert(msg_type->decode);                                                                            \
  |  |  172|     76|        if (NULL == ((MSG)->native = (msg_type->decode)((F), (OH), (MSG)->flags, &ioflags, (MSG)->raw_size,  \
  |  |  ------------------
  |  |  |  Branch (172:13): [True: 24, False: 52]
  |  |  ------------------
  |  |  173|     76|                                                        (MSG)->raw)))                                        \
  |  |  174|     76|            HGOTO_ERROR(H5E_OHDR, H5E_CANTDECODE, ERR, "unable to decode message");                          \
  |  |  ------------------
  |  |  |  |   68|     24|    do {                                                                                                     \
  |  |  |  |   69|     24|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|     24|    do {                                                                                                     \
  |  |  |  |  |  |   40|     24|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|     24|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|     24|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|     24|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|     24|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|     24|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|     24|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|     24|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|     24|    do {                                                                                                     \
  |  |  |  |  |  |   92|     24|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|     24|        goto done;                                                                                           \
  |  |  |  |  |  |   94|     24|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|     24|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  175|     76|                                                                                                             \
  |  |  176|     76|        /* Mark the message dirty if it was changed by decoding */                                           \
  |  |  177|     76|        if ((ioflags & H5O_DECODEIO_DIRTY) && (H5F_get_intent((F)) & H5F_ACC_RDWR)) {                        \
  |  |  ------------------
  |  |  |  |  152|     52|#define H5O_DECODEIO_DIRTY    0x02u /* OUT: message has been changed */
  |  |  ------------------
  |  |                       if ((ioflags & H5O_DECODEIO_DIRTY) && (H5F_get_intent((F)) & H5F_ACC_RDWR)) {                        \
  |  |  ------------------
  |  |  |  |   49|      0|#define H5F_ACC_RDWR   (H5CHECK H5OPEN 0x0001u) /**< Open for read and write    */
  |  |  ------------------
  |  |  |  Branch (177:13): [True: 0, False: 52]
  |  |  |  Branch (177:47): [True: 0, False: 0]
  |  |  ------------------
  |  |  178|      0|            (MSG)->dirty = true;                                                                             \
  |  |  179|      0|            /* Increment the count of messages dirtied by decoding, but */                                   \
  |  |  180|      0|            /* only ifndef NDEBUG */                                                                         \
  |  |  181|      0|            INCR_NDECODE_DIRTIED(OH)                                                                         \
  |  |  ------------------
  |  |  |  |  160|      0|#define INCR_NDECODE_DIRTIED(OH) ;
  |  |  ------------------
  |  |  182|      0|        }                                                                                                    \
  |  |  183|     52|                                                                                                             \
  |  |  184|     52|        /* Set the message's "shared info", if it's shareable */                                             \
  |  |  185|     52|        if ((MSG)->flags & H5O_MSG_FLAG_SHAREABLE) {                                                         \
  |  |  ------------------
  |  |  |  |   78|     52|#define H5O_MSG_FLAG_SHAREABLE                          0x40u
  |  |  ------------------
  |  |  |  Branch (185:13): [True: 0, False: 52]
  |  |  ------------------
  |  |  186|      0|            assert(msg_type->share_flags &H5O_SHARE_IS_SHARABLE);                                            \
  |  |  187|      0|            H5O_UPDATE_SHARED((H5O_shared_t *)(MSG)->native, H5O_SHARE_TYPE_HERE, (F), msg_type->id,         \
  |  |  ------------------
  |  |  |  |  142|      0|    {                                                                                                        \
  |  |  |  |  143|      0|        (SH_MESG)->type          = (SH_TYPE);                                                                \
  |  |  |  |  144|      0|        (SH_MESG)->file          = (F);                                                                      \
  |  |  |  |  145|      0|        (SH_MESG)->msg_type_id   = (MSG_TYPE);                                                               \
  |  |  |  |  146|      0|        (SH_MESG)->u.loc.index   = (CRT_IDX);                                                                \
  |  |  |  |  147|      0|        (SH_MESG)->u.loc.oh_addr = (OH_ADDR);                                                                \
  |  |  |  |  148|      0|    } /* end block */
  |  |  ------------------
  |  |  188|      0|                              (MSG)->crt_idx, (OH)->chunk[0].addr)                                           \
  |  |  189|      0|        } /* end if */                                                                                       \
  |  |  190|     52|                                                                                                             \
  |  |  191|     52|        /* Set the message's "creation index", if it has one */                                              \
  |  |  192|     52|        if (msg_type->set_crt_index) {                                                                       \
  |  |  ------------------
  |  |  |  Branch (192:13): [True: 52, False: 0]
  |  |  ------------------
  |  |  193|     52|            /* Set the creation index for the message */                                                     \
  |  |  194|     52|            if ((msg_type->set_crt_index)((MSG)->native, (MSG)->crt_idx) < 0)                                \
  |  |  ------------------
  |  |  |  Branch (194:17): [True: 0, False: 52]
  |  |  ------------------
  |  |  195|     52|                HGOTO_ERROR(H5E_OHDR, H5E_CANTSET, ERR, "unable to set creation index");                     \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  196|     52|        } /* end if */                                                                                       \
  |  |  197|     52|    }     /* end if */
  ------------------
 1160|       |
 1161|       |            /* Check for making an "internal" (i.e. within the H5O package) callback */
 1162|    231|            if (op->op_type == H5O_MESG_OP_LIB)
  ------------------
  |  Branch (1162:17): [True: 231, False: 0]
  ------------------
 1163|    231|                ret_value = (op->u.lib_op)(oh, idx_msg, sequence, &oh_modified, op_data);
 1164|      0|            else
 1165|      0|                ret_value = (op->u.app_op)(idx_msg->native, sequence, op_data);
 1166|       |
 1167|       |            /* Check for iterator callback indicating to get out of loop */
 1168|    231|            if (ret_value != 0)
  ------------------
  |  Branch (1168:17): [True: 73, False: 158]
  ------------------
 1169|     73|                break;
 1170|       |
 1171|       |            /* Increment sequence value for message type */
 1172|    158|            sequence++;
 1173|    158|        } /* end if */
 1174|  1.18k|    }     /* end for */
 1175|       |
 1176|       |    /* Check for error from iterator */
 1177|    161|    if (ret_value < 0)
  ------------------
  |  Branch (1177:9): [True: 0, False: 161]
  ------------------
 1178|      0|        HERROR(H5E_OHDR, H5E_CANTLIST, "iterator function failed");
  ------------------
  |  |   30|      0|    do {                                                                                                     \
  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |   32|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1179|       |
 1180|    185|done:
 1181|       |    /* Check if object message was modified */
 1182|    185|    if (oh_modified) {
  ------------------
  |  Branch (1182:9): [True: 0, False: 185]
  ------------------
 1183|       |        /* Try to condense object header info */
 1184|       |        /* (Since this routine is used to remove messages from an
 1185|       |         *  object header, the header will be condensed after each
 1186|       |         *  message removal)
 1187|       |         */
 1188|      0|        if (oh_modified & H5O_MODIFY_CONDENSE)
  ------------------
  |  |  878|      0|#define H5O_MODIFY_CONDENSE 0x01
  ------------------
  |  Branch (1188:13): [True: 0, False: 0]
  ------------------
 1189|      0|            if (H5O__condense_header(f, oh) < 0)
  ------------------
  |  Branch (1189:17): [True: 0, False: 0]
  ------------------
 1190|      0|                HDONE_ERROR(H5E_OHDR, H5E_CANTPACK, FAIL, "can't pack object header");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1191|       |
 1192|       |        /* Mark object header as changed */
 1193|      0|        if (H5O_touch_oh(f, oh, false) < 0)
  ------------------
  |  Branch (1193:13): [True: 0, False: 0]
  ------------------
 1194|      0|            HDONE_ERROR(H5E_OHDR, H5E_CANTUPDATE, FAIL, "unable to update time on object");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1195|       |
 1196|       |        /* Mark object header as dirty in cache */
 1197|      0|        if (H5AC_mark_entry_dirty(oh) < 0)
  ------------------
  |  Branch (1197:13): [True: 0, False: 0]
  ------------------
 1198|      0|            HGOTO_ERROR(H5E_OHDR, H5E_CANTMARKDIRTY, FAIL, "unable to mark object header as dirty");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1199|      0|    } /* end if */
 1200|       |
 1201|    185|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    185|    ;                                                                                                        \
  |  | 1573|    185|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    185|    return (ret_value);                                                                                      \
  |  | 1575|    185|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1202|    185|} /* end H5O__msg_iterate_real() */
H5O_msg_reset_share:
 1519|    634|{
 1520|    634|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|    634|    {                                                                                                        \
  |  | 1425|    634|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    634|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|    634|        {
  ------------------
 1521|       |
 1522|       |    /* Check args */
 1523|    634|    assert(type_id < NELMTS(H5O_msg_class_g));
 1524|    634|    assert(H5O_msg_class_g[type_id]); /* map the type ID to the actual type object */
 1525|    634|    assert(H5O_msg_class_g[type_id]->share_flags & H5O_SHARE_IS_SHARABLE);
 1526|    634|    assert(mesg);
 1527|       |
 1528|       |    /* Reset the shared component in the message to zero. */
 1529|    634|    memset((H5O_shared_t *)mesg, 0, sizeof(H5O_shared_t));
 1530|       |
 1531|    634|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|    634|    ;                                                                                                        \
  |  | 1573|    634|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    634|    return (ret_value);                                                                                      \
  |  | 1575|    634|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1532|    634|} /* end H5O_msg_reset_share() */
H5Omessage.c:H5O__msg_reset_real:
  545|  1.74k|{
  546|  1.74k|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|  1.74k|#define SUCCEED 0
  ------------------
  547|       |
  548|  1.74k|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|  1.74k|    {                                                                                                        \
  |  | 1461|  1.74k|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|  1.74k|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|  1.74k|                                                                                                             \
  |  |  |  | 1267|  1.74k|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|  1.74k|        {
  ------------------
  549|       |
  550|       |    /* check args */
  551|  1.74k|    assert(type);
  552|       |
  553|  1.74k|    if (native) {
  ------------------
  |  Branch (553:9): [True: 1.74k, False: 0]
  ------------------
  554|  1.74k|        if (type->reset) {
  ------------------
  |  Branch (554:13): [True: 1.72k, False: 21]
  ------------------
  555|  1.72k|            if ((type->reset)(native) < 0)
  ------------------
  |  Branch (555:17): [True: 0, False: 1.72k]
  ------------------
  556|      0|                HGOTO_ERROR(H5E_OHDR, H5E_CANTRELEASE, FAIL, "reset method failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  557|  1.72k|        } /* end if */
  558|     21|        else
  559|     21|            memset(native, 0, type->native_size);
  560|  1.74k|    } /* end if */
  561|       |
  562|  1.74k|done:
  563|  1.74k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  1.74k|    ;                                                                                                        \
  |  | 1573|  1.74k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  1.74k|    return (ret_value);                                                                                      \
  |  | 1575|  1.74k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  564|  1.74k|} /* end H5O__msg_reset_real() */

H5Opline.c:H5O__pline_copy:
  364|    103|{
  365|    103|    const H5O_pline_t *src = (const H5O_pline_t *)_src; /* Source pipeline message */
  366|    103|    H5O_pline_t       *dst = (H5O_pline_t *)_dst;       /* Destination pipeline message */
  367|    103|    size_t             i;                               /* Local index variable */
  368|    103|    H5O_pline_t       *ret_value = NULL;                /* Return value */
  369|       |
  370|    103|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    103|    {                                                                                                        \
  |  | 1461|    103|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    103|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    103|                                                                                                             \
  |  |  |  | 1267|    103|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    103|        {
  ------------------
  371|       |
  372|       |    /* Allocate pipeline message, if not provided */
  373|    103|    if (!dst && NULL == (dst = H5FL_MALLOC(H5O_pline_t)))
  ------------------
  |  |   75|      0|#define H5FL_MALLOC(t) (t *)H5FL_reg_malloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (373:9): [True: 0, False: 103]
  |  Branch (373:17): [True: 0, False: 0]
  ------------------
  374|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  375|       |
  376|       |    /* Shallow copy basic fields */
  377|    103|    *dst = *src;
  378|       |
  379|       |    /* Copy over filters, if any */
  380|    103|    dst->nalloc = dst->nused;
  381|    103|    if (dst->nalloc) {
  ------------------
  |  Branch (381:9): [True: 0, False: 103]
  ------------------
  382|       |        /* Allocate array to hold filters */
  383|      0|        if (NULL == (dst->filter = (H5Z_filter_info_t *)H5MM_calloc(dst->nalloc * sizeof(dst->filter[0]))))
  ------------------
  |  |   36|      0|#define H5MM_calloc(Z) calloc(1, Z)
  ------------------
  |  Branch (383:13): [True: 0, False: 0]
  ------------------
  384|      0|            HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  385|       |
  386|       |        /* Deep-copy filters */
  387|      0|        for (i = 0; i < src->nused; i++) {
  ------------------
  |  Branch (387:21): [True: 0, False: 0]
  ------------------
  388|       |            /* Basic filter information */
  389|      0|            dst->filter[i] = src->filter[i];
  390|       |
  391|       |            /* Filter name */
  392|      0|            if (src->filter[i].name) {
  ------------------
  |  Branch (392:17): [True: 0, False: 0]
  ------------------
  393|      0|                size_t namelen; /* Length of source filter name, including null terminator  */
  394|       |
  395|      0|                namelen = strlen(src->filter[i].name) + 1;
  396|       |
  397|       |                /* Allocate space for the filter name, or use the internal buffer */
  398|      0|                if (namelen > H5Z_COMMON_NAME_LEN) {
  ------------------
  |  |   45|      0|#define H5Z_COMMON_NAME_LEN 12
  ------------------
  |  Branch (398:21): [True: 0, False: 0]
  ------------------
  399|      0|                    dst->filter[i].name = (char *)H5MM_strdup(src->filter[i].name);
  400|      0|                    if (NULL == dst->filter[i].name)
  ------------------
  |  Branch (400:25): [True: 0, False: 0]
  ------------------
  401|      0|                        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  402|      0|                                    "memory allocation failed for filter name");
  403|      0|                } /* end if */
  404|      0|                else
  405|      0|                    dst->filter[i].name = dst->filter[i]._name;
  406|      0|            } /* end if */
  407|       |
  408|       |            /* Filter parameters */
  409|      0|            if (src->filter[i].cd_nelmts > 0) {
  ------------------
  |  Branch (409:17): [True: 0, False: 0]
  ------------------
  410|       |                /* Allocate space for the client data elements, or use the internal buffer */
  411|      0|                if (src->filter[i].cd_nelmts > H5Z_COMMON_CD_VALUES) {
  ------------------
  |  |   41|      0|#define H5Z_COMMON_CD_VALUES 4
  ------------------
  |  Branch (411:21): [True: 0, False: 0]
  ------------------
  412|      0|                    if (NULL == (dst->filter[i].cd_values =
  ------------------
  |  Branch (412:25): [True: 0, False: 0]
  ------------------
  413|      0|                                     (unsigned *)H5MM_malloc(src->filter[i].cd_nelmts * sizeof(unsigned))))
  ------------------
  |  |   38|      0|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  414|      0|                        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  415|       |
  416|      0|                    H5MM_memcpy(dst->filter[i].cd_values, src->filter[i].cd_values,
  ------------------
  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  417|      0|                                src->filter[i].cd_nelmts * sizeof(unsigned));
  418|      0|                } /* end if */
  419|      0|                else
  420|      0|                    dst->filter[i].cd_values = dst->filter[i]._cd_values;
  421|      0|            } /* end if */
  422|      0|        }     /* end for */
  423|      0|    }         /* end if */
  424|    103|    else
  425|    103|        dst->filter = NULL;
  426|       |
  427|       |    /* Set return value */
  428|    103|    ret_value = dst;
  429|       |
  430|    103|done:
  431|    103|    if (!ret_value && dst) {
  ------------------
  |  Branch (431:9): [True: 0, False: 103]
  |  Branch (431:23): [True: 0, False: 0]
  ------------------
  432|      0|        H5O__pline_reset(dst);
  433|      0|        if (!_dst)
  ------------------
  |  Branch (433:13): [True: 0, False: 0]
  ------------------
  434|      0|            H5O__pline_free(dst);
  435|      0|    } /* end if */
  436|       |
  437|    103|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    103|    ;                                                                                                        \
  |  | 1573|    103|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    103|    return (ret_value);                                                                                      \
  |  | 1575|    103|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  438|    103|} /* end H5O__pline_copy() */
H5Opline.c:H5O__pline_reset:
  513|    159|{
  514|    159|    H5O_pline_t *pline = (H5O_pline_t *)mesg; /* Pipeline message */
  515|    159|    size_t       i;                           /* Local index variable */
  516|       |
  517|    159|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|    159|    {                                                                                                        \
  |  | 1467|    159|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|    159|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|    159|        {
  ------------------
  518|       |
  519|       |    /* NOTE: This function can be called during error processing from
  520|       |     *       other API calls so DO NOT ASSUME THAT ANY VALUES ARE SANE.
  521|       |     */
  522|       |
  523|    159|    assert(pline);
  524|       |
  525|       |    /* Free the filter information and array */
  526|    159|    if (pline->filter) {
  ------------------
  |  Branch (526:9): [True: 0, False: 159]
  ------------------
  527|       |        /* Free information for each filter */
  528|      0|        for (i = 0; i < pline->nused; i++) {
  ------------------
  |  Branch (528:21): [True: 0, False: 0]
  ------------------
  529|      0|            if (pline->filter[i].name && pline->filter[i].name != pline->filter[i]._name)
  ------------------
  |  Branch (529:17): [True: 0, False: 0]
  |  Branch (529:42): [True: 0, False: 0]
  ------------------
  530|      0|                assert((strlen(pline->filter[i].name) + 1) > H5Z_COMMON_NAME_LEN);
  531|      0|            if (pline->filter[i].name != pline->filter[i]._name)
  ------------------
  |  Branch (531:17): [True: 0, False: 0]
  ------------------
  532|      0|                pline->filter[i].name = (char *)H5MM_xfree(pline->filter[i].name);
  533|      0|            if (pline->filter[i].cd_values && pline->filter[i].cd_values != pline->filter[i]._cd_values)
  ------------------
  |  Branch (533:17): [True: 0, False: 0]
  |  Branch (533:47): [True: 0, False: 0]
  ------------------
  534|      0|                assert(pline->filter[i].cd_nelmts > H5Z_COMMON_CD_VALUES);
  535|      0|            if (pline->filter[i].cd_values != pline->filter[i]._cd_values)
  ------------------
  |  Branch (535:17): [True: 0, False: 0]
  ------------------
  536|      0|                pline->filter[i].cd_values = (unsigned *)H5MM_xfree(pline->filter[i].cd_values);
  537|      0|        } /* end for */
  538|       |
  539|       |        /* Free filter array */
  540|      0|        pline->filter = (H5Z_filter_info_t *)H5MM_xfree(pline->filter);
  541|      0|    }
  542|       |
  543|       |    /* Reset # of filters */
  544|    159|    pline->nused = pline->nalloc = 0;
  545|       |
  546|       |    /* Reset version # of pipeline message */
  547|    159|    pline->version = H5O_PLINE_VERSION_1;
  ------------------
  |  |  705|    159|#define H5O_PLINE_VERSION_1 1
  ------------------
  548|       |
  549|    159|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|    159|    ;                                                                                                        \
  |  | 1573|    159|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    159|    return (ret_value);                                                                                      \
  |  | 1575|    159|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  550|    159|} /* end H5O__pline_reset() */

H5Osdspace.c:H5O__sdspace_decode:
  107|     90|{
  108|     90|    const uint8_t *p_end = p + p_size - 1; /* End of the p buffer */
  109|     90|    H5S_extent_t  *sdim  = NULL;           /* New extent dimensionality structure */
  110|     90|    unsigned       flags, version;
  111|     90|    unsigned       i;
  112|     90|    void          *ret_value = NULL; /* Return value */
  113|       |
  114|     90|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     90|    {                                                                                                        \
  |  | 1461|     90|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     90|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     90|                                                                                                             \
  |  |  |  | 1267|     90|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     90|        {
  ------------------
  115|       |
  116|     90|    assert(f);
  117|     90|    assert(p);
  118|       |
  119|     90|    if (NULL == (sdim = H5FL_CALLOC(H5S_extent_t)))
  ------------------
  |  |   78|     90|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|     90|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (119:9): [True: 0, False: 90]
  ------------------
  120|      0|        HGOTO_ERROR(H5E_DATASPACE, H5E_CANTALLOC, NULL, "dataspace structure allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  121|     90|    sdim->type = H5S_NO_CLASS;
  122|       |
  123|       |    /* Check version */
  124|     90|    if (H5_IS_BUFFER_OVERFLOW(p, 1, p_end))
  ------------------
  |  |  344|     90|    (                                                                                                        \
  |  |  345|     90|      /* Trivial case */                                                                                     \
  |  |  346|     90|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|     90|      (                                                                                                      \
  |  |  348|     90|        /* Bad precondition */                                                                               \
  |  |  349|     90|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 90]
  |  |  ------------------
  |  |  350|     90|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     90|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|     90|        /* Typical overflow */                                                                               \
  |  |  353|     90|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 90]
  |  |  ------------------
  |  |  354|     90|      )                                                                                                      \
  |  |  355|     90|    )
  ------------------
  125|      0|        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  126|     90|    version = *p++;
  127|       |
  128|     90|    if (version < H5O_SDSPACE_VERSION_1 || version > H5O_SDSPACE_VERSION_2)
  ------------------
  |  |   76|    180|#define H5O_SDSPACE_VERSION_1 1
  ------------------
                  if (version < H5O_SDSPACE_VERSION_1 || version > H5O_SDSPACE_VERSION_2)
  ------------------
  |  |   82|     90|#define H5O_SDSPACE_VERSION_2 2
  ------------------
  |  Branch (128:9): [True: 0, False: 90]
  |  Branch (128:44): [True: 0, False: 90]
  ------------------
  129|      0|        HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, NULL, "wrong version number in dataspace message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  130|     90|    sdim->version = version;
  131|       |
  132|       |    /* Get rank */
  133|     90|    if (H5_IS_BUFFER_OVERFLOW(p, 1, p_end))
  ------------------
  |  |  344|     90|    (                                                                                                        \
  |  |  345|     90|      /* Trivial case */                                                                                     \
  |  |  346|     90|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|     90|      (                                                                                                      \
  |  |  348|     90|        /* Bad precondition */                                                                               \
  |  |  349|     90|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 90]
  |  |  ------------------
  |  |  350|     90|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     90|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|     90|        /* Typical overflow */                                                                               \
  |  |  353|     90|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 90]
  |  |  ------------------
  |  |  354|     90|      )                                                                                                      \
  |  |  355|     90|    )
  ------------------
  134|      0|        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  135|     90|    sdim->rank = *p++;
  136|       |
  137|     90|    if (sdim->rank > H5S_MAX_RANK)
  ------------------
  |  |   53|     90|#define H5S_MAX_RANK 32
  ------------------
  |  Branch (137:9): [True: 0, False: 90]
  ------------------
  138|      0|        HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, NULL, "simple dataspace dimensionality is too large");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  139|       |
  140|       |    /* Get dataspace flags for later */
  141|     90|    if (H5_IS_BUFFER_OVERFLOW(p, 1, p_end))
  ------------------
  |  |  344|     90|    (                                                                                                        \
  |  |  345|     90|      /* Trivial case */                                                                                     \
  |  |  346|     90|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|     90|      (                                                                                                      \
  |  |  348|     90|        /* Bad precondition */                                                                               \
  |  |  349|     90|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 90]
  |  |  ------------------
  |  |  350|     90|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     90|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|     90|        /* Typical overflow */                                                                               \
  |  |  353|     90|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 90]
  |  |  ------------------
  |  |  354|     90|      )                                                                                                      \
  |  |  355|     90|    )
  ------------------
  142|      0|        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  143|     90|    flags = *p++;
  144|       |
  145|       |    /* Get or determine the type of the extent */
  146|     90|    if (version >= H5O_SDSPACE_VERSION_2) {
  ------------------
  |  |   82|     90|#define H5O_SDSPACE_VERSION_2 2
  ------------------
  |  Branch (146:9): [True: 0, False: 90]
  ------------------
  147|      0|        if (H5_IS_BUFFER_OVERFLOW(p, 1, p_end))
  ------------------
  |  |  344|      0|    (                                                                                                        \
  |  |  345|      0|      /* Trivial case */                                                                                     \
  |  |  346|      0|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|      0|      (                                                                                                      \
  |  |  348|      0|        /* Bad precondition */                                                                               \
  |  |  349|      0|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  350|      0|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|      0|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|      0|        /* Typical overflow */                                                                               \
  |  |  353|      0|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|      )                                                                                                      \
  |  |  355|      0|    )
  ------------------
  148|      0|            HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  149|      0|        sdim->type = (H5S_class_t)*p++;
  150|       |
  151|      0|        if (sdim->type != H5S_SIMPLE && sdim->rank > 0)
  ------------------
  |  Branch (151:13): [True: 0, False: 0]
  |  Branch (151:41): [True: 0, False: 0]
  ------------------
  152|      0|            HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, NULL, "invalid rank for scalar or NULL dataspace");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  153|      0|    }
  154|     90|    else {
  155|       |        /* Set the dataspace type to be simple or scalar as appropriate
  156|       |         * (version 1 does not allow H5S_NULL)
  157|       |         */
  158|     90|        if (sdim->rank > 0)
  ------------------
  |  Branch (158:13): [True: 41, False: 49]
  ------------------
  159|     41|            sdim->type = H5S_SIMPLE;
  160|     49|        else
  161|     49|            sdim->type = H5S_SCALAR;
  162|       |
  163|       |        /* Increment past reserved byte */
  164|     90|        if (H5_IS_BUFFER_OVERFLOW(p, 1, p_end))
  ------------------
  |  |  344|     90|    (                                                                                                        \
  |  |  345|     90|      /* Trivial case */                                                                                     \
  |  |  346|     90|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|     90|      (                                                                                                      \
  |  |  348|     90|        /* Bad precondition */                                                                               \
  |  |  349|     90|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 90]
  |  |  ------------------
  |  |  350|     90|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     90|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|     90|        /* Typical overflow */                                                                               \
  |  |  353|     90|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 90]
  |  |  ------------------
  |  |  354|     90|      )                                                                                                      \
  |  |  355|     90|    )
  ------------------
  165|      0|            HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  166|     90|        p++;
  167|     90|    }
  168|       |
  169|       |    /* Version 1 has 4 reserved bytes */
  170|     90|    if (version == H5O_SDSPACE_VERSION_1) {
  ------------------
  |  |   76|     90|#define H5O_SDSPACE_VERSION_1 1
  ------------------
  |  Branch (170:9): [True: 90, False: 0]
  ------------------
  171|     90|        if (H5_IS_BUFFER_OVERFLOW(p, 4, p_end))
  ------------------
  |  |  344|     90|    (                                                                                                        \
  |  |  345|     90|      /* Trivial case */                                                                                     \
  |  |  346|     90|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [Folded - Ignored]
  |  |  ------------------
  |  |  347|     90|      (                                                                                                      \
  |  |  348|     90|        /* Bad precondition */                                                                               \
  |  |  349|     90|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 90]
  |  |  ------------------
  |  |  350|     90|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     90|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [Folded - Ignored]
  |  |  |  Branch (351:45): [Folded - Ignored]
  |  |  ------------------
  |  |  352|     90|        /* Typical overflow */                                                                               \
  |  |  353|     90|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 90]
  |  |  ------------------
  |  |  354|     90|      )                                                                                                      \
  |  |  355|     90|    )
  ------------------
  172|      0|            HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  173|     90|        p += 4;
  174|     90|    }
  175|       |
  176|       |    /* Decode dimension sizes */
  177|     90|    if (sdim->rank > 0) {
  ------------------
  |  Branch (177:9): [True: 41, False: 49]
  ------------------
  178|       |        /* Check that we have space to decode sdim->rank values */
  179|     41|        if (H5_IS_BUFFER_OVERFLOW(p, (H5F_sizeof_size(f) * sdim->rank), p_end))
  ------------------
  |  |  344|     41|    (                                                                                                        \
  |  |  345|     41|      /* Trivial case */                                                                                     \
  |  |  346|     41|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 41, False: 0]
  |  |  ------------------
  |  |  347|     41|      (                                                                                                      \
  |  |  348|     41|        /* Bad precondition */                                                                               \
  |  |  349|     41|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 41]
  |  |  ------------------
  |  |  350|     41|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     41|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 41, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 41]
  |  |  ------------------
  |  |  352|     41|        /* Typical overflow */                                                                               \
  |  |  353|     41|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 41]
  |  |  ------------------
  |  |  354|     41|      )                                                                                                      \
  |  |  355|     41|    )
  ------------------
  180|      0|            HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  181|       |
  182|       |        /* Sizes */
  183|     41|        if (NULL == (sdim->size = (hsize_t *)H5FL_ARR_MALLOC(hsize_t, (size_t)sdim->rank)))
  ------------------
  |  |  228|     41|#define H5FL_ARR_MALLOC(t, elem) H5FL_arr_malloc(&(H5FL_ARR_NAME(t)), (elem))
  |  |  ------------------
  |  |  |  |  206|     41|#define H5FL_ARR_NAME(t) H5_##t##_arr_free_list
  |  |  ------------------
  ------------------
  |  Branch (183:13): [True: 0, False: 41]
  ------------------
  184|      0|            HGOTO_ERROR(H5E_RESOURCE, H5E_CANTALLOC, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  185|    117|        for (i = 0; i < sdim->rank; i++)
  ------------------
  |  Branch (185:21): [True: 76, False: 41]
  ------------------
  186|     76|            H5F_DECODE_LENGTH(f, p, sdim->size[i]);
  ------------------
  |  |  174|     76|#define H5F_DECODE_LENGTH(f, p, l) H5_DECODE_LENGTH_LEN(p, l, H5F_SIZEOF_SIZE(f))
  |  |  ------------------
  |  |  |  |  276|    117|    do {                                                                                                     \
  |  |  |  |  277|     76|        switch (s) {                                                                                         \
  |  |  |  |  278|      0|            case 4:                                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (278:13): [True: 0, False: 76]
  |  |  |  |  ------------------
  |  |  |  |  279|      0|                UINT32DECODE(p, l);                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  179|      0|    do {                                                                                                     \
  |  |  |  |  |  |  180|      0|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  |  |  |  |  181|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  182|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  |  |  |  |  183|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  184|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  |  |  |  |  185|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  186|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  |  |  |  |  187|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  188|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  280|      0|                break;                                                                                       \
  |  |  |  |  281|     76|            case 8:                                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (281:13): [True: 76, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  282|     76|                UINT64DECODE(p, l);                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  220|     76|    do {                                                                                                     \
  |  |  |  |  |  |  221|     76|        /* WE DON'T CHECK FOR OVERFLOW! */                                                                   \
  |  |  |  |  |  |  222|     76|        size_t _i;                                                                                           \
  |  |  |  |  |  |  223|     76|                                                                                                             \
  |  |  |  |  |  |  224|     76|        n = 0;                                                                                               \
  |  |  |  |  |  |  225|     76|        (p) += 8;                                                                                            \
  |  |  |  |  |  |  226|    684|        for (_i = 0; _i < sizeof(uint64_t); _i++)                                                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (226:22): [True: 608, False: 76]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  227|    608|            n = (uint64_t)(((uint64_t)n << 8) | *(--p));                                                     \
  |  |  |  |  |  |  228|     76|        (p) += 8;                                                                                            \
  |  |  |  |  |  |  229|     76|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (229:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  283|     76|                break;                                                                                       \
  |  |  |  |  284|      0|            case 2:                                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (284:13): [True: 0, False: 76]
  |  |  |  |  ------------------
  |  |  |  |  285|      0|                UINT16DECODE(p, l);                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  159|      0|    do {                                                                                                     \
  |  |  |  |  |  |  160|      0|        (i) = (uint16_t)(*(p)&0xff);                                                                         \
  |  |  |  |  |  |  161|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  162|      0|        (i) |= (uint16_t)((*(p)&0xff) << 8);                                                                 \
  |  |  |  |  |  |  163|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  164|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (164:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  286|      0|                break;                                                                                       \
  |  |  |  |  287|      0|            default:                                                                                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (287:13): [True: 0, False: 76]
  |  |  |  |  ------------------
  |  |  |  |  288|      0|                assert("bad sizeof size" && 0);                                                              \
  |  |  |  |  289|     76|        }                                                                                                    \
  |  |  |  |  290|     76|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (290:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  187|       |
  188|     41|        if (flags & H5S_VALID_MAX) {
  ------------------
  |  |   32|     41|#define H5S_VALID_MAX  0x01
  ------------------
  |  Branch (188:13): [True: 41, False: 0]
  ------------------
  189|       |            /* Check that we have space to decode sdim->rank values */
  190|     41|            if (H5_IS_BUFFER_OVERFLOW(p, (H5F_sizeof_size(f) * sdim->rank), p_end))
  ------------------
  |  |  344|     41|    (                                                                                                        \
  |  |  345|     41|      /* Trivial case */                                                                                     \
  |  |  346|     41|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 41, False: 0]
  |  |  ------------------
  |  |  347|     41|      (                                                                                                      \
  |  |  348|     41|        /* Bad precondition */                                                                               \
  |  |  349|     41|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 41]
  |  |  ------------------
  |  |  350|     41|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     41|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 41, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 41]
  |  |  ------------------
  |  |  352|     41|        /* Typical overflow */                                                                               \
  |  |  353|     41|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 41]
  |  |  ------------------
  |  |  354|     41|      )                                                                                                      \
  |  |  355|     41|    )
  ------------------
  191|      0|                HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  192|       |
  193|       |            /* Max sizes */
  194|     41|            if (NULL == (sdim->max = (hsize_t *)H5FL_ARR_MALLOC(hsize_t, (size_t)sdim->rank)))
  ------------------
  |  |  228|     41|#define H5FL_ARR_MALLOC(t, elem) H5FL_arr_malloc(&(H5FL_ARR_NAME(t)), (elem))
  |  |  ------------------
  |  |  |  |  206|     41|#define H5FL_ARR_NAME(t) H5_##t##_arr_free_list
  |  |  ------------------
  ------------------
  |  Branch (194:17): [True: 0, False: 41]
  ------------------
  195|      0|                HGOTO_ERROR(H5E_RESOURCE, H5E_CANTALLOC, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  196|    117|            for (i = 0; i < sdim->rank; i++) {
  ------------------
  |  Branch (196:25): [True: 76, False: 41]
  ------------------
  197|     76|                H5F_DECODE_LENGTH(f, p, sdim->max[i]);
  ------------------
  |  |  174|     76|#define H5F_DECODE_LENGTH(f, p, l) H5_DECODE_LENGTH_LEN(p, l, H5F_SIZEOF_SIZE(f))
  |  |  ------------------
  |  |  |  |  276|     76|    do {                                                                                                     \
  |  |  |  |  277|     76|        switch (s) {                                                                                         \
  |  |  |  |  278|      0|            case 4:                                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (278:13): [True: 0, False: 76]
  |  |  |  |  ------------------
  |  |  |  |  279|      0|                UINT32DECODE(p, l);                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  179|      0|    do {                                                                                                     \
  |  |  |  |  |  |  180|      0|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  |  |  |  |  181|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  182|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  |  |  |  |  183|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  184|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  |  |  |  |  185|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  186|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  |  |  |  |  187|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  188|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  280|      0|                break;                                                                                       \
  |  |  |  |  281|     76|            case 8:                                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (281:13): [True: 76, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  282|     76|                UINT64DECODE(p, l);                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  220|     76|    do {                                                                                                     \
  |  |  |  |  |  |  221|     76|        /* WE DON'T CHECK FOR OVERFLOW! */                                                                   \
  |  |  |  |  |  |  222|     76|        size_t _i;                                                                                           \
  |  |  |  |  |  |  223|     76|                                                                                                             \
  |  |  |  |  |  |  224|     76|        n = 0;                                                                                               \
  |  |  |  |  |  |  225|     76|        (p) += 8;                                                                                            \
  |  |  |  |  |  |  226|    684|        for (_i = 0; _i < sizeof(uint64_t); _i++)                                                            \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (226:22): [True: 608, False: 76]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  227|    608|            n = (uint64_t)(((uint64_t)n << 8) | *(--p));                                                     \
  |  |  |  |  |  |  228|     76|        (p) += 8;                                                                                            \
  |  |  |  |  |  |  229|     76|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (229:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  283|     76|                break;                                                                                       \
  |  |  |  |  284|      0|            case 2:                                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (284:13): [True: 0, False: 76]
  |  |  |  |  ------------------
  |  |  |  |  285|      0|                UINT16DECODE(p, l);                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  |  159|      0|    do {                                                                                                     \
  |  |  |  |  |  |  160|      0|        (i) = (uint16_t)(*(p)&0xff);                                                                         \
  |  |  |  |  |  |  161|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  162|      0|        (i) |= (uint16_t)((*(p)&0xff) << 8);                                                                 \
  |  |  |  |  |  |  163|      0|        (p)++;                                                                                               \
  |  |  |  |  |  |  164|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (164:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  286|      0|                break;                                                                                       \
  |  |  |  |  287|      0|            default:                                                                                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (287:13): [True: 0, False: 76]
  |  |  |  |  ------------------
  |  |  |  |  288|      0|                assert("bad sizeof size" && 0);                                                              \
  |  |  |  |  289|     76|        }                                                                                                    \
  |  |  |  |  290|     76|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (290:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  198|     76|                if (sdim->size[i] > sdim->max[i])
  ------------------
  |  Branch (198:21): [True: 0, False: 76]
  ------------------
  199|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_BADVALUE, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  200|     76|                                "dataspace dim %u size of %llu is greater than maxdim size of %llu", i,
  201|     76|                                (unsigned long long)sdim->size[i], (unsigned long long)sdim->max[i]);
  202|     76|            }
  203|     41|        }
  204|       |
  205|       |        /* NOTE: The version 1 permutation indexes were never implemented so
  206|       |         *       there is nothing to decode.
  207|       |         */
  208|     41|    }
  209|       |
  210|       |    /* Compute the number of elements in the extent */
  211|     90|    if (sdim->type == H5S_NULL)
  ------------------
  |  Branch (211:9): [True: 0, False: 90]
  ------------------
  212|      0|        sdim->nelem = 0;
  213|     90|    else {
  214|    166|        for (i = 0, sdim->nelem = 1; i < sdim->rank; i++)
  ------------------
  |  Branch (214:38): [True: 76, False: 90]
  ------------------
  215|     76|            sdim->nelem *= sdim->size[i];
  216|     90|    }
  217|       |
  218|       |    /* Set return value */
  219|     90|    ret_value = (void *)sdim;
  220|       |
  221|     90|done:
  222|     90|    if (!ret_value && sdim) {
  ------------------
  |  Branch (222:9): [True: 0, False: 90]
  |  Branch (222:23): [True: 0, False: 0]
  ------------------
  223|      0|        H5S__extent_release(sdim);
  224|      0|        H5FL_FREE(H5S_extent_t, sdim);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  225|      0|    }
  226|       |
  227|     90|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     90|    ;                                                                                                        \
  |  | 1573|     90|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     90|    return (ret_value);                                                                                      \
  |  | 1575|     90|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  228|     90|} /* end H5O__sdspace_decode() */
H5Osdspace.c:H5O__sdspace_copy:
  318|     52|{
  319|     52|    const H5S_extent_t *mesg      = (const H5S_extent_t *)_mesg;
  320|     52|    H5S_extent_t       *dest      = (H5S_extent_t *)_dest;
  321|     52|    void               *ret_value = NULL; /* Return value */
  322|       |
  323|     52|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     52|    {                                                                                                        \
  |  | 1461|     52|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     52|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     52|                                                                                                             \
  |  |  |  | 1267|     52|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     52|        {
  ------------------
  324|       |
  325|       |    /* check args */
  326|     52|    assert(mesg);
  327|     52|    if (!dest && NULL == (dest = H5FL_CALLOC(H5S_extent_t)))
  ------------------
  |  |   78|      0|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (327:9): [True: 0, False: 52]
  |  Branch (327:18): [True: 0, False: 0]
  ------------------
  328|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  329|       |
  330|       |    /* Copy extent information */
  331|     52|    if (H5S__extent_copy_real(dest, mesg, true) < 0)
  ------------------
  |  Branch (331:9): [True: 0, False: 52]
  ------------------
  332|      0|        HGOTO_ERROR(H5E_DATASPACE, H5E_CANTCOPY, NULL, "can't copy extent");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  333|       |
  334|       |    /* Set return value */
  335|     52|    ret_value = dest;
  336|       |
  337|     52|done:
  338|     52|    if (NULL == ret_value)
  ------------------
  |  Branch (338:9): [True: 0, False: 52]
  ------------------
  339|      0|        if (dest && NULL == _dest)
  ------------------
  |  Branch (339:13): [True: 0, False: 0]
  |  Branch (339:21): [True: 0, False: 0]
  ------------------
  340|      0|            dest = H5FL_FREE(H5S_extent_t, dest);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  341|       |
  342|     52|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     52|    ;                                                                                                        \
  |  | 1573|     52|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     52|    return (ret_value);                                                                                      \
  |  | 1575|     52|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  343|     52|} /* end H5O__sdspace_copy() */
H5Osdspace.c:H5O__sdspace_reset:
  398|     38|{
  399|     38|    H5S_extent_t *mesg = (H5S_extent_t *)_mesg;
  400|       |
  401|     38|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     38|    {                                                                                                        \
  |  | 1467|     38|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     38|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     38|        {
  ------------------
  402|       |
  403|     38|    H5S__extent_release(mesg);
  404|       |
  405|     38|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     38|    ;                                                                                                        \
  |  | 1573|     38|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     38|    return (ret_value);                                                                                      \
  |  | 1575|     38|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  406|     38|} /* end H5O__sdspace_reset() */
H5Osdspace.c:H5O__sdspace_free:
  419|     38|{
  420|     38|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     38|    {                                                                                                        \
  |  | 1467|     38|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     38|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     38|        {
  ------------------
  421|       |
  422|     38|    assert(mesg);
  423|       |
  424|     38|    mesg = H5FL_FREE(H5S_extent_t, mesg);
  ------------------
  |  |   81|     38|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|     38|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  425|       |
  426|     38|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     38|    ;                                                                                                        \
  |  | 1573|     38|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     38|    return (ret_value);                                                                                      \
  |  | 1575|     38|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  427|     38|} /* end H5O__sdspace_free() */

H5O_set_shared:
  435|     95|{
  436|     95|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|     95|    {                                                                                                        \
  |  | 1425|     95|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|     95|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|     95|        {
  ------------------
  437|       |
  438|       |    /* check args */
  439|     95|    assert(dst);
  440|     95|    assert(src);
  441|       |
  442|       |    /* copy */
  443|     95|    *dst = *src;
  444|       |
  445|     95|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     95|    ;                                                                                                        \
  |  | 1573|     95|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     95|    return (ret_value);                                                                                      \
  |  | 1575|     95|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  446|     95|} /* end H5O_set_shared() */

H5Oattr.c:H5O__attr_shared_decode:
   42|     76|{
   43|     76|    void *ret_value = NULL; /* Return value */
   44|       |
   45|     76|    FUNC_ENTER_NOAPI_NOINIT
  ------------------
  |  | 1410|     76|    {                                                                                                        \
  |  | 1411|     76|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     76|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     76|                                                                                                             \
  |  |  |  | 1267|     76|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1412|     76|        {
  ------------------
   46|       |
   47|       |#ifndef H5O_SHARED_TYPE
   48|       |#error "Need to define H5O_SHARED_TYPE macro!"
   49|       |#endif /* H5O_SHARED_TYPE */
   50|       |#ifndef H5O_SHARED_DECODE
   51|       |#error "Need to define H5O_SHARED_DECODE macro!"
   52|       |#endif /* H5O_SHARED_DECODE */
   53|       |#ifndef H5O_SHARED_DECODE_REAL
   54|       |#error "Need to define H5O_SHARED_DECODE_REAL macro!"
   55|       |#endif /* H5O_SHARED_DECODE_REAL */
   56|       |
   57|       |    /* Check for shared message */
   58|     76|    if (mesg_flags & H5O_MSG_FLAG_SHARED) {
  ------------------
  |  |   73|     76|#define H5O_MSG_FLAG_SHARED                             0x02u
  ------------------
  |  Branch (58:9): [True: 0, False: 76]
  ------------------
   59|       |        /* Retrieve native message info indirectly through shared message */
   60|      0|        if (NULL == (ret_value = H5O__shared_decode(f, open_oh, ioflags, p_size, p, H5O_SHARED_TYPE)))
  ------------------
  |  |   43|      0|#define H5O_SHARED_TYPE                H5O_MSG_ATTR
  ------------------
  |  Branch (60:13): [True: 0, False: 0]
  ------------------
   61|      0|            HGOTO_ERROR(H5E_OHDR, H5E_CANTDECODE, NULL, "unable to decode shared message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   62|       |
   63|       |            /* We currently do not support automatically fixing shared messages */
   64|      0|#ifdef H5_STRICT_FORMAT_CHECKS
   65|      0|        if (*ioflags & H5O_DECODEIO_DIRTY)
  ------------------
  |  |  152|      0|#define H5O_DECODEIO_DIRTY    0x02u /* OUT: message has been changed */
  ------------------
  |  Branch (65:13): [True: 0, False: 0]
  ------------------
   66|      0|            HGOTO_ERROR(H5E_OHDR, H5E_UNSUPPORTED, NULL, "unable to mark shared message dirty");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   67|       |#else  /* H5_STRICT_FORMAT_CHECKS */
   68|       |        *ioflags &= ~H5O_DECODEIO_DIRTY;
   69|       |#endif /* H5_STRICT_FORMAT_CHECKS */
   70|      0|    }  /* end if */
   71|     76|    else {
   72|       |        /* Decode native message directly */
   73|     76|        if (NULL == (ret_value = H5O_SHARED_DECODE_REAL(f, open_oh, mesg_flags, ioflags, p_size, p)))
  ------------------
  |  |   45|     76|#define H5O_SHARED_DECODE_REAL         H5O__attr_decode
  ------------------
  |  Branch (73:13): [True: 24, False: 52]
  ------------------
   74|     24|            HGOTO_ERROR(H5E_OHDR, H5E_CANTDECODE, NULL, "unable to decode native message");
  ------------------
  |  |   68|     24|    do {                                                                                                     \
  |  |   69|     24|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     24|    do {                                                                                                     \
  |  |  |  |   40|     24|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     24|    do {                                                                                                     \
  |  |  |  |  |  |   31|     24|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     24|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     24|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     24|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     24|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     24|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     24|    do {                                                                                                     \
  |  |  |  |   92|     24|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     24|        goto done;                                                                                           \
  |  |  |  |   94|     24|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     24|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   75|     76|    } /* end else */
   76|       |
   77|     76|done:
   78|     76|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     76|    ;                                                                                                        \
  |  | 1573|     76|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     76|    return (ret_value);                                                                                      \
  |  | 1575|     76|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
   79|     76|} /* end H5O_SHARED_DECODE() */
H5Odtype.c:H5O__dtype_shared_decode:
   42|    117|{
   43|    117|    void *ret_value = NULL; /* Return value */
   44|       |
   45|    117|    FUNC_ENTER_NOAPI_NOINIT
  ------------------
  |  | 1410|    117|    {                                                                                                        \
  |  | 1411|    117|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    117|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    117|                                                                                                             \
  |  |  |  | 1267|    117|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1412|    117|        {
  ------------------
   46|       |
   47|       |#ifndef H5O_SHARED_TYPE
   48|       |#error "Need to define H5O_SHARED_TYPE macro!"
   49|       |#endif /* H5O_SHARED_TYPE */
   50|       |#ifndef H5O_SHARED_DECODE
   51|       |#error "Need to define H5O_SHARED_DECODE macro!"
   52|       |#endif /* H5O_SHARED_DECODE */
   53|       |#ifndef H5O_SHARED_DECODE_REAL
   54|       |#error "Need to define H5O_SHARED_DECODE_REAL macro!"
   55|       |#endif /* H5O_SHARED_DECODE_REAL */
   56|       |
   57|       |    /* Check for shared message */
   58|    117|    if (mesg_flags & H5O_MSG_FLAG_SHARED) {
  ------------------
  |  |   73|    117|#define H5O_MSG_FLAG_SHARED                             0x02u
  ------------------
  |  Branch (58:9): [True: 0, False: 117]
  ------------------
   59|       |        /* Retrieve native message info indirectly through shared message */
   60|      0|        if (NULL == (ret_value = H5O__shared_decode(f, open_oh, ioflags, p_size, p, H5O_SHARED_TYPE)))
  ------------------
  |  |   45|      0|#define H5O_SHARED_TYPE        H5O_MSG_DTYPE
  ------------------
  |  Branch (60:13): [True: 0, False: 0]
  ------------------
   61|      0|            HGOTO_ERROR(H5E_OHDR, H5E_CANTDECODE, NULL, "unable to decode shared message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   62|       |
   63|       |            /* We currently do not support automatically fixing shared messages */
   64|      0|#ifdef H5_STRICT_FORMAT_CHECKS
   65|      0|        if (*ioflags & H5O_DECODEIO_DIRTY)
  ------------------
  |  |  152|      0|#define H5O_DECODEIO_DIRTY    0x02u /* OUT: message has been changed */
  ------------------
  |  Branch (65:13): [True: 0, False: 0]
  ------------------
   66|      0|            HGOTO_ERROR(H5E_OHDR, H5E_UNSUPPORTED, NULL, "unable to mark shared message dirty");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   67|       |#else  /* H5_STRICT_FORMAT_CHECKS */
   68|       |        *ioflags &= ~H5O_DECODEIO_DIRTY;
   69|       |#endif /* H5_STRICT_FORMAT_CHECKS */
   70|      0|    }  /* end if */
   71|    117|    else {
   72|       |        /* Decode native message directly */
   73|    117|        if (NULL == (ret_value = H5O_SHARED_DECODE_REAL(f, open_oh, mesg_flags, ioflags, p_size, p)))
  ------------------
  |  |   47|    117|#define H5O_SHARED_DECODE_REAL H5O__dtype_decode
  ------------------
  |  Branch (73:13): [True: 27, False: 90]
  ------------------
   74|     27|            HGOTO_ERROR(H5E_OHDR, H5E_CANTDECODE, NULL, "unable to decode native message");
  ------------------
  |  |   68|     27|    do {                                                                                                     \
  |  |   69|     27|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     27|    do {                                                                                                     \
  |  |  |  |   40|     27|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     27|    do {                                                                                                     \
  |  |  |  |  |  |   31|     27|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     27|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     27|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     27|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     27|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     27|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     27|    do {                                                                                                     \
  |  |  |  |   92|     27|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     27|        goto done;                                                                                           \
  |  |  |  |   94|     27|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     27|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   75|    117|    } /* end else */
   76|       |
   77|    117|done:
   78|    117|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    117|    ;                                                                                                        \
  |  | 1573|    117|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    117|    return (ret_value);                                                                                      \
  |  | 1575|    117|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
   79|    117|} /* end H5O_SHARED_DECODE() */
H5Ofill.c:H5O__fill_new_shared_decode:
   42|     38|{
   43|     38|    void *ret_value = NULL; /* Return value */
   44|       |
   45|     38|    FUNC_ENTER_NOAPI_NOINIT
  ------------------
  |  | 1410|     38|    {                                                                                                        \
  |  | 1411|     38|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     38|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     38|                                                                                                             \
  |  |  |  | 1267|     38|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1412|     38|        {
  ------------------
   46|       |
   47|       |#ifndef H5O_SHARED_TYPE
   48|       |#error "Need to define H5O_SHARED_TYPE macro!"
   49|       |#endif /* H5O_SHARED_TYPE */
   50|       |#ifndef H5O_SHARED_DECODE
   51|       |#error "Need to define H5O_SHARED_DECODE macro!"
   52|       |#endif /* H5O_SHARED_DECODE */
   53|       |#ifndef H5O_SHARED_DECODE_REAL
   54|       |#error "Need to define H5O_SHARED_DECODE_REAL macro!"
   55|       |#endif /* H5O_SHARED_DECODE_REAL */
   56|       |
   57|       |    /* Check for shared message */
   58|     38|    if (mesg_flags & H5O_MSG_FLAG_SHARED) {
  ------------------
  |  |   73|     38|#define H5O_MSG_FLAG_SHARED                             0x02u
  ------------------
  |  Branch (58:9): [True: 0, False: 38]
  ------------------
   59|       |        /* Retrieve native message info indirectly through shared message */
   60|      0|        if (NULL == (ret_value = H5O__shared_decode(f, open_oh, ioflags, p_size, p, H5O_SHARED_TYPE)))
  ------------------
  |  |   68|      0|#define H5O_SHARED_TYPE H5O_MSG_FILL_NEW
  ------------------
  |  Branch (60:13): [True: 0, False: 0]
  ------------------
   61|      0|            HGOTO_ERROR(H5E_OHDR, H5E_CANTDECODE, NULL, "unable to decode shared message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   62|       |
   63|       |            /* We currently do not support automatically fixing shared messages */
   64|      0|#ifdef H5_STRICT_FORMAT_CHECKS
   65|      0|        if (*ioflags & H5O_DECODEIO_DIRTY)
  ------------------
  |  |  152|      0|#define H5O_DECODEIO_DIRTY    0x02u /* OUT: message has been changed */
  ------------------
  |  Branch (65:13): [True: 0, False: 0]
  ------------------
   66|      0|            HGOTO_ERROR(H5E_OHDR, H5E_UNSUPPORTED, NULL, "unable to mark shared message dirty");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   67|       |#else  /* H5_STRICT_FORMAT_CHECKS */
   68|       |        *ioflags &= ~H5O_DECODEIO_DIRTY;
   69|       |#endif /* H5_STRICT_FORMAT_CHECKS */
   70|      0|    }  /* end if */
   71|     38|    else {
   72|       |        /* Decode native message directly */
   73|     38|        if (NULL == (ret_value = H5O_SHARED_DECODE_REAL(f, open_oh, mesg_flags, ioflags, p_size, p)))
  ------------------
  |  |   72|     38|#define H5O_SHARED_DECODE_REAL H5O__fill_new_decode
  ------------------
  |  Branch (73:13): [True: 0, False: 38]
  ------------------
   74|      0|            HGOTO_ERROR(H5E_OHDR, H5E_CANTDECODE, NULL, "unable to decode native message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   75|     38|    } /* end else */
   76|       |
   77|     38|done:
   78|     38|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     38|    ;                                                                                                        \
  |  | 1573|     38|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     38|    return (ret_value);                                                                                      \
  |  | 1575|     38|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
   79|     38|} /* end H5O_SHARED_DECODE() */
H5Osdspace.c:H5O__sdspace_shared_decode:
   42|     90|{
   43|     90|    void *ret_value = NULL; /* Return value */
   44|       |
   45|     90|    FUNC_ENTER_NOAPI_NOINIT
  ------------------
  |  | 1410|     90|    {                                                                                                        \
  |  | 1411|     90|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     90|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     90|                                                                                                             \
  |  |  |  | 1267|     90|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1412|     90|        {
  ------------------
   46|       |
   47|       |#ifndef H5O_SHARED_TYPE
   48|       |#error "Need to define H5O_SHARED_TYPE macro!"
   49|       |#endif /* H5O_SHARED_TYPE */
   50|       |#ifndef H5O_SHARED_DECODE
   51|       |#error "Need to define H5O_SHARED_DECODE macro!"
   52|       |#endif /* H5O_SHARED_DECODE */
   53|       |#ifndef H5O_SHARED_DECODE_REAL
   54|       |#error "Need to define H5O_SHARED_DECODE_REAL macro!"
   55|       |#endif /* H5O_SHARED_DECODE_REAL */
   56|       |
   57|       |    /* Check for shared message */
   58|     90|    if (mesg_flags & H5O_MSG_FLAG_SHARED) {
  ------------------
  |  |   73|     90|#define H5O_MSG_FLAG_SHARED                             0x02u
  ------------------
  |  Branch (58:9): [True: 0, False: 90]
  ------------------
   59|       |        /* Retrieve native message info indirectly through shared message */
   60|      0|        if (NULL == (ret_value = H5O__shared_decode(f, open_oh, ioflags, p_size, p, H5O_SHARED_TYPE)))
  ------------------
  |  |   36|      0|#define H5O_SHARED_TYPE        H5O_MSG_SDSPACE
  ------------------
  |  Branch (60:13): [True: 0, False: 0]
  ------------------
   61|      0|            HGOTO_ERROR(H5E_OHDR, H5E_CANTDECODE, NULL, "unable to decode shared message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   62|       |
   63|       |            /* We currently do not support automatically fixing shared messages */
   64|      0|#ifdef H5_STRICT_FORMAT_CHECKS
   65|      0|        if (*ioflags & H5O_DECODEIO_DIRTY)
  ------------------
  |  |  152|      0|#define H5O_DECODEIO_DIRTY    0x02u /* OUT: message has been changed */
  ------------------
  |  Branch (65:13): [True: 0, False: 0]
  ------------------
   66|      0|            HGOTO_ERROR(H5E_OHDR, H5E_UNSUPPORTED, NULL, "unable to mark shared message dirty");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   67|       |#else  /* H5_STRICT_FORMAT_CHECKS */
   68|       |        *ioflags &= ~H5O_DECODEIO_DIRTY;
   69|       |#endif /* H5_STRICT_FORMAT_CHECKS */
   70|      0|    }  /* end if */
   71|     90|    else {
   72|       |        /* Decode native message directly */
   73|     90|        if (NULL == (ret_value = H5O_SHARED_DECODE_REAL(f, open_oh, mesg_flags, ioflags, p_size, p)))
  ------------------
  |  |   38|     90|#define H5O_SHARED_DECODE_REAL H5O__sdspace_decode
  ------------------
  |  Branch (73:13): [True: 0, False: 90]
  ------------------
   74|      0|            HGOTO_ERROR(H5E_OHDR, H5E_CANTDECODE, NULL, "unable to decode native message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   75|     90|    } /* end else */
   76|       |
   77|     90|done:
   78|     90|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     90|    ;                                                                                                        \
  |  | 1573|     90|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     90|    return (ret_value);                                                                                      \
  |  | 1575|     90|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
   79|     90|} /* end H5O_SHARED_DECODE() */

H5Ostab.c:H5O__stab_decode:
   87|     10|{
   88|     10|    H5O_stab_t    *stab      = NULL;
   89|     10|    const uint8_t *p_end     = p + p_size - 1; /* End of the p buffer */
   90|     10|    void          *ret_value = NULL;
   91|       |
   92|     10|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     10|    {                                                                                                        \
  |  | 1461|     10|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     10|        {
  ------------------
   93|       |
   94|     10|    assert(f);
   95|     10|    assert(p);
   96|       |
   97|     10|    if (NULL == (stab = H5FL_CALLOC(H5O_stab_t)))
  ------------------
  |  |   78|     10|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|     10|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (97:9): [True: 0, False: 10]
  ------------------
   98|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   99|       |
  100|     10|    if (H5_IS_BUFFER_OVERFLOW(p, H5F_sizeof_addr(f), p_end))
  ------------------
  |  |  344|     10|    (                                                                                                        \
  |  |  345|     10|      /* Trivial case */                                                                                     \
  |  |  346|     10|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 10, False: 0]
  |  |  ------------------
  |  |  347|     10|      (                                                                                                      \
  |  |  348|     10|        /* Bad precondition */                                                                               \
  |  |  349|     10|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 10]
  |  |  ------------------
  |  |  350|     10|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     10|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 10, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 10]
  |  |  ------------------
  |  |  352|     10|        /* Typical overflow */                                                                               \
  |  |  353|     10|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 10]
  |  |  ------------------
  |  |  354|     10|      )                                                                                                      \
  |  |  355|     10|    )
  ------------------
  101|      0|        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  102|     10|    H5F_addr_decode(f, &p, &(stab->btree_addr));
  103|       |
  104|     10|    if (H5_IS_BUFFER_OVERFLOW(p, H5F_sizeof_addr(f), p_end))
  ------------------
  |  |  344|     10|    (                                                                                                        \
  |  |  345|     10|      /* Trivial case */                                                                                     \
  |  |  346|     10|      ((size) != 0) &&                                                                                       \
  |  |  ------------------
  |  |  |  Branch (346:7): [True: 10, False: 0]
  |  |  ------------------
  |  |  347|     10|      (                                                                                                      \
  |  |  348|     10|        /* Bad precondition */                                                                               \
  |  |  349|     10|        ((ptr) > (buffer_end)) ||                                                                            \
  |  |  ------------------
  |  |  |  Branch (349:9): [True: 0, False: 10]
  |  |  ------------------
  |  |  350|     10|        /* Account for (likely unintentional) negative 'size' */                                             \
  |  |  351|     10|        (((size_t)(size) <= PTRDIFF_MAX) && ((ptrdiff_t)(size) < 0)) ||                                      \
  |  |  ------------------
  |  |  |  Branch (351:10): [True: 10, False: 0]
  |  |  |  Branch (351:45): [True: 0, False: 10]
  |  |  ------------------
  |  |  352|     10|        /* Typical overflow */                                                                               \
  |  |  353|     10|        ((size_t)(size) > (size_t)((((const uint8_t *)buffer_end) - ((const uint8_t *)ptr)) + 1))            \
  |  |  ------------------
  |  |  |  Branch (353:9): [True: 0, False: 10]
  |  |  ------------------
  |  |  354|     10|      )                                                                                                      \
  |  |  355|     10|    )
  ------------------
  105|      0|        HGOTO_ERROR(H5E_OHDR, H5E_OVERFLOW, NULL, "ran off end of input buffer while decoding");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  106|     10|    H5F_addr_decode(f, &p, &(stab->heap_addr));
  107|       |
  108|     10|    ret_value = stab;
  109|       |
  110|     10|done:
  111|     10|    if (!ret_value && stab)
  ------------------
  |  Branch (111:9): [True: 0, False: 10]
  |  Branch (111:23): [True: 0, False: 0]
  ------------------
  112|      0|        H5FL_FREE(H5O_stab_t, stab);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  113|       |
  114|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  115|     10|} /* end H5O__stab_decode() */
H5Ostab.c:H5O__stab_copy:
  160|    363|{
  161|    363|    const H5O_stab_t *stab      = (const H5O_stab_t *)_mesg;
  162|    363|    H5O_stab_t       *dest      = (H5O_stab_t *)_dest;
  163|    363|    void             *ret_value = NULL; /* Return value */
  164|       |
  165|    363|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    363|    {                                                                                                        \
  |  | 1461|    363|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    363|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    363|                                                                                                             \
  |  |  |  | 1267|    363|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    363|        {
  ------------------
  166|       |
  167|       |    /* check args */
  168|    363|    assert(stab);
  169|    363|    if (!dest && NULL == (dest = H5FL_MALLOC(H5O_stab_t)))
  ------------------
  |  |   75|      0|#define H5FL_MALLOC(t) (t *)H5FL_reg_malloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (169:9): [True: 0, False: 363]
  |  Branch (169:18): [True: 0, False: 0]
  ------------------
  170|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  171|       |
  172|       |    /* copy */
  173|    363|    *dest = *stab;
  174|       |
  175|       |    /* Set return value */
  176|    363|    ret_value = dest;
  177|       |
  178|    363|done:
  179|    363|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    363|    ;                                                                                                        \
  |  | 1573|    363|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    363|    return (ret_value);                                                                                      \
  |  | 1575|    363|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  180|    363|} /* end H5O__stab_copy() */
H5Ostab.c:H5O__stab_free:
  219|     10|{
  220|     10|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     10|    {                                                                                                        \
  |  | 1467|     10|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     10|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     10|        {
  ------------------
  221|       |
  222|     10|    assert(mesg);
  223|       |
  224|     10|    mesg = H5FL_FREE(H5O_stab_t, mesg);
  ------------------
  |  |   81|     10|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|     10|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  225|       |
  226|     10|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  227|     10|} /* end H5O__stab_free() */

H5Ounknown.c:H5O__unknown_free:
   70|      1|{
   71|      1|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|      1|    {                                                                                                        \
  |  | 1467|      1|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|      1|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|      1|        {
  ------------------
   72|       |
   73|      1|    assert(mesg);
   74|       |
   75|      1|    mesg = H5FL_FREE(H5O_unknown_t, mesg);
  ------------------
  |  |   81|      1|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      1|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
   76|       |
   77|      1|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
   78|      1|} /* end H5O__unknown_free() */

H5Pclose:
 1453|     37|{
 1454|     37|    herr_t ret_value = SUCCEED; /* return value */
  ------------------
  |  |  283|     37|#define SUCCEED 0
  ------------------
 1455|       |
 1456|     74|    FUNC_ENTER_API(FAIL)
  ------------------
  |  | 1300|     37|    {                                                                                                        \
  |  | 1301|     37|        {                                                                                                    \
  |  | 1302|     37|            bool api_ctx_pushed = false;                                                                     \
  |  | 1303|     37|                                                                                                             \
  |  | 1304|     37|            FUNC_ENTER_API_COMMON                                                                            \
  |  |  ------------------
  |  |  |  | 1281|     37|    FUNC_ENTER_COMMON(H5_IS_API(__func__));                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1265|     37|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  | 1266|     37|                                                                                                             \
  |  |  |  |  |  | 1267|     37|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  ------------------
  |  |  |  | 1282|     37|    FUNC_ENTER_API_THREADSAFE;
  |  |  ------------------
  |  | 1305|     37|            FUNC_ENTER_API_INIT(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1286|     37|    if (H5_UNLIKELY(!H5_INIT_GLOBAL && !H5_TERM_GLOBAL)) {                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     37|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 37]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 37]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1287|      0|        if (H5_UNLIKELY(H5_init_library() < 0))                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      0|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1288|      0|            HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, err, "library initialization failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1289|      0|    }
  |  |  ------------------
  |  | 1306|     37|            FUNC_ENTER_API_PUSH(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1293|     37|    if (H5_UNLIKELY(H5CX_push() < 0))                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     37|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 37]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1294|     37|        HGOTO_ERROR(H5E_FUNC, H5E_CANTSET, err, "can't set API context");                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1295|     37|    else                                                                                                     \
  |  |  |  | 1296|     37|        api_ctx_pushed = true;
  |  |  ------------------
  |  | 1307|     37|            /* Clear thread error stack entering public functions */                                         \
  |  | 1308|     37|            H5E_clear_stack();                                                                               \
  |  | 1309|     37|            {
  ------------------
 1457|       |
 1458|       |    /* Allow default property lists to pass through without throwing an error */
 1459|     74|    if (H5P_DEFAULT != plist_id) {
  ------------------
  |  |  228|     37|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
  |  Branch (1459:9): [True: 37, False: 0]
  ------------------
 1460|       |        /* Check arguments. */
 1461|     37|        if (H5I_GENPROP_LST != H5I_get_type(plist_id))
  ------------------
  |  Branch (1461:13): [True: 0, False: 37]
  ------------------
 1462|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1463|       |
 1464|       |        /* Close the property list */
 1465|     37|        if (H5I_dec_app_ref(plist_id) < 0)
  ------------------
  |  Branch (1465:13): [True: 0, False: 37]
  ------------------
 1466|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTFREE, FAIL, "can't close");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1467|     37|    } /* end if */
 1468|       |
 1469|     37|done:
 1470|     37|    FUNC_LEAVE_API(ret_value)
  ------------------
  |  | 1509|     37|    ;                                                                                                        \
  |  | 1510|     37|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1511|     37|    if (H5_LIKELY(api_ctx_pushed)) {                                                                         \
  |  |  ------------------
  |  |  |  |  167|     37|#define H5_LIKELY(expression)   __builtin_expect(!!(expression), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (167:33): [True: 37, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1512|     37|        (void)H5CX_pop(true);                                                                                \
  |  | 1513|     37|        api_ctx_pushed = false;                                                                              \
  |  | 1514|     37|    }                                                                                                        \
  |  | 1515|     37|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|     37|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 0, False: 37]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1516|     37|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1517|     37|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1518|     37|    return (ret_value);                                                                                      \
  |  | 1519|     37|    }                                                                                                        \
  |  | 1520|     37|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1471|     74|} /* H5Pclose() */

H5PB_dest:
  447|     10|{
  448|     10|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     10|#define SUCCEED 0
  ------------------
  449|       |
  450|     10|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     10|    {                                                                                                        \
  |  | 1392|     10|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     10|        {
  ------------------
  451|       |
  452|       |    /* Sanity checks */
  453|     10|    assert(f_sh);
  454|       |
  455|       |    /* flush and destroy the page buffer, if it exists */
  456|     10|    if (f_sh->page_buf) {
  ------------------
  |  Branch (456:9): [True: 0, False: 10]
  ------------------
  457|      0|        H5PB_t    *page_buf = f_sh->page_buf;
  458|      0|        H5PB_ud1_t op_data; /* Iteration context */
  459|       |
  460|      0|        if (H5PB_flush(f_sh) < 0)
  ------------------
  |  Branch (460:13): [True: 0, False: 0]
  ------------------
  461|      0|            HGOTO_ERROR(H5E_PAGEBUF, H5E_CANTFLUSH, FAIL, "can't flush page buffer");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  462|       |
  463|       |        /* Set up context info */
  464|      0|        op_data.page_buf = page_buf;
  465|       |
  466|       |        /* Destroy the skip list containing all the entries in the PB */
  467|      0|        op_data.actual_slist = true;
  468|      0|        if (H5SL_destroy(page_buf->slist_ptr, H5PB__dest_cb, &op_data))
  ------------------
  |  Branch (468:13): [True: 0, False: 0]
  ------------------
  469|      0|            HGOTO_ERROR(H5E_PAGEBUF, H5E_CANTCLOSEOBJ, FAIL, "can't destroy page buffer skip list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  470|       |
  471|       |        /* Destroy the skip list containing the new entries */
  472|      0|        op_data.actual_slist = false;
  473|      0|        if (H5SL_destroy(page_buf->mf_slist_ptr, H5PB__dest_cb, &op_data))
  ------------------
  |  Branch (473:13): [True: 0, False: 0]
  ------------------
  474|      0|            HGOTO_ERROR(H5E_PAGEBUF, H5E_CANTCLOSEOBJ, FAIL, "can't destroy page buffer skip list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  475|       |
  476|       |        /* Destroy the page factory */
  477|      0|        if (H5FL_fac_term(page_buf->page_fac) < 0)
  ------------------
  |  Branch (477:13): [True: 0, False: 0]
  ------------------
  478|      0|            HGOTO_ERROR(H5E_PAGEBUF, H5E_CANTRELEASE, FAIL, "can't destroy page buffer page factory");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  479|       |
  480|      0|        f_sh->page_buf = H5FL_FREE(H5PB_t, page_buf);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  481|      0|    } /* end if */
  482|       |
  483|     10|done:
  484|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  485|     10|} /* H5PB_dest */
H5PB_read:
  650|    170|{
  651|    170|    H5PB_t       *page_buf;                        /* Page buffering info for this file */
  652|    170|    H5PB_entry_t *page_entry;                      /* Pointer to the corresponding page entry */
  653|    170|    H5FD_t       *file;                            /* File driver pointer */
  654|    170|    haddr_t       first_page_addr, last_page_addr; /* Addresses of the first and last pages covered by I/O */
  655|    170|    haddr_t       offset;
  656|    170|    haddr_t       search_addr;       /* Address of current page */
  657|    170|    hsize_t       num_touched_pages; /* Number of pages accessed */
  658|    170|    size_t        access_size = 0;
  659|    170|    bool          bypass_pb   = false; /* Whether to bypass page buffering */
  660|    170|    hsize_t       i;                   /* Local index variable */
  661|    170|    herr_t        ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    170|#define SUCCEED 0
  ------------------
  662|       |
  663|    170|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    170|    {                                                                                                        \
  |  | 1392|    170|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    170|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    170|                                                                                                             \
  |  |  |  | 1267|    170|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    170|        {
  ------------------
  664|       |
  665|       |    /* Sanity checks */
  666|    170|    assert(f_sh);
  667|    170|    assert(type != H5FD_MEM_GHEAP);
  668|       |
  669|       |    /* Get pointer to page buffer info for this file */
  670|    170|    page_buf = f_sh->page_buf;
  671|       |
  672|       |#ifdef H5_HAVE_PARALLEL
  673|       |    if (H5F_SHARED_HAS_FEATURE(f_sh, H5FD_FEAT_HAS_MPI)) {
  674|       |#if 1
  675|       |        bypass_pb = true;
  676|       |#else
  677|       |        /* MSC - why this stopped working ? */
  678|       |        int mpi_size;
  679|       |
  680|       |        if ((mpi_size = H5F_shared_mpi_get_size(f_sh)) < 0)
  681|       |            HGOTO_ERROR(H5E_PAGEBUF, H5E_CANTGET, FAIL, "can't retrieve MPI communicator size");
  682|       |        if (1 != mpi_size)
  683|       |            bypass_pb = true;
  684|       |#endif
  685|       |    } /* end if */
  686|       |#endif
  687|       |
  688|       |    /* If page buffering is disabled, or the I/O size is larger than that of a
  689|       |     * single page, or if this is a parallel raw data access, bypass page
  690|       |     * buffering.
  691|       |     */
  692|    170|    if (NULL == page_buf || size >= page_buf->page_size || (bypass_pb && H5FD_MEM_DRAW == type)) {
  ------------------
  |  Branch (692:9): [True: 170, False: 0]
  |  Branch (692:29): [True: 0, False: 0]
  |  Branch (692:61): [True: 0, False: 0]
  |  Branch (692:74): [True: 0, False: 0]
  ------------------
  693|    170|        if (H5F__accum_read(f_sh, type, addr, size, buf) < 0)
  ------------------
  |  Branch (693:13): [True: 0, False: 170]
  ------------------
  694|      0|            HGOTO_ERROR(H5E_PAGEBUF, H5E_READERROR, FAIL, "read through metadata accumulator failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  695|       |
  696|       |        /* Update statistics */
  697|    170|        if (page_buf) {
  ------------------
  |  Branch (697:13): [True: 0, False: 170]
  ------------------
  698|      0|            if (type == H5FD_MEM_DRAW)
  ------------------
  |  Branch (698:17): [True: 0, False: 0]
  ------------------
  699|      0|                page_buf->bypasses[1]++;
  700|      0|            else
  701|      0|                page_buf->bypasses[0]++;
  702|      0|        } /* end if */
  703|       |
  704|       |        /* If page buffering is disabled, or if this is a large metadata access,
  705|       |         * or if this is parallel raw data access, we are done here
  706|       |         */
  707|    170|        if (NULL == page_buf || (size >= page_buf->page_size && H5FD_MEM_DRAW != type) ||
  ------------------
  |  Branch (707:13): [True: 170, False: 0]
  |  Branch (707:34): [True: 0, False: 0]
  |  Branch (707:65): [True: 0, False: 0]
  ------------------
  708|    170|            (bypass_pb && H5FD_MEM_DRAW == type))
  ------------------
  |  Branch (708:14): [True: 0, False: 0]
  |  Branch (708:27): [True: 0, False: 0]
  ------------------
  709|    170|            HGOTO_DONE(SUCCEED);
  ------------------
  |  |   91|    170|    do {                                                                                                     \
  |  |   92|    170|        ret_value = ret_val;                                                                                 \
  |  |   93|    170|        goto done;                                                                                           \
  |  |   94|    170|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  710|    170|    } /* end if */
  711|       |
  712|       |    /* Update statistics */
  713|      0|    if (page_buf) {
  ------------------
  |  Branch (713:9): [True: 0, False: 0]
  ------------------
  714|      0|        if (type == H5FD_MEM_DRAW)
  ------------------
  |  Branch (714:13): [True: 0, False: 0]
  ------------------
  715|      0|            page_buf->accesses[1]++;
  716|      0|        else
  717|      0|            page_buf->accesses[0]++;
  718|      0|    } /* end if */
  719|       |
  720|       |    /* Calculate the aligned address of the first page */
  721|      0|    first_page_addr = (addr / page_buf->page_size) * page_buf->page_size;
  722|       |
  723|       |    /* For Raw data calculate the aligned address of the last page and
  724|       |     * the number of pages accessed if more than 1 page is accessed
  725|       |     */
  726|      0|    if (H5FD_MEM_DRAW == type) {
  ------------------
  |  Branch (726:9): [True: 0, False: 0]
  ------------------
  727|      0|        last_page_addr = ((addr + size - 1) / page_buf->page_size) * page_buf->page_size;
  728|       |
  729|       |        /* How many pages does this read span */
  730|      0|        num_touched_pages =
  731|      0|            (last_page_addr / page_buf->page_size + 1) - (first_page_addr / page_buf->page_size);
  732|      0|        if (first_page_addr == last_page_addr) {
  ------------------
  |  Branch (732:13): [True: 0, False: 0]
  ------------------
  733|      0|            assert(1 == num_touched_pages);
  734|      0|            last_page_addr = HADDR_UNDEF;
  ------------------
  |  |  336|      0|#define HADDR_UNDEF         UINT64_MAX
  ------------------
  735|      0|        } /* end if */
  736|      0|    }     /* end if */
  737|       |    /* Otherwise set last page addr to HADDR_UNDEF */
  738|      0|    else {
  739|      0|        num_touched_pages = 1;
  740|      0|        last_page_addr    = HADDR_UNDEF;
  ------------------
  |  |  336|      0|#define HADDR_UNDEF         UINT64_MAX
  ------------------
  741|      0|    } /* end else */
  742|       |
  743|       |    /* Translate to file driver I/O info object */
  744|      0|    file = f_sh->lf;
  745|       |
  746|       |    /* Copy raw data from dirty pages into the read buffer if the read
  747|       |       request spans pages in the page buffer*/
  748|      0|    if (H5FD_MEM_DRAW == type && size >= page_buf->page_size) {
  ------------------
  |  Branch (748:9): [True: 0, False: 0]
  |  Branch (748:34): [True: 0, False: 0]
  ------------------
  749|      0|        H5SL_node_t *node;
  750|       |
  751|       |        /* For each touched page in the page buffer, check if it
  752|       |         * exists in the page Buffer and is dirty. If it does, we
  753|       |         * update the buffer with what's in the page so we get the up
  754|       |         * to date data into the buffer after the big read from the file.
  755|       |         */
  756|      0|        node = H5SL_find(page_buf->slist_ptr, (void *)(&first_page_addr));
  757|      0|        for (i = 0; i < num_touched_pages; i++) {
  ------------------
  |  Branch (757:21): [True: 0, False: 0]
  ------------------
  758|      0|            search_addr = i * page_buf->page_size + first_page_addr;
  759|       |
  760|       |            /* if we still haven't located a starting page, search again */
  761|      0|            if (!node && i != 0)
  ------------------
  |  Branch (761:17): [True: 0, False: 0]
  |  Branch (761:26): [True: 0, False: 0]
  ------------------
  762|      0|                node = H5SL_find(page_buf->slist_ptr, (void *)(&search_addr));
  763|       |
  764|       |            /* if the current page is in the Page Buffer, do the updates */
  765|      0|            if (node) {
  ------------------
  |  Branch (765:17): [True: 0, False: 0]
  ------------------
  766|      0|                page_entry = (H5PB_entry_t *)H5SL_item(node);
  767|       |
  768|      0|                assert(page_entry);
  769|       |
  770|       |                /* If the current page address falls out of the access
  771|       |                   block, then there are no more pages to go over */
  772|      0|                if (page_entry->addr >= addr + size)
  ------------------
  |  Branch (772:21): [True: 0, False: 0]
  ------------------
  773|      0|                    break;
  774|       |
  775|      0|                assert(page_entry->addr == search_addr);
  776|       |
  777|      0|                if (page_entry->is_dirty) {
  ------------------
  |  Branch (777:21): [True: 0, False: 0]
  ------------------
  778|       |                    /* special handling for the first page if it is not a full page access */
  779|      0|                    if (i == 0 && first_page_addr != addr) {
  ------------------
  |  Branch (779:25): [True: 0, False: 0]
  |  Branch (779:35): [True: 0, False: 0]
  ------------------
  780|      0|                        offset = addr - first_page_addr;
  781|      0|                        assert(page_buf->page_size > offset);
  782|       |
  783|      0|                        H5MM_memcpy(buf, (uint8_t *)page_entry->page_buf_ptr + offset,
  ------------------
  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  784|      0|                                    page_buf->page_size - (size_t)offset);
  785|       |
  786|       |                        /* move to top of LRU list */
  787|      0|                        H5PB__MOVE_TO_TOP_LRU(page_buf, page_entry)
  ------------------
  |  |   98|      0|    {                                                                                                        \
  |  |   99|      0|        assert(page_buf);                                                                                    \
  |  |  100|      0|        assert(page_ptr);                                                                                    \
  |  |  101|      0|        /* Remove entry and insert at the head of the list. */                                               \
  |  |  102|      0|        H5PB__REMOVE((page_ptr), (page_buf)->LRU_head_ptr, (page_buf)->LRU_tail_ptr,                         \
  |  |  ------------------
  |  |  |  |   59|      0|    {                                                                                                        \
  |  |  |  |   60|      0|        if ((head_ptr) == (page_ptr)) {                                                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (60:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   61|      0|            (head_ptr) = (page_ptr)->next;                                                                   \
  |  |  |  |   62|      0|            if ((head_ptr) != NULL)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:17): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   63|      0|                (head_ptr)->prev = NULL;                                                                     \
  |  |  |  |   64|      0|        } /* end if */                                                                                       \
  |  |  |  |   65|      0|        else                                                                                                 \
  |  |  |  |   66|      0|            (page_ptr)->prev->next = (page_ptr)->next;                                                       \
  |  |  |  |   67|      0|        if ((tail_ptr) == (page_ptr)) {                                                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (67:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   68|      0|            (tail_ptr) = (page_ptr)->prev;                                                                   \
  |  |  |  |   69|      0|            if ((tail_ptr) != NULL)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (69:17): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   70|      0|                (tail_ptr)->next = NULL;                                                                     \
  |  |  |  |   71|      0|        } /* end if */                                                                                       \
  |  |  |  |   72|      0|        else                                                                                                 \
  |  |  |  |   73|      0|            (page_ptr)->next->prev = (page_ptr)->prev;                                                       \
  |  |  |  |   74|      0|        page_ptr->next = NULL;                                                                               \
  |  |  |  |   75|      0|        page_ptr->prev = NULL;                                                                               \
  |  |  |  |   76|      0|        (len)--;                                                                                             \
  |  |  |  |   77|      0|    }
  |  |  ------------------
  |  |  103|      0|                     (page_buf)->LRU_list_len)                                                               \
  |  |  104|      0|        H5PB__PREPEND((page_ptr), (page_buf)->LRU_head_ptr, (page_buf)->LRU_tail_ptr,                        \
  |  |  ------------------
  |  |  |  |   45|      0|    {                                                                                                        \
  |  |  |  |   46|      0|        if ((head_ptr) == NULL) {                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (46:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   47|      0|            (head_ptr) = (page_ptr);                                                                         \
  |  |  |  |   48|      0|            (tail_ptr) = (page_ptr);                                                                         \
  |  |  |  |   49|      0|        } /* end if */                                                                                       \
  |  |  |  |   50|      0|        else {                                                                                               \
  |  |  |  |   51|      0|            (head_ptr)->prev = (page_ptr);                                                                   \
  |  |  |  |   52|      0|            (page_ptr)->next = (head_ptr);                                                                   \
  |  |  |  |   53|      0|            (head_ptr)       = (page_ptr);                                                                   \
  |  |  |  |   54|      0|        } /* end else */                                                                                     \
  |  |  |  |   55|      0|        (len)++;                                                                                             \
  |  |  |  |   56|      0|    } /* H5PB__PREPEND() */
  |  |  ------------------
  |  |  105|      0|                      (page_buf)->LRU_list_len)                                                              \
  |  |  106|      0|    }
  ------------------
  788|      0|                    } /* end if */
  789|       |                    /* special handling for the last page if it is not a full page access */
  790|      0|                    else if (num_touched_pages > 1 && i == num_touched_pages - 1 &&
  ------------------
  |  Branch (790:30): [True: 0, False: 0]
  |  Branch (790:55): [True: 0, False: 0]
  ------------------
  791|      0|                             search_addr < addr + size) {
  ------------------
  |  Branch (791:30): [True: 0, False: 0]
  ------------------
  792|      0|                        offset = (num_touched_pages - 2) * page_buf->page_size +
  793|      0|                                 (page_buf->page_size - (addr - first_page_addr));
  794|       |
  795|      0|                        H5MM_memcpy((uint8_t *)buf + offset, page_entry->page_buf_ptr,
  ------------------
  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  796|      0|                                    (size_t)((addr + size) - last_page_addr));
  797|       |
  798|       |                        /* move to top of LRU list */
  799|      0|                        H5PB__MOVE_TO_TOP_LRU(page_buf, page_entry)
  ------------------
  |  |   98|      0|    {                                                                                                        \
  |  |   99|      0|        assert(page_buf);                                                                                    \
  |  |  100|      0|        assert(page_ptr);                                                                                    \
  |  |  101|      0|        /* Remove entry and insert at the head of the list. */                                               \
  |  |  102|      0|        H5PB__REMOVE((page_ptr), (page_buf)->LRU_head_ptr, (page_buf)->LRU_tail_ptr,                         \
  |  |  ------------------
  |  |  |  |   59|      0|    {                                                                                                        \
  |  |  |  |   60|      0|        if ((head_ptr) == (page_ptr)) {                                                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (60:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   61|      0|            (head_ptr) = (page_ptr)->next;                                                                   \
  |  |  |  |   62|      0|            if ((head_ptr) != NULL)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:17): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   63|      0|                (head_ptr)->prev = NULL;                                                                     \
  |  |  |  |   64|      0|        } /* end if */                                                                                       \
  |  |  |  |   65|      0|        else                                                                                                 \
  |  |  |  |   66|      0|            (page_ptr)->prev->next = (page_ptr)->next;                                                       \
  |  |  |  |   67|      0|        if ((tail_ptr) == (page_ptr)) {                                                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (67:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   68|      0|            (tail_ptr) = (page_ptr)->prev;                                                                   \
  |  |  |  |   69|      0|            if ((tail_ptr) != NULL)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (69:17): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   70|      0|                (tail_ptr)->next = NULL;                                                                     \
  |  |  |  |   71|      0|        } /* end if */                                                                                       \
  |  |  |  |   72|      0|        else                                                                                                 \
  |  |  |  |   73|      0|            (page_ptr)->next->prev = (page_ptr)->prev;                                                       \
  |  |  |  |   74|      0|        page_ptr->next = NULL;                                                                               \
  |  |  |  |   75|      0|        page_ptr->prev = NULL;                                                                               \
  |  |  |  |   76|      0|        (len)--;                                                                                             \
  |  |  |  |   77|      0|    }
  |  |  ------------------
  |  |  103|      0|                     (page_buf)->LRU_list_len)                                                               \
  |  |  104|      0|        H5PB__PREPEND((page_ptr), (page_buf)->LRU_head_ptr, (page_buf)->LRU_tail_ptr,                        \
  |  |  ------------------
  |  |  |  |   45|      0|    {                                                                                                        \
  |  |  |  |   46|      0|        if ((head_ptr) == NULL) {                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (46:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   47|      0|            (head_ptr) = (page_ptr);                                                                         \
  |  |  |  |   48|      0|            (tail_ptr) = (page_ptr);                                                                         \
  |  |  |  |   49|      0|        } /* end if */                                                                                       \
  |  |  |  |   50|      0|        else {                                                                                               \
  |  |  |  |   51|      0|            (head_ptr)->prev = (page_ptr);                                                                   \
  |  |  |  |   52|      0|            (page_ptr)->next = (head_ptr);                                                                   \
  |  |  |  |   53|      0|            (head_ptr)       = (page_ptr);                                                                   \
  |  |  |  |   54|      0|        } /* end else */                                                                                     \
  |  |  |  |   55|      0|        (len)++;                                                                                             \
  |  |  |  |   56|      0|    } /* H5PB__PREPEND() */
  |  |  ------------------
  |  |  105|      0|                      (page_buf)->LRU_list_len)                                                              \
  |  |  106|      0|    }
  ------------------
  800|      0|                    } /* end else-if */
  801|       |                    /* copy the entire fully accessed pages */
  802|      0|                    else {
  803|      0|                        offset = i * page_buf->page_size;
  804|       |
  805|      0|                        H5MM_memcpy((uint8_t *)buf + (i * page_buf->page_size), page_entry->page_buf_ptr,
  ------------------
  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  806|      0|                                    page_buf->page_size);
  807|      0|                    } /* end else */
  808|      0|                }     /* end if */
  809|      0|                node = H5SL_next(node);
  810|      0|            } /* end if */
  811|      0|        }     /* end for */
  812|      0|    }         /* end if */
  813|      0|    else {
  814|       |        /* A raw data access could span 1 or 2 PB entries at this point so
  815|       |           we need to handle that */
  816|      0|        assert(1 == num_touched_pages || 2 == num_touched_pages);
  817|      0|        for (i = 0; i < num_touched_pages; i++) {
  ------------------
  |  Branch (817:21): [True: 0, False: 0]
  ------------------
  818|      0|            haddr_t buf_offset;
  819|       |
  820|       |            /* Calculate the aligned address of the page to search for it in the skip list */
  821|      0|            search_addr = (0 == i ? first_page_addr : last_page_addr);
  ------------------
  |  Branch (821:28): [True: 0, False: 0]
  ------------------
  822|       |
  823|       |            /* Calculate the access size if the access spans more than 1 page */
  824|      0|            if (1 == num_touched_pages)
  ------------------
  |  Branch (824:17): [True: 0, False: 0]
  ------------------
  825|      0|                access_size = size;
  826|      0|            else
  827|      0|                access_size = (0 == i ? (size_t)((first_page_addr + page_buf->page_size) - addr)
  ------------------
  |  Branch (827:32): [True: 0, False: 0]
  ------------------
  828|      0|                                      : (size - access_size));
  829|       |
  830|       |            /* Lookup the page in the skip list */
  831|      0|            page_entry = (H5PB_entry_t *)H5SL_search(page_buf->slist_ptr, (void *)(&search_addr));
  832|       |
  833|       |            /* if found */
  834|      0|            if (page_entry) {
  ------------------
  |  Branch (834:17): [True: 0, False: 0]
  ------------------
  835|      0|                offset     = (0 == i ? addr - page_entry->addr : 0);
  ------------------
  |  Branch (835:31): [True: 0, False: 0]
  ------------------
  836|      0|                buf_offset = (0 == i ? 0 : size - access_size);
  ------------------
  |  Branch (836:31): [True: 0, False: 0]
  ------------------
  837|       |
  838|       |                /* Account for reads that would overflow a page */
  839|      0|                if (offset + access_size > page_buf->page_size)
  ------------------
  |  Branch (839:21): [True: 0, False: 0]
  ------------------
  840|      0|                    access_size = page_buf->page_size - offset;
  841|       |
  842|       |                /* copy the requested data from the page into the input buffer */
  843|      0|                H5MM_memcpy((uint8_t *)buf + buf_offset, (uint8_t *)page_entry->page_buf_ptr + offset,
  ------------------
  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  844|      0|                            access_size);
  845|       |
  846|       |                /* Update LRU */
  847|      0|                H5PB__MOVE_TO_TOP_LRU(page_buf, page_entry)
  ------------------
  |  |   98|      0|    {                                                                                                        \
  |  |   99|      0|        assert(page_buf);                                                                                    \
  |  |  100|      0|        assert(page_ptr);                                                                                    \
  |  |  101|      0|        /* Remove entry and insert at the head of the list. */                                               \
  |  |  102|      0|        H5PB__REMOVE((page_ptr), (page_buf)->LRU_head_ptr, (page_buf)->LRU_tail_ptr,                         \
  |  |  ------------------
  |  |  |  |   59|      0|    {                                                                                                        \
  |  |  |  |   60|      0|        if ((head_ptr) == (page_ptr)) {                                                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (60:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   61|      0|            (head_ptr) = (page_ptr)->next;                                                                   \
  |  |  |  |   62|      0|            if ((head_ptr) != NULL)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:17): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   63|      0|                (head_ptr)->prev = NULL;                                                                     \
  |  |  |  |   64|      0|        } /* end if */                                                                                       \
  |  |  |  |   65|      0|        else                                                                                                 \
  |  |  |  |   66|      0|            (page_ptr)->prev->next = (page_ptr)->next;                                                       \
  |  |  |  |   67|      0|        if ((tail_ptr) == (page_ptr)) {                                                                      \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (67:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   68|      0|            (tail_ptr) = (page_ptr)->prev;                                                                   \
  |  |  |  |   69|      0|            if ((tail_ptr) != NULL)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (69:17): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   70|      0|                (tail_ptr)->next = NULL;                                                                     \
  |  |  |  |   71|      0|        } /* end if */                                                                                       \
  |  |  |  |   72|      0|        else                                                                                                 \
  |  |  |  |   73|      0|            (page_ptr)->next->prev = (page_ptr)->prev;                                                       \
  |  |  |  |   74|      0|        page_ptr->next = NULL;                                                                               \
  |  |  |  |   75|      0|        page_ptr->prev = NULL;                                                                               \
  |  |  |  |   76|      0|        (len)--;                                                                                             \
  |  |  |  |   77|      0|    }
  |  |  ------------------
  |  |  103|      0|                     (page_buf)->LRU_list_len)                                                               \
  |  |  104|      0|        H5PB__PREPEND((page_ptr), (page_buf)->LRU_head_ptr, (page_buf)->LRU_tail_ptr,                        \
  |  |  ------------------
  |  |  |  |   45|      0|    {                                                                                                        \
  |  |  |  |   46|      0|        if ((head_ptr) == NULL) {                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (46:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   47|      0|            (head_ptr) = (page_ptr);                                                                         \
  |  |  |  |   48|      0|            (tail_ptr) = (page_ptr);                                                                         \
  |  |  |  |   49|      0|        } /* end if */                                                                                       \
  |  |  |  |   50|      0|        else {                                                                                               \
  |  |  |  |   51|      0|            (head_ptr)->prev = (page_ptr);                                                                   \
  |  |  |  |   52|      0|            (page_ptr)->next = (head_ptr);                                                                   \
  |  |  |  |   53|      0|            (head_ptr)       = (page_ptr);                                                                   \
  |  |  |  |   54|      0|        } /* end else */                                                                                     \
  |  |  |  |   55|      0|        (len)++;                                                                                             \
  |  |  |  |   56|      0|    } /* H5PB__PREPEND() */
  |  |  ------------------
  |  |  105|      0|                      (page_buf)->LRU_list_len)                                                              \
  |  |  106|      0|    }
  ------------------
  848|       |
  849|       |                /* Update statistics */
  850|      0|                if (type == H5FD_MEM_DRAW)
  ------------------
  |  Branch (850:21): [True: 0, False: 0]
  ------------------
  851|      0|                    page_buf->hits[1]++;
  852|      0|                else
  853|      0|                    page_buf->hits[0]++;
  854|      0|            } /* end if */
  855|       |            /* if not found */
  856|      0|            else {
  857|      0|                void   *new_page_buf = NULL;
  858|      0|                size_t  page_size    = page_buf->page_size;
  859|      0|                haddr_t eoa;
  860|       |
  861|       |                /* make space for new entry */
  862|      0|                if ((H5SL_count(page_buf->slist_ptr) * page_buf->page_size) >= page_buf->max_size) {
  ------------------
  |  Branch (862:21): [True: 0, False: 0]
  ------------------
  863|      0|                    htri_t can_make_space;
  864|       |
  865|       |                    /* check if we can make space in page buffer */
  866|      0|                    if ((can_make_space = H5PB__make_space(f_sh, page_buf, type)) < 0)
  ------------------
  |  Branch (866:25): [True: 0, False: 0]
  ------------------
  867|      0|                        HGOTO_ERROR(H5E_PAGEBUF, H5E_NOSPACE, FAIL, "make space in Page buffer Failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  868|       |
  869|       |                    /* if make_space returns 0, then we can't use the page
  870|       |                       buffer for this I/O and we need to bypass */
  871|      0|                    if (0 == can_make_space) {
  ------------------
  |  Branch (871:25): [True: 0, False: 0]
  ------------------
  872|       |                        /* make space can't return false on second touched page since the first is of the same
  873|       |                         * type */
  874|      0|                        assert(0 == i);
  875|       |
  876|       |                        /* read entire block from VFD and return */
  877|      0|                        if (H5FD_read(file, type, addr, size, buf) < 0)
  ------------------
  |  Branch (877:29): [True: 0, False: 0]
  ------------------
  878|      0|                            HGOTO_ERROR(H5E_PAGEBUF, H5E_READERROR, FAIL, "driver read request failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  879|       |
  880|       |                        /* Break out of loop */
  881|      0|                        break;
  882|      0|                    } /* end if */
  883|      0|                }     /* end if */
  884|       |
  885|       |                /* Read page from VFD */
  886|      0|                if (NULL == (new_page_buf = H5FL_FAC_MALLOC(page_buf->page_fac)))
  ------------------
  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  ------------------
  |  Branch (886:21): [True: 0, False: 0]
  ------------------
  887|      0|                    HGOTO_ERROR(H5E_PAGEBUF, H5E_CANTALLOC, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  888|      0|                                "memory allocation failed for page buffer entry");
  889|       |
  890|       |                /* Read page through the VFD layer, but make sure we don't read past the EOA. */
  891|       |
  892|       |                /* Retrieve the 'eoa' for the file */
  893|      0|                if (HADDR_UNDEF == (eoa = H5F_shared_get_eoa(f_sh, type)))
  ------------------
  |  |  336|      0|#define HADDR_UNDEF         UINT64_MAX
  ------------------
  |  Branch (893:21): [True: 0, False: 0]
  ------------------
  894|      0|                    HGOTO_ERROR(H5E_PAGEBUF, H5E_CANTGET, FAIL, "driver get_eoa request failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  895|       |
  896|       |                /* If the entire page falls outside the EOA, then fail */
  897|      0|                if (search_addr > eoa)
  ------------------
  |  Branch (897:21): [True: 0, False: 0]
  ------------------
  898|      0|                    HGOTO_ERROR(H5E_PAGEBUF, H5E_BADVALUE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  899|      0|                                "reading an entire page that is outside the file EOA");
  900|       |
  901|       |                /* Adjust the read size to not go beyond the EOA */
  902|      0|                if (search_addr + page_size > eoa)
  ------------------
  |  Branch (902:21): [True: 0, False: 0]
  ------------------
  903|      0|                    page_size = (size_t)(eoa - search_addr);
  904|       |
  905|       |                /* Read page from VFD */
  906|      0|                if (H5FD_read(file, type, search_addr, page_size, new_page_buf) < 0)
  ------------------
  |  Branch (906:21): [True: 0, False: 0]
  ------------------
  907|      0|                    HGOTO_ERROR(H5E_PAGEBUF, H5E_READERROR, FAIL, "driver read request failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  908|       |
  909|       |                /* Copy the requested data from the page into the input buffer */
  910|      0|                offset     = (0 == i ? addr - search_addr : 0);
  ------------------
  |  Branch (910:31): [True: 0, False: 0]
  ------------------
  911|      0|                buf_offset = (0 == i ? 0 : size - access_size);
  ------------------
  |  Branch (911:31): [True: 0, False: 0]
  ------------------
  912|       |
  913|       |                /* Account for reads that would overflow a page */
  914|      0|                if (offset + access_size > page_buf->page_size)
  ------------------
  |  Branch (914:21): [True: 0, False: 0]
  ------------------
  915|      0|                    access_size = page_buf->page_size - offset;
  916|       |
  917|      0|                H5MM_memcpy((uint8_t *)buf + buf_offset, (uint8_t *)new_page_buf + offset, access_size);
  ------------------
  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  918|       |
  919|       |                /* Create the new PB entry */
  920|      0|                if (NULL == (page_entry = H5FL_CALLOC(H5PB_entry_t)))
  ------------------
  |  |   78|      0|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (920:21): [True: 0, False: 0]
  ------------------
  921|      0|                    HGOTO_ERROR(H5E_PAGEBUF, H5E_NOSPACE, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  922|       |
  923|      0|                page_entry->page_buf_ptr = new_page_buf;
  924|      0|                page_entry->addr         = search_addr;
  925|      0|                page_entry->type         = (H5F_mem_page_t)type;
  926|      0|                page_entry->is_dirty     = false;
  927|       |
  928|       |                /* Insert page into PB */
  929|      0|                if (H5PB__insert_entry(page_buf, page_entry) < 0)
  ------------------
  |  Branch (929:21): [True: 0, False: 0]
  ------------------
  930|      0|                    HGOTO_ERROR(H5E_PAGEBUF, H5E_CANTSET, FAIL, "error inserting new page in page buffer");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  931|       |
  932|       |                /* Update statistics */
  933|      0|                if (type == H5FD_MEM_DRAW)
  ------------------
  |  Branch (933:21): [True: 0, False: 0]
  ------------------
  934|      0|                    page_buf->misses[1]++;
  935|      0|                else
  936|      0|                    page_buf->misses[0]++;
  937|      0|            } /* end else */
  938|      0|        }     /* end for */
  939|      0|    }         /* end else */
  940|       |
  941|    170|done:
  942|    170|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    170|    ;                                                                                                        \
  |  | 1573|    170|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    170|    return (ret_value);                                                                                      \
  |  | 1575|    170|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  943|      0|} /* end H5PB_read() */

H5PL_init:
  132|      1|{
  133|      1|    char  *env_var   = NULL;
  134|      1|    herr_t ret_value = SUCCEED;
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  135|       |
  136|      1|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      1|    {                                                                                                        \
  |  | 1392|      1|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      1|        {
  ------------------
  137|       |
  138|       |    /* Check the environment variable to determine if the user wants
  139|       |     * to ignore plugins. The special symbol H5PL_NO_PLUGIN (defined in
  140|       |     * H5PLpublic.h) means we don't want to load plugins.
  141|       |     */
  142|      1|    if (NULL != (env_var = getenv(HDF5_PLUGIN_PRELOAD)))
  ------------------
  |  |  208|      1|#define HDF5_PLUGIN_PRELOAD "HDF5_PLUGIN_PRELOAD"
  ------------------
  |  Branch (142:9): [True: 0, False: 1]
  ------------------
  143|      0|        if (!strcmp(env_var, H5PL_NO_PLUGIN)) {
  ------------------
  |  |   28|      0|#define H5PL_NO_PLUGIN "::"
  ------------------
  |  Branch (143:13): [True: 0, False: 0]
  ------------------
  144|      0|            H5PL_plugin_control_mask_g = 0;
  145|      0|            H5PL_allow_plugins_g       = false;
  146|      0|        }
  147|       |
  148|       |    /* Create the table of previously-loaded plugins */
  149|      1|    if (H5PL__create_plugin_cache() < 0)
  ------------------
  |  Branch (149:9): [True: 0, False: 1]
  ------------------
  150|      0|        HGOTO_ERROR(H5E_PLUGIN, H5E_CANTINIT, FAIL, "can't create plugin cache");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  151|       |
  152|       |    /* Create the table of search paths for dynamic libraries */
  153|      1|    if (H5PL__create_path_table() < 0)
  ------------------
  |  Branch (153:9): [True: 0, False: 1]
  ------------------
  154|      0|        HGOTO_ERROR(H5E_PLUGIN, H5E_CANTINIT, FAIL, "can't create plugin search path table");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  155|       |
  156|      1|done:
  157|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  158|      1|}
H5PL_term_package:
  175|      2|{
  176|      2|    bool already_closed = false;
  177|      2|    int  ret_value      = 0;
  178|       |
  179|      2|    FUNC_ENTER_NOAPI_NOINIT
  ------------------
  |  | 1410|      2|    {                                                                                                        \
  |  | 1411|      2|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1412|      2|        {
  ------------------
  180|       |
  181|       |    /* Close the plugin cache.
  182|       |     * We need to bump the return value if we did any real work here.
  183|       |     */
  184|      2|    if (H5PL__close_plugin_cache(&already_closed) < 0)
  ------------------
  |  Branch (184:9): [True: 0, False: 2]
  ------------------
  185|      0|        HGOTO_ERROR(H5E_PLUGIN, H5E_CANTFREE, (-1), "problem closing plugin cache");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  186|      2|    if (!already_closed)
  ------------------
  |  Branch (186:9): [True: 1, False: 1]
  ------------------
  187|      1|        ret_value++;
  188|       |
  189|       |    /* Close the search path table and free the paths */
  190|      2|    if (H5PL__close_path_table() < 0)
  ------------------
  |  Branch (190:9): [True: 0, False: 2]
  ------------------
  191|      0|        HGOTO_ERROR(H5E_PLUGIN, H5E_CANTFREE, (-1), "problem closing search path table");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  192|       |
  193|      2|done:
  194|      2|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      2|    ;                                                                                                        \
  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  195|      2|} /* end H5PL_term_package() */
H5PL_iterate:
  504|      3|{
  505|      3|    herr_t ret_value = H5_ITER_CONT;
  ------------------
  |  |  362|      3|#define H5_ITER_CONT  (0)  /**< Continue iteration */
  ------------------
  506|       |
  507|      3|    FUNC_ENTER_NOAPI_NOERR
  ------------------
  |  | 1397|      3|    {                                                                                                        \
  |  | 1398|      3|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      3|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1399|      3|        {
  ------------------
  508|       |
  509|      3|    ret_value = H5PL__path_table_iterate(iter_type, iter_op, op_data);
  510|       |
  511|      3|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      3|    ;                                                                                                        \
  |  | 1573|      3|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      3|    return (ret_value);                                                                                      \
  |  | 1575|      3|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  512|      3|} /* end H5PL_iterate() */

H5PL__create_path_table:
  231|      1|{
  232|      1|    char *env_var = NULL;       /* Path string from environment variable */
  233|      1|    char *paths   = NULL;       /* Delimited paths string. Either from the
  234|       |                                 * environment variable or the default.
  235|       |                                 */
  236|      1|    char  *next_path = NULL;    /* A path tokenized from the paths string */
  237|      1|    char  *lasts     = NULL;    /* Context pointer for strtok_r() call */
  238|      1|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  239|       |
  240|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
  241|       |
  242|       |    /* Allocate memory for the path table */
  243|      1|    H5PL_num_paths_g     = 0;
  244|      1|    H5PL_path_capacity_g = H5PL_INITIAL_PATH_CAPACITY;
  ------------------
  |  |   48|      1|#define H5PL_INITIAL_PATH_CAPACITY 16
  ------------------
  245|      1|    if (NULL == (H5PL_paths_g = (char **)H5MM_calloc((size_t)H5PL_path_capacity_g * sizeof(char *))))
  ------------------
  |  |   36|      1|#define H5MM_calloc(Z) calloc(1, Z)
  ------------------
  |  Branch (245:9): [True: 0, False: 1]
  ------------------
  246|      0|        HGOTO_ERROR(H5E_PLUGIN, H5E_CANTALLOC, FAIL, "can't allocate memory for path table");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  247|       |
  248|       |    /* Retrieve paths from HDF5_PLUGIN_PATH if the user sets it
  249|       |     * or from the default paths if it isn't set.
  250|       |     */
  251|      1|    env_var = getenv(HDF5_PLUGIN_PATH);
  ------------------
  |  |  200|      1|#define HDF5_PLUGIN_PATH "HDF5_PLUGIN_PATH"
  ------------------
  252|      1|    if (NULL == env_var)
  ------------------
  |  Branch (252:9): [True: 1, False: 0]
  ------------------
  253|      1|        paths = H5MM_strdup(H5PL_DEFAULT_PATH);
  ------------------
  |  |   36|      1|#define H5PL_DEFAULT_PATH H5_DEFAULT_PLUGINDIR
  |  |  ------------------
  |  |  |  |   11|      1|#define H5_DEFAULT_PLUGINDIR "/usr/local/hdf5/lib/plugin"
  |  |  ------------------
  ------------------
  254|      0|    else
  255|      0|        paths = H5MM_strdup(env_var);
  256|       |
  257|      1|    if (NULL == paths)
  ------------------
  |  Branch (257:9): [True: 0, False: 1]
  ------------------
  258|      0|        HGOTO_ERROR(H5E_PLUGIN, H5E_CANTALLOC, FAIL, "can't allocate memory for path copy");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  259|       |
  260|       |    /* Separate the paths and store them */
  261|      1|    next_path = HDstrtok_r(paths, H5PL_PATH_SEPARATOR, &lasts);
  ------------------
  |  |  866|      1|#define HDstrtok_r(X, Y, Z) strtok_r(X, Y, Z)
  ------------------
  262|      2|    while (next_path) {
  ------------------
  |  Branch (262:12): [True: 1, False: 1]
  ------------------
  263|       |
  264|       |        /* Insert the path into the table */
  265|      1|        if (H5PL__append_path(next_path) < 0)
  ------------------
  |  Branch (265:13): [True: 0, False: 1]
  ------------------
  266|      0|            HGOTO_ERROR(H5E_PLUGIN, H5E_CANTALLOC, FAIL, "can't insert path: %s", next_path);
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  267|       |
  268|       |        /* Get the next path from the environment string */
  269|      1|        next_path = HDstrtok_r(NULL, H5PL_PATH_SEPARATOR, &lasts);
  ------------------
  |  |  866|      1|#define HDstrtok_r(X, Y, Z) strtok_r(X, Y, Z)
  ------------------
  270|      1|    } /* end while */
  271|       |
  272|      1|done:
  273|      1|    if (paths)
  ------------------
  |  Branch (273:9): [True: 1, False: 0]
  ------------------
  274|      1|        paths = (char *)H5MM_xfree(paths);
  275|       |
  276|       |    /* Try to clean up on errors */
  277|      1|    if (FAIL == ret_value) {
  ------------------
  |  |  284|      1|#define FAIL    (-1)
  ------------------
  |  Branch (277:9): [True: 0, False: 1]
  ------------------
  278|      0|        if (H5PL_paths_g)
  ------------------
  |  Branch (278:13): [True: 0, False: 0]
  ------------------
  279|      0|            H5PL_paths_g = (char **)H5MM_xfree(H5PL_paths_g);
  280|      0|        H5PL_path_capacity_g = 0;
  281|      0|    }
  282|       |
  283|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  284|      1|} /* end H5PL__create_path_table() */
H5PL__close_path_table:
  298|      2|{
  299|      2|    unsigned u;                   /* iterator */
  300|      2|    herr_t   ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      2|#define SUCCEED 0
  ------------------
  301|       |
  302|      2|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|      2|    {                                                                                                        \
  |  | 1467|      2|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|      2|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|      2|        {
  ------------------
  303|       |
  304|       |    /* Free paths */
  305|      3|    for (u = 0; u < H5PL_num_paths_g; u++)
  ------------------
  |  Branch (305:17): [True: 1, False: 2]
  ------------------
  306|      1|        if (H5PL_paths_g[u])
  ------------------
  |  Branch (306:13): [True: 1, False: 0]
  ------------------
  307|      1|            H5PL_paths_g[u] = (char *)H5MM_xfree(H5PL_paths_g[u]);
  308|       |
  309|       |    /* Free path table */
  310|      2|    H5PL_paths_g = (char **)H5MM_xfree(H5PL_paths_g);
  311|       |
  312|       |    /* Reset values */
  313|      2|    H5PL_num_paths_g = 0;
  314|       |
  315|      2|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      2|    ;                                                                                                        \
  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  316|       |
  317|      2|} /* end H5PL__close_path_table() */
H5PL__append_path:
  383|      1|{
  384|      1|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  385|       |
  386|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
  387|       |
  388|       |    /* Check args - Just assert on package functions */
  389|      1|    assert(path);
  390|      1|    assert(strlen(path));
  391|       |
  392|       |    /* Insert the path at the end of the table */
  393|      1|    if (H5PL__insert_at(path, H5PL_num_paths_g) < 0)
  ------------------
  |  Branch (393:9): [True: 0, False: 1]
  ------------------
  394|      0|        HGOTO_ERROR(H5E_PLUGIN, H5E_CANTINSERT, FAIL, "unable to append search path");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  395|       |
  396|      1|done:
  397|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  398|      1|} /* end H5PL__append_path() */
H5PL__path_table_iterate:
  568|      3|{
  569|      3|    unsigned int u;
  570|      3|    herr_t       ret_value = H5_ITER_CONT;
  ------------------
  |  |  362|      3|#define H5_ITER_CONT  (0)  /**< Continue iteration */
  ------------------
  571|       |
  572|      3|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      3|    {                                                                                                        \
  |  | 1461|      3|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      3|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      3|                                                                                                             \
  |  |  |  | 1267|      3|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      3|        {
  ------------------
  573|       |
  574|      6|    for (u = 0; (u < H5PL_num_paths_g) && (ret_value == H5_ITER_CONT); u++) {
  ------------------
  |  |  362|      3|#define H5_ITER_CONT  (0)  /**< Continue iteration */
  ------------------
  |  Branch (574:17): [True: 3, False: 3]
  |  Branch (574:43): [True: 3, False: 0]
  ------------------
  575|      3|        if ((ret_value =
  ------------------
  |  Branch (575:13): [True: 0, False: 3]
  ------------------
  576|      3|                 H5PL__path_table_iterate_process_path(H5PL_paths_g[u], iter_type, iter_op, op_data)) < 0)
  577|      0|            HGOTO_ERROR(H5E_PLUGIN, H5E_BADITER, H5_ITER_ERROR,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  578|      3|                        "can't iterate over plugins in plugin path '%s'", H5PL_paths_g[u]);
  579|      3|    }
  580|       |
  581|      3|done:
  582|      3|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      3|    ;                                                                                                        \
  |  | 1573|      3|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      3|    return (ret_value);                                                                                      \
  |  | 1575|      3|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  583|      3|} /* end H5PL__path_table_iterate() */
H5PLpath.c:H5PL__insert_at:
  104|      1|{
  105|      1|    char  *path_copy = NULL;    /* copy of path string (for storing) */
  106|      1|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  107|       |
  108|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
  109|       |
  110|       |    /* Check args - Just assert on package functions */
  111|      1|    assert(path);
  112|      1|    assert(strlen(path));
  113|       |
  114|       |    /* Expand the table if it is full */
  115|      1|    if (H5PL_num_paths_g == H5PL_path_capacity_g)
  ------------------
  |  Branch (115:9): [True: 0, False: 1]
  ------------------
  116|      0|        if (H5PL__expand_path_table() < 0)
  ------------------
  |  Branch (116:13): [True: 0, False: 0]
  ------------------
  117|      0|            HGOTO_ERROR(H5E_PLUGIN, H5E_CANTALLOC, FAIL, "can't expand path table");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  118|       |
  119|       |    /* Copy the path for storage so the caller can dispose of theirs */
  120|      1|    if (NULL == (path_copy = H5MM_strdup(path)))
  ------------------
  |  Branch (120:9): [True: 0, False: 1]
  ------------------
  121|      0|        HGOTO_ERROR(H5E_PLUGIN, H5E_CANTALLOC, FAIL, "can't make internal copy of path");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  122|       |
  123|       |#ifdef H5_HAVE_WIN32_API
  124|       |    /* Clean up Microsoft Windows environment variables in the path string */
  125|       |    if (H5_expand_windows_env_vars(&path_copy))
  126|       |        HGOTO_ERROR(H5E_PLUGIN, H5E_CANTCONVERT, FAIL, "can't expand environment variable string");
  127|       |#endif /* H5_HAVE_WIN32_API */
  128|       |
  129|       |    /* If the table entry is in use, make some space */
  130|      1|    if (H5PL_paths_g[idx])
  ------------------
  |  Branch (130:9): [True: 0, False: 1]
  ------------------
  131|      0|        if (H5PL__make_space_at(idx) < 0)
  ------------------
  |  Branch (131:13): [True: 0, False: 0]
  ------------------
  132|      0|            HGOTO_ERROR(H5E_PLUGIN, H5E_NOSPACE, FAIL, "unable to make space in the table for the new entry");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  133|       |
  134|       |    /* Insert the copy of the search path into the table at the specified index */
  135|      1|    H5PL_paths_g[idx] = path_copy;
  136|      1|    H5PL_num_paths_g++;
  137|       |
  138|      1|done:
  139|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  140|      1|} /* end H5PL__insert_at() */
H5PLpath.c:H5PL__path_table_iterate_process_path:
  604|      3|{
  605|      3|    H5PL_type_t    plugin_type;
  606|      3|    const void    *plugin_info = NULL;
  607|      3|    bool           plugin_loaded;
  608|      3|    char          *path      = NULL;
  609|      3|    DIR           *dirp      = NULL; /* Directory stream */
  610|      3|    struct dirent *dp        = NULL; /* Directory entry */
  611|      3|    herr_t         ret_value = H5_ITER_CONT;
  ------------------
  |  |  362|      3|#define H5_ITER_CONT  (0)  /**< Continue iteration */
  ------------------
  612|       |
  613|      3|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      3|    {                                                                                                        \
  |  | 1461|      3|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      3|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      3|                                                                                                             \
  |  |  |  | 1267|      3|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      3|        {
  ------------------
  614|       |
  615|      3|    assert(plugin_path);
  616|      3|    assert(iter_op);
  617|       |
  618|       |    /* Open the directory - skip the path if the directory can't be opened */
  619|      3|    if (!(dirp = HDopendir(plugin_path)))
  ------------------
  |  |  768|      3|#define HDopendir(S) opendir(S)
  ------------------
  |  Branch (619:9): [True: 3, False: 0]
  ------------------
  620|      3|        HGOTO_DONE(H5_ITER_CONT);
  ------------------
  |  |   91|      3|    do {                                                                                                     \
  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |   93|      3|        goto done;                                                                                           \
  |  |   94|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  621|       |
  622|       |    /* Iterate through all entries in the directory */
  623|      0|    while (NULL != (dp = HDreaddir(dirp))) {
  ------------------
  |  |  820|      0|#define HDreaddir(D) readdir(D)
  ------------------
  |  Branch (623:12): [True: 0, False: 0]
  ------------------
  624|       |        /* The library we are looking for should be called libxxx.so... on Unix
  625|       |         * or libxxx.xxx.dylib on Mac.
  626|       |         */
  627|      0|#ifndef __CYGWIN__
  628|      0|        if (!strncmp(dp->d_name, "lib", (size_t)3) &&
  ------------------
  |  Branch (628:13): [True: 0, False: 0]
  ------------------
  629|      0|            (strstr(dp->d_name, ".so") || strstr(dp->d_name, ".dylib"))) {
  ------------------
  |  Branch (629:14): [True: 0, False: 0]
  |  Branch (629:43): [True: 0, False: 0]
  ------------------
  630|       |#else
  631|       |        if (!strncmp(dp->d_name, "cyg", (size_t)3) && strstr(dp->d_name, ".dll")) {
  632|       |#endif
  633|       |
  634|      0|            bool      plugin_matches;
  635|      0|            h5_stat_t my_stat;
  636|      0|            size_t    len;
  637|       |
  638|       |            /* Allocate & initialize the path name */
  639|      0|            len = strlen(plugin_path) + strlen(H5PL_PATH_SEPARATOR) + strlen(dp->d_name) + 1 /*\0*/ +
  ------------------
  |  |   90|      0|#define H5PL_PATH_SEPARATOR     ":"
  ------------------
  640|      0|                  4; /* Extra "+4" to quiet GCC warning - 2019/07/05, QAK */
  641|       |
  642|      0|            if (NULL == (path = (char *)H5MM_calloc(len)))
  ------------------
  |  |   36|      0|#define H5MM_calloc(Z) calloc(1, Z)
  ------------------
  |  Branch (642:17): [True: 0, False: 0]
  ------------------
  643|      0|                HGOTO_ERROR(H5E_PLUGIN, H5E_CANTALLOC, H5_ITER_ERROR, "can't allocate memory for path");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  644|       |
  645|      0|            snprintf(path, len, "%s/%s", plugin_path, dp->d_name);
  646|       |
  647|       |            /* Get info for directory entry */
  648|      0|            memset(&my_stat, 0, sizeof(h5_stat_t));
  649|      0|            if (HDstat(path, &my_stat) == -1)
  ------------------
  |  |  850|      0|#define HDstat(S, B) stat(S, B)
  ------------------
  |  Branch (649:17): [True: 0, False: 0]
  ------------------
  650|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTGET, H5_ITER_ERROR, "can't stat file %s -- error was: %s", path,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  651|      0|                            strerror(errno));
  652|       |
  653|       |            /* If it is a directory, skip it */
  654|      0|            if (S_ISDIR(my_stat.st_mode))
  655|      0|                continue;
  656|       |
  657|       |            /* Attempt to open the dynamic library */
  658|      0|            plugin_type   = H5PL_TYPE_ERROR;
  659|      0|            plugin_info   = NULL;
  660|      0|            plugin_loaded = false;
  661|      0|            if (H5PL__open(path, H5PL_TYPE_NONE, NULL, &plugin_loaded, &plugin_type, &plugin_info) < 0)
  ------------------
  |  Branch (661:17): [True: 0, False: 0]
  ------------------
  662|      0|                HGOTO_ERROR(H5E_PLUGIN, H5E_CANTGET, H5_ITER_ERROR, "failed to open plugin '%s'", path);
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  663|       |
  664|       |            /* Determine if we should process this plugin */
  665|      0|            plugin_matches = (iter_type == H5PL_ITER_TYPE_ALL) ||
  ------------------
  |  Branch (665:30): [True: 0, False: 0]
  ------------------
  666|      0|                             ((iter_type == H5PL_ITER_TYPE_FILTER) && (plugin_type == H5PL_TYPE_FILTER)) ||
  ------------------
  |  Branch (666:31): [True: 0, False: 0]
  |  Branch (666:71): [True: 0, False: 0]
  ------------------
  667|      0|                             ((iter_type == H5PL_ITER_TYPE_VOL) && (plugin_type == H5PL_TYPE_VOL)) ||
  ------------------
  |  Branch (667:31): [True: 0, False: 0]
  |  Branch (667:68): [True: 0, False: 0]
  ------------------
  668|      0|                             ((iter_type == H5PL_ITER_TYPE_VFD) && (plugin_type == H5PL_TYPE_VFD));
  ------------------
  |  Branch (668:31): [True: 0, False: 0]
  |  Branch (668:68): [True: 0, False: 0]
  ------------------
  669|       |
  670|       |            /* If the plugin was successfully loaded, call supplied callback function on plugin */
  671|      0|            if (plugin_loaded && plugin_matches && (ret_value = iter_op(plugin_type, plugin_info, op_data)))
  ------------------
  |  Branch (671:17): [True: 0, False: 0]
  |  Branch (671:34): [True: 0, False: 0]
  |  Branch (671:52): [True: 0, False: 0]
  ------------------
  672|      0|                break;
  673|       |
  674|      0|            path = (char *)H5MM_xfree(path);
  675|      0|        } /* end if */
  676|      0|    }     /* end while */
  677|       |
  678|      0|    if (ret_value < 0)
  ------------------
  |  Branch (678:9): [True: 0, False: 0]
  ------------------
  679|      0|        HERROR(H5E_PLUGIN, H5E_CALLBACK, "callback operator function returned failure");
  ------------------
  |  |   30|      0|    do {                                                                                                     \
  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |   32|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  680|       |
  681|      3|done:
  682|      3|    if (dirp)
  ------------------
  |  Branch (682:9): [True: 0, False: 3]
  ------------------
  683|      0|        if (HDclosedir(dirp) < 0)
  ------------------
  |  |  682|      0|#define HDclosedir(D) closedir(D)
  ------------------
  |  Branch (683:13): [True: 0, False: 0]
  ------------------
  684|      0|            HDONE_ERROR(H5E_FILE, H5E_CLOSEERROR, H5_ITER_ERROR, "can't close directory: %s",
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  685|      3|                        strerror(errno));
  686|       |
  687|      3|    path = (char *)H5MM_xfree(path);
  688|       |
  689|      3|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      3|    ;                                                                                                        \
  |  | 1573|      3|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      3|    return (ret_value);                                                                                      \
  |  | 1575|      3|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  690|      0|} /* end H5PL__path_table_iterate_process_path() */

H5PL__create_plugin_cache:
   99|      1|{
  100|      1|    herr_t ret_value = SUCCEED;
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  101|       |
  102|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
  103|       |
  104|       |    /* Allocate memory for the plugin cache */
  105|      1|    H5PL_num_plugins_g = 0;
  106|       |
  107|      1|    H5PL_cache_capacity_g = H5PL_INITIAL_CACHE_CAPACITY;
  ------------------
  |  |   44|      1|#define H5PL_INITIAL_CACHE_CAPACITY 16
  ------------------
  108|       |
  109|      1|    if (NULL ==
  ------------------
  |  Branch (109:9): [True: 0, False: 1]
  ------------------
  110|      1|        (H5PL_cache_g = (H5PL_plugin_t *)H5MM_calloc((size_t)H5PL_cache_capacity_g * sizeof(H5PL_plugin_t))))
  ------------------
  |  |   36|      1|#define H5MM_calloc(Z) calloc(1, Z)
  ------------------
  111|      0|        HGOTO_ERROR(H5E_PLUGIN, H5E_CANTALLOC, FAIL, "can't allocate memory for plugin cache");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  112|       |
  113|      1|done:
  114|       |    /* Try to clean up on errors */
  115|      1|    if (FAIL == ret_value) {
  ------------------
  |  |  284|      1|#define FAIL    (-1)
  ------------------
  |  Branch (115:9): [True: 0, False: 1]
  ------------------
  116|      0|        if (H5PL_cache_g)
  ------------------
  |  Branch (116:13): [True: 0, False: 0]
  ------------------
  117|      0|            H5PL_cache_g = (H5PL_plugin_t *)H5MM_xfree(H5PL_cache_g);
  118|      0|        H5PL_cache_capacity_g = 0;
  119|      0|    }
  120|       |
  121|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  122|      1|} /* end H5PL__create_plugin_cache() */
H5PL__close_plugin_cache:
  136|      2|{
  137|      2|    unsigned int u; /* iterator */
  138|      2|    herr_t       ret_value = SUCCEED;
  ------------------
  |  |  283|      2|#define SUCCEED 0
  ------------------
  139|       |
  140|      2|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|      2|    {                                                                                                        \
  |  | 1467|      2|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|      2|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|      2|        {
  ------------------
  141|       |
  142|       |    /* Close opened dynamic libraries */
  143|      2|    if (H5PL_cache_g) {
  ------------------
  |  Branch (143:9): [True: 1, False: 1]
  ------------------
  144|       |
  145|       |        /* Close any cached plugins */
  146|      1|        for (u = 0; u < H5PL_num_plugins_g; u++)
  ------------------
  |  Branch (146:21): [True: 0, False: 1]
  ------------------
  147|      0|            H5PL__close((H5PL_cache_g[u]).handle);
  148|       |
  149|       |        /* Free the cache array */
  150|      1|        H5PL_cache_g          = (H5PL_plugin_t *)H5MM_xfree(H5PL_cache_g);
  151|      1|        H5PL_num_plugins_g    = 0;
  152|      1|        H5PL_cache_capacity_g = 0;
  153|       |
  154|       |        /* Note that actually closed the table (needed by package close call) */
  155|      1|        *already_closed = false;
  156|      1|    }
  157|      1|    else
  158|      1|        *already_closed = true;
  159|       |
  160|      2|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      2|    ;                                                                                                        \
  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  161|      2|} /* end H5PL__close_plugin_cache() */

H5Pdapl.c:H5P__dacc_reg_prop:
  190|      1|{
  191|      1|    size_t rdcc_nslots = H5D_ACS_DATA_CACHE_NUM_SLOTS_DEF;    /* Default raw data chunk cache # of slots */
  ------------------
  |  |   47|      1|#define H5D_ACS_DATA_CACHE_NUM_SLOTS_DEF  H5D_CHUNK_CACHE_NSLOTS_DEFAULT
  |  |  ------------------
  |  |  |  |   27|      1|#define H5D_CHUNK_CACHE_NSLOTS_DEFAULT SIZE_MAX
  |  |  ------------------
  ------------------
  192|      1|    size_t rdcc_nbytes = H5D_ACS_DATA_CACHE_BYTE_SIZE_DEF;    /* Default raw data chunk cache # of bytes */
  ------------------
  |  |   52|      1|#define H5D_ACS_DATA_CACHE_BYTE_SIZE_DEF  H5D_CHUNK_CACHE_NBYTES_DEFAULT
  |  |  ------------------
  |  |  |  |   28|      1|#define H5D_CHUNK_CACHE_NBYTES_DEFAULT SIZE_MAX
  |  |  ------------------
  ------------------
  193|      1|    double rdcc_w0     = H5D_ACS_PREEMPT_READ_CHUNKS_DEF;     /* Default raw data chunk cache dirty ratio */
  ------------------
  |  |   57|      1|#define H5D_ACS_PREEMPT_READ_CHUNKS_DEF  H5D_CHUNK_CACHE_W0_DEFAULT
  |  |  ------------------
  |  |  |  |   29|      1|#define H5D_CHUNK_CACHE_W0_DEFAULT     (-1.0)
  |  |  ------------------
  ------------------
  194|      1|    H5D_vds_view_t virtual_view = H5D_ACS_VDS_VIEW_DEF;       /* Default VDS view option */
  ------------------
  |  |   62|      1|#define H5D_ACS_VDS_VIEW_DEF  H5D_VDS_LAST_AVAILABLE
  ------------------
  195|      1|    hsize_t        printf_gap   = H5D_ACS_VDS_PRINTF_GAP_DEF; /* Default VDS printf gap */
  ------------------
  |  |   67|      1|#define H5D_ACS_VDS_PRINTF_GAP_DEF  (hsize_t)0
  ------------------
  196|      1|    herr_t         ret_value    = SUCCEED;                    /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  197|       |
  198|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
  199|       |
  200|       |    /* Register the size of raw data chunk cache (elements) */
  201|      1|    if (H5P__register_real(pclass, H5D_ACS_DATA_CACHE_NUM_SLOTS_NAME, H5D_ACS_DATA_CACHE_NUM_SLOTS_SIZE,
  ------------------
  |  |   49|      1|#define H5D_ACS_DATA_CACHE_NUM_SLOTS_NAME "rdcc_nslots"          /* Size of raw data chunk cache(slots) */
  ------------------
                  if (H5P__register_real(pclass, H5D_ACS_DATA_CACHE_NUM_SLOTS_NAME, H5D_ACS_DATA_CACHE_NUM_SLOTS_SIZE,
  ------------------
  |  |   46|      1|#define H5D_ACS_DATA_CACHE_NUM_SLOTS_SIZE sizeof(size_t)
  ------------------
  |  Branch (201:9): [True: 0, False: 1]
  ------------------
  202|      1|                           &rdcc_nslots, NULL, NULL, NULL, H5D_ACS_DATA_CACHE_NUM_SLOTS_ENC,
  ------------------
  |  |   48|      1|#define H5D_ACS_DATA_CACHE_NUM_SLOTS_ENC  H5P__encode_chunk_cache_nslots
  ------------------
  203|      1|                           H5D_ACS_DATA_CACHE_NUM_SLOTS_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |   49|      1|#define H5D_ACS_DATA_CACHE_NUM_SLOTS_DEC  H5P__decode_chunk_cache_nslots
  ------------------
  204|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  205|       |
  206|       |    /* Register the size of raw data chunk cache(bytes) */
  207|      1|    if (H5P__register_real(pclass, H5D_ACS_DATA_CACHE_BYTE_SIZE_NAME, H5D_ACS_DATA_CACHE_BYTE_SIZE_SIZE,
  ------------------
  |  |   50|      1|#define H5D_ACS_DATA_CACHE_BYTE_SIZE_NAME "rdcc_nbytes"          /* Size of raw data chunk cache(bytes) */
  ------------------
                  if (H5P__register_real(pclass, H5D_ACS_DATA_CACHE_BYTE_SIZE_NAME, H5D_ACS_DATA_CACHE_BYTE_SIZE_SIZE,
  ------------------
  |  |   51|      1|#define H5D_ACS_DATA_CACHE_BYTE_SIZE_SIZE sizeof(size_t)
  ------------------
  |  Branch (207:9): [True: 0, False: 1]
  ------------------
  208|      1|                           &rdcc_nbytes, NULL, NULL, NULL, H5D_ACS_DATA_CACHE_BYTE_SIZE_ENC,
  ------------------
  |  |   53|      1|#define H5D_ACS_DATA_CACHE_BYTE_SIZE_ENC  H5P__encode_chunk_cache_nbytes
  ------------------
  209|      1|                           H5D_ACS_DATA_CACHE_BYTE_SIZE_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |   54|      1|#define H5D_ACS_DATA_CACHE_BYTE_SIZE_DEC  H5P__decode_chunk_cache_nbytes
  ------------------
  210|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  211|       |
  212|       |    /* Register the preemption for reading chunks */
  213|      1|    if (H5P__register_real(pclass, H5D_ACS_PREEMPT_READ_CHUNKS_NAME, H5D_ACS_PREEMPT_READ_CHUNKS_SIZE,
  ------------------
  |  |   51|      1|#define H5D_ACS_PREEMPT_READ_CHUNKS_NAME  "rdcc_w0"              /* Preemption read chunks first */
  ------------------
                  if (H5P__register_real(pclass, H5D_ACS_PREEMPT_READ_CHUNKS_NAME, H5D_ACS_PREEMPT_READ_CHUNKS_SIZE,
  ------------------
  |  |   56|      1|#define H5D_ACS_PREEMPT_READ_CHUNKS_SIZE sizeof(double)
  ------------------
  |  Branch (213:9): [True: 0, False: 1]
  ------------------
  214|      1|                           &rdcc_w0, NULL, NULL, NULL, H5D_ACS_PREEMPT_READ_CHUNKS_ENC,
  ------------------
  |  |   58|      1|#define H5D_ACS_PREEMPT_READ_CHUNKS_ENC  H5P__encode_double
  ------------------
  215|      1|                           H5D_ACS_PREEMPT_READ_CHUNKS_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |   59|      1|#define H5D_ACS_PREEMPT_READ_CHUNKS_DEC  H5P__decode_double
  ------------------
  216|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  217|       |
  218|       |    /* Register the VDS view option */
  219|      1|    if (H5P__register_real(pclass, H5D_ACS_VDS_VIEW_NAME, H5D_ACS_VDS_VIEW_SIZE, &virtual_view, NULL, NULL,
  ------------------
  |  |   52|      1|#define H5D_ACS_VDS_VIEW_NAME             "vds_view"             /* VDS view option */
  ------------------
                  if (H5P__register_real(pclass, H5D_ACS_VDS_VIEW_NAME, H5D_ACS_VDS_VIEW_SIZE, &virtual_view, NULL, NULL,
  ------------------
  |  |   61|      1|#define H5D_ACS_VDS_VIEW_SIZE sizeof(H5D_vds_view_t)
  ------------------
  |  Branch (219:9): [True: 0, False: 1]
  ------------------
  220|      1|                           NULL, H5D_ACS_VDS_VIEW_ENC, H5D_ACS_VDS_VIEW_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |   63|      1|#define H5D_ACS_VDS_VIEW_ENC  H5P__dacc_vds_view_enc
  ------------------
                                         NULL, H5D_ACS_VDS_VIEW_ENC, H5D_ACS_VDS_VIEW_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |   64|      1|#define H5D_ACS_VDS_VIEW_DEC  H5P__dacc_vds_view_dec
  ------------------
  221|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  222|       |
  223|       |    /* Register the VDS printf gap */
  224|      1|    if (H5P__register_real(pclass, H5D_ACS_VDS_PRINTF_GAP_NAME, H5D_ACS_VDS_PRINTF_GAP_SIZE, &printf_gap,
  ------------------
  |  |   53|      1|#define H5D_ACS_VDS_PRINTF_GAP_NAME       "vds_printf_gap"       /* VDS printf gap size */
  ------------------
                  if (H5P__register_real(pclass, H5D_ACS_VDS_PRINTF_GAP_NAME, H5D_ACS_VDS_PRINTF_GAP_SIZE, &printf_gap,
  ------------------
  |  |   66|      1|#define H5D_ACS_VDS_PRINTF_GAP_SIZE sizeof(hsize_t)
  ------------------
  |  Branch (224:9): [True: 0, False: 1]
  ------------------
  225|      1|                           NULL, NULL, NULL, H5D_ACS_VDS_PRINTF_GAP_ENC, H5D_ACS_VDS_PRINTF_GAP_DEC, NULL,
  ------------------
  |  |   68|      1|#define H5D_ACS_VDS_PRINTF_GAP_ENC  H5P__encode_hsize_t
  ------------------
                                         NULL, NULL, NULL, H5D_ACS_VDS_PRINTF_GAP_ENC, H5D_ACS_VDS_PRINTF_GAP_DEC, NULL,
  ------------------
  |  |   69|      1|#define H5D_ACS_VDS_PRINTF_GAP_DEC  H5P__decode_hsize_t
  ------------------
  226|      1|                           NULL, NULL, NULL) < 0)
  227|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  228|       |
  229|       |    /* Register property for vds prefix */
  230|      1|    if (H5P__register_real(pclass, H5D_ACS_VDS_PREFIX_NAME, H5D_ACS_VDS_PREFIX_SIZE, &H5D_def_vds_prefix_g,
  ------------------
  |  |   54|      1|#define H5D_ACS_VDS_PREFIX_NAME           "vds_prefix"           /* VDS file prefix */
  ------------------
                  if (H5P__register_real(pclass, H5D_ACS_VDS_PREFIX_NAME, H5D_ACS_VDS_PREFIX_SIZE, &H5D_def_vds_prefix_g,
  ------------------
  |  |   71|      1|#define H5D_ACS_VDS_PREFIX_SIZE  sizeof(char *)
  ------------------
  |  Branch (230:9): [True: 0, False: 1]
  ------------------
  231|      1|                           NULL, H5D_ACS_VDS_PREFIX_SET, H5D_ACS_VDS_PREFIX_GET, H5D_ACS_VDS_PREFIX_ENC,
  ------------------
  |  |   73|      1|#define H5D_ACS_VDS_PREFIX_SET   H5P__dapl_vds_file_pref_set
  ------------------
                                         NULL, H5D_ACS_VDS_PREFIX_SET, H5D_ACS_VDS_PREFIX_GET, H5D_ACS_VDS_PREFIX_ENC,
  ------------------
  |  |   74|      1|#define H5D_ACS_VDS_PREFIX_GET   H5P__dapl_vds_file_pref_get
  ------------------
                                         NULL, H5D_ACS_VDS_PREFIX_SET, H5D_ACS_VDS_PREFIX_GET, H5D_ACS_VDS_PREFIX_ENC,
  ------------------
  |  |   75|      1|#define H5D_ACS_VDS_PREFIX_ENC   H5P__dapl_vds_file_pref_enc
  ------------------
  232|      1|                           H5D_ACS_VDS_PREFIX_DEC, H5D_ACS_VDS_PREFIX_DEL, H5D_ACS_VDS_PREFIX_COPY,
  ------------------
  |  |   76|      1|#define H5D_ACS_VDS_PREFIX_DEC   H5P__dapl_vds_file_pref_dec
  ------------------
                                         H5D_ACS_VDS_PREFIX_DEC, H5D_ACS_VDS_PREFIX_DEL, H5D_ACS_VDS_PREFIX_COPY,
  ------------------
  |  |   77|      1|#define H5D_ACS_VDS_PREFIX_DEL   H5P__dapl_vds_file_pref_del
  ------------------
                                         H5D_ACS_VDS_PREFIX_DEC, H5D_ACS_VDS_PREFIX_DEL, H5D_ACS_VDS_PREFIX_COPY,
  ------------------
  |  |   78|      1|#define H5D_ACS_VDS_PREFIX_COPY  H5P__dapl_vds_file_pref_copy
  ------------------
  233|      1|                           H5D_ACS_VDS_PREFIX_CMP, H5D_ACS_VDS_PREFIX_CLOSE) < 0)
  ------------------
  |  |   79|      1|#define H5D_ACS_VDS_PREFIX_CMP   H5P__dapl_vds_file_pref_cmp
  ------------------
                                         H5D_ACS_VDS_PREFIX_CMP, H5D_ACS_VDS_PREFIX_CLOSE) < 0)
  ------------------
  |  |   80|      1|#define H5D_ACS_VDS_PREFIX_CLOSE H5P__dapl_vds_file_pref_close
  ------------------
  234|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  235|       |
  236|       |    /* Register info for append flush */
  237|       |    /* (Note: this property should not have an encode/decode callback -QAK) */
  238|      1|    if (H5P__register_real(pclass, H5D_ACS_APPEND_FLUSH_NAME, H5D_ACS_APPEND_FLUSH_SIZE,
  ------------------
  |  |   55|      1|#define H5D_ACS_APPEND_FLUSH_NAME         "append_flush"         /* Append flush actions */
  ------------------
                  if (H5P__register_real(pclass, H5D_ACS_APPEND_FLUSH_NAME, H5D_ACS_APPEND_FLUSH_SIZE,
  ------------------
  |  |   82|      1|#define H5D_ACS_APPEND_FLUSH_SIZE sizeof(H5D_append_flush_t)
  ------------------
  |  Branch (238:9): [True: 0, False: 1]
  ------------------
  239|      1|                           &H5D_def_append_flush_g, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
  240|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  241|       |
  242|       |    /* Register property for external file prefix */
  243|      1|    if (H5P__register_real(pclass, H5D_ACS_EFILE_PREFIX_NAME, H5D_ACS_EFILE_PREFIX_SIZE,
  ------------------
  |  |   56|      1|#define H5D_ACS_EFILE_PREFIX_NAME         "external file prefix" /* External file prefix */
  ------------------
                  if (H5P__register_real(pclass, H5D_ACS_EFILE_PREFIX_NAME, H5D_ACS_EFILE_PREFIX_SIZE,
  ------------------
  |  |   89|      1|#define H5D_ACS_EFILE_PREFIX_SIZE  sizeof(char *)
  ------------------
  |  Branch (243:9): [True: 0, False: 1]
  ------------------
  244|      1|                           &H5D_def_efile_prefix_g, NULL, H5D_ACS_EFILE_PREFIX_SET, H5D_ACS_EFILE_PREFIX_GET,
  ------------------
  |  |   91|      1|#define H5D_ACS_EFILE_PREFIX_SET   H5P__dapl_efile_pref_set
  ------------------
                                         &H5D_def_efile_prefix_g, NULL, H5D_ACS_EFILE_PREFIX_SET, H5D_ACS_EFILE_PREFIX_GET,
  ------------------
  |  |   92|      1|#define H5D_ACS_EFILE_PREFIX_GET   H5P__dapl_efile_pref_get
  ------------------
  245|      1|                           H5D_ACS_EFILE_PREFIX_ENC, H5D_ACS_EFILE_PREFIX_DEC, H5D_ACS_EFILE_PREFIX_DEL,
  ------------------
  |  |   93|      1|#define H5D_ACS_EFILE_PREFIX_ENC   H5P__dapl_efile_pref_enc
  ------------------
                                         H5D_ACS_EFILE_PREFIX_ENC, H5D_ACS_EFILE_PREFIX_DEC, H5D_ACS_EFILE_PREFIX_DEL,
  ------------------
  |  |   94|      1|#define H5D_ACS_EFILE_PREFIX_DEC   H5P__dapl_efile_pref_dec
  ------------------
                                         H5D_ACS_EFILE_PREFIX_ENC, H5D_ACS_EFILE_PREFIX_DEC, H5D_ACS_EFILE_PREFIX_DEL,
  ------------------
  |  |   95|      1|#define H5D_ACS_EFILE_PREFIX_DEL   H5P__dapl_efile_pref_del
  ------------------
  246|      1|                           H5D_ACS_EFILE_PREFIX_COPY, H5D_ACS_EFILE_PREFIX_CMP,
  ------------------
  |  |   96|      1|#define H5D_ACS_EFILE_PREFIX_COPY  H5P__dapl_efile_pref_copy
  ------------------
                                         H5D_ACS_EFILE_PREFIX_COPY, H5D_ACS_EFILE_PREFIX_CMP,
  ------------------
  |  |   97|      1|#define H5D_ACS_EFILE_PREFIX_CMP   H5P__dapl_efile_pref_cmp
  ------------------
  247|      1|                           H5D_ACS_EFILE_PREFIX_CLOSE) < 0)
  ------------------
  |  |   98|      1|#define H5D_ACS_EFILE_PREFIX_CLOSE H5P__dapl_efile_pref_close
  ------------------
  248|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  249|       |
  250|      1|done:
  251|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  252|      1|} /* end H5P__dacc_reg_prop() */
H5Pdapl.c:H5P__dapl_vds_file_pref_copy:
  434|     55|{
  435|     55|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     55|    {                                                                                                        \
  |  | 1467|     55|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     55|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     55|        {
  ------------------
  436|       |
  437|     55|    assert(value);
  438|       |
  439|     55|    *(char **)value = H5MM_xstrdup(*(const char **)value);
  440|       |
  441|     55|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     55|    ;                                                                                                        \
  |  | 1573|     55|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     55|    return (ret_value);                                                                                      \
  |  | 1575|     55|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  442|     55|} /* end H5P__dapl_vds_file_pref_copy() */
H5Pdapl.c:H5P__dapl_vds_file_pref_close:
  484|     56|{
  485|     56|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     56|    {                                                                                                        \
  |  | 1467|     56|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     56|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     56|        {
  ------------------
  486|       |
  487|     56|    assert(value);
  488|       |
  489|     56|    H5MM_xfree(*(void **)value);
  490|       |
  491|     56|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     56|    ;                                                                                                        \
  |  | 1573|     56|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     56|    return (ret_value);                                                                                      \
  |  | 1575|     56|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  492|     56|} /* end H5P__dapl_vds_file_pref_close() */
H5Pdapl.c:H5P__dapl_efile_pref_copy:
  674|     55|{
  675|     55|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     55|    {                                                                                                        \
  |  | 1467|     55|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     55|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     55|        {
  ------------------
  676|       |
  677|     55|    assert(value);
  678|       |
  679|     55|    *(char **)value = H5MM_xstrdup(*(const char **)value);
  680|       |
  681|     55|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     55|    ;                                                                                                        \
  |  | 1573|     55|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     55|    return (ret_value);                                                                                      \
  |  | 1575|     55|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  682|     55|} /* end H5P__dapl_efile_pref_copy() */
H5Pdapl.c:H5P__dapl_efile_pref_close:
  724|     56|{
  725|     56|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     56|    {                                                                                                        \
  |  | 1467|     56|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     56|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     56|        {
  ------------------
  726|       |
  727|     56|    assert(value);
  728|       |
  729|     56|    H5MM_xfree(*(void **)value);
  730|       |
  731|     56|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     56|    ;                                                                                                        \
  |  | 1573|     56|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     56|    return (ret_value);                                                                                      \
  |  | 1575|     56|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  732|     56|} /* end H5P__dapl_efile_pref_close() */

H5P_fill_value_cmp:
 1253|     52|{
 1254|     52|    const H5O_fill_t *fill1 = (const H5O_fill_t *)_fill1, /* Create local aliases for values */
 1255|     52|        *fill2              = (const H5O_fill_t *)_fill2;
 1256|     52|    int    cmp_value;     /* Value from comparison */
 1257|     52|    herr_t ret_value = 0; /* Return value */
 1258|       |
 1259|     52|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|     52|    {                                                                                                        \
  |  | 1425|     52|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|     52|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|     52|        {
  ------------------
 1260|       |
 1261|       |    /* Sanity check */
 1262|     52|    assert(fill1);
 1263|     52|    assert(fill2);
 1264|     52|    assert(size == sizeof(H5O_fill_t));
 1265|       |
 1266|       |    /* Check the size of fill values */
 1267|     52|    if (fill1->size < fill2->size)
  ------------------
  |  Branch (1267:9): [True: 9, False: 43]
  ------------------
 1268|      9|        HGOTO_DONE(-1);
  ------------------
  |  |   91|      9|    do {                                                                                                     \
  |  |   92|      9|        ret_value = ret_val;                                                                                 \
  |  |   93|      9|        goto done;                                                                                           \
  |  |   94|      9|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1269|     43|    if (fill1->size > fill2->size)
  ------------------
  |  Branch (1269:9): [True: 0, False: 43]
  ------------------
 1270|      0|        HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1271|       |
 1272|       |    /* Check the types of the fill values */
 1273|     43|    if (fill1->type == NULL && fill2->type != NULL)
  ------------------
  |  Branch (1273:9): [True: 43, False: 0]
  |  Branch (1273:32): [True: 0, False: 43]
  ------------------
 1274|      0|        HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1275|     43|    if (fill1->type != NULL && fill2->type == NULL)
  ------------------
  |  Branch (1275:9): [True: 0, False: 43]
  |  Branch (1275:32): [True: 0, False: 0]
  ------------------
 1276|      0|        HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1277|     43|    if (fill1->type != NULL)
  ------------------
  |  Branch (1277:9): [True: 0, False: 43]
  ------------------
 1278|      0|        if ((cmp_value = H5T_cmp(fill1->type, fill2->type, false)) != 0)
  ------------------
  |  Branch (1278:13): [True: 0, False: 0]
  ------------------
 1279|      0|            HGOTO_DONE(cmp_value);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1280|       |
 1281|       |    /* Check the fill values in the buffers */
 1282|     43|    if (fill1->buf == NULL && fill2->buf != NULL)
  ------------------
  |  Branch (1282:9): [True: 43, False: 0]
  |  Branch (1282:31): [True: 0, False: 43]
  ------------------
 1283|      0|        HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1284|     43|    if (fill1->buf != NULL && fill2->buf == NULL)
  ------------------
  |  Branch (1284:9): [True: 0, False: 43]
  |  Branch (1284:31): [True: 0, False: 0]
  ------------------
 1285|      0|        HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1286|     43|    if (fill1->buf != NULL)
  ------------------
  |  Branch (1286:9): [True: 0, False: 43]
  ------------------
 1287|      0|        if ((cmp_value = memcmp(fill1->buf, fill2->buf, (size_t)fill1->size)) != 0)
  ------------------
  |  Branch (1287:13): [True: 0, False: 0]
  ------------------
 1288|      0|            HGOTO_DONE(cmp_value);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1289|       |
 1290|       |    /* Check the allocation time for the fill values */
 1291|     43|    if (fill1->alloc_time < fill2->alloc_time)
  ------------------
  |  Branch (1291:9): [True: 0, False: 43]
  ------------------
 1292|      0|        HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1293|     43|    if (fill1->alloc_time > fill2->alloc_time)
  ------------------
  |  Branch (1293:9): [True: 43, False: 0]
  ------------------
 1294|     43|        HGOTO_DONE(1);
  ------------------
  |  |   91|     43|    do {                                                                                                     \
  |  |   92|     43|        ret_value = ret_val;                                                                                 \
  |  |   93|     43|        goto done;                                                                                           \
  |  |   94|     43|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1295|       |
 1296|       |    /* Check the fill time for the fill values */
 1297|      0|    if (fill1->fill_time < fill2->fill_time)
  ------------------
  |  Branch (1297:9): [True: 0, False: 0]
  ------------------
 1298|      0|        HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1299|      0|    if (fill1->fill_time > fill2->fill_time)
  ------------------
  |  Branch (1299:9): [True: 0, False: 0]
  ------------------
 1300|      0|        HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1301|       |
 1302|     52|done:
 1303|     52|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     52|    ;                                                                                                        \
  |  | 1573|     52|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     52|    return (ret_value);                                                                                      \
  |  | 1575|     52|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1304|      0|} /* end H5P_fill_value_cmp() */
H5Pdcpl.c:H5P__dcrt_reg_prop:
  298|      1|{
  299|      1|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  300|       |
  301|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
  302|       |
  303|       |    /* Register the storage layout property */
  304|      1|    if (H5P__register_real(pclass, H5D_CRT_LAYOUT_NAME, H5D_CRT_LAYOUT_SIZE, &H5D_def_layout_g, NULL,
  ------------------
  |  |   42|      1|#define H5D_CRT_LAYOUT_NAME            "layout"           /* Storage layout */
  ------------------
                  if (H5P__register_real(pclass, H5D_CRT_LAYOUT_NAME, H5D_CRT_LAYOUT_SIZE, &H5D_def_layout_g, NULL,
  ------------------
  |  |  145|      1|#define H5D_CRT_LAYOUT_SIZE  sizeof(H5O_layout_t)
  ------------------
  |  Branch (304:9): [True: 0, False: 1]
  ------------------
  305|      1|                           H5D_CRT_LAYOUT_SET, H5D_CRT_LAYOUT_GET, H5D_CRT_LAYOUT_ENC, H5D_CRT_LAYOUT_DEC,
  ------------------
  |  |  147|      1|#define H5D_CRT_LAYOUT_SET   H5P__dcrt_layout_set
  ------------------
                                         H5D_CRT_LAYOUT_SET, H5D_CRT_LAYOUT_GET, H5D_CRT_LAYOUT_ENC, H5D_CRT_LAYOUT_DEC,
  ------------------
  |  |  148|      1|#define H5D_CRT_LAYOUT_GET   H5P__dcrt_layout_get
  ------------------
                                         H5D_CRT_LAYOUT_SET, H5D_CRT_LAYOUT_GET, H5D_CRT_LAYOUT_ENC, H5D_CRT_LAYOUT_DEC,
  ------------------
  |  |  149|      1|#define H5D_CRT_LAYOUT_ENC   H5P__dcrt_layout_enc
  ------------------
                                         H5D_CRT_LAYOUT_SET, H5D_CRT_LAYOUT_GET, H5D_CRT_LAYOUT_ENC, H5D_CRT_LAYOUT_DEC,
  ------------------
  |  |  150|      1|#define H5D_CRT_LAYOUT_DEC   H5P__dcrt_layout_dec
  ------------------
  306|      1|                           H5D_CRT_LAYOUT_DEL, H5D_CRT_LAYOUT_COPY, H5D_CRT_LAYOUT_CMP,
  ------------------
  |  |  151|      1|#define H5D_CRT_LAYOUT_DEL   H5P__dcrt_layout_del
  ------------------
                                         H5D_CRT_LAYOUT_DEL, H5D_CRT_LAYOUT_COPY, H5D_CRT_LAYOUT_CMP,
  ------------------
  |  |  152|      1|#define H5D_CRT_LAYOUT_COPY  H5P__dcrt_layout_copy
  ------------------
                                         H5D_CRT_LAYOUT_DEL, H5D_CRT_LAYOUT_COPY, H5D_CRT_LAYOUT_CMP,
  ------------------
  |  |  153|      1|#define H5D_CRT_LAYOUT_CMP   H5P__dcrt_layout_cmp
  ------------------
  307|      1|                           H5D_CRT_LAYOUT_CLOSE) < 0)
  ------------------
  |  |  154|      1|#define H5D_CRT_LAYOUT_CLOSE H5P__dcrt_layout_close
  ------------------
  308|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  309|       |
  310|       |    /* Register the fill value property */
  311|      1|    if (H5P__register_real(pclass, H5D_CRT_FILL_VALUE_NAME, H5D_CRT_FILL_VALUE_SIZE, &H5D_def_fill_g, NULL,
  ------------------
  |  |   43|      1|#define H5D_CRT_FILL_VALUE_NAME        "fill_value"       /* Fill value */
  ------------------
                  if (H5P__register_real(pclass, H5D_CRT_FILL_VALUE_NAME, H5D_CRT_FILL_VALUE_SIZE, &H5D_def_fill_g, NULL,
  ------------------
  |  |  157|      1|#define H5D_CRT_FILL_VALUE_SIZE sizeof(H5O_fill_t)
  ------------------
  |  Branch (311:9): [True: 0, False: 1]
  ------------------
  312|      1|                           H5D_CRT_FILL_VALUE_SET, H5D_CRT_FILL_VALUE_GET, H5D_CRT_FILL_VALUE_ENC,
  ------------------
  |  |  163|      1|#define H5D_CRT_FILL_VALUE_SET   H5P__dcrt_fill_value_set
  ------------------
                                         H5D_CRT_FILL_VALUE_SET, H5D_CRT_FILL_VALUE_GET, H5D_CRT_FILL_VALUE_ENC,
  ------------------
  |  |  164|      1|#define H5D_CRT_FILL_VALUE_GET   H5P__dcrt_fill_value_get
  ------------------
                                         H5D_CRT_FILL_VALUE_SET, H5D_CRT_FILL_VALUE_GET, H5D_CRT_FILL_VALUE_ENC,
  ------------------
  |  |  165|      1|#define H5D_CRT_FILL_VALUE_ENC   H5P__dcrt_fill_value_enc
  ------------------
  313|      1|                           H5D_CRT_FILL_VALUE_DEC, H5D_CRT_FILL_VALUE_DEL, H5D_CRT_FILL_VALUE_COPY,
  ------------------
  |  |  166|      1|#define H5D_CRT_FILL_VALUE_DEC   H5P__dcrt_fill_value_dec
  ------------------
                                         H5D_CRT_FILL_VALUE_DEC, H5D_CRT_FILL_VALUE_DEL, H5D_CRT_FILL_VALUE_COPY,
  ------------------
  |  |  167|      1|#define H5D_CRT_FILL_VALUE_DEL   H5P__dcrt_fill_value_del
  ------------------
                                         H5D_CRT_FILL_VALUE_DEC, H5D_CRT_FILL_VALUE_DEL, H5D_CRT_FILL_VALUE_COPY,
  ------------------
  |  |  168|      1|#define H5D_CRT_FILL_VALUE_COPY  H5P__dcrt_fill_value_copy
  ------------------
  314|      1|                           H5D_CRT_FILL_VALUE_CMP, H5D_CRT_FILL_VALUE_CLOSE) < 0)
  ------------------
  |  |  169|      1|#define H5D_CRT_FILL_VALUE_CMP   H5P_fill_value_cmp
  ------------------
                                         H5D_CRT_FILL_VALUE_CMP, H5D_CRT_FILL_VALUE_CLOSE) < 0)
  ------------------
  |  |  170|      1|#define H5D_CRT_FILL_VALUE_CLOSE H5P__dcrt_fill_value_close
  ------------------
  315|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  316|       |
  317|       |    /* Register the space allocation time state property */
  318|      1|    if (H5P__register_real(pclass, H5D_CRT_ALLOC_TIME_STATE_NAME, H5D_CRT_ALLOC_TIME_STATE_SIZE,
  ------------------
  |  |   44|      1|#define H5D_CRT_ALLOC_TIME_STATE_NAME  "alloc_time_state" /* Space allocation time state */
  ------------------
                  if (H5P__register_real(pclass, H5D_CRT_ALLOC_TIME_STATE_NAME, H5D_CRT_ALLOC_TIME_STATE_SIZE,
  ------------------
  |  |  172|      1|#define H5D_CRT_ALLOC_TIME_STATE_SIZE sizeof(unsigned)
  ------------------
  |  Branch (318:9): [True: 0, False: 1]
  ------------------
  319|      1|                           &H5D_def_alloc_time_state_g, NULL, NULL, NULL, H5D_CRT_ALLOC_TIME_STATE_ENC,
  ------------------
  |  |  174|      1|#define H5D_CRT_ALLOC_TIME_STATE_ENC  H5P__encode_unsigned
  ------------------
  320|      1|                           H5D_CRT_ALLOC_TIME_STATE_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |  175|      1|#define H5D_CRT_ALLOC_TIME_STATE_DEC  H5P__decode_unsigned
  ------------------
  321|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  322|       |
  323|       |    /* Register the external file list property */
  324|      1|    if (H5P__register_real(pclass, H5D_CRT_EXT_FILE_LIST_NAME, H5D_CRT_EXT_FILE_LIST_SIZE, &H5D_def_efl_g,
  ------------------
  |  |   45|      1|#define H5D_CRT_EXT_FILE_LIST_NAME     "efl"              /* External file list */
  ------------------
                  if (H5P__register_real(pclass, H5D_CRT_EXT_FILE_LIST_NAME, H5D_CRT_EXT_FILE_LIST_SIZE, &H5D_def_efl_g,
  ------------------
  |  |  177|      1|#define H5D_CRT_EXT_FILE_LIST_SIZE sizeof(H5O_efl_t)
  ------------------
  |  Branch (324:9): [True: 0, False: 1]
  ------------------
  325|      1|                           NULL, H5D_CRT_EXT_FILE_LIST_SET, H5D_CRT_EXT_FILE_LIST_GET,
  ------------------
  |  |  182|      1|#define H5D_CRT_EXT_FILE_LIST_SET   H5P__dcrt_ext_file_list_set
  ------------------
                                         NULL, H5D_CRT_EXT_FILE_LIST_SET, H5D_CRT_EXT_FILE_LIST_GET,
  ------------------
  |  |  183|      1|#define H5D_CRT_EXT_FILE_LIST_GET   H5P__dcrt_ext_file_list_get
  ------------------
  326|      1|                           H5D_CRT_EXT_FILE_LIST_ENC, H5D_CRT_EXT_FILE_LIST_DEC, H5D_CRT_EXT_FILE_LIST_DEL,
  ------------------
  |  |  184|      1|#define H5D_CRT_EXT_FILE_LIST_ENC   H5P__dcrt_ext_file_list_enc
  ------------------
                                         H5D_CRT_EXT_FILE_LIST_ENC, H5D_CRT_EXT_FILE_LIST_DEC, H5D_CRT_EXT_FILE_LIST_DEL,
  ------------------
  |  |  185|      1|#define H5D_CRT_EXT_FILE_LIST_DEC   H5P__dcrt_ext_file_list_dec
  ------------------
                                         H5D_CRT_EXT_FILE_LIST_ENC, H5D_CRT_EXT_FILE_LIST_DEC, H5D_CRT_EXT_FILE_LIST_DEL,
  ------------------
  |  |  186|      1|#define H5D_CRT_EXT_FILE_LIST_DEL   H5P__dcrt_ext_file_list_del
  ------------------
  327|      1|                           H5D_CRT_EXT_FILE_LIST_COPY, H5D_CRT_EXT_FILE_LIST_CMP,
  ------------------
  |  |  187|      1|#define H5D_CRT_EXT_FILE_LIST_COPY  H5P__dcrt_ext_file_list_copy
  ------------------
                                         H5D_CRT_EXT_FILE_LIST_COPY, H5D_CRT_EXT_FILE_LIST_CMP,
  ------------------
  |  |  188|      1|#define H5D_CRT_EXT_FILE_LIST_CMP   H5P__dcrt_ext_file_list_cmp
  ------------------
  328|      1|                           H5D_CRT_EXT_FILE_LIST_CLOSE) < 0)
  ------------------
  |  |  189|      1|#define H5D_CRT_EXT_FILE_LIST_CLOSE H5P__dcrt_ext_file_list_close
  ------------------
  329|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  330|       |
  331|       |    /* Register the object header minimization property */
  332|      1|    if (H5P__register_real(pclass, H5D_CRT_MIN_DSET_HDR_SIZE_NAME, H5D_CRT_MIN_DSET_HDR_SIZE_SIZE,
  ------------------
  |  |   46|      1|#define H5D_CRT_MIN_DSET_HDR_SIZE_NAME "dset_oh_minimize" /* Minimize object header */
  ------------------
                  if (H5P__register_real(pclass, H5D_CRT_MIN_DSET_HDR_SIZE_NAME, H5D_CRT_MIN_DSET_HDR_SIZE_SIZE,
  ------------------
  |  |  191|      1|#define H5D_CRT_MIN_DSET_HDR_SIZE_SIZE sizeof(bool)
  ------------------
  |  Branch (332:9): [True: 0, False: 1]
  ------------------
  333|      1|                           &H5O_ohdr_min_g, NULL, NULL, NULL, H5D_CRT_MIN_DSET_HDR_SIZE_ENC,
  ------------------
  |  |  193|      1|#define H5D_CRT_MIN_DSET_HDR_SIZE_ENC  H5P__encode_bool
  ------------------
  334|      1|                           H5D_CRT_MIN_DSET_HDR_SIZE_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |  194|      1|#define H5D_CRT_MIN_DSET_HDR_SIZE_DEC  H5P__decode_bool
  ------------------
  335|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  336|       |
  337|      1|done:
  338|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  339|      1|} /* end H5P__dcrt_reg_prop() */
H5Pdcpl.c:H5P__dcrt_layout_set:
  354|     52|{
  355|     52|    H5O_layout_t *layout = (H5O_layout_t *)value; /* Create local aliases for values */
  356|     52|    H5O_layout_t  new_layout;
  357|     52|    herr_t        ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     52|#define SUCCEED 0
  ------------------
  358|       |
  359|     52|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     52|    {                                                                                                        \
  |  | 1461|     52|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     52|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     52|                                                                                                             \
  |  |  |  | 1267|     52|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     52|        {
  ------------------
  360|       |
  361|       |    /* Sanity check */
  362|     52|    assert(value);
  363|       |
  364|       |    /* Make copy of layout */
  365|     52|    if (NULL == H5O_msg_copy(H5O_LAYOUT_ID, layout, &new_layout))
  ------------------
  |  |  214|     52|#define H5O_LAYOUT_ID      0x0008 /* Data Layout Message.  */
  ------------------
  |  Branch (365:9): [True: 0, False: 52]
  ------------------
  366|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, FAIL, "can't copy layout");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  367|       |
  368|       |    /* Copy new layout message over old one */
  369|     52|    *layout = new_layout;
  370|       |
  371|     52|done:
  372|     52|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     52|    ;                                                                                                        \
  |  | 1573|     52|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     52|    return (ret_value);                                                                                      \
  |  | 1575|     52|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  373|     52|} /* end H5P__dcrt_layout_set() */
H5Pdcpl.c:H5P__dcrt_layout_get:
  388|      1|{
  389|      1|    H5O_layout_t *layout = (H5O_layout_t *)value; /* Create local aliases for values */
  390|      1|    H5O_layout_t  new_layout;
  391|      1|    herr_t        ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  392|       |
  393|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
  394|       |
  395|       |    /* Sanity check */
  396|      1|    assert(value);
  397|       |
  398|       |    /* Make copy of layout */
  399|      1|    if (NULL == H5O_msg_copy(H5O_LAYOUT_ID, layout, &new_layout))
  ------------------
  |  |  214|      1|#define H5O_LAYOUT_ID      0x0008 /* Data Layout Message.  */
  ------------------
  |  Branch (399:9): [True: 0, False: 1]
  ------------------
  400|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, FAIL, "can't copy layout");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  401|       |
  402|       |    /* Copy new layout message over old one */
  403|      1|    *layout = new_layout;
  404|       |
  405|      1|done:
  406|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  407|      1|} /* end H5P__dcrt_layout_get() */
H5Pdcpl.c:H5P__dcrt_layout_del:
  750|     52|{
  751|     52|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     52|#define SUCCEED 0
  ------------------
  752|       |
  753|     52|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     52|    {                                                                                                        \
  |  | 1461|     52|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     52|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     52|                                                                                                             \
  |  |  |  | 1267|     52|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     52|        {
  ------------------
  754|       |
  755|       |    /* Sanity check */
  756|     52|    assert(value);
  757|       |
  758|       |    /* Reset the old layout */
  759|     52|    if (H5O_msg_reset(H5O_LAYOUT_ID, value) < 0)
  ------------------
  |  |  214|     52|#define H5O_LAYOUT_ID      0x0008 /* Data Layout Message.  */
  ------------------
  |  Branch (759:9): [True: 0, False: 52]
  ------------------
  760|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTRESET, FAIL, "can't release layout message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  761|       |
  762|     52|done:
  763|     52|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     52|    ;                                                                                                        \
  |  | 1573|     52|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     52|    return (ret_value);                                                                                      \
  |  | 1575|     52|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  764|     52|} /* end H5P__dcrt_layout_del() */
H5Pdcpl.c:H5P__dcrt_layout_copy:
  778|     92|{
  779|     92|    H5O_layout_t *layout = (H5O_layout_t *)value; /* Create local aliases for values */
  780|     92|    H5O_layout_t  new_layout;
  781|     92|    herr_t        ret_value = SUCCEED;
  ------------------
  |  |  283|     92|#define SUCCEED 0
  ------------------
  782|       |
  783|     92|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     92|    {                                                                                                        \
  |  | 1461|     92|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     92|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     92|                                                                                                             \
  |  |  |  | 1267|     92|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     92|        {
  ------------------
  784|       |
  785|     92|    assert(layout);
  786|       |
  787|       |    /* Make copy of layout */
  788|     92|    if (NULL == H5O_msg_copy(H5O_LAYOUT_ID, layout, &new_layout))
  ------------------
  |  |  214|     92|#define H5O_LAYOUT_ID      0x0008 /* Data Layout Message.  */
  ------------------
  |  Branch (788:9): [True: 0, False: 92]
  ------------------
  789|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, FAIL, "can't copy layout");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  790|       |
  791|       |    /* Set new layout message directly into property list */
  792|     92|    *layout = new_layout;
  793|       |
  794|     92|done:
  795|     92|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     92|    ;                                                                                                        \
  |  | 1573|     92|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     92|    return (ret_value);                                                                                      \
  |  | 1575|     92|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  796|     92|} /* end H5P__dcrt_layout_copy() */
H5Pdcpl.c:H5P__dcrt_layout_close:
  940|     93|{
  941|     93|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     93|#define SUCCEED 0
  ------------------
  942|       |
  943|     93|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     93|    {                                                                                                        \
  |  | 1461|     93|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     93|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     93|                                                                                                             \
  |  |  |  | 1267|     93|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     93|        {
  ------------------
  944|       |
  945|       |    /* Sanity check */
  946|     93|    assert(value);
  947|       |
  948|       |    /* Reset the old layout */
  949|     93|    if (H5O_msg_reset(H5O_LAYOUT_ID, value) < 0)
  ------------------
  |  |  214|     93|#define H5O_LAYOUT_ID      0x0008 /* Data Layout Message.  */
  ------------------
  |  Branch (949:9): [True: 0, False: 93]
  ------------------
  950|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTRESET, FAIL, "can't release layout message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  951|       |
  952|     93|done:
  953|     93|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     93|    ;                                                                                                        \
  |  | 1573|     93|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     93|    return (ret_value);                                                                                      \
  |  | 1575|     93|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  954|     93|} /* end H5P__dcrt_layout_close() */
H5Pdcpl.c:H5P__dcrt_fill_value_set:
  969|     52|{
  970|     52|    H5O_fill_t *fill = (H5O_fill_t *)value; /* Create local aliases for values */
  971|     52|    H5O_fill_t  new_fill;
  972|     52|    herr_t      ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     52|#define SUCCEED 0
  ------------------
  973|       |
  974|     52|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     52|    {                                                                                                        \
  |  | 1461|     52|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     52|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     52|                                                                                                             \
  |  |  |  | 1267|     52|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     52|        {
  ------------------
  975|       |
  976|       |    /* Sanity check */
  977|     52|    assert(value);
  978|       |
  979|       |    /* Make copy of fill value */
  980|     52|    if (NULL == H5O_msg_copy(H5O_FILL_ID, fill, &new_fill))
  ------------------
  |  |  210|     52|#define H5O_FILL_ID        0x0004 /* Fill Value Message. (Old)  */
  ------------------
  |  Branch (980:9): [True: 0, False: 52]
  ------------------
  981|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, FAIL, "can't copy fill value");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  982|       |
  983|       |    /* Copy new fill value message over old one */
  984|     52|    *fill = new_fill;
  985|       |
  986|     52|done:
  987|     52|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     52|    ;                                                                                                        \
  |  | 1573|     52|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     52|    return (ret_value);                                                                                      \
  |  | 1575|     52|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  988|     52|} /* end H5P__dcrt_fill_value_set() */
H5Pdcpl.c:H5P__dcrt_fill_value_get:
 1003|      1|{
 1004|      1|    H5O_fill_t *fill = (H5O_fill_t *)value; /* Create local aliases for values */
 1005|      1|    H5O_fill_t  new_fill;
 1006|      1|    herr_t      ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
 1007|       |
 1008|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
 1009|       |
 1010|       |    /* Sanity check */
 1011|      1|    assert(value);
 1012|       |
 1013|       |    /* Make copy of fill value */
 1014|      1|    if (NULL == H5O_msg_copy(H5O_FILL_ID, fill, &new_fill))
  ------------------
  |  |  210|      1|#define H5O_FILL_ID        0x0004 /* Fill Value Message. (Old)  */
  ------------------
  |  Branch (1014:9): [True: 0, False: 1]
  ------------------
 1015|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, FAIL, "can't copy fill value");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1016|       |
 1017|       |    /* Copy new fill value message over old one */
 1018|      1|    *fill = new_fill;
 1019|       |
 1020|      1|done:
 1021|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1022|      1|} /* end H5P__dcrt_fill_value_get() */
H5Pdcpl.c:H5P__dcrt_fill_value_del:
 1191|     52|{
 1192|     52|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     52|#define SUCCEED 0
  ------------------
 1193|       |
 1194|     52|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     52|    {                                                                                                        \
  |  | 1461|     52|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     52|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     52|                                                                                                             \
  |  |  |  | 1267|     52|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     52|        {
  ------------------
 1195|       |
 1196|       |    /* Sanity check */
 1197|     52|    assert(value);
 1198|       |
 1199|       |    /* Reset the old fill value message */
 1200|     52|    if (H5O_msg_reset(H5O_FILL_ID, value) < 0)
  ------------------
  |  |  210|     52|#define H5O_FILL_ID        0x0004 /* Fill Value Message. (Old)  */
  ------------------
  |  Branch (1200:9): [True: 0, False: 52]
  ------------------
 1201|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTRESET, FAIL, "can't release fill value message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1202|       |
 1203|     52|done:
 1204|     52|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     52|    ;                                                                                                        \
  |  | 1573|     52|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     52|    return (ret_value);                                                                                      \
  |  | 1575|     52|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1205|     52|} /* end H5P__dcrt_fill_value_del() */
H5Pdcpl.c:H5P__dcrt_fill_value_copy:
 1219|     92|{
 1220|     92|    H5O_fill_t *fill = (H5O_fill_t *)value; /* Create local aliases for values */
 1221|     92|    H5O_fill_t  new_fill;
 1222|     92|    herr_t      ret_value = SUCCEED;
  ------------------
  |  |  283|     92|#define SUCCEED 0
  ------------------
 1223|       |
 1224|     92|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     92|    {                                                                                                        \
  |  | 1461|     92|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     92|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     92|                                                                                                             \
  |  |  |  | 1267|     92|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     92|        {
  ------------------
 1225|       |
 1226|     92|    assert(fill);
 1227|       |
 1228|       |    /* Make copy of fill value message */
 1229|     92|    if (NULL == H5O_msg_copy(H5O_FILL_ID, fill, &new_fill))
  ------------------
  |  |  210|     92|#define H5O_FILL_ID        0x0004 /* Fill Value Message. (Old)  */
  ------------------
  |  Branch (1229:9): [True: 0, False: 92]
  ------------------
 1230|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, FAIL, "can't copy fill value");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1231|       |
 1232|       |    /* Set new fill value message directly into property list */
 1233|     92|    *fill = new_fill;
 1234|       |
 1235|     92|done:
 1236|     92|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     92|    ;                                                                                                        \
  |  | 1573|     92|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     92|    return (ret_value);                                                                                      \
  |  | 1575|     92|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1237|     92|} /* end H5P__dcrt_fill_value_copy() */
H5Pdcpl.c:H5P__dcrt_fill_value_close:
 1318|     93|{
 1319|     93|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     93|#define SUCCEED 0
  ------------------
 1320|       |
 1321|     93|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     93|    {                                                                                                        \
  |  | 1461|     93|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     93|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     93|                                                                                                             \
  |  |  |  | 1267|     93|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     93|        {
  ------------------
 1322|       |
 1323|       |    /* Sanity check */
 1324|     93|    assert(value);
 1325|       |
 1326|       |    /* Reset the old fill value message */
 1327|     93|    if (H5O_msg_reset(H5O_FILL_ID, value) < 0)
  ------------------
  |  |  210|     93|#define H5O_FILL_ID        0x0004 /* Fill Value Message. (Old)  */
  ------------------
  |  Branch (1327:9): [True: 0, False: 93]
  ------------------
 1328|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTRESET, FAIL, "can't release fill value message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1329|       |
 1330|     93|done:
 1331|     93|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     93|    ;                                                                                                        \
  |  | 1573|     93|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     93|    return (ret_value);                                                                                      \
  |  | 1575|     93|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1332|     93|} /* end H5P__dcrt_fill_value_close() */
H5Pdcpl.c:H5P__dcrt_ext_file_list_get:
 1381|      1|{
 1382|      1|    H5O_efl_t *efl = (H5O_efl_t *)value; /* Create local aliases for values */
 1383|      1|    H5O_efl_t  new_efl;
 1384|      1|    herr_t     ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
 1385|       |
 1386|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
 1387|       |
 1388|       |    /* Sanity check */
 1389|      1|    assert(value);
 1390|       |
 1391|       |    /* Make copy of external file list */
 1392|      1|    if (NULL == H5O_msg_copy(H5O_EFL_ID, efl, &new_efl))
  ------------------
  |  |  213|      1|#define H5O_EFL_ID         0x0007 /* External File List Message  */
  ------------------
  |  Branch (1392:9): [True: 0, False: 1]
  ------------------
 1393|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, FAIL, "can't copy external file list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1394|       |
 1395|       |    /* Copy new external file list message over old one */
 1396|      1|    *efl = new_efl;
 1397|       |
 1398|      1|done:
 1399|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1400|      1|} /* end H5P__dcrt_ext_file_list_get() */
H5Pdcpl.c:H5P__dcrt_ext_file_list_copy:
 1609|     92|{
 1610|     92|    H5O_efl_t *efl = (H5O_efl_t *)value; /* Create local aliases for values */
 1611|     92|    H5O_efl_t  new_efl;
 1612|     92|    herr_t     ret_value = SUCCEED;
  ------------------
  |  |  283|     92|#define SUCCEED 0
  ------------------
 1613|       |
 1614|     92|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     92|    {                                                                                                        \
  |  | 1461|     92|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     92|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     92|                                                                                                             \
  |  |  |  | 1267|     92|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     92|        {
  ------------------
 1615|       |
 1616|     92|    assert(efl);
 1617|       |
 1618|       |    /* Make copy of efl message */
 1619|     92|    if (NULL == H5O_msg_copy(H5O_EFL_ID, efl, &new_efl))
  ------------------
  |  |  213|     92|#define H5O_EFL_ID         0x0007 /* External File List Message  */
  ------------------
  |  Branch (1619:9): [True: 0, False: 92]
  ------------------
 1620|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, FAIL, "can't copy external file list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1621|       |
 1622|       |    /* Set new efl message directly into property list */
 1623|     92|    *efl = new_efl;
 1624|       |
 1625|     92|done:
 1626|     92|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     92|    ;                                                                                                        \
  |  | 1573|     92|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     92|    return (ret_value);                                                                                      \
  |  | 1575|     92|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1627|     92|} /* end H5P__dcrt_ext_file_list_copy() */
H5Pdcpl.c:H5P__dcrt_ext_file_list_close:
 1724|     93|{
 1725|     93|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     93|#define SUCCEED 0
  ------------------
 1726|       |
 1727|     93|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     93|    {                                                                                                        \
  |  | 1461|     93|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     93|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     93|                                                                                                             \
  |  |  |  | 1267|     93|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     93|        {
  ------------------
 1728|       |
 1729|       |    /* Sanity check */
 1730|     93|    assert(value);
 1731|       |
 1732|       |    /* Reset the old efl message */
 1733|     93|    if (H5O_msg_reset(H5O_EFL_ID, value) < 0)
  ------------------
  |  |  213|     93|#define H5O_EFL_ID         0x0007 /* External File List Message  */
  ------------------
  |  Branch (1733:9): [True: 0, False: 93]
  ------------------
 1734|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTRESET, FAIL, "can't release external file list message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1735|       |
 1736|     93|done:
 1737|     93|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     93|    ;                                                                                                        \
  |  | 1573|     93|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     93|    return (ret_value);                                                                                      \
  |  | 1575|     93|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1738|     93|} /* end H5P__dcrt_ext_file_list_close() */

H5Pdxpl.c:H5P__dxfr_reg_prop:
  313|      1|{
  314|      1|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  315|       |
  316|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
  317|       |
  318|       |    /* Register the max. temp buffer size property */
  319|      1|    if (H5P__register_real(pclass, H5D_XFER_MAX_TEMP_BUF_NAME, H5D_XFER_MAX_TEMP_BUF_SIZE,
  ------------------
  |  |   59|      1|#define H5D_XFER_MAX_TEMP_BUF_NAME          "max_temp_buf"        /* Maximum temp buffer size */
  ------------------
                  if (H5P__register_real(pclass, H5D_XFER_MAX_TEMP_BUF_NAME, H5D_XFER_MAX_TEMP_BUF_SIZE,
  ------------------
  |  |   45|      1|#define H5D_XFER_MAX_TEMP_BUF_SIZE sizeof(size_t)
  ------------------
  |  Branch (319:9): [True: 0, False: 1]
  ------------------
  320|      1|                           &H5D_def_max_temp_buf_g, NULL, NULL, NULL, H5D_XFER_MAX_TEMP_BUF_ENC,
  ------------------
  |  |   47|      1|#define H5D_XFER_MAX_TEMP_BUF_ENC  H5P__encode_size_t
  ------------------
  321|      1|                           H5D_XFER_MAX_TEMP_BUF_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |   48|      1|#define H5D_XFER_MAX_TEMP_BUF_DEC  H5P__decode_size_t
  ------------------
  322|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  323|       |
  324|       |    /* Register the type conversion buffer property */
  325|       |    /* (Note: this property should not have an encode/decode callback -QAK) */
  326|      1|    if (H5P__register_real(pclass, H5D_XFER_TCONV_BUF_NAME, H5D_XFER_TCONV_BUF_SIZE, &H5D_def_tconv_buf_g,
  ------------------
  |  |   60|      1|#define H5D_XFER_TCONV_BUF_NAME             "tconv_buf"           /* Type conversion buffer */
  ------------------
                  if (H5P__register_real(pclass, H5D_XFER_TCONV_BUF_NAME, H5D_XFER_TCONV_BUF_SIZE, &H5D_def_tconv_buf_g,
  ------------------
  |  |   50|      1|#define H5D_XFER_TCONV_BUF_SIZE sizeof(void *)
  ------------------
  |  Branch (326:9): [True: 0, False: 1]
  ------------------
  327|      1|                           NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
  328|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  329|       |
  330|       |    /* Register the background buffer property */
  331|       |    /* (Note: this property should not have an encode/decode callback -QAK) */
  332|      1|    if (H5P__register_real(pclass, H5D_XFER_BKGR_BUF_NAME, H5D_XFER_BKGR_BUF_SIZE, &H5D_def_bkgr_buf_g, NULL,
  ------------------
  |  |   61|      1|#define H5D_XFER_BKGR_BUF_NAME              "bkgr_buf"            /* Background buffer */
  ------------------
                  if (H5P__register_real(pclass, H5D_XFER_BKGR_BUF_NAME, H5D_XFER_BKGR_BUF_SIZE, &H5D_def_bkgr_buf_g, NULL,
  ------------------
  |  |   53|      1|#define H5D_XFER_BKGR_BUF_SIZE sizeof(void *)
  ------------------
  |  Branch (332:9): [True: 0, False: 1]
  ------------------
  333|      1|                           NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
  334|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  335|       |
  336|       |    /* Register the background buffer type property */
  337|      1|    if (H5P__register_real(pclass, H5D_XFER_BKGR_BUF_TYPE_NAME, H5D_XFER_BKGR_BUF_TYPE_SIZE,
  ------------------
  |  |   62|      1|#define H5D_XFER_BKGR_BUF_TYPE_NAME         "bkgr_buf_type"       /* Background buffer type */
  ------------------
                  if (H5P__register_real(pclass, H5D_XFER_BKGR_BUF_TYPE_NAME, H5D_XFER_BKGR_BUF_TYPE_SIZE,
  ------------------
  |  |   56|      1|#define H5D_XFER_BKGR_BUF_TYPE_SIZE sizeof(H5T_bkg_t)
  ------------------
  |  Branch (337:9): [True: 0, False: 1]
  ------------------
  338|      1|                           &H5D_def_bkgr_buf_type_g, NULL, NULL, NULL, H5D_XFER_BKGR_BUF_TYPE_ENC,
  ------------------
  |  |   58|      1|#define H5D_XFER_BKGR_BUF_TYPE_ENC  H5P__dxfr_bkgr_buf_type_enc
  ------------------
  339|      1|                           H5D_XFER_BKGR_BUF_TYPE_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |   59|      1|#define H5D_XFER_BKGR_BUF_TYPE_DEC  H5P__dxfr_bkgr_buf_type_dec
  ------------------
  340|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  341|       |
  342|       |    /* Register the B-Tree node splitting ratios property */
  343|      1|    if (H5P__register_real(pclass, H5D_XFER_BTREE_SPLIT_RATIO_NAME, H5D_XFER_BTREE_SPLIT_RATIO_SIZE,
  ------------------
  |  |   63|      1|#define H5D_XFER_BTREE_SPLIT_RATIO_NAME     "btree_split_ratio"   /* B-tree node splitting ratio */
  ------------------
                  if (H5P__register_real(pclass, H5D_XFER_BTREE_SPLIT_RATIO_NAME, H5D_XFER_BTREE_SPLIT_RATIO_SIZE,
  ------------------
  |  |   64|      1|#define H5D_XFER_BTREE_SPLIT_RATIO_SIZE sizeof(double[3])
  ------------------
  |  Branch (343:9): [True: 0, False: 1]
  ------------------
  344|      1|                           H5D_def_btree_split_ratio_g, NULL, NULL, NULL, H5D_XFER_BTREE_SPLIT_RATIO_ENC,
  ------------------
  |  |   69|      1|#define H5D_XFER_BTREE_SPLIT_RATIO_ENC H5P__dxfr_btree_split_ratio_enc
  ------------------
  345|      1|                           H5D_XFER_BTREE_SPLIT_RATIO_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |   70|      1|#define H5D_XFER_BTREE_SPLIT_RATIO_DEC H5P__dxfr_btree_split_ratio_dec
  ------------------
  346|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  347|       |
  348|       |    /* Register the vlen allocation function property */
  349|       |    /* (Note: this property should not have an encode/decode callback -QAK) */
  350|      1|    if (H5P__register_real(pclass, H5D_XFER_VLEN_ALLOC_NAME, H5D_XFER_VLEN_ALLOC_SIZE, &H5D_def_vlen_alloc_g,
  ------------------
  |  |   64|      1|#define H5D_XFER_VLEN_ALLOC_NAME            "vlen_alloc"          /* Vlen allocation function */
  ------------------
                  if (H5P__register_real(pclass, H5D_XFER_VLEN_ALLOC_NAME, H5D_XFER_VLEN_ALLOC_SIZE, &H5D_def_vlen_alloc_g,
  ------------------
  |  |   72|      1|#define H5D_XFER_VLEN_ALLOC_SIZE sizeof(H5MM_allocate_t)
  ------------------
  |  Branch (350:9): [True: 0, False: 1]
  ------------------
  351|      1|                           NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
  352|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  353|       |
  354|       |    /* Register the vlen allocation information property */
  355|       |    /* (Note: this property should not have an encode/decode callback -QAK) */
  356|      1|    if (H5P__register_real(pclass, H5D_XFER_VLEN_ALLOC_INFO_NAME, H5D_XFER_VLEN_ALLOC_INFO_SIZE,
  ------------------
  |  |   65|      1|#define H5D_XFER_VLEN_ALLOC_INFO_NAME       "vlen_alloc_info"     /* Vlen allocation info */
  ------------------
                  if (H5P__register_real(pclass, H5D_XFER_VLEN_ALLOC_INFO_NAME, H5D_XFER_VLEN_ALLOC_INFO_SIZE,
  ------------------
  |  |   75|      1|#define H5D_XFER_VLEN_ALLOC_INFO_SIZE sizeof(void *)
  ------------------
  |  Branch (356:9): [True: 0, False: 1]
  ------------------
  357|      1|                           &H5D_def_vlen_alloc_info_g, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
  358|      1|                           NULL) < 0)
  359|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  360|       |
  361|       |    /* Register the vlen free function property */
  362|       |    /* (Note: this property should not have an encode/decode callback -QAK) */
  363|      1|    if (H5P__register_real(pclass, H5D_XFER_VLEN_FREE_NAME, H5D_XFER_VLEN_FREE_SIZE, &H5D_def_vlen_free_g,
  ------------------
  |  |   66|      1|#define H5D_XFER_VLEN_FREE_NAME             "vlen_free"           /* Vlen free function */
  ------------------
                  if (H5P__register_real(pclass, H5D_XFER_VLEN_FREE_NAME, H5D_XFER_VLEN_FREE_SIZE, &H5D_def_vlen_free_g,
  ------------------
  |  |   78|      1|#define H5D_XFER_VLEN_FREE_SIZE sizeof(H5MM_free_t)
  ------------------
  |  Branch (363:9): [True: 0, False: 1]
  ------------------
  364|      1|                           NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
  365|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  366|       |
  367|       |    /* Register the vlen free information property */
  368|       |    /* (Note: this property should not have an encode/decode callback -QAK) */
  369|      1|    if (H5P__register_real(pclass, H5D_XFER_VLEN_FREE_INFO_NAME, H5D_XFER_VLEN_FREE_INFO_SIZE,
  ------------------
  |  |   67|      1|#define H5D_XFER_VLEN_FREE_INFO_NAME        "vlen_free_info"      /* Vlen free info */
  ------------------
                  if (H5P__register_real(pclass, H5D_XFER_VLEN_FREE_INFO_NAME, H5D_XFER_VLEN_FREE_INFO_SIZE,
  ------------------
  |  |   81|      1|#define H5D_XFER_VLEN_FREE_INFO_SIZE sizeof(void *)
  ------------------
  |  Branch (369:9): [True: 0, False: 1]
  ------------------
  370|      1|                           &H5D_def_vlen_free_info_g, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
  371|      1|                           NULL) < 0)
  372|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  373|       |
  374|       |    /* Register the vector size property */
  375|      1|    if (H5P__register_real(pclass, H5D_XFER_HYPER_VECTOR_SIZE_NAME, H5D_XFER_HYPER_VECTOR_SIZE_SIZE,
  ------------------
  |  |   70|      1|#define H5D_XFER_HYPER_VECTOR_SIZE_NAME     "vec_size"            /* Hyperslab vector size */
  ------------------
                  if (H5P__register_real(pclass, H5D_XFER_HYPER_VECTOR_SIZE_NAME, H5D_XFER_HYPER_VECTOR_SIZE_SIZE,
  ------------------
  |  |   87|      1|#define H5D_XFER_HYPER_VECTOR_SIZE_SIZE sizeof(size_t)
  ------------------
  |  Branch (375:9): [True: 0, False: 1]
  ------------------
  376|      1|                           &H5D_def_hyp_vec_size_g, NULL, NULL, NULL, H5D_XFER_HYPER_VECTOR_SIZE_ENC,
  ------------------
  |  |   89|      1|#define H5D_XFER_HYPER_VECTOR_SIZE_ENC  H5P__encode_size_t
  ------------------
  377|      1|                           H5D_XFER_HYPER_VECTOR_SIZE_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |   90|      1|#define H5D_XFER_HYPER_VECTOR_SIZE_DEC  H5P__decode_size_t
  ------------------
  378|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  379|       |
  380|       |    /* Register the I/O transfer mode properties */
  381|      1|    if (H5P__register_real(pclass, H5D_XFER_IO_XFER_MODE_NAME, H5D_XFER_IO_XFER_MODE_SIZE,
  ------------------
  |  |   71|      1|#define H5D_XFER_IO_XFER_MODE_NAME          "io_xfer_mode"        /* I/O transfer mode */
  ------------------
                  if (H5P__register_real(pclass, H5D_XFER_IO_XFER_MODE_NAME, H5D_XFER_IO_XFER_MODE_SIZE,
  ------------------
  |  |   99|      1|#define H5D_XFER_IO_XFER_MODE_SIZE sizeof(H5FD_mpio_xfer_t)
  ------------------
  |  Branch (381:9): [True: 0, False: 1]
  ------------------
  382|      1|                           &H5D_def_io_xfer_mode_g, NULL, NULL, NULL, H5D_XFER_IO_XFER_MODE_ENC,
  ------------------
  |  |  101|      1|#define H5D_XFER_IO_XFER_MODE_ENC  H5P__dxfr_io_xfer_mode_enc
  ------------------
  383|      1|                           H5D_XFER_IO_XFER_MODE_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |  102|      1|#define H5D_XFER_IO_XFER_MODE_DEC  H5P__dxfr_io_xfer_mode_dec
  ------------------
  384|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  385|      1|    if (H5P__register_real(pclass, H5D_XFER_MPIO_COLLECTIVE_OPT_NAME, H5D_XFER_MPIO_COLLECTIVE_OPT_SIZE,
  ------------------
  |  |   72|      1|#define H5D_XFER_MPIO_COLLECTIVE_OPT_NAME   "mpio_collective_opt" /* Optimization of MPI-IO transfer mode */
  ------------------
                  if (H5P__register_real(pclass, H5D_XFER_MPIO_COLLECTIVE_OPT_NAME, H5D_XFER_MPIO_COLLECTIVE_OPT_SIZE,
  ------------------
  |  |  104|      1|#define H5D_XFER_MPIO_COLLECTIVE_OPT_SIZE  sizeof(H5FD_mpio_collective_opt_t)
  ------------------
  |  Branch (385:9): [True: 0, False: 1]
  ------------------
  386|      1|                           &H5D_def_mpio_collective_opt_mode_g, NULL, NULL, NULL,
  387|      1|                           H5D_XFER_MPIO_COLLECTIVE_OPT_ENC, H5D_XFER_MPIO_COLLECTIVE_OPT_DEC, NULL, NULL,
  ------------------
  |  |  106|      1|#define H5D_XFER_MPIO_COLLECTIVE_OPT_ENC   H5P__dxfr_mpio_collective_opt_enc
  ------------------
                                         H5D_XFER_MPIO_COLLECTIVE_OPT_ENC, H5D_XFER_MPIO_COLLECTIVE_OPT_DEC, NULL, NULL,
  ------------------
  |  |  107|      1|#define H5D_XFER_MPIO_COLLECTIVE_OPT_DEC   H5P__dxfr_mpio_collective_opt_dec
  ------------------
  388|      1|                           NULL, NULL) < 0)
  389|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  390|      1|    if (H5P__register_real(pclass, H5D_XFER_MPIO_CHUNK_OPT_HARD_NAME, H5D_XFER_MPIO_CHUNK_OPT_HARD_SIZE,
  ------------------
  |  |   73|      1|#define H5D_XFER_MPIO_CHUNK_OPT_HARD_NAME   "mpio_chunk_opt_hard"
  ------------------
                  if (H5P__register_real(pclass, H5D_XFER_MPIO_CHUNK_OPT_HARD_NAME, H5D_XFER_MPIO_CHUNK_OPT_HARD_SIZE,
  ------------------
  |  |  108|      1|#define H5D_XFER_MPIO_CHUNK_OPT_HARD_SIZE  sizeof(H5FD_mpio_chunk_opt_t)
  ------------------
  |  Branch (390:9): [True: 0, False: 1]
  ------------------
  391|      1|                           &H5D_def_mpio_chunk_opt_mode_g, NULL, NULL, NULL, H5D_XFER_MPIO_CHUNK_OPT_HARD_ENC,
  ------------------
  |  |  110|      1|#define H5D_XFER_MPIO_CHUNK_OPT_HARD_ENC   H5P__dxfr_mpio_chunk_opt_hard_enc
  ------------------
  392|      1|                           H5D_XFER_MPIO_CHUNK_OPT_HARD_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |  111|      1|#define H5D_XFER_MPIO_CHUNK_OPT_HARD_DEC   H5P__dxfr_mpio_chunk_opt_hard_dec
  ------------------
  393|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  394|      1|    if (H5P__register_real(pclass, H5D_XFER_MPIO_CHUNK_OPT_NUM_NAME, H5D_XFER_MPIO_CHUNK_OPT_NUM_SIZE,
  ------------------
  |  |   74|      1|#define H5D_XFER_MPIO_CHUNK_OPT_NUM_NAME    "mpio_chunk_opt_num"
  ------------------
                  if (H5P__register_real(pclass, H5D_XFER_MPIO_CHUNK_OPT_NUM_NAME, H5D_XFER_MPIO_CHUNK_OPT_NUM_SIZE,
  ------------------
  |  |  112|      1|#define H5D_XFER_MPIO_CHUNK_OPT_NUM_SIZE   sizeof(unsigned)
  ------------------
  |  Branch (394:9): [True: 0, False: 1]
  ------------------
  395|      1|                           &H5D_def_mpio_chunk_opt_num_g, NULL, NULL, NULL, H5D_XFER_MPIO_CHUNK_OPT_NUM_ENC,
  ------------------
  |  |  114|      1|#define H5D_XFER_MPIO_CHUNK_OPT_NUM_ENC    H5P__encode_unsigned
  ------------------
  396|      1|                           H5D_XFER_MPIO_CHUNK_OPT_NUM_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |  115|      1|#define H5D_XFER_MPIO_CHUNK_OPT_NUM_DEC    H5P__decode_unsigned
  ------------------
  397|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  398|      1|    if (H5P__register_real(pclass, H5D_XFER_MPIO_CHUNK_OPT_RATIO_NAME, H5D_XFER_MPIO_CHUNK_OPT_RATIO_SIZE,
  ------------------
  |  |   75|      1|#define H5D_XFER_MPIO_CHUNK_OPT_RATIO_NAME  "mpio_chunk_opt_ratio"
  ------------------
                  if (H5P__register_real(pclass, H5D_XFER_MPIO_CHUNK_OPT_RATIO_NAME, H5D_XFER_MPIO_CHUNK_OPT_RATIO_SIZE,
  ------------------
  |  |  116|      1|#define H5D_XFER_MPIO_CHUNK_OPT_RATIO_SIZE sizeof(unsigned)
  ------------------
  |  Branch (398:9): [True: 0, False: 1]
  ------------------
  399|      1|                           &H5D_def_mpio_chunk_opt_ratio_g, NULL, NULL, NULL,
  400|      1|                           H5D_XFER_MPIO_CHUNK_OPT_RATIO_ENC, H5D_XFER_MPIO_CHUNK_OPT_RATIO_DEC, NULL, NULL,
  ------------------
  |  |  118|      1|#define H5D_XFER_MPIO_CHUNK_OPT_RATIO_ENC  H5P__encode_unsigned
  ------------------
                                         H5D_XFER_MPIO_CHUNK_OPT_RATIO_ENC, H5D_XFER_MPIO_CHUNK_OPT_RATIO_DEC, NULL, NULL,
  ------------------
  |  |  119|      1|#define H5D_XFER_MPIO_CHUNK_OPT_RATIO_DEC  H5P__decode_unsigned
  ------------------
  401|      1|                           NULL, NULL) < 0)
  402|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  403|       |
  404|       |    /* Register the chunk optimization mode property. */
  405|       |    /* (Note: this property should not have an encode/decode callback -QAK) */
  406|      1|    if (H5P__register_real(pclass, H5D_MPIO_ACTUAL_CHUNK_OPT_MODE_NAME, H5D_MPIO_ACTUAL_CHUNK_OPT_MODE_SIZE,
  ------------------
  |  |   76|      1|#define H5D_MPIO_ACTUAL_CHUNK_OPT_MODE_NAME "actual_chunk_opt_mode"
  ------------------
                  if (H5P__register_real(pclass, H5D_MPIO_ACTUAL_CHUNK_OPT_MODE_NAME, H5D_MPIO_ACTUAL_CHUNK_OPT_MODE_SIZE,
  ------------------
  |  |  121|      1|#define H5D_MPIO_ACTUAL_CHUNK_OPT_MODE_SIZE sizeof(H5D_mpio_actual_chunk_opt_mode_t)
  ------------------
  |  Branch (406:9): [True: 0, False: 1]
  ------------------
  407|      1|                           &H5D_def_mpio_actual_chunk_opt_mode_g, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
  408|      1|                           NULL, NULL) < 0)
  409|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  410|       |
  411|       |    /* Register the actual I/O mode property. */
  412|       |    /* (Note: this property should not have an encode/decode callback -QAK) */
  413|      1|    if (H5P__register_real(pclass, H5D_MPIO_ACTUAL_IO_MODE_NAME, H5D_MPIO_ACTUAL_IO_MODE_SIZE,
  ------------------
  |  |   77|      1|#define H5D_MPIO_ACTUAL_IO_MODE_NAME        "actual_io_mode"
  ------------------
                  if (H5P__register_real(pclass, H5D_MPIO_ACTUAL_IO_MODE_NAME, H5D_MPIO_ACTUAL_IO_MODE_SIZE,
  ------------------
  |  |  124|      1|#define H5D_MPIO_ACTUAL_IO_MODE_SIZE sizeof(H5D_mpio_actual_io_mode_t)
  ------------------
  |  Branch (413:9): [True: 0, False: 1]
  ------------------
  414|      1|                           &H5D_def_mpio_actual_io_mode_g, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
  415|      1|                           NULL) < 0)
  416|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  417|       |
  418|       |    /* Register the local cause of broken collective I/O */
  419|       |    /* (Note: this property should not have an encode/decode callback -QAK) */
  420|      1|    if (H5P__register_real(pclass, H5D_MPIO_LOCAL_NO_COLLECTIVE_CAUSE_NAME, H5D_MPIO_NO_COLLECTIVE_CAUSE_SIZE,
  ------------------
  |  |   79|      1|    "local_no_collective_cause" /* cause of broken collective I/O in each process */
  ------------------
                  if (H5P__register_real(pclass, H5D_MPIO_LOCAL_NO_COLLECTIVE_CAUSE_NAME, H5D_MPIO_NO_COLLECTIVE_CAUSE_SIZE,
  ------------------
  |  |  127|      1|#define H5D_MPIO_NO_COLLECTIVE_CAUSE_SIZE sizeof(uint32_t)
  ------------------
  |  Branch (420:9): [True: 0, False: 1]
  ------------------
  421|      1|                           &H5D_def_mpio_no_collective_cause_g, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
  422|      1|                           NULL, NULL) < 0)
  423|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  424|       |
  425|       |    /* Register the global cause of broken collective I/O */
  426|       |    /* (Note: this property should not have an encode/decode callback -QAK) */
  427|      1|    if (H5P__register_real(pclass, H5D_MPIO_GLOBAL_NO_COLLECTIVE_CAUSE_NAME,
  ------------------
  |  |   81|      1|    "global_no_collective_cause" /* cause of broken collective I/O in all processes */
  ------------------
  |  Branch (427:9): [True: 0, False: 1]
  ------------------
  428|      1|                           H5D_MPIO_NO_COLLECTIVE_CAUSE_SIZE, &H5D_def_mpio_no_collective_cause_g, NULL, NULL,
  ------------------
  |  |  127|      1|#define H5D_MPIO_NO_COLLECTIVE_CAUSE_SIZE sizeof(uint32_t)
  ------------------
  429|      1|                           NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
  430|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  431|       |
  432|       |    /* Register the EDC property */
  433|      1|    if (H5P__register_real(pclass, H5D_XFER_EDC_NAME, H5D_XFER_EDC_SIZE, &H5D_def_enable_edc_g, NULL, NULL,
  ------------------
  |  |   82|      1|#define H5D_XFER_EDC_NAME                      "err_detect"            /* EDC */
  ------------------
                  if (H5P__register_real(pclass, H5D_XFER_EDC_NAME, H5D_XFER_EDC_SIZE, &H5D_def_enable_edc_g, NULL, NULL,
  ------------------
  |  |  131|      1|#define H5D_XFER_EDC_SIZE sizeof(H5Z_EDC_t)
  ------------------
  |  Branch (433:9): [True: 0, False: 1]
  ------------------
  434|      1|                           NULL, H5D_XFER_EDC_ENC, H5D_XFER_EDC_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |  133|      1|#define H5D_XFER_EDC_ENC  H5P__dxfr_edc_enc
  ------------------
                                         NULL, H5D_XFER_EDC_ENC, H5D_XFER_EDC_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |  134|      1|#define H5D_XFER_EDC_DEC  H5P__dxfr_edc_dec
  ------------------
  435|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  436|       |
  437|       |    /* Register the filter callback property */
  438|       |    /* (Note: this property should not have an encode/decode callback -QAK) */
  439|      1|    if (H5P__register_real(pclass, H5D_XFER_FILTER_CB_NAME, H5D_XFER_FILTER_CB_SIZE, &H5D_def_filter_cb_g,
  ------------------
  |  |   83|      1|#define H5D_XFER_FILTER_CB_NAME                "filter_cb"             /* Filter callback function */
  ------------------
                  if (H5P__register_real(pclass, H5D_XFER_FILTER_CB_NAME, H5D_XFER_FILTER_CB_SIZE, &H5D_def_filter_cb_g,
  ------------------
  |  |  136|      1|#define H5D_XFER_FILTER_CB_SIZE sizeof(H5Z_cb_t)
  ------------------
  |  Branch (439:9): [True: 0, False: 1]
  ------------------
  440|      1|                           NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
  441|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  442|       |
  443|       |    /* Register the type conversion callback property */
  444|       |    /* (Note: this property should not have an encode/decode callback -QAK) */
  445|      1|    if (H5P__register_real(pclass, H5D_XFER_CONV_CB_NAME, H5D_XFER_CONV_CB_SIZE, &H5D_def_conv_cb_g, NULL,
  ------------------
  |  |   84|      1|#define H5D_XFER_CONV_CB_NAME                  "type_conv_cb"          /* Type conversion callback function */
  ------------------
                  if (H5P__register_real(pclass, H5D_XFER_CONV_CB_NAME, H5D_XFER_CONV_CB_SIZE, &H5D_def_conv_cb_g, NULL,
  ------------------
  |  |  142|      1|#define H5D_XFER_CONV_CB_SIZE sizeof(H5T_conv_cb_t)
  ------------------
  |  Branch (445:9): [True: 0, False: 1]
  ------------------
  446|      1|                           NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
  447|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  448|       |
  449|       |    /* Register the data transform property */
  450|      1|    if (H5P__register_real(pclass, H5D_XFER_XFORM_NAME, H5D_XFER_XFORM_SIZE, &H5D_def_xfer_xform_g, NULL,
  ------------------
  |  |   85|      1|#define H5D_XFER_XFORM_NAME                    "data_transform"        /* Data transform */
  ------------------
                  if (H5P__register_real(pclass, H5D_XFER_XFORM_NAME, H5D_XFER_XFORM_SIZE, &H5D_def_xfer_xform_g, NULL,
  ------------------
  |  |  148|      1|#define H5D_XFER_XFORM_SIZE  sizeof(void *)
  ------------------
  |  Branch (450:9): [True: 0, False: 1]
  ------------------
  451|      1|                           H5D_XFER_XFORM_SET, H5D_XFER_XFORM_GET, H5D_XFER_XFORM_ENC, H5D_XFER_XFORM_DEC,
  ------------------
  |  |  150|      1|#define H5D_XFER_XFORM_SET   H5P__dxfr_xform_set
  ------------------
                                         H5D_XFER_XFORM_SET, H5D_XFER_XFORM_GET, H5D_XFER_XFORM_ENC, H5D_XFER_XFORM_DEC,
  ------------------
  |  |  151|      1|#define H5D_XFER_XFORM_GET   H5P__dxfr_xform_get
  ------------------
                                         H5D_XFER_XFORM_SET, H5D_XFER_XFORM_GET, H5D_XFER_XFORM_ENC, H5D_XFER_XFORM_DEC,
  ------------------
  |  |  152|      1|#define H5D_XFER_XFORM_ENC   H5P__dxfr_xform_enc
  ------------------
                                         H5D_XFER_XFORM_SET, H5D_XFER_XFORM_GET, H5D_XFER_XFORM_ENC, H5D_XFER_XFORM_DEC,
  ------------------
  |  |  153|      1|#define H5D_XFER_XFORM_DEC   H5P__dxfr_xform_dec
  ------------------
  452|      1|                           H5D_XFER_XFORM_DEL, H5D_XFER_XFORM_COPY, H5D_XFER_XFORM_CMP,
  ------------------
  |  |  154|      1|#define H5D_XFER_XFORM_DEL   H5P__dxfr_xform_del
  ------------------
                                         H5D_XFER_XFORM_DEL, H5D_XFER_XFORM_COPY, H5D_XFER_XFORM_CMP,
  ------------------
  |  |  155|      1|#define H5D_XFER_XFORM_COPY  H5P__dxfr_xform_copy
  ------------------
                                         H5D_XFER_XFORM_DEL, H5D_XFER_XFORM_COPY, H5D_XFER_XFORM_CMP,
  ------------------
  |  |  156|      1|#define H5D_XFER_XFORM_CMP   H5P__dxfr_xform_cmp
  ------------------
  453|      1|                           H5D_XFER_XFORM_CLOSE) < 0)
  ------------------
  |  |  157|      1|#define H5D_XFER_XFORM_CLOSE H5P__dxfr_xform_close
  ------------------
  454|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  455|       |
  456|       |    /* Register the dataset I/O selection property */
  457|      1|    if (H5P__register_real(pclass, H5D_XFER_DSET_IO_SEL_NAME, H5D_XFER_DSET_IO_SEL_SIZE,
  ------------------
  |  |   86|      1|#define H5D_XFER_DSET_IO_SEL_NAME              "dset_io_selection"     /* Dataset I/O selection */
  ------------------
                  if (H5P__register_real(pclass, H5D_XFER_DSET_IO_SEL_NAME, H5D_XFER_DSET_IO_SEL_SIZE,
  ------------------
  |  |  159|      1|#define H5D_XFER_DSET_IO_SEL_SIZE  sizeof(H5S_t *)
  ------------------
  |  Branch (457:9): [True: 0, False: 1]
  ------------------
  458|      1|                           &H5D_def_dset_io_sel_g, NULL, NULL, NULL, NULL, NULL, NULL,
  459|      1|                           H5D_XFER_DSET_IO_SEL_COPY, H5D_XFER_DSET_IO_SEL_CMP,
  ------------------
  |  |  161|      1|#define H5D_XFER_DSET_IO_SEL_COPY  H5P__dxfr_dset_io_hyp_sel_copy
  ------------------
                                         H5D_XFER_DSET_IO_SEL_COPY, H5D_XFER_DSET_IO_SEL_CMP,
  ------------------
  |  |  162|      1|#define H5D_XFER_DSET_IO_SEL_CMP   H5P__dxfr_dset_io_hyp_sel_cmp
  ------------------
  460|      1|                           H5D_XFER_DSET_IO_SEL_CLOSE) < 0)
  ------------------
  |  |  163|      1|#define H5D_XFER_DSET_IO_SEL_CLOSE H5P__dxfr_dset_io_hyp_sel_close
  ------------------
  461|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  462|       |
  463|      1|    if (H5P__register_real(pclass, H5D_XFER_SELECTION_IO_MODE_NAME, H5D_XFER_SELECTION_IO_MODE_SIZE,
  ------------------
  |  |   87|      1|#define H5D_XFER_SELECTION_IO_MODE_NAME        "selection_io_mode"     /* Selection I/O mode */
  ------------------
                  if (H5P__register_real(pclass, H5D_XFER_SELECTION_IO_MODE_NAME, H5D_XFER_SELECTION_IO_MODE_SIZE,
  ------------------
  |  |  169|      1|#define H5D_XFER_SELECTION_IO_MODE_SIZE sizeof(H5D_selection_io_mode_t)
  ------------------
  |  Branch (463:9): [True: 0, False: 1]
  ------------------
  464|      1|                           &H5D_def_selection_io_mode_g, NULL, NULL, NULL, H5D_XFER_SELECTION_IO_MODE_ENC,
  ------------------
  |  |  171|      1|#define H5D_XFER_SELECTION_IO_MODE_ENC  H5P__dxfr_selection_io_mode_enc
  ------------------
  465|      1|                           H5D_XFER_SELECTION_IO_MODE_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |  172|      1|#define H5D_XFER_SELECTION_IO_MODE_DEC  H5P__dxfr_selection_io_mode_dec
  ------------------
  466|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  467|       |
  468|       |    /* Register the cause of no selection I/O property */
  469|       |    /* (Note: this property should not have an encode/decode callback) */
  470|      1|    if (H5P__register_real(pclass, H5D_XFER_NO_SELECTION_IO_CAUSE_NAME, H5D_XFER_NO_SELECTION_IO_CAUSE_SIZE,
  ------------------
  |  |   88|      1|#define H5D_XFER_NO_SELECTION_IO_CAUSE_NAME    "no_selection_io_cause" /* Cause for no selection I/O */
  ------------------
                  if (H5P__register_real(pclass, H5D_XFER_NO_SELECTION_IO_CAUSE_NAME, H5D_XFER_NO_SELECTION_IO_CAUSE_SIZE,
  ------------------
  |  |  174|      1|#define H5D_XFER_NO_SELECTION_IO_CAUSE_SIZE sizeof(uint32_t)
  ------------------
  |  Branch (470:9): [True: 0, False: 1]
  ------------------
  471|      1|                           &H5D_def_no_selection_io_cause_g, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
  472|      1|                           NULL) < 0)
  473|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  474|       |
  475|       |    /* Register the actual selection I/O mode property */
  476|       |    /* (Note: this property should not have an encode/decode callback) */
  477|      1|    if (H5P__register_real(pclass, H5D_XFER_ACTUAL_SELECTION_IO_MODE_NAME,
  ------------------
  |  |   89|      1|#define H5D_XFER_ACTUAL_SELECTION_IO_MODE_NAME "actual_selection_io_mode" /* Actual selection I/O mode */
  ------------------
  |  Branch (477:9): [True: 0, False: 1]
  ------------------
  478|      1|                           H5D_XFER_ACTUAL_SELECTION_IO_MODE_SIZE, &H5D_def_actual_selection_io_mode_g, NULL,
  ------------------
  |  |  177|      1|#define H5D_XFER_ACTUAL_SELECTION_IO_MODE_SIZE sizeof(uint32_t)
  ------------------
  479|      1|                           NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
  480|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  481|       |
  482|       |    /* Register the modify write buffer property */
  483|      1|    if (H5P__register_real(pclass, H5D_XFER_MODIFY_WRITE_BUF_NAME, H5D_XFER_MODIFY_WRITE_BUF_SIZE,
  ------------------
  |  |   90|      1|#define H5D_XFER_MODIFY_WRITE_BUF_NAME         "modify_write_buf"         /* Modify write buffers */
  ------------------
                  if (H5P__register_real(pclass, H5D_XFER_MODIFY_WRITE_BUF_NAME, H5D_XFER_MODIFY_WRITE_BUF_SIZE,
  ------------------
  |  |  180|      1|#define H5D_XFER_MODIFY_WRITE_BUF_SIZE sizeof(bool)
  ------------------
  |  Branch (483:9): [True: 0, False: 1]
  ------------------
  484|      1|                           &H5D_def_modify_write_buf_g, NULL, NULL, NULL, H5D_XFER_MODIFY_WRITE_BUF_ENC,
  ------------------
  |  |  182|      1|#define H5D_XFER_MODIFY_WRITE_BUF_ENC  H5P__dxfr_modify_write_buf_enc
  ------------------
  485|      1|                           H5D_XFER_MODIFY_WRITE_BUF_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |  183|      1|#define H5D_XFER_MODIFY_WRITE_BUF_DEC  H5P__dxfr_modify_write_buf_dec
  ------------------
  486|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  487|       |
  488|      1|done:
  489|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  490|      1|} /* end H5P__dxfr_reg_prop() */
H5Pdxpl.c:H5P__dxfr_xform_close:
  940|      1|{
  941|      1|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  942|       |
  943|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
  944|       |
  945|      1|    assert(value);
  946|       |
  947|      1|    if (H5Z_xform_destroy(*(H5Z_data_xform_t **)value) < 0)
  ------------------
  |  Branch (947:9): [True: 0, False: 1]
  ------------------
  948|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTCLOSEOBJ, FAIL, "error closing the parse tree");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  949|       |
  950|      1|done:
  951|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  952|      1|} /* end H5P__dxfr_xform_close() */
H5Pdxpl.c:H5P__dxfr_dset_io_hyp_sel_close:
 2137|      1|{
 2138|      1|    H5S_t *space     = *(H5S_t **)_value; /* Dataspace for property */
 2139|      1|    herr_t ret_value = SUCCEED;           /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
 2140|       |
 2141|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
 2142|       |
 2143|       |    /* Release any dataspace */
 2144|      1|    if (space && H5S_close(space) < 0)
  ------------------
  |  Branch (2144:9): [True: 0, False: 1]
  |  Branch (2144:18): [True: 0, False: 0]
  ------------------
 2145|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTCLOSEOBJ, FAIL, "error closing dataset I/O selection dataspace");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2146|       |
 2147|      1|done:
 2148|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2149|      1|} /* end H5P__dxfr_dset_io_hyp_sel_close() */

H5P__facc_set_def_driver:
  857|      1|{
  858|      1|    const char *driver_env_var;
  859|      1|    bool        driver_ref_inc = false;
  860|      1|    hid_t       driver_id      = H5I_INVALID_HID; /* VFL driver ID */
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  861|      1|    herr_t      ret_value      = SUCCEED;
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  862|       |
  863|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
  864|       |
  865|       |    /* Check if VFL driver environment variable is set */
  866|      1|    driver_env_var = getenv(HDF5_DRIVER);
  ------------------
  |  |  182|      1|#define HDF5_DRIVER "HDF5_DRIVER"
  ------------------
  867|       |
  868|       |    /* Only parse VFL driver string if it's set */
  869|      1|    if (driver_env_var && *driver_env_var) {
  ------------------
  |  Branch (869:9): [True: 0, False: 1]
  |  Branch (869:27): [True: 0, False: 0]
  ------------------
  870|      0|        H5FD_driver_prop_t driver_prop;
  871|      0|        H5P_genplist_t    *def_fapl;     /* Default file access property list */
  872|      0|        H5P_genclass_t    *def_fapclass; /* Default file access property class */
  873|      0|        const char        *driver_config_env_var;
  874|      0|        htri_t             driver_is_registered;
  875|       |
  876|       |        /* Check to see if the driver is already registered */
  877|      0|        if ((driver_is_registered = H5FD_is_driver_registered_by_name(driver_env_var, &driver_id)) < 0)
  ------------------
  |  Branch (877:13): [True: 0, False: 0]
  ------------------
  878|      0|            HGOTO_ERROR(H5E_VFL, H5E_CANTGET, FAIL, "can't check if VFL driver is already registered");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  879|      0|        if (driver_is_registered) {
  ------------------
  |  Branch (879:13): [True: 0, False: 0]
  ------------------
  880|      0|            assert(driver_id >= 0);
  881|       |
  882|      0|            if (H5I_inc_ref(driver_id, true) < 0)
  ------------------
  |  Branch (882:17): [True: 0, False: 0]
  ------------------
  883|      0|                HGOTO_ERROR(H5E_VFL, H5E_CANTINC, FAIL, "unable to increment ref count on VFD");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  884|      0|            driver_ref_inc = true;
  885|      0|        } /* end else-if */
  886|      0|        else {
  887|       |            /* Check for VFL drivers that ship with the library */
  888|      0|            if (H5P__facc_set_def_driver_check_predefined(driver_env_var, &driver_id) < 0)
  ------------------
  |  Branch (888:17): [True: 0, False: 0]
  ------------------
  889|      0|                HGOTO_ERROR(H5E_VFL, H5E_CANTGET, FAIL, "can't check for predefined VFL driver name");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  890|      0|            else if (driver_id > 0) {
  ------------------
  |  Branch (890:22): [True: 0, False: 0]
  ------------------
  891|      0|                if (H5I_inc_ref(driver_id, true) < 0)
  ------------------
  |  Branch (891:21): [True: 0, False: 0]
  ------------------
  892|      0|                    HGOTO_ERROR(H5E_VFL, H5E_CANTINC, FAIL, "can't increment VFL driver refcount");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  893|      0|                driver_ref_inc = true;
  894|      0|            }
  895|      0|            else {
  896|       |                /* Register the VFL driver */
  897|      0|                if ((driver_id = H5FD_register_driver_by_name(driver_env_var, true)) < 0)
  ------------------
  |  Branch (897:21): [True: 0, False: 0]
  ------------------
  898|      0|                    HGOTO_ERROR(H5E_VFL, H5E_CANTREGISTER, FAIL, "can't register VFL driver");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  899|      0|                driver_ref_inc = true;
  900|      0|            } /* end else */
  901|      0|        }     /* end else */
  902|       |
  903|       |        /* Retrieve driver configuration string from environment variable, if set. */
  904|      0|        driver_config_env_var = getenv(HDF5_DRIVER_CONFIG);
  ------------------
  |  |  187|      0|#define HDF5_DRIVER_CONFIG "HDF5_DRIVER_CONFIG"
  ------------------
  905|       |
  906|      0|        driver_prop.driver_id         = driver_id;
  907|      0|        driver_prop.driver_info       = NULL;
  908|      0|        driver_prop.driver_config_str = driver_config_env_var;
  909|       |
  910|       |        /* Get default file access pclass */
  911|      0|        if (NULL == (def_fapclass = (H5P_genclass_t *)H5I_object(H5P_FILE_ACCESS)))
  ------------------
  |  |   64|      0|#define H5P_FILE_ACCESS (H5OPEN H5P_CLS_FILE_ACCESS_ID_g)
  ------------------
  |  Branch (911:13): [True: 0, False: 0]
  ------------------
  912|      0|            HGOTO_ERROR(H5E_VFL, H5E_BADID, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  913|      0|                        "can't find object for default file access property class ID");
  914|       |
  915|       |        /* Set new default VFL driver for default file access pclass */
  916|      0|        if (H5P__class_set(def_fapclass, H5F_ACS_FILE_DRV_NAME, &driver_prop) < 0)
  ------------------
  |  |  235|      0|#define H5F_ACS_FILE_DRV_NAME        "vfd_info"           /* File driver ID & info */
  ------------------
  |  Branch (916:13): [True: 0, False: 0]
  ------------------
  917|      0|            HGOTO_ERROR(H5E_VFL, H5E_CANTSET, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  918|      0|                        "can't set default VFL driver for default file access property list class");
  919|       |
  920|       |        /* Get default file access plist */
  921|      0|        if (NULL == (def_fapl = (H5P_genplist_t *)H5I_object(H5P_FILE_ACCESS_DEFAULT)))
  ------------------
  |  |  148|      0|#define H5P_FILE_ACCESS_DEFAULT (H5OPEN H5P_LST_FILE_ACCESS_ID_g)
  ------------------
  |  Branch (921:13): [True: 0, False: 0]
  ------------------
  922|      0|            HGOTO_ERROR(H5E_VFL, H5E_BADID, FAIL, "can't find object for default fapl ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  923|       |
  924|       |        /* Set new default VFL driver for default FAPL */
  925|      0|        if (H5P_set_driver(def_fapl, driver_prop.driver_id, driver_prop.driver_info,
  ------------------
  |  Branch (925:13): [True: 0, False: 0]
  ------------------
  926|      0|                           driver_prop.driver_config_str) < 0)
  927|      0|            HGOTO_ERROR(H5E_VFL, H5E_CANTSET, FAIL, "can't set default VFL driver for default FAPL");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  928|      0|    }
  929|       |
  930|      1|done:
  931|       |    /* Clean up on error */
  932|      1|    if (ret_value < 0) {
  ------------------
  |  Branch (932:9): [True: 0, False: 1]
  ------------------
  933|      0|        if (driver_id >= 0 && driver_ref_inc && H5I_dec_app_ref(driver_id) < 0)
  ------------------
  |  Branch (933:13): [True: 0, False: 0]
  |  Branch (933:31): [True: 0, False: 0]
  |  Branch (933:49): [True: 0, False: 0]
  ------------------
  934|      0|            HDONE_ERROR(H5E_PLIST, H5E_CANTDEC, FAIL, "unable to unregister VFL driver");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  935|      0|    } /* end if */
  936|       |
  937|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  938|      1|} /* end H5P__facc_set_def_driver() */
H5P_set_vol:
 5753|      1|{
 5754|      1|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
 5755|       |
 5756|      1|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      1|    {                                                                                                        \
  |  | 1392|      1|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      1|        {
  ------------------
 5757|       |
 5758|      1|    if (NULL == H5I_object_verify(vol_id, H5I_VOL))
  ------------------
  |  Branch (5758:9): [True: 0, False: 1]
  ------------------
 5759|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a VOL connector ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5760|       |
 5761|      1|    if (true == H5P_isa_class(plist->plist_id, H5P_FILE_ACCESS)) {
  ------------------
  |  |   64|      1|#define H5P_FILE_ACCESS (H5OPEN H5P_CLS_FILE_ACCESS_ID_g)
  ------------------
  |  Branch (5761:9): [True: 1, False: 0]
  ------------------
 5762|      1|        H5VL_connector_prop_t vol_prop; /* Property for VOL ID & info */
 5763|       |
 5764|       |        /* Prepare the VOL connector property */
 5765|      1|        vol_prop.connector_id   = vol_id;
 5766|      1|        vol_prop.connector_info = vol_info;
 5767|       |
 5768|       |        /* Set the connector ID & info property */
 5769|      1|        if (H5P_set(plist, H5F_ACS_VOL_CONN_NAME, &vol_prop) < 0)
  ------------------
  |  |  236|      1|#define H5F_ACS_VOL_CONN_NAME        "vol_connector_info" /* VOL connector ID & info */
  ------------------
  |  Branch (5769:13): [True: 0, False: 1]
  ------------------
 5770|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "can't set VOL connector ID & info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5771|      1|    } /* end if */
 5772|      0|    else
 5773|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a file access property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5774|       |
 5775|      1|done:
 5776|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 5777|      1|} /* end H5P_set_vol() */
H5P_reset_vol_class:
 5794|      1|{
 5795|      1|    H5VL_connector_prop_t old_vol_prop;        /* Previous VOL connector property */
 5796|      1|    herr_t                ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
 5797|       |
 5798|      1|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      1|    {                                                                                                        \
  |  | 1392|      1|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      1|        {
  ------------------
 5799|       |
 5800|       |    /* Get the connector ID & info property */
 5801|      1|    if (H5P__class_get(pclass, H5F_ACS_VOL_CONN_NAME, &old_vol_prop) < 0)
  ------------------
  |  |  236|      1|#define H5F_ACS_VOL_CONN_NAME        "vol_connector_info" /* VOL connector ID & info */
  ------------------
  |  Branch (5801:9): [True: 0, False: 1]
  ------------------
 5802|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, FAIL, "can't get VOL connector ID & info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5803|       |
 5804|       |    /* Set the new connector ID & info property */
 5805|      1|    if (H5P__class_set(pclass, H5F_ACS_VOL_CONN_NAME, vol_prop) < 0)
  ------------------
  |  |  236|      1|#define H5F_ACS_VOL_CONN_NAME        "vol_connector_info" /* VOL connector ID & info */
  ------------------
  |  Branch (5805:9): [True: 0, False: 1]
  ------------------
 5806|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "can't set VOL connector ID & info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5807|       |
 5808|      1|done:
 5809|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 5810|      1|} /* end H5P_set_vol_class() */
H5Pfapl.c:H5P__facc_reg_prop:
  550|      1|{
  551|      1|    const H5FD_driver_prop_t def_driver_prop =
  552|      1|        H5F_ACS_FILE_DRV_DEF; /* Default VFL driver ID & info (initialized from a variable) */
  ------------------
  |  |  137|      1|    {                                                                                                        \
  |  |  138|      1|        H5_DEFAULT_VFD, NULL, NULL                                                                           \
  |  |  ------------------
  |  |  |  |  113|      1|#define H5_DEFAULT_VFD      H5FD_SEC2
  |  |  |  |  ------------------
  |  |  |  |  |  |   21|      1|#define H5FD_SEC2 (H5FDperform_init(H5FD_sec2_init))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  139|      1|    }
  ------------------
  553|      1|    const H5VL_connector_prop_t def_vol_prop =
  554|      1|        H5F_ACS_VOL_CONN_DEF;   /* Default VOL connector ID & info (initialized from a variable) */
  ------------------
  |  |  303|      1|    {                                                                                                        \
  |  |  304|      1|        H5_DEFAULT_VOL, NULL                                                                                 \
  |  |  ------------------
  |  |  |  |  117|      1|#define H5_DEFAULT_VOL H5VL_NATIVE
  |  |  |  |  ------------------
  |  |  |  |  |  |   29|      1|#define H5VL_NATIVE (H5VL_native_register())
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  305|      1|    }
  ------------------
  555|      1|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  556|       |
  557|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
  558|       |
  559|       |    /* Register the initial metadata cache resize configuration */
  560|      1|    if (H5P__register_real(pclass, H5F_ACS_META_CACHE_INIT_CONFIG_NAME, H5F_ACS_META_CACHE_INIT_CONFIG_SIZE,
  ------------------
  |  |  221|      1|    "mdc_initCacheCfg"                                  /* Initial metadata cache resize configuration */
  ------------------
                  if (H5P__register_real(pclass, H5F_ACS_META_CACHE_INIT_CONFIG_NAME, H5F_ACS_META_CACHE_INIT_CONFIG_SIZE,
  ------------------
  |  |   81|      1|#define H5F_ACS_META_CACHE_INIT_CONFIG_SIZE sizeof(H5AC_cache_config_t)
  ------------------
  |  Branch (560:9): [True: 0, False: 1]
  ------------------
  561|      1|                           &H5F_def_mdc_initCacheCfg_g, NULL, NULL, NULL, H5F_ACS_META_CACHE_INIT_CONFIG_ENC,
  ------------------
  |  |   83|      1|#define H5F_ACS_META_CACHE_INIT_CONFIG_ENC  H5P__facc_cache_config_enc
  ------------------
  562|      1|                           H5F_ACS_META_CACHE_INIT_CONFIG_DEC, NULL, NULL, H5F_ACS_META_CACHE_INIT_CONFIG_CMP,
  ------------------
  |  |   84|      1|#define H5F_ACS_META_CACHE_INIT_CONFIG_DEC  H5P__facc_cache_config_dec
  ------------------
                                         H5F_ACS_META_CACHE_INIT_CONFIG_DEC, NULL, NULL, H5F_ACS_META_CACHE_INIT_CONFIG_CMP,
  ------------------
  |  |   85|      1|#define H5F_ACS_META_CACHE_INIT_CONFIG_CMP  H5P__facc_cache_config_cmp
  ------------------
  563|      1|                           NULL) < 0)
  564|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  565|       |
  566|       |    /* Register the size of raw data chunk cache (elements) */
  567|      1|    if (H5P__register_real(pclass, H5F_ACS_DATA_CACHE_NUM_SLOTS_NAME, H5F_ACS_DATA_CACHE_NUM_SLOTS_SIZE,
  ------------------
  |  |  222|      1|#define H5F_ACS_DATA_CACHE_NUM_SLOTS_NAME "rdcc_nslots" /* Size of raw data chunk cache(slots) */
  ------------------
                  if (H5P__register_real(pclass, H5F_ACS_DATA_CACHE_NUM_SLOTS_NAME, H5F_ACS_DATA_CACHE_NUM_SLOTS_SIZE,
  ------------------
  |  |   87|      1|#define H5F_ACS_DATA_CACHE_NUM_SLOTS_SIZE sizeof(size_t)
  ------------------
  |  Branch (567:9): [True: 0, False: 1]
  ------------------
  568|      1|                           &H5F_def_rdcc_nslots_g, NULL, NULL, NULL, H5F_ACS_DATA_CACHE_NUM_SLOTS_ENC,
  ------------------
  |  |   89|      1|#define H5F_ACS_DATA_CACHE_NUM_SLOTS_ENC  H5P__encode_size_t
  ------------------
  569|      1|                           H5F_ACS_DATA_CACHE_NUM_SLOTS_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |   90|      1|#define H5F_ACS_DATA_CACHE_NUM_SLOTS_DEC  H5P__decode_size_t
  ------------------
  570|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  571|       |
  572|       |    /* Register the size of raw data chunk cache(bytes) */
  573|      1|    if (H5P__register_real(pclass, H5F_ACS_DATA_CACHE_BYTE_SIZE_NAME, H5F_ACS_DATA_CACHE_BYTE_SIZE_SIZE,
  ------------------
  |  |  223|      1|#define H5F_ACS_DATA_CACHE_BYTE_SIZE_NAME "rdcc_nbytes" /* Size of raw data chunk cache(bytes) */
  ------------------
                  if (H5P__register_real(pclass, H5F_ACS_DATA_CACHE_BYTE_SIZE_NAME, H5F_ACS_DATA_CACHE_BYTE_SIZE_SIZE,
  ------------------
  |  |   92|      1|#define H5F_ACS_DATA_CACHE_BYTE_SIZE_SIZE sizeof(size_t)
  ------------------
  |  Branch (573:9): [True: 0, False: 1]
  ------------------
  574|      1|                           &H5F_def_rdcc_nbytes_g, NULL, NULL, NULL, H5F_ACS_DATA_CACHE_BYTE_SIZE_ENC,
  ------------------
  |  |   94|      1|#define H5F_ACS_DATA_CACHE_BYTE_SIZE_ENC  H5P__encode_size_t
  ------------------
  575|      1|                           H5F_ACS_DATA_CACHE_BYTE_SIZE_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |   95|      1|#define H5F_ACS_DATA_CACHE_BYTE_SIZE_DEC  H5P__decode_size_t
  ------------------
  576|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  577|       |
  578|       |    /* Register the preemption for reading chunks */
  579|      1|    if (H5P__register_real(pclass, H5F_ACS_PREEMPT_READ_CHUNKS_NAME, H5F_ACS_PREEMPT_READ_CHUNKS_SIZE,
  ------------------
  |  |  224|      1|#define H5F_ACS_PREEMPT_READ_CHUNKS_NAME  "rdcc_w0"     /* Preemption read chunks first */
  ------------------
                  if (H5P__register_real(pclass, H5F_ACS_PREEMPT_READ_CHUNKS_NAME, H5F_ACS_PREEMPT_READ_CHUNKS_SIZE,
  ------------------
  |  |   97|      1|#define H5F_ACS_PREEMPT_READ_CHUNKS_SIZE sizeof(double)
  ------------------
  |  Branch (579:9): [True: 0, False: 1]
  ------------------
  580|      1|                           &H5F_def_rdcc_w0_g, NULL, NULL, NULL, H5F_ACS_PREEMPT_READ_CHUNKS_ENC,
  ------------------
  |  |   99|      1|#define H5F_ACS_PREEMPT_READ_CHUNKS_ENC  H5P__encode_double
  ------------------
  581|      1|                           H5F_ACS_PREEMPT_READ_CHUNKS_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |  100|      1|#define H5F_ACS_PREEMPT_READ_CHUNKS_DEC  H5P__decode_double
  ------------------
  582|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  583|       |
  584|       |    /* Register the threshold for alignment */
  585|      1|    if (H5P__register_real(pclass, H5F_ACS_ALIGN_THRHD_NAME, H5F_ACS_ALIGN_THRHD_SIZE, &H5F_def_threshold_g,
  ------------------
  |  |  225|      1|#define H5F_ACS_ALIGN_THRHD_NAME          "threshold"   /* Threshold for alignment */
  ------------------
                  if (H5P__register_real(pclass, H5F_ACS_ALIGN_THRHD_NAME, H5F_ACS_ALIGN_THRHD_SIZE, &H5F_def_threshold_g,
  ------------------
  |  |  102|      1|#define H5F_ACS_ALIGN_THRHD_SIZE sizeof(hsize_t)
  ------------------
  |  Branch (585:9): [True: 0, False: 1]
  ------------------
  586|      1|                           NULL, NULL, NULL, H5F_ACS_ALIGN_THRHD_ENC, H5F_ACS_ALIGN_THRHD_DEC, NULL, NULL,
  ------------------
  |  |  104|      1|#define H5F_ACS_ALIGN_THRHD_ENC  H5P__encode_hsize_t
  ------------------
                                         NULL, NULL, NULL, H5F_ACS_ALIGN_THRHD_ENC, H5F_ACS_ALIGN_THRHD_DEC, NULL, NULL,
  ------------------
  |  |  105|      1|#define H5F_ACS_ALIGN_THRHD_DEC  H5P__decode_hsize_t
  ------------------
  587|      1|                           NULL, NULL) < 0)
  588|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  589|       |
  590|       |    /* Register the alignment */
  591|      1|    if (H5P__register_real(pclass, H5F_ACS_ALIGN_NAME, H5F_ACS_ALIGN_SIZE, &H5F_def_alignment_g, NULL, NULL,
  ------------------
  |  |  226|      1|#define H5F_ACS_ALIGN_NAME                "align"       /* Alignment */
  ------------------
                  if (H5P__register_real(pclass, H5F_ACS_ALIGN_NAME, H5F_ACS_ALIGN_SIZE, &H5F_def_alignment_g, NULL, NULL,
  ------------------
  |  |  107|      1|#define H5F_ACS_ALIGN_SIZE sizeof(hsize_t)
  ------------------
  |  Branch (591:9): [True: 0, False: 1]
  ------------------
  592|      1|                           NULL, H5F_ACS_ALIGN_ENC, H5F_ACS_ALIGN_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |  109|      1|#define H5F_ACS_ALIGN_ENC  H5P__encode_hsize_t
  ------------------
                                         NULL, H5F_ACS_ALIGN_ENC, H5F_ACS_ALIGN_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |  110|      1|#define H5F_ACS_ALIGN_DEC  H5P__decode_hsize_t
  ------------------
  593|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  594|       |
  595|       |    /* Register the minimum metadata allocation block size */
  596|      1|    if (H5P__register_real(pclass, H5F_ACS_META_BLOCK_SIZE_NAME, H5F_ACS_META_BLOCK_SIZE_SIZE,
  ------------------
  |  |  228|      1|    "meta_block_size" /* Minimum metadata allocation block size (when aggregating metadata allocations) */
  ------------------
                  if (H5P__register_real(pclass, H5F_ACS_META_BLOCK_SIZE_NAME, H5F_ACS_META_BLOCK_SIZE_SIZE,
  ------------------
  |  |  113|      1|#define H5F_ACS_META_BLOCK_SIZE_SIZE sizeof(hsize_t)
  ------------------
  |  Branch (596:9): [True: 0, False: 1]
  ------------------
  597|      1|                           &H5F_def_meta_block_size_g, NULL, NULL, NULL, H5F_ACS_META_BLOCK_SIZE_ENC,
  ------------------
  |  |  115|      1|#define H5F_ACS_META_BLOCK_SIZE_ENC  H5P__encode_hsize_t
  ------------------
  598|      1|                           H5F_ACS_META_BLOCK_SIZE_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |  116|      1|#define H5F_ACS_META_BLOCK_SIZE_DEC  H5P__decode_hsize_t
  ------------------
  599|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  600|       |
  601|       |    /* Register the maximum sieve buffer size */
  602|      1|    if (H5P__register_real(pclass, H5F_ACS_SIEVE_BUF_SIZE_NAME, H5F_ACS_SIEVE_BUF_SIZE_SIZE,
  ------------------
  |  |  230|      1|    "sieve_buf_size" /* Maximum sieve buffer size (when data sieving is allowed by file driver) */
  ------------------
                  if (H5P__register_real(pclass, H5F_ACS_SIEVE_BUF_SIZE_NAME, H5F_ACS_SIEVE_BUF_SIZE_SIZE,
  ------------------
  |  |  119|      1|#define H5F_ACS_SIEVE_BUF_SIZE_SIZE sizeof(size_t)
  ------------------
  |  Branch (602:9): [True: 0, False: 1]
  ------------------
  603|      1|                           &H5F_def_sieve_buf_size_g, NULL, NULL, NULL, H5F_ACS_SIEVE_BUF_SIZE_ENC,
  ------------------
  |  |  121|      1|#define H5F_ACS_SIEVE_BUF_SIZE_ENC  H5P__encode_size_t
  ------------------
  604|      1|                           H5F_ACS_SIEVE_BUF_SIZE_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |  122|      1|#define H5F_ACS_SIEVE_BUF_SIZE_DEC  H5P__decode_size_t
  ------------------
  605|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  606|       |
  607|       |    /* Register the minimum "small data" allocation block size */
  608|      1|    if (H5P__register_real(pclass, H5F_ACS_SDATA_BLOCK_SIZE_NAME, H5F_ACS_SDATA_BLOCK_SIZE_SIZE,
  ------------------
  |  |  232|      1|    "sdata_block_size" /* Minimum "small data" allocation block size (when aggregating "small" raw data      \
  ------------------
                  if (H5P__register_real(pclass, H5F_ACS_SDATA_BLOCK_SIZE_NAME, H5F_ACS_SDATA_BLOCK_SIZE_SIZE,
  ------------------
  |  |  125|      1|#define H5F_ACS_SDATA_BLOCK_SIZE_SIZE sizeof(hsize_t)
  ------------------
  |  Branch (608:9): [True: 0, False: 1]
  ------------------
  609|      1|                           &H5F_def_sdata_block_size_g, NULL, NULL, NULL, H5F_ACS_SDATA_BLOCK_SIZE_ENC,
  ------------------
  |  |  127|      1|#define H5F_ACS_SDATA_BLOCK_SIZE_ENC  H5P__encode_hsize_t
  ------------------
  610|      1|                           H5F_ACS_SDATA_BLOCK_SIZE_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |  128|      1|#define H5F_ACS_SDATA_BLOCK_SIZE_DEC  H5P__decode_hsize_t
  ------------------
  611|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  612|       |
  613|       |    /* Register the garbage collection reference */
  614|      1|    if (H5P__register_real(pclass, H5F_ACS_GARBG_COLCT_REF_NAME, H5F_ACS_GARBG_COLCT_REF_SIZE,
  ------------------
  |  |  234|      1|#define H5F_ACS_GARBG_COLCT_REF_NAME "gc_ref"             /* Garbage-collect references */
  ------------------
                  if (H5P__register_real(pclass, H5F_ACS_GARBG_COLCT_REF_NAME, H5F_ACS_GARBG_COLCT_REF_SIZE,
  ------------------
  |  |  130|      1|#define H5F_ACS_GARBG_COLCT_REF_SIZE sizeof(unsigned)
  ------------------
  |  Branch (614:9): [True: 0, False: 1]
  ------------------
  615|      1|                           &H5F_def_gc_ref_g, NULL, NULL, NULL, H5F_ACS_GARBG_COLCT_REF_ENC,
  ------------------
  |  |  132|      1|#define H5F_ACS_GARBG_COLCT_REF_ENC  H5P__encode_unsigned
  ------------------
  616|      1|                           H5F_ACS_GARBG_COLCT_REF_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |  133|      1|#define H5F_ACS_GARBG_COLCT_REF_DEC  H5P__decode_unsigned
  ------------------
  617|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  618|       |
  619|       |    /* Register the file driver ID & info */
  620|       |    /* (Note: this property should not have an encode/decode callback -QAK) */
  621|      1|    if (H5P__register_real(pclass, H5F_ACS_FILE_DRV_NAME, H5F_ACS_FILE_DRV_SIZE, &def_driver_prop,
  ------------------
  |  |  235|      1|#define H5F_ACS_FILE_DRV_NAME        "vfd_info"           /* File driver ID & info */
  ------------------
                  if (H5P__register_real(pclass, H5F_ACS_FILE_DRV_NAME, H5F_ACS_FILE_DRV_SIZE, &def_driver_prop,
  ------------------
  |  |  135|      1|#define H5F_ACS_FILE_DRV_SIZE sizeof(H5FD_driver_prop_t)
  ------------------
  |  Branch (621:9): [True: 0, False: 1]
  ------------------
  622|      1|                           H5F_ACS_FILE_DRV_CRT, H5F_ACS_FILE_DRV_SET, H5F_ACS_FILE_DRV_GET, NULL, NULL,
  ------------------
  |  |  140|      1|#define H5F_ACS_FILE_DRV_CRT   H5P__facc_file_driver_create
  ------------------
                                         H5F_ACS_FILE_DRV_CRT, H5F_ACS_FILE_DRV_SET, H5F_ACS_FILE_DRV_GET, NULL, NULL,
  ------------------
  |  |  141|      1|#define H5F_ACS_FILE_DRV_SET   H5P__facc_file_driver_set
  ------------------
                                         H5F_ACS_FILE_DRV_CRT, H5F_ACS_FILE_DRV_SET, H5F_ACS_FILE_DRV_GET, NULL, NULL,
  ------------------
  |  |  142|      1|#define H5F_ACS_FILE_DRV_GET   H5P__facc_file_driver_get
  ------------------
  623|      1|                           H5F_ACS_FILE_DRV_DEL, H5F_ACS_FILE_DRV_COPY, H5F_ACS_FILE_DRV_CMP,
  ------------------
  |  |  143|      1|#define H5F_ACS_FILE_DRV_DEL   H5P__facc_file_driver_del
  ------------------
                                         H5F_ACS_FILE_DRV_DEL, H5F_ACS_FILE_DRV_COPY, H5F_ACS_FILE_DRV_CMP,
  ------------------
  |  |  144|      1|#define H5F_ACS_FILE_DRV_COPY  H5P__facc_file_driver_copy
  ------------------
                                         H5F_ACS_FILE_DRV_DEL, H5F_ACS_FILE_DRV_COPY, H5F_ACS_FILE_DRV_CMP,
  ------------------
  |  |  145|      1|#define H5F_ACS_FILE_DRV_CMP   H5P__facc_file_driver_cmp
  ------------------
  624|      1|                           H5F_ACS_FILE_DRV_CLOSE) < 0)
  ------------------
  |  |  146|      1|#define H5F_ACS_FILE_DRV_CLOSE H5P__facc_file_driver_close
  ------------------
  625|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  626|       |
  627|       |    /* Register the file close degree */
  628|      1|    if (H5P__register_real(pclass, H5F_ACS_CLOSE_DEGREE_NAME, H5F_CLOSE_DEGREE_SIZE, &H5F_def_close_degree_g,
  ------------------
  |  |  237|      1|#define H5F_ACS_CLOSE_DEGREE_NAME    "close_degree"       /* File close degree */
  ------------------
                  if (H5P__register_real(pclass, H5F_ACS_CLOSE_DEGREE_NAME, H5F_CLOSE_DEGREE_SIZE, &H5F_def_close_degree_g,
  ------------------
  |  |  148|      1|#define H5F_CLOSE_DEGREE_SIZE sizeof(H5F_close_degree_t)
  ------------------
  |  Branch (628:9): [True: 0, False: 1]
  ------------------
  629|      1|                           NULL, NULL, NULL, H5F_CLOSE_DEGREE_ENC, H5F_CLOSE_DEGREE_DEC, NULL, NULL, NULL,
  ------------------
  |  |  150|      1|#define H5F_CLOSE_DEGREE_ENC  H5P__facc_fclose_degree_enc
  ------------------
                                         NULL, NULL, NULL, H5F_CLOSE_DEGREE_ENC, H5F_CLOSE_DEGREE_DEC, NULL, NULL, NULL,
  ------------------
  |  |  151|      1|#define H5F_CLOSE_DEGREE_DEC  H5P__facc_fclose_degree_dec
  ------------------
  630|      1|                           NULL) < 0)
  631|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  632|       |
  633|       |    /* Register the offset of family driver info */
  634|      1|    if (H5P__register_real(pclass, H5F_ACS_FAMILY_OFFSET_NAME, H5F_ACS_FAMILY_OFFSET_SIZE,
  ------------------
  |  |  238|      1|#define H5F_ACS_FAMILY_OFFSET_NAME   "family_offset"      /* Offset position in file for family file driver */
  ------------------
                  if (H5P__register_real(pclass, H5F_ACS_FAMILY_OFFSET_NAME, H5F_ACS_FAMILY_OFFSET_SIZE,
  ------------------
  |  |  153|      1|#define H5F_ACS_FAMILY_OFFSET_SIZE sizeof(hsize_t)
  ------------------
  |  Branch (634:9): [True: 0, False: 1]
  ------------------
  635|      1|                           &H5F_def_family_offset_g, NULL, NULL, NULL, H5F_ACS_FAMILY_OFFSET_ENC,
  ------------------
  |  |  155|      1|#define H5F_ACS_FAMILY_OFFSET_ENC  H5P__encode_hsize_t
  ------------------
  636|      1|                           H5F_ACS_FAMILY_OFFSET_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |  156|      1|#define H5F_ACS_FAMILY_OFFSET_DEC  H5P__decode_hsize_t
  ------------------
  637|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  638|       |
  639|       |    /* Register the private property of new family file size. It's used by h5repart only. */
  640|       |    /* (Note: this property should not have an encode/decode callback -QAK) */
  641|      1|    if (H5P__register_real(pclass, H5F_ACS_FAMILY_NEWSIZE_NAME, H5F_ACS_FAMILY_NEWSIZE_SIZE,
  ------------------
  |  |  240|      1|    "family_newsize" /* New member size of family driver.  (private property only used by h5repart) */
  ------------------
                  if (H5P__register_real(pclass, H5F_ACS_FAMILY_NEWSIZE_NAME, H5F_ACS_FAMILY_NEWSIZE_SIZE,
  ------------------
  |  |  159|      1|#define H5F_ACS_FAMILY_NEWSIZE_SIZE sizeof(hsize_t)
  ------------------
  |  Branch (641:9): [True: 0, False: 1]
  ------------------
  642|      1|                           &H5F_def_family_newsize_g, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
  643|      1|                           NULL) < 0)
  644|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  645|       |
  646|       |    /* Register the private property of whether convert family to a single-file driver. It's used by h5repart
  647|       |     * only. */
  648|       |    /* (Note: this property should not have an encode/decode callback -QAK) */
  649|      1|    if (H5P__register_real(pclass, H5F_ACS_FAMILY_TO_SINGLE_NAME, H5F_ACS_FAMILY_TO_SINGLE_SIZE,
  ------------------
  |  |  242|      1|    "family_to_single" /* Whether to convert family to a single-file driver.  (private property only used by \
  ------------------
                  if (H5P__register_real(pclass, H5F_ACS_FAMILY_TO_SINGLE_NAME, H5F_ACS_FAMILY_TO_SINGLE_SIZE,
  ------------------
  |  |  164|      1|#define H5F_ACS_FAMILY_TO_SINGLE_SIZE sizeof(bool)
  ------------------
  |  Branch (649:9): [True: 0, False: 1]
  ------------------
  650|      1|                           &H5F_def_family_to_single_g, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
  651|      1|                           NULL) < 0)
  652|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  653|       |
  654|       |    /* Register the data type of multi driver info */
  655|      1|    if (H5P__register_real(pclass, H5F_ACS_MULTI_TYPE_NAME, H5F_ACS_MULTI_TYPE_SIZE, &H5F_def_mem_type_g,
  ------------------
  |  |  244|      1|#define H5F_ACS_MULTI_TYPE_NAME        "multi_type"        /* Data type in multi file driver */
  ------------------
                  if (H5P__register_real(pclass, H5F_ACS_MULTI_TYPE_NAME, H5F_ACS_MULTI_TYPE_SIZE, &H5F_def_mem_type_g,
  ------------------
  |  |  167|      1|#define H5F_ACS_MULTI_TYPE_SIZE sizeof(H5FD_mem_t)
  ------------------
  |  Branch (655:9): [True: 0, False: 1]
  ------------------
  656|      1|                           NULL, NULL, NULL, H5F_ACS_MULTI_TYPE_ENC, H5F_ACS_MULTI_TYPE_DEC, NULL, NULL, NULL,
  ------------------
  |  |  169|      1|#define H5F_ACS_MULTI_TYPE_ENC  H5P__facc_multi_type_enc
  ------------------
                                         NULL, NULL, NULL, H5F_ACS_MULTI_TYPE_ENC, H5F_ACS_MULTI_TYPE_DEC, NULL, NULL, NULL,
  ------------------
  |  |  170|      1|#define H5F_ACS_MULTI_TYPE_DEC  H5P__facc_multi_type_dec
  ------------------
  657|      1|                           NULL) < 0)
  658|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  659|       |
  660|       |    /* Register the 'low' bound of library format versions */
  661|      1|    if (H5P__register_real(pclass, H5F_ACS_LIBVER_LOW_BOUND_NAME, H5F_ACS_LIBVER_LOW_BOUND_SIZE,
  ------------------
  |  |  245|      1|#define H5F_ACS_LIBVER_LOW_BOUND_NAME  "libver_low_bound"  /* 'low' bound of library format versions */
  ------------------
                  if (H5P__register_real(pclass, H5F_ACS_LIBVER_LOW_BOUND_NAME, H5F_ACS_LIBVER_LOW_BOUND_SIZE,
  ------------------
  |  |  173|      1|#define H5F_ACS_LIBVER_LOW_BOUND_SIZE sizeof(H5F_libver_t)
  ------------------
  |  Branch (661:9): [True: 0, False: 1]
  ------------------
  662|      1|                           &H5F_def_libver_low_bound_g, NULL, NULL, NULL, H5F_ACS_LIBVER_LOW_BOUND_ENC,
  ------------------
  |  |  175|      1|#define H5F_ACS_LIBVER_LOW_BOUND_ENC  H5P__facc_libver_type_enc
  ------------------
  663|      1|                           H5F_ACS_LIBVER_LOW_BOUND_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |  176|      1|#define H5F_ACS_LIBVER_LOW_BOUND_DEC  H5P__facc_libver_type_dec
  ------------------
  664|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  665|       |
  666|       |    /* Register the 'high' bound of library format versions */
  667|      1|    if (H5P__register_real(pclass, H5F_ACS_LIBVER_HIGH_BOUND_NAME, H5F_ACS_LIBVER_HIGH_BOUND_SIZE,
  ------------------
  |  |  246|      1|#define H5F_ACS_LIBVER_HIGH_BOUND_NAME "libver_high_bound" /* 'high' bound of library format versions */
  ------------------
                  if (H5P__register_real(pclass, H5F_ACS_LIBVER_HIGH_BOUND_NAME, H5F_ACS_LIBVER_HIGH_BOUND_SIZE,
  ------------------
  |  |  179|      1|#define H5F_ACS_LIBVER_HIGH_BOUND_SIZE sizeof(H5F_libver_t)
  ------------------
  |  Branch (667:9): [True: 0, False: 1]
  ------------------
  668|      1|                           &H5F_def_libver_high_bound_g, NULL, NULL, NULL, H5F_ACS_LIBVER_HIGH_BOUND_ENC,
  ------------------
  |  |  181|      1|#define H5F_ACS_LIBVER_HIGH_BOUND_ENC  H5P__facc_libver_type_enc
  ------------------
  669|      1|                           H5F_ACS_LIBVER_HIGH_BOUND_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |  182|      1|#define H5F_ACS_LIBVER_HIGH_BOUND_DEC  H5P__facc_libver_type_dec
  ------------------
  670|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  671|       |
  672|       |    /* Register the private property of whether to retrieve the file descriptor from the core VFD */
  673|       |    /* (used internally to the library only) */
  674|       |    /* (Note: this property should not have an encode/decode callback -QAK) */
  675|      1|    if (H5P__register_real(pclass, H5F_ACS_WANT_POSIX_FD_NAME, H5F_ACS_WANT_POSIX_FD_SIZE,
  ------------------
  |  |  248|      1|    "want_posix_fd" /* Internal: query the file descriptor from the core VFD, instead of the memory address  \
  ------------------
                  if (H5P__register_real(pclass, H5F_ACS_WANT_POSIX_FD_NAME, H5F_ACS_WANT_POSIX_FD_SIZE,
  ------------------
  |  |  187|      1|#define H5F_ACS_WANT_POSIX_FD_SIZE sizeof(bool)
  ------------------
  |  Branch (675:9): [True: 0, False: 1]
  ------------------
  676|      1|                           &H5F_def_want_posix_fd_g, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
  677|      1|                           NULL) < 0)
  678|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  679|       |
  680|       |    /* Register the external file cache size */
  681|      1|    if (H5P__register_real(pclass, H5F_ACS_EFC_SIZE_NAME, H5F_ACS_EFC_SIZE_SIZE, &H5F_def_efc_size_g, NULL,
  ------------------
  |  |  252|      1|#define H5F_ACS_EFC_SIZE_NAME               "efc_size"               /* Size of external file cache */
  ------------------
                  if (H5P__register_real(pclass, H5F_ACS_EFC_SIZE_NAME, H5F_ACS_EFC_SIZE_SIZE, &H5F_def_efc_size_g, NULL,
  ------------------
  |  |  190|      1|#define H5F_ACS_EFC_SIZE_SIZE sizeof(unsigned)
  ------------------
  |  Branch (681:9): [True: 0, False: 1]
  ------------------
  682|      1|                           NULL, NULL, H5F_ACS_EFC_SIZE_ENC, H5F_ACS_EFC_SIZE_DEC, NULL, NULL, NULL,
  ------------------
  |  |  192|      1|#define H5F_ACS_EFC_SIZE_ENC  H5P__encode_unsigned
  ------------------
                                         NULL, NULL, H5F_ACS_EFC_SIZE_ENC, H5F_ACS_EFC_SIZE_DEC, NULL, NULL, NULL,
  ------------------
  |  |  193|      1|#define H5F_ACS_EFC_SIZE_DEC  H5P__decode_unsigned
  ------------------
  683|      1|                           NULL) < 0)
  684|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  685|       |
  686|       |    /* Register the initial file image info */
  687|       |    /* (Note: this property should not have an encode/decode callback -QAK) */
  688|      1|    if (H5P__register_real(pclass, H5F_ACS_FILE_IMAGE_INFO_NAME, H5F_ACS_FILE_IMAGE_INFO_SIZE,
  ------------------
  |  |  254|      1|    "file_image_info" /* struct containing initial file image and callback info */
  ------------------
                  if (H5P__register_real(pclass, H5F_ACS_FILE_IMAGE_INFO_NAME, H5F_ACS_FILE_IMAGE_INFO_SIZE,
  ------------------
  |  |  195|      1|#define H5F_ACS_FILE_IMAGE_INFO_SIZE  sizeof(H5FD_file_image_info_t)
  ------------------
  |  Branch (688:9): [True: 0, False: 1]
  ------------------
  689|      1|                           &H5F_def_file_image_info_g, NULL, H5F_ACS_FILE_IMAGE_INFO_SET,
  ------------------
  |  |  197|      1|#define H5F_ACS_FILE_IMAGE_INFO_SET   H5P__facc_file_image_info_set
  ------------------
  690|      1|                           H5F_ACS_FILE_IMAGE_INFO_GET, NULL, NULL, H5F_ACS_FILE_IMAGE_INFO_DEL,
  ------------------
  |  |  198|      1|#define H5F_ACS_FILE_IMAGE_INFO_GET   H5P__facc_file_image_info_get
  ------------------
                                         H5F_ACS_FILE_IMAGE_INFO_GET, NULL, NULL, H5F_ACS_FILE_IMAGE_INFO_DEL,
  ------------------
  |  |  199|      1|#define H5F_ACS_FILE_IMAGE_INFO_DEL   H5P__facc_file_image_info_del
  ------------------
  691|      1|                           H5F_ACS_FILE_IMAGE_INFO_COPY, H5F_ACS_FILE_IMAGE_INFO_CMP,
  ------------------
  |  |  200|      1|#define H5F_ACS_FILE_IMAGE_INFO_COPY  H5P__facc_file_image_info_copy
  ------------------
                                         H5F_ACS_FILE_IMAGE_INFO_COPY, H5F_ACS_FILE_IMAGE_INFO_CMP,
  ------------------
  |  |  201|      1|#define H5F_ACS_FILE_IMAGE_INFO_CMP   H5P__facc_file_image_info_cmp
  ------------------
  692|      1|                           H5F_ACS_FILE_IMAGE_INFO_CLOSE) < 0)
  ------------------
  |  |  202|      1|#define H5F_ACS_FILE_IMAGE_INFO_CLOSE H5P__facc_file_image_info_close
  ------------------
  693|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  694|       |
  695|       |    /* Register the # of read attempts */
  696|      1|    if (H5P__register_real(pclass, H5F_ACS_METADATA_READ_ATTEMPTS_NAME, H5F_ACS_METADATA_READ_ATTEMPTS_SIZE,
  ------------------
  |  |  250|      1|#define H5F_ACS_METADATA_READ_ATTEMPTS_NAME "metadata_read_attempts" /* # of metadata read attempts */
  ------------------
                  if (H5P__register_real(pclass, H5F_ACS_METADATA_READ_ATTEMPTS_NAME, H5F_ACS_METADATA_READ_ATTEMPTS_SIZE,
  ------------------
  |  |  204|      1|#define H5F_ACS_METADATA_READ_ATTEMPTS_SIZE sizeof(unsigned)
  ------------------
  |  Branch (696:9): [True: 0, False: 1]
  ------------------
  697|      1|                           &H5F_def_metadata_read_attempts_g, NULL, NULL, NULL,
  698|      1|                           H5F_ACS_METADATA_READ_ATTEMPTS_ENC, H5F_ACS_METADATA_READ_ATTEMPTS_DEC, NULL, NULL,
  ------------------
  |  |  206|      1|#define H5F_ACS_METADATA_READ_ATTEMPTS_ENC  H5P__encode_unsigned
  ------------------
                                         H5F_ACS_METADATA_READ_ATTEMPTS_ENC, H5F_ACS_METADATA_READ_ATTEMPTS_DEC, NULL, NULL,
  ------------------
  |  |  207|      1|#define H5F_ACS_METADATA_READ_ATTEMPTS_DEC  H5P__decode_unsigned
  ------------------
  699|      1|                           NULL, NULL) < 0)
  700|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  701|       |
  702|       |    /* Register object flush callback */
  703|       |    /* (Note: this property should not have an encode/decode callback -QAK) */
  704|      1|    if (H5P__register_real(pclass, H5F_ACS_OBJECT_FLUSH_CB_NAME, H5F_ACS_OBJECT_FLUSH_CB_SIZE,
  ------------------
  |  |  251|      1|#define H5F_ACS_OBJECT_FLUSH_CB_NAME        "object_flush_cb"        /* Object flush callback */
  ------------------
                  if (H5P__register_real(pclass, H5F_ACS_OBJECT_FLUSH_CB_NAME, H5F_ACS_OBJECT_FLUSH_CB_SIZE,
  ------------------
  |  |  209|      1|#define H5F_ACS_OBJECT_FLUSH_CB_SIZE sizeof(H5F_object_flush_t)
  ------------------
  |  Branch (704:9): [True: 0, False: 1]
  ------------------
  705|      1|                           &H5F_def_object_flush_cb_g, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
  706|      1|                           NULL) < 0)
  707|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  708|       |
  709|       |    /* Register the private property of whether to clear the superblock status_flags. It's used by h5clear
  710|       |     * only. */
  711|      1|    if (H5P__register_real(pclass, H5F_ACS_CLEAR_STATUS_FLAGS_NAME, H5F_ACS_CLEAR_STATUS_FLAGS_SIZE,
  ------------------
  |  |  256|      1|    "clear_status_flags" /* Whether to clear superblock status_flags (private property only used by h5clear) \
  ------------------
                  if (H5P__register_real(pclass, H5F_ACS_CLEAR_STATUS_FLAGS_NAME, H5F_ACS_CLEAR_STATUS_FLAGS_SIZE,
  ------------------
  |  |  215|      1|#define H5F_ACS_CLEAR_STATUS_FLAGS_SIZE sizeof(bool)
  ------------------
  |  Branch (711:9): [True: 0, False: 1]
  ------------------
  712|      1|                           &H5F_def_clear_status_flags_g, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
  713|      1|                           NULL) < 0)
  714|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  715|       |
  716|       |    /* Register the private property of whether to skip EOF check. It's used by h5clear only. */
  717|      1|    if (H5P__register_real(pclass, H5F_ACS_SKIP_EOF_CHECK_NAME, H5F_ACS_SKIP_EOF_CHECK_SIZE,
  ------------------
  |  |  260|      1|#define H5F_ACS_SKIP_EOF_CHECK_NAME "skip_eof_check" /* Skip EOF check */
  ------------------
                  if (H5P__register_real(pclass, H5F_ACS_SKIP_EOF_CHECK_NAME, H5F_ACS_SKIP_EOF_CHECK_SIZE,
  ------------------
  |  |  222|      1|#define H5F_ACS_SKIP_EOF_CHECK_SIZE sizeof(bool)
  ------------------
  |  Branch (717:9): [True: 0, False: 1]
  ------------------
  718|      1|                           &H5F_def_skip_eof_check_g, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
  719|      1|                           NULL) < 0)
  720|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  721|       |
  722|       |    /* Register the private property of whether to drop free-space to the floor. It's used by h5clear only. */
  723|      1|    if (H5P__register_real(pclass, H5F_ACS_NULL_FSM_ADDR_NAME, H5F_ACS_NULL_FSM_ADDR_SIZE,
  ------------------
  |  |  258|      1|#define H5F_ACS_NULL_FSM_ADDR_NAME "null_fsm_addr" /* Nullify addresses of free-space managers */
  ------------------
                  if (H5P__register_real(pclass, H5F_ACS_NULL_FSM_ADDR_NAME, H5F_ACS_NULL_FSM_ADDR_SIZE,
  ------------------
  |  |  219|      1|#define H5F_ACS_NULL_FSM_ADDR_SIZE sizeof(bool)
  ------------------
  |  Branch (723:9): [True: 0, False: 1]
  ------------------
  724|      1|                           &H5F_def_null_fsm_addr_g, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
  725|      1|                           NULL) < 0)
  726|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  727|       |
  728|       |    /* Register the metadata cache logging flag. */
  729|      1|    if (H5P__register_real(pclass, H5F_ACS_USE_MDC_LOGGING_NAME, H5F_ACS_USE_MDC_LOGGING_SIZE,
  ------------------
  |  |  262|      1|#define H5F_ACS_USE_MDC_LOGGING_NAME  "use_mdc_logging"  /* Whether to use metadata cache logging */
  ------------------
                  if (H5P__register_real(pclass, H5F_ACS_USE_MDC_LOGGING_NAME, H5F_ACS_USE_MDC_LOGGING_SIZE,
  ------------------
  |  |  226|      1|#define H5F_ACS_USE_MDC_LOGGING_SIZE sizeof(bool)
  ------------------
  |  Branch (729:9): [True: 0, False: 1]
  ------------------
  730|      1|                           &H5F_def_use_mdc_logging_g, NULL, NULL, NULL, H5F_ACS_USE_MDC_LOGGING_ENC,
  ------------------
  |  |  228|      1|#define H5F_ACS_USE_MDC_LOGGING_ENC  H5P__encode_bool
  ------------------
  731|      1|                           H5F_ACS_USE_MDC_LOGGING_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |  229|      1|#define H5F_ACS_USE_MDC_LOGGING_DEC  H5P__decode_bool
  ------------------
  732|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  733|       |
  734|       |    /* Register the metadata cache log location. */
  735|      1|    if (H5P__register_real(pclass, H5F_ACS_MDC_LOG_LOCATION_NAME, H5F_ACS_MDC_LOG_LOCATION_SIZE,
  ------------------
  |  |  263|      1|#define H5F_ACS_MDC_LOG_LOCATION_NAME "mdc_log_location" /* Name of metadata cache log location */
  ------------------
                  if (H5P__register_real(pclass, H5F_ACS_MDC_LOG_LOCATION_NAME, H5F_ACS_MDC_LOG_LOCATION_SIZE,
  ------------------
  |  |  231|      1|#define H5F_ACS_MDC_LOG_LOCATION_SIZE  sizeof(char *)
  ------------------
  |  Branch (735:9): [True: 0, False: 1]
  ------------------
  736|      1|                           &H5F_def_mdc_log_location_g, NULL, NULL, NULL, H5F_ACS_MDC_LOG_LOCATION_ENC,
  ------------------
  |  |  233|      1|#define H5F_ACS_MDC_LOG_LOCATION_ENC   H5P__facc_mdc_log_location_enc
  ------------------
  737|      1|                           H5F_ACS_MDC_LOG_LOCATION_DEC, H5F_ACS_MDC_LOG_LOCATION_DEL,
  ------------------
  |  |  234|      1|#define H5F_ACS_MDC_LOG_LOCATION_DEC   H5P__facc_mdc_log_location_dec
  ------------------
                                         H5F_ACS_MDC_LOG_LOCATION_DEC, H5F_ACS_MDC_LOG_LOCATION_DEL,
  ------------------
  |  |  235|      1|#define H5F_ACS_MDC_LOG_LOCATION_DEL   H5P__facc_mdc_log_location_del
  ------------------
  738|      1|                           H5F_ACS_MDC_LOG_LOCATION_COPY, H5F_ACS_MDC_LOG_LOCATION_CMP,
  ------------------
  |  |  236|      1|#define H5F_ACS_MDC_LOG_LOCATION_COPY  H5P__facc_mdc_log_location_copy
  ------------------
                                         H5F_ACS_MDC_LOG_LOCATION_COPY, H5F_ACS_MDC_LOG_LOCATION_CMP,
  ------------------
  |  |  237|      1|#define H5F_ACS_MDC_LOG_LOCATION_CMP   H5P__facc_mdc_log_location_cmp
  ------------------
  739|      1|                           H5F_ACS_MDC_LOG_LOCATION_CLOSE) < 0)
  ------------------
  |  |  238|      1|#define H5F_ACS_MDC_LOG_LOCATION_CLOSE H5P__facc_mdc_log_location_close
  ------------------
  740|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  741|       |
  742|       |    /* Register the flag that indicates whether mdc logging starts on file access. */
  743|      1|    if (H5P__register_real(pclass, H5F_ACS_START_MDC_LOG_ON_ACCESS_NAME, H5F_ACS_START_MDC_LOG_ON_ACCESS_SIZE,
  ------------------
  |  |  265|      1|    "start_mdc_log_on_access" /* Whether logging starts on file create/open */
  ------------------
                  if (H5P__register_real(pclass, H5F_ACS_START_MDC_LOG_ON_ACCESS_NAME, H5F_ACS_START_MDC_LOG_ON_ACCESS_SIZE,
  ------------------
  |  |  240|      1|#define H5F_ACS_START_MDC_LOG_ON_ACCESS_SIZE sizeof(bool)
  ------------------
  |  Branch (743:9): [True: 0, False: 1]
  ------------------
  744|      1|                           &H5F_def_start_mdc_log_on_access_g, NULL, NULL, NULL,
  745|      1|                           H5F_ACS_START_MDC_LOG_ON_ACCESS_ENC, H5F_ACS_START_MDC_LOG_ON_ACCESS_DEC, NULL,
  ------------------
  |  |  242|      1|#define H5F_ACS_START_MDC_LOG_ON_ACCESS_ENC  H5P__encode_bool
  ------------------
                                         H5F_ACS_START_MDC_LOG_ON_ACCESS_ENC, H5F_ACS_START_MDC_LOG_ON_ACCESS_DEC, NULL,
  ------------------
  |  |  243|      1|#define H5F_ACS_START_MDC_LOG_ON_ACCESS_DEC  H5P__decode_bool
  ------------------
  746|      1|                           NULL, NULL, NULL) < 0)
  747|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  748|       |
  749|       |    /* Register the evict on close flag */
  750|      1|    if (H5P__register_real(pclass, H5F_ACS_EVICT_ON_CLOSE_FLAG_NAME, H5F_ACS_EVICT_ON_CLOSE_FLAG_SIZE,
  ------------------
  |  |  267|      1|    "evict_on_close_flag" /* Whether or not the metadata cache will evict objects on close */
  ------------------
                  if (H5P__register_real(pclass, H5F_ACS_EVICT_ON_CLOSE_FLAG_NAME, H5F_ACS_EVICT_ON_CLOSE_FLAG_SIZE,
  ------------------
  |  |  245|      1|#define H5F_ACS_EVICT_ON_CLOSE_FLAG_SIZE sizeof(bool)
  ------------------
  |  Branch (750:9): [True: 0, False: 1]
  ------------------
  751|      1|                           &H5F_def_evict_on_close_flag_g, NULL, NULL, NULL, H5F_ACS_EVICT_ON_CLOSE_FLAG_ENC,
  ------------------
  |  |  247|      1|#define H5F_ACS_EVICT_ON_CLOSE_FLAG_ENC  H5P__encode_bool
  ------------------
  752|      1|                           H5F_ACS_EVICT_ON_CLOSE_FLAG_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |  248|      1|#define H5F_ACS_EVICT_ON_CLOSE_FLAG_DEC  H5P__decode_bool
  ------------------
  753|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  754|       |
  755|       |#ifdef H5_HAVE_PARALLEL
  756|       |    /* Register the metadata collective read flag */
  757|       |    if (H5P__register_real(pclass, H5_COLL_MD_READ_FLAG_NAME, H5F_ACS_COLL_MD_READ_FLAG_SIZE,
  758|       |                           &H5F_def_coll_md_read_flag_g, NULL, NULL, NULL, H5F_ACS_COLL_MD_READ_FLAG_ENC,
  759|       |                           H5F_ACS_COLL_MD_READ_FLAG_DEC, NULL, NULL, NULL, NULL) < 0)
  760|       |        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  761|       |
  762|       |    /* Register the metadata collective write flag */
  763|       |    if (H5P__register_real(pclass, H5F_ACS_COLL_MD_WRITE_FLAG_NAME, H5F_ACS_COLL_MD_WRITE_FLAG_SIZE,
  764|       |                           &H5F_def_coll_md_write_flag_g, NULL, NULL, NULL, H5F_ACS_COLL_MD_WRITE_FLAG_ENC,
  765|       |                           H5F_ACS_COLL_MD_WRITE_FLAG_DEC, NULL, NULL, NULL, NULL) < 0)
  766|       |        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  767|       |
  768|       |    /* Register the MPI communicator */
  769|       |    if (H5P__register_real(pclass, H5F_ACS_MPI_PARAMS_COMM_NAME, H5F_ACS_MPI_PARAMS_COMM_SIZE,
  770|       |                           &H5F_def_mpi_params_comm_g, NULL, H5F_ACS_MPI_PARAMS_COMM_SET,
  771|       |                           H5F_ACS_MPI_PARAMS_COMM_GET, NULL, NULL, H5F_ACS_MPI_PARAMS_COMM_DEL,
  772|       |                           H5F_ACS_MPI_PARAMS_COMM_COPY, H5F_ACS_MPI_PARAMS_COMM_CMP,
  773|       |                           H5F_ACS_MPI_PARAMS_COMM_CLOSE) < 0)
  774|       |        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  775|       |
  776|       |    /* Register the MPI info struct */
  777|       |    if (H5P__register_real(pclass, H5F_ACS_MPI_PARAMS_INFO_NAME, H5F_ACS_MPI_PARAMS_INFO_SIZE,
  778|       |                           &H5F_def_mpi_params_info_g, NULL, H5F_ACS_MPI_PARAMS_INFO_SET,
  779|       |                           H5F_ACS_MPI_PARAMS_INFO_GET, NULL, NULL, H5F_ACS_MPI_PARAMS_INFO_DEL,
  780|       |                           H5F_ACS_MPI_PARAMS_INFO_COPY, H5F_ACS_MPI_PARAMS_INFO_CMP,
  781|       |                           H5F_ACS_MPI_PARAMS_INFO_CLOSE) < 0)
  782|       |        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  783|       |
  784|       |#endif /* H5_HAVE_PARALLEL */
  785|       |
  786|       |    /* Register the initial metadata cache image configuration */
  787|      1|    if (H5P__register_real(pclass, H5F_ACS_META_CACHE_INIT_IMAGE_CONFIG_NAME,
  ------------------
  |  |  272|      1|    "mdc_initCacheImageCfg" /* Initial metadata cache image creation configuration */
  ------------------
  |  Branch (787:9): [True: 0, False: 1]
  ------------------
  788|      1|                           H5F_ACS_META_CACHE_INIT_IMAGE_CONFIG_SIZE, &H5F_def_mdc_initCacheImageCfg_g, NULL,
  ------------------
  |  |  280|      1|#define H5F_ACS_META_CACHE_INIT_IMAGE_CONFIG_SIZE sizeof(H5AC_cache_image_config_t)
  ------------------
  789|      1|                           NULL, NULL, H5F_ACS_META_CACHE_INIT_IMAGE_CONFIG_ENC,
  ------------------
  |  |  282|      1|#define H5F_ACS_META_CACHE_INIT_IMAGE_CONFIG_ENC  H5P__facc_cache_image_config_enc
  ------------------
  790|      1|                           H5F_ACS_META_CACHE_INIT_IMAGE_CONFIG_DEC, NULL, NULL,
  ------------------
  |  |  283|      1|#define H5F_ACS_META_CACHE_INIT_IMAGE_CONFIG_DEC  H5P__facc_cache_image_config_dec
  ------------------
  791|      1|                           H5F_ACS_META_CACHE_INIT_IMAGE_CONFIG_CMP, NULL) < 0)
  ------------------
  |  |  284|      1|#define H5F_ACS_META_CACHE_INIT_IMAGE_CONFIG_CMP  H5P__facc_cache_image_config_cmp
  ------------------
  792|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  793|       |
  794|       |    /* Register the size of the page buffer size */
  795|      1|    if (H5P__register_real(pclass, H5F_ACS_PAGE_BUFFER_SIZE_NAME, H5F_ACS_PAGE_BUFFER_SIZE_SIZE,
  ------------------
  |  |  273|      1|#define H5F_ACS_PAGE_BUFFER_SIZE_NAME "page_buffer_size" /* the maximum size for the page buffer cache */
  ------------------
                  if (H5P__register_real(pclass, H5F_ACS_PAGE_BUFFER_SIZE_NAME, H5F_ACS_PAGE_BUFFER_SIZE_SIZE,
  ------------------
  |  |  286|      1|#define H5F_ACS_PAGE_BUFFER_SIZE_SIZE sizeof(size_t)
  ------------------
  |  Branch (795:9): [True: 0, False: 1]
  ------------------
  796|      1|                           &H5F_def_page_buf_size_g, NULL, NULL, NULL, H5F_ACS_PAGE_BUFFER_SIZE_ENC,
  ------------------
  |  |  288|      1|#define H5F_ACS_PAGE_BUFFER_SIZE_ENC  H5P__encode_size_t
  ------------------
  797|      1|                           H5F_ACS_PAGE_BUFFER_SIZE_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |  289|      1|#define H5F_ACS_PAGE_BUFFER_SIZE_DEC  H5P__decode_size_t
  ------------------
  798|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  799|       |
  800|       |    /* Register the size of the page buffer minimum metadata size */
  801|      1|    if (H5P__register_real(pclass, H5F_ACS_PAGE_BUFFER_MIN_META_PERC_NAME,
  ------------------
  |  |  275|      1|    "page_buffer_min_meta_perc" /* the min metadata percentage for the page buffer cache */
  ------------------
  |  Branch (801:9): [True: 0, False: 1]
  ------------------
  802|      1|                           H5F_ACS_PAGE_BUFFER_MIN_META_PERC_SIZE, &H5F_def_page_buf_min_meta_perc_g, NULL,
  ------------------
  |  |  291|      1|#define H5F_ACS_PAGE_BUFFER_MIN_META_PERC_SIZE sizeof(unsigned)
  ------------------
  803|      1|                           NULL, NULL, H5F_ACS_PAGE_BUFFER_MIN_META_PERC_ENC,
  ------------------
  |  |  293|      1|#define H5F_ACS_PAGE_BUFFER_MIN_META_PERC_ENC  H5P__encode_unsigned
  ------------------
  804|      1|                           H5F_ACS_PAGE_BUFFER_MIN_META_PERC_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |  294|      1|#define H5F_ACS_PAGE_BUFFER_MIN_META_PERC_DEC  H5P__decode_unsigned
  ------------------
  805|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  806|       |
  807|       |    /* Register the size of the page buffer minimum raw data size */
  808|      1|    if (H5P__register_real(pclass, H5F_ACS_PAGE_BUFFER_MIN_RAW_PERC_NAME,
  ------------------
  |  |  277|      1|    "page_buffer_min_raw_perc" /* the min raw data percentage for the page buffer cache */
  ------------------
  |  Branch (808:9): [True: 0, False: 1]
  ------------------
  809|      1|                           H5F_ACS_PAGE_BUFFER_MIN_RAW_PERC_SIZE, &H5F_def_page_buf_min_raw_perc_g, NULL,
  ------------------
  |  |  296|      1|#define H5F_ACS_PAGE_BUFFER_MIN_RAW_PERC_SIZE sizeof(unsigned)
  ------------------
  810|      1|                           NULL, NULL, H5F_ACS_PAGE_BUFFER_MIN_RAW_PERC_ENC,
  ------------------
  |  |  298|      1|#define H5F_ACS_PAGE_BUFFER_MIN_RAW_PERC_ENC  H5P__encode_unsigned
  ------------------
  811|      1|                           H5F_ACS_PAGE_BUFFER_MIN_RAW_PERC_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |  299|      1|#define H5F_ACS_PAGE_BUFFER_MIN_RAW_PERC_DEC  H5P__decode_unsigned
  ------------------
  812|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  813|       |
  814|       |    /* Register the file VOL connector ID & info */
  815|       |    /* (Note: this property should not have an encode/decode callback -QAK) */
  816|      1|    if (H5P__register_real(pclass, H5F_ACS_VOL_CONN_NAME, H5F_ACS_VOL_CONN_SIZE, &def_vol_prop,
  ------------------
  |  |  236|      1|#define H5F_ACS_VOL_CONN_NAME        "vol_connector_info" /* VOL connector ID & info */
  ------------------
                  if (H5P__register_real(pclass, H5F_ACS_VOL_CONN_NAME, H5F_ACS_VOL_CONN_SIZE, &def_vol_prop,
  ------------------
  |  |  301|      1|#define H5F_ACS_VOL_CONN_SIZE sizeof(H5VL_connector_prop_t)
  ------------------
  |  Branch (816:9): [True: 0, False: 1]
  ------------------
  817|      1|                           H5F_ACS_VOL_CONN_CRT, H5F_ACS_VOL_CONN_SET, H5F_ACS_VOL_CONN_GET, NULL, NULL,
  ------------------
  |  |  306|      1|#define H5F_ACS_VOL_CONN_CRT   H5P__facc_vol_create
  ------------------
                                         H5F_ACS_VOL_CONN_CRT, H5F_ACS_VOL_CONN_SET, H5F_ACS_VOL_CONN_GET, NULL, NULL,
  ------------------
  |  |  307|      1|#define H5F_ACS_VOL_CONN_SET   H5P__facc_vol_set
  ------------------
                                         H5F_ACS_VOL_CONN_CRT, H5F_ACS_VOL_CONN_SET, H5F_ACS_VOL_CONN_GET, NULL, NULL,
  ------------------
  |  |  308|      1|#define H5F_ACS_VOL_CONN_GET   H5P__facc_vol_get
  ------------------
  818|      1|                           H5F_ACS_VOL_CONN_DEL, H5F_ACS_VOL_CONN_COPY, H5F_ACS_VOL_CONN_CMP,
  ------------------
  |  |  309|      1|#define H5F_ACS_VOL_CONN_DEL   H5P__facc_vol_del
  ------------------
                                         H5F_ACS_VOL_CONN_DEL, H5F_ACS_VOL_CONN_COPY, H5F_ACS_VOL_CONN_CMP,
  ------------------
  |  |  310|      1|#define H5F_ACS_VOL_CONN_COPY  H5P__facc_vol_copy
  ------------------
                                         H5F_ACS_VOL_CONN_DEL, H5F_ACS_VOL_CONN_COPY, H5F_ACS_VOL_CONN_CMP,
  ------------------
  |  |  311|      1|#define H5F_ACS_VOL_CONN_CMP   H5P__facc_vol_cmp
  ------------------
  819|      1|                           H5F_ACS_VOL_CONN_CLOSE) < 0)
  ------------------
  |  |  312|      1|#define H5F_ACS_VOL_CONN_CLOSE H5P__facc_vol_close
  ------------------
  820|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  821|       |
  822|       |    /* Register the use file locking flag */
  823|      1|    if (H5P__register_real(pclass, H5F_ACS_USE_FILE_LOCKING_NAME, H5F_ACS_USE_FILE_LOCKING_SIZE,
  ------------------
  |  |  279|      1|    "use_file_locking" /* whether or not we use file locks for SWMR control and to prevent multiple writers  \
  ------------------
                  if (H5P__register_real(pclass, H5F_ACS_USE_FILE_LOCKING_NAME, H5F_ACS_USE_FILE_LOCKING_SIZE,
  ------------------
  |  |  316|      1|#define H5F_ACS_USE_FILE_LOCKING_SIZE sizeof(bool)
  ------------------
  |  Branch (823:9): [True: 0, False: 1]
  ------------------
  824|      1|                           &H5F_def_use_file_locking_g, NULL, NULL, NULL, H5F_ACS_USE_FILE_LOCKING_ENC,
  ------------------
  |  |  322|      1|#define H5F_ACS_USE_FILE_LOCKING_ENC H5P__encode_bool
  ------------------
  825|      1|                           H5F_ACS_USE_FILE_LOCKING_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |  323|      1|#define H5F_ACS_USE_FILE_LOCKING_DEC H5P__decode_bool
  ------------------
  826|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  827|       |
  828|       |    /* Register the ignore disabled file locks flag */
  829|      1|    if (H5P__register_real(pclass, H5F_ACS_IGNORE_DISABLED_FILE_LOCKS_NAME,
  ------------------
  |  |  282|      1|    "ignore_disabled_file_locks" /* whether or not we ignore "locks disabled" errors */
  ------------------
  |  Branch (829:9): [True: 0, False: 1]
  ------------------
  830|      1|                           H5F_ACS_IGNORE_DISABLED_FILE_LOCKS_SIZE, &H5F_def_ignore_disabled_file_locks_g,
  ------------------
  |  |  328|      1|#define H5F_ACS_IGNORE_DISABLED_FILE_LOCKS_SIZE sizeof(bool)
  ------------------
  831|      1|                           NULL, NULL, NULL, H5F_ACS_IGNORE_DISABLED_FILE_LOCKS_ENC,
  ------------------
  |  |  334|      1|#define H5F_ACS_IGNORE_DISABLED_FILE_LOCKS_ENC H5P__encode_bool
  ------------------
  832|      1|                           H5F_ACS_IGNORE_DISABLED_FILE_LOCKS_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |  335|      1|#define H5F_ACS_IGNORE_DISABLED_FILE_LOCKS_DEC H5P__decode_bool
  ------------------
  833|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  834|       |
  835|       |    /* Register the 'rfic' flags. */
  836|      1|    if (H5P__register_real(pclass, H5F_ACS_RFIC_FLAGS_NAME, H5F_ACS_RFIC_FLAGS_SIZE, &H5F_def_rfic_flags_g,
  ------------------
  |  |  287|      1|#define H5F_ACS_RFIC_FLAGS_NAME "rfic_flags"           /* Relaxed file integrity check (RFIC) flags */
  ------------------
                  if (H5P__register_real(pclass, H5F_ACS_RFIC_FLAGS_NAME, H5F_ACS_RFIC_FLAGS_SIZE, &H5F_def_rfic_flags_g,
  ------------------
  |  |  337|      1|#define H5F_ACS_RFIC_FLAGS_SIZE sizeof(uint64_t)
  ------------------
  |  Branch (836:9): [True: 0, False: 1]
  ------------------
  837|      1|                           NULL, NULL, NULL, H5F_ACS_RFIC_FLAGS_ENC, H5F_ACS_RFIC_FLAGS_DEC, NULL, NULL, NULL,
  ------------------
  |  |  339|      1|#define H5F_ACS_RFIC_FLAGS_ENC  H5P__encode_uint64_t
  ------------------
                                         NULL, NULL, NULL, H5F_ACS_RFIC_FLAGS_ENC, H5F_ACS_RFIC_FLAGS_DEC, NULL, NULL, NULL,
  ------------------
  |  |  340|      1|#define H5F_ACS_RFIC_FLAGS_DEC  H5P__decode_uint64_t
  ------------------
  838|      1|                           NULL) < 0)
  839|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  840|       |
  841|      1|done:
  842|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  843|      1|} /* end H5P__facc_reg_prop() */
H5Pfapl.c:H5P__facc_file_driver_create:
 1763|      2|{
 1764|      2|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      2|#define SUCCEED 0
  ------------------
 1765|       |
 1766|      2|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      2|    {                                                                                                        \
  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      2|        {
  ------------------
 1767|       |
 1768|       |    /* Make copy of file driver */
 1769|      2|    if (H5P__file_driver_copy(value) < 0)
  ------------------
  |  Branch (1769:9): [True: 0, False: 2]
  ------------------
 1770|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, FAIL, "can't copy file driver");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1771|       |
 1772|      2|done:
 1773|      2|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      2|    ;                                                                                                        \
  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1774|      2|} /* end H5P__facc_file_driver_create() */
H5Pfapl.c:H5P__file_driver_copy:
 1656|      2|{
 1657|      2|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      2|#define SUCCEED 0
  ------------------
 1658|       |
 1659|      2|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      2|    {                                                                                                        \
  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      2|        {
  ------------------
 1660|       |
 1661|      2|    if (value) {
  ------------------
  |  Branch (1661:9): [True: 2, False: 0]
  ------------------
 1662|      2|        H5FD_driver_prop_t *info = (H5FD_driver_prop_t *)value; /* Driver ID & info struct */
 1663|       |
 1664|       |        /* Copy the driver & info, if there is one */
 1665|      2|        if (info->driver_id > 0) {
  ------------------
  |  Branch (1665:13): [True: 2, False: 0]
  ------------------
 1666|       |            /* Increment the reference count on driver and copy driver info */
 1667|      2|            if (H5I_inc_ref(info->driver_id, false) < 0)
  ------------------
  |  Branch (1667:17): [True: 0, False: 2]
  ------------------
 1668|      0|                HGOTO_ERROR(H5E_PLIST, H5E_CANTINC, FAIL, "unable to increment ref count on VFL driver");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1669|       |
 1670|       |            /* Copy driver info, if it exists */
 1671|      2|            if (info->driver_info) {
  ------------------
  |  Branch (1671:17): [True: 0, False: 2]
  ------------------
 1672|      0|                H5FD_class_t *driver; /* Pointer to driver */
 1673|      0|                void         *new_pl; /* Copy of driver info */
 1674|       |
 1675|       |                /* Retrieve the driver for the ID */
 1676|      0|                if (NULL == (driver = (H5FD_class_t *)H5I_object(info->driver_id)))
  ------------------
  |  Branch (1676:21): [True: 0, False: 0]
  ------------------
 1677|      0|                    HGOTO_ERROR(H5E_PLIST, H5E_BADTYPE, FAIL, "not a driver ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1678|       |
 1679|       |                /* Allow the driver to copy or do it ourselves */
 1680|      0|                if (driver->fapl_copy) {
  ------------------
  |  Branch (1680:21): [True: 0, False: 0]
  ------------------
 1681|      0|                    if (NULL == (new_pl = (driver->fapl_copy)(info->driver_info)))
  ------------------
  |  Branch (1681:25): [True: 0, False: 0]
  ------------------
 1682|      0|                        HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, FAIL, "driver info copy failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1683|      0|                } /* end if */
 1684|      0|                else if (driver->fapl_size > 0) {
  ------------------
  |  Branch (1684:26): [True: 0, False: 0]
  ------------------
 1685|      0|                    if (NULL == (new_pl = H5MM_malloc(driver->fapl_size)))
  ------------------
  |  |   38|      0|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  |  Branch (1685:25): [True: 0, False: 0]
  ------------------
 1686|      0|                        HGOTO_ERROR(H5E_PLIST, H5E_CANTALLOC, FAIL, "driver info allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1687|      0|                    H5MM_memcpy(new_pl, info->driver_info, driver->fapl_size);
  ------------------
  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
 1688|      0|                } /* end else-if */
 1689|      0|                else
 1690|      0|                    HGOTO_ERROR(H5E_PLIST, H5E_UNSUPPORTED, FAIL, "no way to copy driver info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1691|       |
 1692|       |                /* Set the driver info for the copy */
 1693|      0|                info->driver_info = new_pl;
 1694|      0|            } /* end if */
 1695|       |
 1696|       |            /* Copy driver configuration string, if it exists */
 1697|      2|            if (info->driver_config_str) {
  ------------------
  |  Branch (1697:17): [True: 0, False: 2]
  ------------------
 1698|      0|                char *new_config_str = NULL;
 1699|       |
 1700|      0|                if (NULL == (new_config_str = H5MM_strdup(info->driver_config_str)))
  ------------------
  |  Branch (1700:21): [True: 0, False: 0]
  ------------------
 1701|      0|                    HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, FAIL, "driver configuration string copy failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1702|      0|                info->driver_config_str = new_config_str;
 1703|      0|            } /* end if */
 1704|      2|        }     /* end if */
 1705|      2|    }         /* end if */
 1706|       |
 1707|      2|done:
 1708|      2|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      2|    ;                                                                                                        \
  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1709|      2|} /* end H5P__file_driver_copy() */
H5Pfapl.c:H5P__file_driver_free:
 1723|      2|{
 1724|      2|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      2|#define SUCCEED 0
  ------------------
 1725|       |
 1726|      2|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      2|    {                                                                                                        \
  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      2|        {
  ------------------
 1727|       |
 1728|      2|    if (value) {
  ------------------
  |  Branch (1728:9): [True: 2, False: 0]
  ------------------
 1729|      2|        H5FD_driver_prop_t *info = (H5FD_driver_prop_t *)value; /* Driver ID & info struct */
 1730|       |
 1731|      2|        if (info->driver_id > 0) {
  ------------------
  |  Branch (1731:13): [True: 2, False: 0]
  ------------------
 1732|       |
 1733|       |            /* Free the driver info, if it exists */
 1734|      2|            if (info->driver_info)
  ------------------
  |  Branch (1734:17): [True: 0, False: 2]
  ------------------
 1735|      0|                if (H5FD_free_driver_info(info->driver_id, info->driver_info) < 0)
  ------------------
  |  Branch (1735:21): [True: 0, False: 0]
  ------------------
 1736|      0|                    HGOTO_ERROR(H5E_PLIST, H5E_CANTFREE, FAIL, "driver info free request failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1737|       |
 1738|       |            /* Free the driver configuration string, if it exists */
 1739|      2|            H5MM_xfree_const(info->driver_config_str);
 1740|       |
 1741|       |            /* Decrement reference count for driver */
 1742|      2|            if (H5I_dec_ref(info->driver_id) < 0)
  ------------------
  |  Branch (1742:17): [True: 0, False: 2]
  ------------------
 1743|      0|                HGOTO_ERROR(H5E_PLIST, H5E_CANTDEC, FAIL, "can't decrement reference count for driver ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1744|      2|        }
 1745|      2|    }
 1746|       |
 1747|      2|done:
 1748|      2|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      2|    ;                                                                                                        \
  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1749|      2|} /* end H5P__file_driver_free() */
H5Pfapl.c:H5P__facc_file_driver_close:
 1968|      2|{
 1969|      2|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      2|#define SUCCEED 0
  ------------------
 1970|       |
 1971|      2|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      2|    {                                                                                                        \
  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      2|        {
  ------------------
 1972|       |
 1973|       |    /* Free the file driver */
 1974|      2|    if (H5P__file_driver_free(value) < 0)
  ------------------
  |  Branch (1974:9): [True: 0, False: 2]
  ------------------
 1975|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTRELEASE, FAIL, "can't release file driver");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1976|       |
 1977|      2|done:
 1978|      2|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      2|    ;                                                                                                        \
  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1979|      2|} /* end H5P__facc_file_driver_close() */
H5Pfapl.c:H5P__file_image_info_free:
 3343|      2|{
 3344|      2|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      2|#define SUCCEED 0
  ------------------
 3345|       |
 3346|      2|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      2|    {                                                                                                        \
  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      2|        {
  ------------------
 3347|       |
 3348|      2|    if (value) {
  ------------------
  |  Branch (3348:9): [True: 2, False: 0]
  ------------------
 3349|      2|        H5FD_file_image_info_t *info; /* Image info struct */
 3350|       |
 3351|      2|        info = (H5FD_file_image_info_t *)value;
 3352|       |
 3353|       |        /* Verify file image field consistency */
 3354|      2|        assert(((info->buffer != NULL) && (info->size > 0)) || ((info->buffer == NULL) && (info->size == 0)));
 3355|       |
 3356|       |        /* Free buffer */
 3357|      2|        if (info->buffer != NULL && info->size > 0) {
  ------------------
  |  Branch (3357:13): [True: 0, False: 2]
  |  Branch (3357:37): [True: 0, False: 0]
  ------------------
 3358|      0|            if (info->callbacks.image_free) {
  ------------------
  |  Branch (3358:17): [True: 0, False: 0]
  ------------------
 3359|      0|                if ((*info->callbacks.image_free)(info->buffer, H5FD_FILE_IMAGE_OP_PROPERTY_LIST_CLOSE,
  ------------------
  |  Branch (3359:21): [True: 0, False: 0]
  ------------------
 3360|      0|                                                  info->callbacks.udata) < 0)
 3361|      0|                    HGOTO_ERROR(H5E_PLIST, H5E_CANTFREE, FAIL, "image_free callback failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3362|      0|            } /* end if */
 3363|      0|            else
 3364|      0|                H5MM_xfree(info->buffer);
 3365|      0|        } /* end if */
 3366|       |
 3367|       |        /* Free udata if it exists */
 3368|      2|        if (info->callbacks.udata) {
  ------------------
  |  Branch (3368:13): [True: 0, False: 2]
  ------------------
 3369|      0|            if (NULL == info->callbacks.udata_free)
  ------------------
  |  Branch (3369:17): [True: 0, False: 0]
  ------------------
 3370|      0|                HGOTO_ERROR(H5E_PLIST, H5E_BADVALUE, FAIL, "udata_free not defined");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3371|      0|            if ((*info->callbacks.udata_free)(info->callbacks.udata) < 0)
  ------------------
  |  Branch (3371:17): [True: 0, False: 0]
  ------------------
 3372|      0|                HGOTO_ERROR(H5E_PLIST, H5E_CANTFREE, FAIL, "udata_free callback failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3373|      0|        } /* end if */
 3374|      2|    }     /* end if */
 3375|       |
 3376|      2|done:
 3377|      2|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      2|    ;                                                                                                        \
  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 3378|      2|} /* end H5P__file_image_info_free() */
H5Pfapl.c:H5P__facc_file_image_info_close:
 3714|      2|{
 3715|      2|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      2|#define SUCCEED 0
  ------------------
 3716|       |
 3717|      2|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      2|    {                                                                                                        \
  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      2|        {
  ------------------
 3718|       |
 3719|       |    /* Free the file image info */
 3720|      2|    if (H5P__file_image_info_free(value) < 0)
  ------------------
  |  Branch (3720:9): [True: 0, False: 2]
  ------------------
 3721|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTRELEASE, FAIL, "can't release file image info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3722|       |
 3723|      2|done:
 3724|      2|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      2|    ;                                                                                                        \
  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 3725|      2|} /* end H5P__facc_file_image_info_close() */
H5Pfapl.c:H5P__facc_mdc_log_location_close:
 4803|      2|{
 4804|      2|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|      2|    {                                                                                                        \
  |  | 1467|      2|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|      2|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|      2|        {
  ------------------
 4805|       |
 4806|      2|    assert(value);
 4807|       |
 4808|      2|    H5MM_xfree(*(void **)value);
 4809|       |
 4810|      2|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|      2|    ;                                                                                                        \
  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 4811|      2|} /* end H5P__facc_mdc_log_location_close() */
H5Pfapl.c:H5P__facc_vol_create:
 6020|      2|{
 6021|      2|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      2|#define SUCCEED 0
  ------------------
 6022|       |
 6023|      2|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      2|    {                                                                                                        \
  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      2|        {
  ------------------
 6024|       |
 6025|       |    /* Make copy of the VOL connector */
 6026|      2|    if (H5VL_conn_copy((H5VL_connector_prop_t *)value) < 0)
  ------------------
  |  Branch (6026:9): [True: 0, False: 2]
  ------------------
 6027|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, FAIL, "can't copy VOL connector");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 6028|       |
 6029|      2|done:
 6030|      2|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      2|    ;                                                                                                        \
  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 6031|      2|} /* end H5P__facc_vol_create() */
H5Pfapl.c:H5P__facc_vol_set:
 6046|      1|{
 6047|      1|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
 6048|       |
 6049|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
 6050|       |
 6051|       |    /* Sanity check */
 6052|      1|    assert(value);
 6053|       |
 6054|       |    /* Make copy of VOL connector ID & info */
 6055|      1|    if (H5VL_conn_copy((H5VL_connector_prop_t *)value) < 0)
  ------------------
  |  Branch (6055:9): [True: 0, False: 1]
  ------------------
 6056|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, FAIL, "can't copy VOL connector");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 6057|       |
 6058|      1|done:
 6059|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 6060|      1|} /* end H5P__facc_vol_set() */
H5Pfapl.c:H5P__facc_vol_del:
 6104|      1|{
 6105|      1|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
 6106|       |
 6107|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
 6108|       |
 6109|       |    /* Free the VOL connector ID & info */
 6110|      1|    if (H5VL_conn_free((H5VL_connector_prop_t *)value) < 0)
  ------------------
  |  Branch (6110:9): [True: 0, False: 1]
  ------------------
 6111|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTRELEASE, FAIL, "can't release VOL connector");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 6112|       |
 6113|      1|done:
 6114|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 6115|      1|} /* end H5P__facc_vol_del() */
H5Pfapl.c:H5P__facc_vol_close:
 6213|      2|{
 6214|      2|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      2|#define SUCCEED 0
  ------------------
 6215|       |
 6216|      2|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      2|    {                                                                                                        \
  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      2|        {
  ------------------
 6217|       |
 6218|       |    /* Free the VOL connector */
 6219|      2|    if (H5VL_conn_free((H5VL_connector_prop_t *)value) < 0)
  ------------------
  |  Branch (6219:9): [True: 0, False: 2]
  ------------------
 6220|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTRELEASE, FAIL, "can't release VOL connector");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 6221|       |
 6222|      2|done:
 6223|      2|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      2|    ;                                                                                                        \
  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 6224|      2|} /* end H5P__facc_vol_close() */

H5Pfcpl.c:H5P__fcrt_reg_prop:
  207|      1|{
  208|      1|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  209|       |
  210|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
  211|       |
  212|       |    /* Register the user block size */
  213|      1|    if (H5P__register_real(pclass, H5F_CRT_USER_BLOCK_NAME, H5F_CRT_USER_BLOCK_SIZE,
  ------------------
  |  |  200|      1|#define H5F_CRT_USER_BLOCK_NAME    "block_size"  /* Size of the file user block in bytes */
  ------------------
                  if (H5P__register_real(pclass, H5F_CRT_USER_BLOCK_NAME, H5F_CRT_USER_BLOCK_SIZE,
  ------------------
  |  |   43|      1|#define H5F_CRT_USER_BLOCK_SIZE sizeof(hsize_t)
  ------------------
  |  Branch (213:9): [True: 0, False: 1]
  ------------------
  214|      1|                           &H5F_def_userblock_size_g, NULL, NULL, NULL, H5F_CRT_USER_BLOCK_ENC,
  ------------------
  |  |   45|      1|#define H5F_CRT_USER_BLOCK_ENC  H5P__encode_hsize_t
  ------------------
  215|      1|                           H5F_CRT_USER_BLOCK_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |   46|      1|#define H5F_CRT_USER_BLOCK_DEC  H5P__decode_hsize_t
  ------------------
  216|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  217|       |
  218|       |    /* Register the 1/2 rank for symbol table leaf nodes */
  219|      1|    if (H5P__register_real(pclass, H5F_CRT_SYM_LEAF_NAME, H5F_CRT_SYM_LEAF_SIZE, &H5F_def_sym_leaf_k_g, NULL,
  ------------------
  |  |  201|      1|#define H5F_CRT_SYM_LEAF_NAME      "symbol_leaf" /* 1/2 rank for symbol table leaf nodes */
  ------------------
                  if (H5P__register_real(pclass, H5F_CRT_SYM_LEAF_NAME, H5F_CRT_SYM_LEAF_SIZE, &H5F_def_sym_leaf_k_g, NULL,
  ------------------
  |  |   48|      1|#define H5F_CRT_SYM_LEAF_SIZE sizeof(unsigned)
  ------------------
  |  Branch (219:9): [True: 0, False: 1]
  ------------------
  220|      1|                           NULL, NULL, H5F_CRT_SYM_LEAF_ENC, H5F_CRT_SYM_LEAF_DEC, NULL, NULL, NULL,
  ------------------
  |  |   49|      1|#define H5F_CRT_SYM_LEAF_ENC  H5P__encode_unsigned
  ------------------
                                         NULL, NULL, H5F_CRT_SYM_LEAF_ENC, H5F_CRT_SYM_LEAF_DEC, NULL, NULL, NULL,
  ------------------
  |  |   50|      1|#define H5F_CRT_SYM_LEAF_DEC  H5P__decode_unsigned
  ------------------
  221|      1|                           NULL) < 0)
  222|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  223|       |
  224|       |    /* Register the 1/2 rank for btree internal nodes */
  225|      1|    if (H5P__register_real(pclass, H5F_CRT_BTREE_RANK_NAME, H5F_CRT_BTREE_RANK_SIZE, H5F_def_btree_k_g, NULL,
  ------------------
  |  |  203|      1|#define H5F_CRT_BTREE_RANK_NAME    "btree_rank"    /* 1/2 rank for btree internal nodes    */
  ------------------
                  if (H5P__register_real(pclass, H5F_CRT_BTREE_RANK_NAME, H5F_CRT_BTREE_RANK_SIZE, H5F_def_btree_k_g, NULL,
  ------------------
  |  |   52|      1|#define H5F_CRT_BTREE_RANK_SIZE sizeof(unsigned[H5B_NUM_BTREE_ID])
  ------------------
  |  Branch (225:9): [True: 0, False: 1]
  ------------------
  226|      1|                           NULL, NULL, H5F_CRT_BTREE_RANK_ENC, H5F_CRT_BTREE_RANK_DEC, NULL, NULL, NULL,
  ------------------
  |  |   57|      1|#define H5F_CRT_BTREE_RANK_ENC H5P__fcrt_btree_rank_enc
  ------------------
                                         NULL, NULL, H5F_CRT_BTREE_RANK_ENC, H5F_CRT_BTREE_RANK_DEC, NULL, NULL, NULL,
  ------------------
  |  |   58|      1|#define H5F_CRT_BTREE_RANK_DEC H5P__fcrt_btree_rank_dec
  ------------------
  227|      1|                           NULL) < 0)
  228|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  229|       |
  230|       |    /* Register the byte number for an address */
  231|      1|    if (H5P__register_real(pclass, H5F_CRT_ADDR_BYTE_NUM_NAME, H5F_CRT_ADDR_BYTE_NUM_SIZE,
  ------------------
  |  |  204|      1|#define H5F_CRT_ADDR_BYTE_NUM_NAME "addr_byte_num" /* Byte number in an address            */
  ------------------
                  if (H5P__register_real(pclass, H5F_CRT_ADDR_BYTE_NUM_NAME, H5F_CRT_ADDR_BYTE_NUM_SIZE,
  ------------------
  |  |   60|      1|#define H5F_CRT_ADDR_BYTE_NUM_SIZE sizeof(uint8_t)
  ------------------
  |  Branch (231:9): [True: 0, False: 1]
  ------------------
  232|      1|                           &H5F_def_sizeof_addr_g, NULL, NULL, NULL, H5F_CRT_ADDR_BYTE_NUM_ENC,
  ------------------
  |  |   62|      1|#define H5F_CRT_ADDR_BYTE_NUM_ENC  H5P__encode_uint8_t
  ------------------
  233|      1|                           H5F_CRT_ADDR_BYTE_NUM_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |   63|      1|#define H5F_CRT_ADDR_BYTE_NUM_DEC  H5P__decode_uint8_t
  ------------------
  234|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  235|       |
  236|       |    /* Register the byte number for object size */
  237|      1|    if (H5P__register_real(pclass, H5F_CRT_OBJ_BYTE_NUM_NAME, H5F_CRT_OBJ_BYTE_NUM_SIZE,
  ------------------
  |  |  205|      1|#define H5F_CRT_OBJ_BYTE_NUM_NAME  "obj_byte_num"  /* Byte number for object size          */
  ------------------
                  if (H5P__register_real(pclass, H5F_CRT_OBJ_BYTE_NUM_NAME, H5F_CRT_OBJ_BYTE_NUM_SIZE,
  ------------------
  |  |   65|      1|#define H5F_CRT_OBJ_BYTE_NUM_SIZE sizeof(uint8_t)
  ------------------
  |  Branch (237:9): [True: 0, False: 1]
  ------------------
  238|      1|                           &H5F_def_sizeof_size_g, NULL, NULL, NULL, H5F_CRT_OBJ_BYTE_NUM_ENC,
  ------------------
  |  |   67|      1|#define H5F_CRT_OBJ_BYTE_NUM_ENC  H5P__encode_uint8_t
  ------------------
  239|      1|                           H5F_CRT_OBJ_BYTE_NUM_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |   68|      1|#define H5F_CRT_OBJ_BYTE_NUM_DEC  H5P__decode_uint8_t
  ------------------
  240|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  241|       |
  242|       |    /* Register the superblock version number */
  243|       |    /* (Note: this property should not have an encode/decode callback -QAK) */
  244|      1|    if (H5P__register_real(pclass, H5F_CRT_SUPER_VERS_NAME, H5F_CRT_SUPER_VERS_SIZE,
  ------------------
  |  |  206|      1|#define H5F_CRT_SUPER_VERS_NAME    "super_version" /* Version number of the superblock     */
  ------------------
                  if (H5P__register_real(pclass, H5F_CRT_SUPER_VERS_NAME, H5F_CRT_SUPER_VERS_SIZE,
  ------------------
  |  |   70|      1|#define H5F_CRT_SUPER_VERS_SIZE sizeof(unsigned)
  ------------------
  |  Branch (244:9): [True: 0, False: 1]
  ------------------
  245|      1|                           &H5F_def_superblock_ver_g, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
  246|      1|                           NULL) < 0)
  247|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  248|       |
  249|       |    /* Register the shared OH message information */
  250|      1|    if (H5P__register_real(pclass, H5F_CRT_SHMSG_NINDEXES_NAME, H5F_CRT_SHMSG_NINDEXES_SIZE,
  ------------------
  |  |  208|      1|#define H5F_CRT_SHMSG_NINDEXES_NAME    "num_shmsg_indexes"
  ------------------
                  if (H5P__register_real(pclass, H5F_CRT_SHMSG_NINDEXES_NAME, H5F_CRT_SHMSG_NINDEXES_SIZE,
  ------------------
  |  |   73|      1|#define H5F_CRT_SHMSG_NINDEXES_SIZE    sizeof(unsigned)
  ------------------
  |  Branch (250:9): [True: 0, False: 1]
  ------------------
  251|      1|                           &H5F_def_num_sohm_indexes_g, NULL, NULL, NULL, H5F_CRT_SHMSG_NINDEXES_ENC,
  ------------------
  |  |   75|      1|#define H5F_CRT_SHMSG_NINDEXES_ENC     H5P__encode_unsigned
  ------------------
  252|      1|                           H5F_CRT_SHMSG_NINDEXES_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |   76|      1|#define H5F_CRT_SHMSG_NINDEXES_DEC     H5P__decode_unsigned
  ------------------
  253|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  254|      1|    if (H5P__register_real(pclass, H5F_CRT_SHMSG_INDEX_TYPES_NAME, H5F_CRT_SHMSG_INDEX_TYPES_SIZE,
  ------------------
  |  |  209|      1|#define H5F_CRT_SHMSG_INDEX_TYPES_NAME "shmsg_message_types" /* Types of message in each index */
  ------------------
                  if (H5P__register_real(pclass, H5F_CRT_SHMSG_INDEX_TYPES_NAME, H5F_CRT_SHMSG_INDEX_TYPES_SIZE,
  ------------------
  |  |   77|      1|#define H5F_CRT_SHMSG_INDEX_TYPES_SIZE sizeof(unsigned[H5O_SHMESG_MAX_NINDEXES])
  ------------------
  |  Branch (254:9): [True: 0, False: 1]
  ------------------
  255|      1|                           &H5F_def_sohm_index_flags_g, NULL, NULL, NULL, H5F_CRT_SHMSG_INDEX_TYPES_ENC,
  ------------------
  |  |   82|      1|#define H5F_CRT_SHMSG_INDEX_TYPES_ENC    H5P__fcrt_shmsg_index_types_enc
  ------------------
  256|      1|                           H5F_CRT_SHMSG_INDEX_TYPES_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |   83|      1|#define H5F_CRT_SHMSG_INDEX_TYPES_DEC    H5P__fcrt_shmsg_index_types_dec
  ------------------
  257|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  258|      1|    if (H5P__register_real(pclass, H5F_CRT_SHMSG_INDEX_MINSIZE_NAME, H5F_CRT_SHMSG_INDEX_MINSIZE_SIZE,
  ------------------
  |  |  211|      1|#define H5F_CRT_SHMSG_INDEX_MINSIZE_NAME  "shmsg_message_minsize"
  ------------------
                  if (H5P__register_real(pclass, H5F_CRT_SHMSG_INDEX_MINSIZE_NAME, H5F_CRT_SHMSG_INDEX_MINSIZE_SIZE,
  ------------------
  |  |   84|      1|#define H5F_CRT_SHMSG_INDEX_MINSIZE_SIZE sizeof(unsigned[H5O_SHMESG_MAX_NINDEXES])
  ------------------
  |  Branch (258:9): [True: 0, False: 1]
  ------------------
  259|      1|                           &H5F_def_sohm_index_minsizes_g, NULL, NULL, NULL, H5F_CRT_SHMSG_INDEX_MINSIZE_ENC,
  ------------------
  |  |   89|      1|#define H5F_CRT_SHMSG_INDEX_MINSIZE_ENC H5P__fcrt_shmsg_index_minsize_enc
  ------------------
  260|      1|                           H5F_CRT_SHMSG_INDEX_MINSIZE_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |   90|      1|#define H5F_CRT_SHMSG_INDEX_MINSIZE_DEC H5P__fcrt_shmsg_index_minsize_dec
  ------------------
  261|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  262|       |
  263|       |    /* Register the shared OH cutoff size information */
  264|      1|    if (H5P__register_real(pclass, H5F_CRT_SHMSG_LIST_MAX_NAME, H5F_CRT_SHMSG_LIST_MAX_SIZE,
  ------------------
  |  |  212|      1|#define H5F_CRT_SHMSG_LIST_MAX_NAME       "shmsg_list_max"       /* Shared message list maximum size */
  ------------------
                  if (H5P__register_real(pclass, H5F_CRT_SHMSG_LIST_MAX_NAME, H5F_CRT_SHMSG_LIST_MAX_SIZE,
  ------------------
  |  |   92|      1|#define H5F_CRT_SHMSG_LIST_MAX_SIZE  sizeof(unsigned)
  ------------------
  |  Branch (264:9): [True: 0, False: 1]
  ------------------
  265|      1|                           &H5F_def_sohm_list_max_g, NULL, NULL, NULL, H5F_CRT_SHMSG_LIST_MAX_ENC,
  ------------------
  |  |   94|      1|#define H5F_CRT_SHMSG_LIST_MAX_ENC   H5P__encode_unsigned
  ------------------
  266|      1|                           H5F_CRT_SHMSG_LIST_MAX_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |   95|      1|#define H5F_CRT_SHMSG_LIST_MAX_DEC   H5P__decode_unsigned
  ------------------
  267|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  268|      1|    if (H5P__register_real(pclass, H5F_CRT_SHMSG_BTREE_MIN_NAME, H5F_CRT_SHMSG_BTREE_MIN_SIZE,
  ------------------
  |  |  213|      1|#define H5F_CRT_SHMSG_BTREE_MIN_NAME      "shmsg_btree_min"      /* Shared message B-tree minimum size */
  ------------------
                  if (H5P__register_real(pclass, H5F_CRT_SHMSG_BTREE_MIN_NAME, H5F_CRT_SHMSG_BTREE_MIN_SIZE,
  ------------------
  |  |   96|      1|#define H5F_CRT_SHMSG_BTREE_MIN_SIZE sizeof(unsigned)
  ------------------
  |  Branch (268:9): [True: 0, False: 1]
  ------------------
  269|      1|                           &H5F_def_sohm_btree_min_g, NULL, NULL, NULL, H5F_CRT_SHMSG_BTREE_MIN_ENC,
  ------------------
  |  |   98|      1|#define H5F_CRT_SHMSG_BTREE_MIN_ENC  H5P__encode_unsigned
  ------------------
  270|      1|                           H5F_CRT_SHMSG_BTREE_MIN_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |   99|      1|#define H5F_CRT_SHMSG_BTREE_MIN_DEC  H5P__decode_unsigned
  ------------------
  271|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  272|       |
  273|       |    /* Register the file space handling strategy */
  274|      1|    if (H5P__register_real(pclass, H5F_CRT_FILE_SPACE_STRATEGY_NAME, H5F_CRT_FILE_SPACE_STRATEGY_SIZE,
  ------------------
  |  |  214|      1|#define H5F_CRT_FILE_SPACE_STRATEGY_NAME  "file_space_strategy"  /* File space handling strategy */
  ------------------
                  if (H5P__register_real(pclass, H5F_CRT_FILE_SPACE_STRATEGY_NAME, H5F_CRT_FILE_SPACE_STRATEGY_SIZE,
  ------------------
  |  |  101|      1|#define H5F_CRT_FILE_SPACE_STRATEGY_SIZE  sizeof(H5F_fspace_strategy_t)
  ------------------
  |  Branch (274:9): [True: 0, False: 1]
  ------------------
  275|      1|                           &H5F_def_file_space_strategy_g, NULL, NULL, NULL, H5F_CRT_FILE_SPACE_STRATEGY_ENC,
  ------------------
  |  |  103|      1|#define H5F_CRT_FILE_SPACE_STRATEGY_ENC   H5P__fcrt_fspace_strategy_enc
  ------------------
  276|      1|                           H5F_CRT_FILE_SPACE_STRATEGY_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |  104|      1|#define H5F_CRT_FILE_SPACE_STRATEGY_DEC   H5P__fcrt_fspace_strategy_dec
  ------------------
  277|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  278|       |
  279|       |    /* Register the free-space persist flag */
  280|      1|    if (H5P__register_real(pclass, H5F_CRT_FREE_SPACE_PERSIST_NAME, H5F_CRT_FREE_SPACE_PERSIST_SIZE,
  ------------------
  |  |  215|      1|#define H5F_CRT_FREE_SPACE_PERSIST_NAME   "free_space_persist"   /* Free-space persisting status */
  ------------------
                  if (H5P__register_real(pclass, H5F_CRT_FREE_SPACE_PERSIST_NAME, H5F_CRT_FREE_SPACE_PERSIST_SIZE,
  ------------------
  |  |  105|      1|#define H5F_CRT_FREE_SPACE_PERSIST_SIZE   sizeof(bool)
  ------------------
  |  Branch (280:9): [True: 0, False: 1]
  ------------------
  281|      1|                           &H5F_def_free_space_persist_g, NULL, NULL, NULL, H5F_CRT_FREE_SPACE_PERSIST_ENC,
  ------------------
  |  |  107|      1|#define H5F_CRT_FREE_SPACE_PERSIST_ENC    H5P__encode_bool
  ------------------
  282|      1|                           H5F_CRT_FREE_SPACE_PERSIST_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |  108|      1|#define H5F_CRT_FREE_SPACE_PERSIST_DEC    H5P__decode_bool
  ------------------
  283|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  284|       |
  285|       |    /* Register the free space section threshold */
  286|      1|    if (H5P__register_real(pclass, H5F_CRT_FREE_SPACE_THRESHOLD_NAME, H5F_CRT_FREE_SPACE_THRESHOLD_SIZE,
  ------------------
  |  |  216|      1|#define H5F_CRT_FREE_SPACE_THRESHOLD_NAME "free_space_threshold" /* Free space section threshold */
  ------------------
                  if (H5P__register_real(pclass, H5F_CRT_FREE_SPACE_THRESHOLD_NAME, H5F_CRT_FREE_SPACE_THRESHOLD_SIZE,
  ------------------
  |  |  109|      1|#define H5F_CRT_FREE_SPACE_THRESHOLD_SIZE sizeof(hsize_t)
  ------------------
  |  Branch (286:9): [True: 0, False: 1]
  ------------------
  287|      1|                           &H5F_def_free_space_threshold_g, NULL, NULL, NULL,
  288|      1|                           H5F_CRT_FREE_SPACE_THRESHOLD_ENC, H5F_CRT_FREE_SPACE_THRESHOLD_DEC, NULL, NULL,
  ------------------
  |  |  111|      1|#define H5F_CRT_FREE_SPACE_THRESHOLD_ENC  H5P__encode_hsize_t
  ------------------
                                         H5F_CRT_FREE_SPACE_THRESHOLD_ENC, H5F_CRT_FREE_SPACE_THRESHOLD_DEC, NULL, NULL,
  ------------------
  |  |  112|      1|#define H5F_CRT_FREE_SPACE_THRESHOLD_DEC  H5P__decode_hsize_t
  ------------------
  289|      1|                           NULL, NULL) < 0)
  290|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  291|       |
  292|       |    /* Register the file space page size */
  293|      1|    if (H5P__register_real(pclass, H5F_CRT_FILE_SPACE_PAGE_SIZE_NAME, H5F_CRT_FILE_SPACE_PAGE_SIZE_SIZE,
  ------------------
  |  |  217|      1|#define H5F_CRT_FILE_SPACE_PAGE_SIZE_NAME "file_space_page_size" /* File space page size */
  ------------------
                  if (H5P__register_real(pclass, H5F_CRT_FILE_SPACE_PAGE_SIZE_NAME, H5F_CRT_FILE_SPACE_PAGE_SIZE_SIZE,
  ------------------
  |  |  114|      1|#define H5F_CRT_FILE_SPACE_PAGE_SIZE_SIZE sizeof(hsize_t)
  ------------------
  |  Branch (293:9): [True: 0, False: 1]
  ------------------
  294|      1|                           &H5F_def_file_space_page_size_g, NULL, NULL, NULL,
  295|      1|                           H5F_CRT_FILE_SPACE_PAGE_SIZE_ENC, H5F_CRT_FILE_SPACE_PAGE_SIZE_DEC, NULL, NULL,
  ------------------
  |  |  116|      1|#define H5F_CRT_FILE_SPACE_PAGE_SIZE_ENC  H5P__encode_hsize_t
  ------------------
                                         H5F_CRT_FILE_SPACE_PAGE_SIZE_ENC, H5F_CRT_FILE_SPACE_PAGE_SIZE_DEC, NULL, NULL,
  ------------------
  |  |  117|      1|#define H5F_CRT_FILE_SPACE_PAGE_SIZE_DEC  H5P__decode_hsize_t
  ------------------
  296|      1|                           NULL, NULL) < 0)
  297|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  298|       |
  299|      1|done:
  300|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  301|      1|} /* end H5P__fcrt_reg_prop() */

H5Pfmpl.c:H5P__fmnt_reg_prop:
  105|      1|{
  106|      1|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  107|       |
  108|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
  109|       |
  110|       |    /* Register property of whether symlinks is local to file */
  111|      1|    if (H5P__register_real(pclass, H5F_MNT_SYM_LOCAL_NAME, H5F_MNT_SYM_LOCAL_SIZE, &H5F_def_local_g, NULL,
  ------------------
  |  |  290|      1|#define H5F_MNT_SYM_LOCAL_NAME "local" /* Whether absolute symlinks local to file. */
  ------------------
                  if (H5P__register_real(pclass, H5F_MNT_SYM_LOCAL_NAME, H5F_MNT_SYM_LOCAL_SIZE, &H5F_def_local_g, NULL,
  ------------------
  |  |   42|      1|#define H5F_MNT_SYM_LOCAL_SIZE sizeof(bool)
  ------------------
  |  Branch (111:9): [True: 0, False: 1]
  ------------------
  112|      1|                           NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
  113|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  114|       |
  115|      1|done:
  116|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  117|      1|} /* end H5P__fmnt_reg_prop() */

H5Pgcpl.c:H5P__gcrt_reg_prop:
  114|      1|{
  115|      1|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  116|       |
  117|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
  118|       |
  119|       |    /* Register group info property */
  120|      1|    if (H5P__register_real(pclass, H5G_CRT_GROUP_INFO_NAME, H5G_CRT_GROUP_INFO_SIZE, &H5G_def_ginfo_g, NULL,
  ------------------
  |  |   81|      1|#define H5G_CRT_GROUP_INFO_NAME "group info"
  ------------------
                  if (H5P__register_real(pclass, H5G_CRT_GROUP_INFO_NAME, H5G_CRT_GROUP_INFO_SIZE, &H5G_def_ginfo_g, NULL,
  ------------------
  |  |   82|      1|#define H5G_CRT_GROUP_INFO_SIZE sizeof(H5O_ginfo_t)
  ------------------
  |  Branch (120:9): [True: 0, False: 1]
  ------------------
  121|      1|                           NULL, NULL, H5G_CRT_GROUP_INFO_ENC, H5G_CRT_GROUP_INFO_DEC, NULL, NULL, NULL,
  ------------------
  |  |   42|      1|#define H5G_CRT_GROUP_INFO_ENC H5P__gcrt_group_info_enc
  ------------------
                                         NULL, NULL, H5G_CRT_GROUP_INFO_ENC, H5G_CRT_GROUP_INFO_DEC, NULL, NULL, NULL,
  ------------------
  |  |   43|      1|#define H5G_CRT_GROUP_INFO_DEC H5P__gcrt_group_info_dec
  ------------------
  122|      1|                           NULL) < 0)
  123|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  124|       |
  125|       |    /* Register link info property */
  126|      1|    if (H5P__register_real(pclass, H5G_CRT_LINK_INFO_NAME, H5G_CRT_LINK_INFO_SIZE, &H5G_def_linfo_g, NULL,
  ------------------
  |  |   58|      1|#define H5G_CRT_LINK_INFO_NAME "link info"
  ------------------
                  if (H5P__register_real(pclass, H5G_CRT_LINK_INFO_NAME, H5G_CRT_LINK_INFO_SIZE, &H5G_def_linfo_g, NULL,
  ------------------
  |  |   59|      1|#define H5G_CRT_LINK_INFO_SIZE sizeof(H5O_linfo_t)
  ------------------
  |  Branch (126:9): [True: 0, False: 1]
  ------------------
  127|      1|                           NULL, NULL, H5G_CRT_LINK_INFO_ENC, H5G_CRT_LINK_INFO_DEC, NULL, NULL, NULL,
  ------------------
  |  |   44|      1|#define H5G_CRT_LINK_INFO_ENC  H5P__gcrt_link_info_enc
  ------------------
                                         NULL, NULL, H5G_CRT_LINK_INFO_ENC, H5G_CRT_LINK_INFO_DEC, NULL, NULL, NULL,
  ------------------
  |  |   45|      1|#define H5G_CRT_LINK_INFO_DEC  H5P__gcrt_link_info_dec
  ------------------
  128|      1|                           NULL) < 0)
  129|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  130|       |
  131|      1|done:
  132|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  133|      1|} /* end H5P__gcrt_reg_prop() */

H5P_init_phase1:
  424|      1|{
  425|      1|    size_t tot_init = 0; /* Total # of classes initialized */
  426|      1|    size_t pass_init;    /* # of classes initialized in each pass */
  427|      1|    size_t u;
  428|      1|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  429|       |
  430|      1|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      1|    {                                                                                                        \
  |  | 1392|      1|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      1|        {
  ------------------
  431|       |
  432|       |    /* Sanity check */
  433|      1|    HDcompile_assert(H5P_TYPE_REFERENCE_ACCESS == (H5P_TYPE_MAX_TYPE - 1));
  ------------------
  |  | 1611|      1|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  ------------------
  434|       |
  435|       |    /*
  436|       |     * Initialize the Generic Property class & object groups.
  437|       |     */
  438|      1|    if (H5I_register_type(H5I_GENPROPCLS_CLS) < 0)
  ------------------
  |  Branch (438:9): [True: 0, False: 1]
  ------------------
  439|      0|        HGOTO_ERROR(H5E_ID, H5E_CANTINIT, FAIL, "unable to initialize ID group");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  440|      1|    if (H5I_register_type(H5I_GENPROPLST_CLS) < 0)
  ------------------
  |  Branch (440:9): [True: 0, False: 1]
  ------------------
  441|      0|        HGOTO_ERROR(H5E_ID, H5E_CANTINIT, FAIL, "unable to initialize ID group");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  442|       |
  443|       |    /* Repeatedly pass over the list of property list classes for the library,
  444|       |     * initializing each class if its parent class is initialized, until no
  445|       |     * more progress is made.
  446|       |     */
  447|      1|    tot_init = 0;
  448|      2|    do {
  449|       |        /* Reset pass initialization counter */
  450|      2|        pass_init = 0;
  451|       |
  452|       |        /* Make a pass over all the library's property list classes */
  453|     46|        for (u = 0; u < NELMTS(init_class); u++) {
  ------------------
  |  |  288|     46|#define NELMTS(X) (sizeof(X) / sizeof(X[0]))
  ------------------
  |  Branch (453:21): [True: 44, False: 2]
  ------------------
  454|     44|            H5P_libclass_t const *lib_class = init_class[u]; /* Current class to operate on */
  455|       |
  456|       |            /* Check if the current class hasn't been initialized and can be now */
  457|     44|            assert(lib_class->class_id);
  458|     44|            if (*lib_class->class_id == (-1) &&
  ------------------
  |  Branch (458:17): [True: 22, False: 22]
  ------------------
  459|     44|                (lib_class->par_pclass == NULL || *lib_class->par_pclass != NULL)) {
  ------------------
  |  Branch (459:18): [True: 1, False: 21]
  |  Branch (459:51): [True: 21, False: 0]
  ------------------
  460|       |                /* Sanity check - only the root class is not allowed to have a parent class */
  461|     22|                assert(lib_class->par_pclass || lib_class == H5P_CLS_ROOT);
  462|       |
  463|       |                /* Allocate the new class */
  464|     22|                if (NULL == (*lib_class->pclass = H5P__create_class(
  ------------------
  |  Branch (464:21): [True: 0, False: 22]
  ------------------
  465|     22|                                 lib_class->par_pclass ? *lib_class->par_pclass : NULL, lib_class->name,
  ------------------
  |  Branch (465:34): [True: 21, False: 1]
  ------------------
  466|     22|                                 lib_class->type, lib_class->create_func, lib_class->create_data,
  467|     22|                                 lib_class->copy_func, lib_class->copy_data, lib_class->close_func,
  468|     22|                                 lib_class->close_data)))
  469|      0|                    HGOTO_ERROR(H5E_PLIST, H5E_CANTINIT, FAIL, "class initialization failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  470|       |
  471|       |                /* Call routine to register properties for class */
  472|     22|                if (lib_class->reg_prop_func && (*lib_class->reg_prop_func)(*lib_class->pclass) < 0)
  ------------------
  |  Branch (472:21): [True: 14, False: 8]
  |  Branch (472:49): [True: 0, False: 14]
  ------------------
  473|      0|                    HGOTO_ERROR(H5E_PLIST, H5E_CANTREGISTER, FAIL, "can't register properties");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  474|       |
  475|       |                /* Register the new class */
  476|     22|                if ((*lib_class->class_id = H5I_register(H5I_GENPROP_CLS, *lib_class->pclass, false)) < 0)
  ------------------
  |  Branch (476:21): [True: 0, False: 22]
  ------------------
  477|      0|                    HGOTO_ERROR(H5E_PLIST, H5E_CANTREGISTER, FAIL, "can't register property list class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  478|       |
  479|       |                /* Only register the default property list if it hasn't been created yet */
  480|     22|                if (lib_class->def_plist_id && *lib_class->def_plist_id == (-1)) {
  ------------------
  |  Branch (480:21): [True: 19, False: 3]
  |  Branch (480:48): [True: 19, False: 0]
  ------------------
  481|       |                    /* Register the default property list for the new class*/
  482|     19|                    if ((*lib_class->def_plist_id = H5P_create_id(*lib_class->pclass, false)) < 0)
  ------------------
  |  Branch (482:25): [True: 0, False: 19]
  ------------------
  483|      0|                        HGOTO_ERROR(H5E_PLIST, H5E_CANTREGISTER, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  484|     19|                                    "can't register default property list for class");
  485|     19|                } /* end if */
  486|       |
  487|       |                /* Increment class initialization counters */
  488|     22|                pass_init++;
  489|     22|                tot_init++;
  490|     22|            } /* end if */
  491|     44|        }     /* end for */
  492|      2|    } while (pass_init > 0);
  ------------------
  |  Branch (492:14): [True: 1, False: 1]
  ------------------
  493|       |
  494|       |    /* Verify that all classes were initialized */
  495|      1|    assert(tot_init == NELMTS(init_class));
  496|       |
  497|      1|done:
  498|      1|    if (ret_value < 0 && tot_init > 0) {
  ------------------
  |  Branch (498:9): [True: 0, False: 1]
  |  Branch (498:26): [True: 0, False: 0]
  ------------------
  499|       |        /* First uninitialize all default property lists */
  500|      0|        H5I_clear_type(H5I_GENPROP_LST, false, false);
  501|       |
  502|       |        /* Then uninitialize any initialized libclass */
  503|      0|        for (u = 0; u < NELMTS(init_class); u++) {
  ------------------
  |  |  288|      0|#define NELMTS(X) (sizeof(X) / sizeof(X[0]))
  ------------------
  |  Branch (503:21): [True: 0, False: 0]
  ------------------
  504|      0|            H5P_libclass_t const *lib_class = init_class[u]; /* Current class to operate on */
  505|       |
  506|      0|            assert(lib_class->class_id);
  507|      0|            if (*lib_class->class_id >= 0) {
  ------------------
  |  Branch (507:17): [True: 0, False: 0]
  ------------------
  508|       |                /* Close the class ID */
  509|      0|                if (H5I_dec_ref(*lib_class->class_id) < 0)
  ------------------
  |  Branch (509:21): [True: 0, False: 0]
  ------------------
  510|      0|                    HDONE_ERROR(H5E_PLIST, H5E_CLOSEERROR, FAIL, "unable to close property list class ID");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  511|      0|            }
  512|      0|            else if (lib_class->pclass && *lib_class->pclass) {
  ------------------
  |  Branch (512:22): [True: 0, False: 0]
  |  Branch (512:43): [True: 0, False: 0]
  ------------------
  513|       |                /* Close a half-initialized pclass */
  514|      0|                if (H5P__close_class(*lib_class->pclass) < 0)
  ------------------
  |  Branch (514:21): [True: 0, False: 0]
  ------------------
  515|      0|                    HDONE_ERROR(H5E_PLIST, H5E_CLOSEERROR, FAIL, "unable to close property list class");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  516|      0|            }
  517|      0|        }
  518|      0|    }
  519|       |
  520|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  521|      1|}
H5P_init_phase2:
  539|      1|{
  540|      1|    herr_t ret_value = SUCCEED;
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  541|       |
  542|      1|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      1|    {                                                                                                        \
  |  | 1392|      1|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      1|        {
  ------------------
  543|       |
  544|       |    /* Set up the default VFL driver */
  545|      1|    if (H5P__facc_set_def_driver() < 0)
  ------------------
  |  Branch (545:9): [True: 0, False: 1]
  ------------------
  546|      0|        HGOTO_ERROR(H5E_VFL, H5E_CANTSET, FAIL, "unable to set default VFL driver");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  547|       |
  548|      1|done:
  549|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  550|      1|} /* end H5P_init_phase2() */
H5P_term_package:
  571|      3|{
  572|      3|    int n = 0;
  573|       |
  574|      3|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      3|    {                                                                                                        \
  |  | 1425|      3|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      3|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      3|        {
  ------------------
  575|       |
  576|      3|    int64_t nlist, nclass;
  577|       |
  578|       |    /* Destroy HDF5 library property classes & lists */
  579|       |
  580|       |    /* Check if there are any open property list classes or lists */
  581|      3|    nclass = H5I_nmembers(H5I_GENPROP_CLS);
  582|      3|    nlist  = H5I_nmembers(H5I_GENPROP_LST);
  583|       |
  584|       |    /* If there are any open classes or groups, attempt to get rid of them. */
  585|      3|    if ((nclass + nlist) > 0) {
  ------------------
  |  Branch (585:9): [True: 2, False: 1]
  ------------------
  586|       |        /* Clear the lists */
  587|      2|        if (nlist > 0) {
  ------------------
  |  Branch (587:13): [True: 1, False: 1]
  ------------------
  588|      1|            (void)H5I_clear_type(H5I_GENPROP_LST, false, false);
  589|       |
  590|       |            /* Reset the default property lists, if they've been closed */
  591|      1|            if (H5I_nmembers(H5I_GENPROP_LST) == 0) {
  ------------------
  |  Branch (591:17): [True: 1, False: 0]
  ------------------
  592|      1|                H5P_LST_ATTRIBUTE_ACCESS_ID_g = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  593|      1|                H5P_LST_ATTRIBUTE_CREATE_ID_g = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  594|      1|                H5P_LST_DATASET_ACCESS_ID_g   = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  595|      1|                H5P_LST_DATASET_CREATE_ID_g   = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  596|      1|                H5P_LST_DATASET_XFER_ID_g     = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  597|      1|                H5P_LST_DATATYPE_ACCESS_ID_g  = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  598|      1|                H5P_LST_DATATYPE_CREATE_ID_g  = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  599|      1|                H5P_LST_FILE_ACCESS_ID_g      = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  600|      1|                H5P_LST_FILE_CREATE_ID_g      = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  601|      1|                H5P_LST_FILE_MOUNT_ID_g       = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  602|      1|                H5P_LST_GROUP_ACCESS_ID_g     = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  603|      1|                H5P_LST_GROUP_CREATE_ID_g     = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  604|      1|                H5P_LST_LINK_ACCESS_ID_g      = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  605|      1|                H5P_LST_LINK_CREATE_ID_g      = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  606|      1|                H5P_LST_MAP_ACCESS_ID_g       = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  607|      1|                H5P_LST_MAP_CREATE_ID_g       = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  608|      1|                H5P_LST_OBJECT_COPY_ID_g      = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  609|      1|                H5P_LST_REFERENCE_ACCESS_ID_g = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  610|      1|                H5P_LST_VOL_INITIALIZE_ID_g   = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  611|      1|            }
  612|      1|        }
  613|       |
  614|       |        /* Only attempt to close the classes after all the lists are closed */
  615|      2|        if (nlist == 0 && nclass > 0) {
  ------------------
  |  Branch (615:13): [True: 1, False: 1]
  |  Branch (615:27): [True: 1, False: 0]
  ------------------
  616|      1|            (void)H5I_clear_type(H5I_GENPROP_CLS, false, false);
  617|       |
  618|       |            /* Reset the default property classes and IDs if they've been closed */
  619|      1|            if (H5I_nmembers(H5I_GENPROP_CLS) == 0) {
  ------------------
  |  Branch (619:17): [True: 1, False: 0]
  ------------------
  620|      1|                H5P_CLS_ROOT_g = NULL;
  621|       |
  622|      1|                H5P_CLS_ATTRIBUTE_ACCESS_g = NULL;
  623|      1|                H5P_CLS_ATTRIBUTE_CREATE_g = NULL;
  624|      1|                H5P_CLS_DATASET_ACCESS_g   = NULL;
  625|      1|                H5P_CLS_DATASET_CREATE_g   = NULL;
  626|      1|                H5P_CLS_DATASET_XFER_g     = NULL;
  627|      1|                H5P_CLS_DATATYPE_ACCESS_g  = NULL;
  628|      1|                H5P_CLS_DATATYPE_CREATE_g  = NULL;
  629|      1|                H5P_CLS_FILE_ACCESS_g      = NULL;
  630|      1|                H5P_CLS_FILE_CREATE_g      = NULL;
  631|      1|                H5P_CLS_FILE_MOUNT_g       = NULL;
  632|      1|                H5P_CLS_GROUP_ACCESS_g     = NULL;
  633|      1|                H5P_CLS_GROUP_CREATE_g     = NULL;
  634|      1|                H5P_CLS_LINK_ACCESS_g      = NULL;
  635|      1|                H5P_CLS_LINK_CREATE_g      = NULL;
  636|      1|                H5P_CLS_MAP_ACCESS_g       = NULL;
  637|      1|                H5P_CLS_MAP_CREATE_g       = NULL;
  638|      1|                H5P_CLS_OBJECT_COPY_g      = NULL;
  639|      1|                H5P_CLS_OBJECT_CREATE_g    = NULL;
  640|      1|                H5P_CLS_REFERENCE_ACCESS_g = NULL;
  641|      1|                H5P_CLS_STRING_CREATE_g    = NULL;
  642|      1|                H5P_CLS_VOL_INITIALIZE_g   = NULL;
  643|       |
  644|      1|                H5P_CLS_ROOT_ID_g = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  645|       |
  646|      1|                H5P_CLS_ATTRIBUTE_ACCESS_ID_g = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  647|      1|                H5P_CLS_ATTRIBUTE_CREATE_ID_g = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  648|      1|                H5P_CLS_DATASET_ACCESS_ID_g   = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  649|      1|                H5P_CLS_DATASET_CREATE_ID_g   = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  650|      1|                H5P_CLS_DATASET_XFER_ID_g     = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  651|      1|                H5P_CLS_DATATYPE_ACCESS_ID_g  = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  652|      1|                H5P_CLS_DATATYPE_CREATE_ID_g  = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  653|      1|                H5P_CLS_FILE_ACCESS_ID_g      = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  654|      1|                H5P_CLS_FILE_CREATE_ID_g      = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  655|      1|                H5P_CLS_FILE_MOUNT_ID_g       = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  656|      1|                H5P_CLS_GROUP_ACCESS_ID_g     = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  657|      1|                H5P_CLS_GROUP_CREATE_ID_g     = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  658|      1|                H5P_CLS_LINK_ACCESS_ID_g      = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  659|      1|                H5P_CLS_LINK_CREATE_ID_g      = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  660|      1|                H5P_CLS_MAP_ACCESS_ID_g       = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  661|      1|                H5P_CLS_MAP_CREATE_ID_g       = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  662|      1|                H5P_CLS_OBJECT_COPY_ID_g      = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  663|      1|                H5P_CLS_OBJECT_CREATE_ID_g    = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  664|      1|                H5P_CLS_REFERENCE_ACCESS_ID_g = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  665|      1|                H5P_CLS_STRING_CREATE_ID_g    = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  666|      1|                H5P_CLS_VOL_INITIALIZE_ID_g   = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  667|      1|            }
  668|      1|        }
  669|       |
  670|      2|        n++; /*H5I*/
  671|      2|    }
  672|      1|    else {
  673|       |        /* Destroy the property list and class id groups */
  674|      1|        n += (H5I_dec_type_ref(H5I_GENPROP_LST) > 0);
  675|      1|        n += (H5I_dec_type_ref(H5I_GENPROP_CLS) > 0);
  676|      1|    } /* end else */
  677|       |
  678|      3|    FUNC_LEAVE_NOAPI(n)
  ------------------
  |  | 1572|      3|    ;                                                                                                        \
  |  | 1573|      3|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      3|    return (ret_value);                                                                                      \
  |  | 1575|      3|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  679|      3|} /* end H5P_term_package() */
H5P_copy_plist:
  904|    157|{
  905|    157|    H5P_genclass_t *tclass;           /* Temporary class pointer */
  906|    157|    H5P_genplist_t *new_plist = NULL; /* New property list generated from copy */
  907|    157|    H5P_genprop_t  *tmp;              /* Temporary pointer to properties */
  908|    157|    H5P_genprop_t  *new_prop;         /* New property created for copy */
  909|    157|    hid_t           new_plist_id;     /* Property list ID of new list created */
  910|    157|    H5SL_node_t    *curr_node;        /* Current node in skip list */
  911|    157|    H5SL_t         *seen = NULL;      /* Skip list containing properties already seen */
  912|    157|    size_t          nseen;            /* Number of items 'seen' */
  913|    157|    bool            has_parent_class; /* Flag to indicate that this property list's class has a parent */
  914|    157|    hid_t           ret_value = H5I_INVALID_HID; /* return value */
  ------------------
  |  |   75|    157|#define H5I_INVALID_HID (-1)
  ------------------
  915|       |
  916|    157|    FUNC_ENTER_NOAPI(H5I_INVALID_HID)
  ------------------
  |  | 1391|    157|    {                                                                                                        \
  |  | 1392|    157|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    157|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    157|                                                                                                             \
  |  |  |  | 1267|    157|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    157|        {
  ------------------
  917|       |
  918|    157|    assert(old_plist);
  919|       |
  920|       |    /*
  921|       |     * Create new property list object
  922|       |     */
  923|       |
  924|       |    /* Allocate room for the property list */
  925|    157|    if (NULL == (new_plist = H5FL_CALLOC(H5P_genplist_t)))
  ------------------
  |  |   78|    157|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|    157|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (925:9): [True: 0, False: 157]
  ------------------
  926|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, H5I_INVALID_HID, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  927|       |
  928|       |    /* Set class state */
  929|    157|    new_plist->pclass     = old_plist->pclass;
  930|    157|    new_plist->nprops     = 0;     /* Initially the plist has the same number of properties as the class */
  931|    157|    new_plist->class_init = false; /* Initially, wait until the class callback finishes to set */
  932|       |
  933|       |    /* Initialize the skip list to hold the changed properties */
  934|    157|    if ((new_plist->props = H5SL_create(H5SL_TYPE_STR, NULL)) == NULL)
  ------------------
  |  Branch (934:9): [True: 0, False: 157]
  ------------------
  935|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTCREATE, H5I_INVALID_HID,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  936|    157|                    "can't create skip list for changed properties");
  937|       |
  938|       |    /* Create the skip list for deleted properties */
  939|    157|    if ((new_plist->del = H5SL_create(H5SL_TYPE_STR, NULL)) == NULL)
  ------------------
  |  Branch (939:9): [True: 0, False: 157]
  ------------------
  940|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTCREATE, H5I_INVALID_HID,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  941|    157|                    "can't create skip list for deleted properties");
  942|       |
  943|       |    /* Create the skip list to hold names of properties already seen
  944|       |     * (This prevents a property in the class hierarchy from having it's
  945|       |     * 'create' callback called, if a property in the class hierarchy has
  946|       |     * already been seen)
  947|       |     */
  948|    157|    if ((seen = H5SL_create(H5SL_TYPE_STR, NULL)) == NULL)
  ------------------
  |  Branch (948:9): [True: 0, False: 157]
  ------------------
  949|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTCREATE, H5I_INVALID_HID, "can't create skip list for seen properties");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  950|    157|    nseen = 0;
  951|       |
  952|       |    /* Cycle through the deleted properties & copy them into the new list's deleted section */
  953|    157|    if (H5SL_count(old_plist->del) > 0) {
  ------------------
  |  Branch (953:9): [True: 0, False: 157]
  ------------------
  954|      0|        curr_node = H5SL_first(old_plist->del);
  955|      0|        while (curr_node) {
  ------------------
  |  Branch (955:16): [True: 0, False: 0]
  ------------------
  956|      0|            char *new_name; /* Pointer to new name */
  957|       |
  958|       |            /* Duplicate string for insertion into new deleted property skip list */
  959|      0|            if ((new_name = H5MM_xstrdup((char *)H5SL_item(curr_node))) == NULL)
  ------------------
  |  Branch (959:17): [True: 0, False: 0]
  ------------------
  960|      0|                HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, H5I_INVALID_HID, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  961|       |
  962|       |            /* Insert property name into deleted list */
  963|      0|            if (H5SL_insert(new_plist->del, new_name, new_name) < 0)
  ------------------
  |  Branch (963:17): [True: 0, False: 0]
  ------------------
  964|      0|                HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, H5I_INVALID_HID,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  965|      0|                            "can't insert property into deleted skip list");
  966|       |
  967|       |            /* Add property name to "seen" list */
  968|      0|            if (H5SL_insert(seen, new_name, new_name) < 0)
  ------------------
  |  Branch (968:17): [True: 0, False: 0]
  ------------------
  969|      0|                HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, H5I_INVALID_HID,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  970|      0|                            "can't insert property into seen skip list");
  971|      0|            nseen++;
  972|       |
  973|       |            /* Get the next property node in the skip list */
  974|      0|            curr_node = H5SL_next(curr_node);
  975|      0|        } /* end while */
  976|      0|    }     /* end if */
  977|       |
  978|       |    /* Cycle through the properties and copy them also */
  979|    157|    if (H5SL_count(old_plist->props) > 0) {
  ------------------
  |  Branch (979:9): [True: 37, False: 120]
  ------------------
  980|     37|        curr_node = H5SL_first(old_plist->props);
  981|    222|        while (curr_node) {
  ------------------
  |  Branch (981:16): [True: 185, False: 37]
  ------------------
  982|       |            /* Get a pointer to the node's property */
  983|    185|            tmp = (H5P_genprop_t *)H5SL_item(curr_node);
  984|       |
  985|       |            /* Make a copy of the list's property */
  986|    185|            if (NULL == (new_prop = H5P__dup_prop(tmp, H5P_PROP_WITHIN_LIST)))
  ------------------
  |  Branch (986:17): [True: 0, False: 185]
  ------------------
  987|      0|                HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, H5I_INVALID_HID, "Can't copy property");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  988|       |
  989|       |            /* Call property copy callback, if it exists */
  990|    185|            if (new_prop->copy) {
  ------------------
  |  Branch (990:17): [True: 148, False: 37]
  ------------------
  991|    148|                if ((new_prop->copy)(new_prop->name, new_prop->size, new_prop->value) < 0) {
  ------------------
  |  Branch (991:21): [True: 0, False: 148]
  ------------------
  992|      0|                    H5P__free_prop(new_prop);
  993|      0|                    HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, H5I_INVALID_HID, "Can't copy property");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  994|      0|                } /* end if */
  995|    148|            }     /* end if */
  996|       |
  997|       |            /* Insert the initialized property into the property list */
  998|    185|            if (H5P__add_prop(new_plist->props, new_prop) < 0) {
  ------------------
  |  Branch (998:17): [True: 0, False: 185]
  ------------------
  999|      0|                H5P__free_prop(new_prop);
 1000|      0|                HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, H5I_INVALID_HID, "Can't insert property into list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1001|      0|            } /* end if */
 1002|       |
 1003|       |            /* Add property name to "seen" list */
 1004|    185|            if (H5SL_insert(seen, new_prop->name, new_prop->name) < 0)
  ------------------
  |  Branch (1004:17): [True: 0, False: 185]
  ------------------
 1005|      0|                HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, H5I_INVALID_HID,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1006|    185|                            "can't insert property into seen skip list");
 1007|    185|            nseen++;
 1008|       |
 1009|       |            /* Increment the number of properties in list */
 1010|    185|            new_plist->nprops++;
 1011|       |
 1012|       |            /* Get the next property node in the skip list */
 1013|    185|            curr_node = H5SL_next(curr_node);
 1014|    185|        } /* end while */
 1015|     37|    }     /* end if */
 1016|       |
 1017|       |    /*
 1018|       |     * Check for copying class properties (up through list of parent classes also),
 1019|       |     * initialize each with default value & make property 'copy' callback.
 1020|       |     */
 1021|    157|    tclass           = old_plist->pclass;
 1022|    157|    has_parent_class = (bool)(tclass != NULL && tclass->parent != NULL && tclass->parent->nprops > 0);
  ------------------
  |  Branch (1022:31): [True: 157, False: 0]
  |  Branch (1022:49): [True: 157, False: 0]
  |  Branch (1022:75): [True: 157, False: 0]
  ------------------
 1023|    638|    while (tclass != NULL) {
  ------------------
  |  Branch (1023:12): [True: 481, False: 157]
  ------------------
 1024|    481|        if (tclass->nprops > 0) {
  ------------------
  |  Branch (1024:13): [True: 324, False: 157]
  ------------------
 1025|       |            /* Walk through the properties in the old class */
 1026|    324|            curr_node = H5SL_first(tclass->props);
 1027|  2.07k|            while (curr_node != NULL) {
  ------------------
  |  Branch (1027:20): [True: 1.75k, False: 324]
  ------------------
 1028|       |                /* Get pointer to property from node */
 1029|  1.75k|                tmp = (H5P_genprop_t *)H5SL_item(curr_node);
 1030|       |
 1031|       |                /* Only "copy" properties we haven't seen before */
 1032|  1.75k|                if (nseen == 0 || H5SL_search(seen, tmp->name) == NULL) {
  ------------------
  |  Branch (1032:21): [True: 120, False: 1.63k]
  |  Branch (1032:35): [True: 1.44k, False: 185]
  ------------------
 1033|       |                    /* Call property copy callback, if it exists */
 1034|  1.56k|                    if (tmp->copy) {
  ------------------
  |  Branch (1034:25): [True: 450, False: 1.11k]
  ------------------
 1035|       |                        /* Call the callback & insert changed value into skip list (if necessary) */
 1036|    450|                        if (H5P__do_prop_cb1(new_plist->props, tmp, tmp->copy) < 0)
  ------------------
  |  Branch (1036:29): [True: 0, False: 450]
  ------------------
 1037|      0|                            HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, H5I_INVALID_HID, "Can't create property");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1038|    450|                    } /* end if */
 1039|       |
 1040|       |                    /* Add property name to "seen" list, if we have other classes to work on */
 1041|  1.56k|                    if (has_parent_class) {
  ------------------
  |  Branch (1041:25): [True: 1.56k, False: 0]
  ------------------
 1042|  1.56k|                        if (H5SL_insert(seen, tmp->name, tmp->name) < 0)
  ------------------
  |  Branch (1042:29): [True: 0, False: 1.56k]
  ------------------
 1043|      0|                            HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, H5I_INVALID_HID,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1044|  1.56k|                                        "can't insert property into seen skip list");
 1045|  1.56k|                        nseen++;
 1046|  1.56k|                    } /* end if */
 1047|       |
 1048|       |                    /* Increment the number of properties in list */
 1049|  1.56k|                    new_plist->nprops++;
 1050|  1.56k|                } /* end if */
 1051|       |
 1052|       |                /* Get the next property node in the skip list */
 1053|  1.75k|                curr_node = H5SL_next(curr_node);
 1054|  1.75k|            } /* end while */
 1055|    324|        }     /* end if */
 1056|       |
 1057|       |        /* Go up to parent class */
 1058|    481|        tclass = tclass->parent;
 1059|    481|    } /* end while */
 1060|       |
 1061|       |    /* Increment the number of property lists derived from class */
 1062|    157|    if (H5P__access_class(new_plist->pclass, H5P_MOD_INC_LST) < 0)
  ------------------
  |  Branch (1062:9): [True: 0, False: 157]
  ------------------
 1063|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINIT, H5I_INVALID_HID, "Can't increment class ref count");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1064|       |
 1065|       |    /* Get an ID for the property list */
 1066|    157|    if ((new_plist_id = H5I_register(H5I_GENPROP_LST, new_plist, app_ref)) < 0)
  ------------------
  |  Branch (1066:9): [True: 0, False: 157]
  ------------------
 1067|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTREGISTER, H5I_INVALID_HID, "unable to register property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1068|       |
 1069|       |    /* Save the property list ID in the property list struct, for use in the property class's 'close' callback
 1070|       |     */
 1071|    157|    new_plist->plist_id = new_plist_id;
 1072|       |
 1073|       |    /* Call the class callback (if it exists) now that we have the property list ID
 1074|       |     * (up through chain of parent classes also)
 1075|       |     */
 1076|    157|    tclass = new_plist->pclass;
 1077|    638|    while (NULL != tclass) {
  ------------------
  |  Branch (1077:12): [True: 481, False: 157]
  ------------------
 1078|    481|        if (NULL != tclass->copy_func) {
  ------------------
  |  Branch (1078:13): [True: 0, False: 481]
  ------------------
 1079|      0|            if ((tclass->copy_func)(new_plist_id, old_plist->plist_id, old_plist->pclass->copy_data) < 0) {
  ------------------
  |  Branch (1079:17): [True: 0, False: 0]
  ------------------
 1080|       |                /* Delete ID, ignore return value */
 1081|      0|                H5I_remove(new_plist_id);
 1082|      0|                HGOTO_ERROR(H5E_PLIST, H5E_CANTINIT, H5I_INVALID_HID, "Can't initialize property");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1083|      0|            } /* end if */
 1084|      0|        }     /* end if */
 1085|       |
 1086|       |        /* Go up to parent class */
 1087|    481|        tclass = tclass->parent;
 1088|    481|    } /* end while */
 1089|       |
 1090|       |    /* Set the class initialization flag */
 1091|    157|    new_plist->class_init = true;
 1092|       |
 1093|       |    /* Set the return value */
 1094|    157|    ret_value = new_plist_id;
 1095|       |
 1096|    157|done:
 1097|       |    /* Release the list of 'seen' properties */
 1098|    157|    if (seen != NULL)
  ------------------
  |  Branch (1098:9): [True: 157, False: 0]
  ------------------
 1099|    157|        H5SL_close(seen);
 1100|       |
 1101|    157|    if (H5I_INVALID_HID == ret_value && new_plist)
  ------------------
  |  |   75|    157|#define H5I_INVALID_HID (-1)
  ------------------
  |  Branch (1101:9): [True: 0, False: 157]
  |  Branch (1101:41): [True: 0, False: 0]
  ------------------
 1102|      0|        H5P_close(new_plist);
 1103|       |
 1104|    157|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    157|    ;                                                                                                        \
  |  | 1573|    157|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    157|    return (ret_value);                                                                                      \
  |  | 1575|    157|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1105|    157|} /* H5P_copy_plist() */
H5P__add_prop:
 1324|    846|{
 1325|    846|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    846|#define SUCCEED 0
  ------------------
 1326|       |
 1327|    846|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    846|    {                                                                                                        \
  |  | 1461|    846|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    846|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    846|                                                                                                             \
  |  |  |  | 1267|    846|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    846|        {
  ------------------
 1328|       |
 1329|    846|    assert(slist);
 1330|    846|    assert(prop);
 1331|    846|    assert(prop->type != H5P_PROP_WITHIN_UNKNOWN);
 1332|       |
 1333|       |    /* Insert property into skip list */
 1334|    846|    if (H5SL_insert(slist, prop, prop->name) < 0)
  ------------------
  |  Branch (1334:9): [True: 0, False: 846]
  ------------------
 1335|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into skip list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1336|       |
 1337|    846|done:
 1338|    846|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    846|    ;                                                                                                        \
  |  | 1573|    846|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    846|    return (ret_value);                                                                                      \
  |  | 1575|    846|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1339|    846|} /* H5P__add_prop() */
H5P__access_class:
 1572|    416|{
 1573|    416|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|    416|    {                                                                                                        \
  |  | 1467|    416|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|    416|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|    416|        {
  ------------------
 1574|       |
 1575|    416|    assert(pclass);
 1576|    416|    assert(mod > H5P_MOD_ERR && mod < H5P_MOD_MAX);
 1577|       |
 1578|    416|    switch (mod) {
 1579|     21|        case H5P_MOD_INC_CLS: /* Increment the dependent class count*/
  ------------------
  |  Branch (1579:9): [True: 21, False: 395]
  ------------------
 1580|     21|            pclass->classes++;
 1581|     21|            break;
 1582|       |
 1583|     21|        case H5P_MOD_DEC_CLS: /* Decrement the dependent class count*/
  ------------------
  |  Branch (1583:9): [True: 21, False: 395]
  ------------------
 1584|     21|            pclass->classes--;
 1585|     21|            break;
 1586|       |
 1587|    176|        case H5P_MOD_INC_LST: /* Increment the dependent list count*/
  ------------------
  |  Branch (1587:9): [True: 176, False: 240]
  ------------------
 1588|    176|            pclass->plists++;
 1589|    176|            break;
 1590|       |
 1591|    176|        case H5P_MOD_DEC_LST: /* Decrement the dependent list count*/
  ------------------
  |  Branch (1591:9): [True: 176, False: 240]
  ------------------
 1592|    176|            pclass->plists--;
 1593|    176|            break;
 1594|       |
 1595|      0|        case H5P_MOD_INC_REF: /* Increment the ID reference count*/
  ------------------
  |  Branch (1595:9): [True: 0, False: 416]
  ------------------
 1596|       |            /* Reset the deleted flag if incrementing the reference count */
 1597|      0|            if (pclass->deleted)
  ------------------
  |  Branch (1597:17): [True: 0, False: 0]
  ------------------
 1598|      0|                pclass->deleted = false;
 1599|      0|            pclass->ref_count++;
 1600|      0|            break;
 1601|       |
 1602|     22|        case H5P_MOD_DEC_REF: /* Decrement the ID reference count*/
  ------------------
  |  Branch (1602:9): [True: 22, False: 394]
  ------------------
 1603|     22|            pclass->ref_count--;
 1604|       |
 1605|       |            /* Mark the class object as deleted if reference count drops to zero */
 1606|     22|            if (pclass->ref_count == 0)
  ------------------
  |  Branch (1606:17): [True: 22, False: 0]
  ------------------
 1607|     22|                pclass->deleted = true;
 1608|     22|            break;
 1609|       |
 1610|      0|        case H5P_MOD_ERR:
  ------------------
  |  Branch (1610:9): [True: 0, False: 416]
  ------------------
 1611|      0|        case H5P_MOD_MAX:
  ------------------
  |  Branch (1611:9): [True: 0, False: 416]
  ------------------
 1612|      0|        default:
  ------------------
  |  Branch (1612:9): [True: 0, False: 416]
  ------------------
 1613|      0|            assert(0 && "Invalid H5P class modification");
 1614|    416|    } /* end switch */
 1615|       |
 1616|       |    /* Check if we can release the class information now */
 1617|    416|    if (pclass->deleted && pclass->plists == 0 && pclass->classes == 0) {
  ------------------
  |  Branch (1617:9): [True: 43, False: 373]
  |  Branch (1617:28): [True: 43, False: 0]
  |  Branch (1617:51): [True: 22, False: 21]
  ------------------
 1618|     22|        H5P_genclass_t *par_class = pclass->parent; /* Pointer to class's parent */
 1619|       |
 1620|     22|        assert(pclass->name);
 1621|     22|        H5MM_xfree(pclass->name);
 1622|       |
 1623|       |        /* Free the class properties without making callbacks */
 1624|     22|        if (pclass->props) {
  ------------------
  |  Branch (1624:13): [True: 22, False: 0]
  ------------------
 1625|     22|            bool make_cb = false;
 1626|       |
 1627|     22|            H5SL_destroy(pclass->props, H5P__free_prop_cb, &make_cb);
 1628|     22|        } /* end if */
 1629|       |
 1630|     22|        pclass = H5FL_FREE(H5P_genclass_t, pclass);
  ------------------
  |  |   81|     22|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|     22|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 1631|       |
 1632|       |        /* Reduce the number of dependent classes on parent class also */
 1633|     22|        if (par_class != NULL)
  ------------------
  |  Branch (1633:13): [True: 21, False: 1]
  ------------------
 1634|     21|            H5P__access_class(par_class, H5P_MOD_DEC_CLS);
 1635|     22|    } /* end if */
 1636|       |
 1637|    416|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|    416|    ;                                                                                                        \
  |  | 1573|    416|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    416|    return (ret_value);                                                                                      \
  |  | 1575|    416|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1638|    416|} /* H5P__access_class() */
H5P__create_class:
 1723|     22|{
 1724|     22|    H5P_genclass_t *pclass    = NULL; /* Property list class created */
 1725|     22|    H5P_genclass_t *ret_value = NULL; /* Return value */
 1726|       |
 1727|     22|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     22|    {                                                                                                        \
  |  | 1461|     22|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     22|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     22|                                                                                                             \
  |  |  |  | 1267|     22|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     22|        {
  ------------------
 1728|       |
 1729|     22|    assert(name);
 1730|       |    /* Allow internal classes to break some rules */
 1731|       |    /* (This allows the root of the tree to be created with this routine -QAK) */
 1732|     22|    if (type == H5P_TYPE_USER)
  ------------------
  |  Branch (1732:9): [True: 0, False: 22]
  ------------------
 1733|      0|        assert(par_class);
 1734|       |
 1735|       |    /* Allocate room for the class */
 1736|     22|    if (NULL == (pclass = H5FL_CALLOC(H5P_genclass_t)))
  ------------------
  |  |   78|     22|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|     22|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (1736:9): [True: 0, False: 22]
  ------------------
 1737|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTALLOC, NULL, "property list class allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1738|       |
 1739|       |    /* Set class state */
 1740|     22|    pclass->parent = par_class;
 1741|     22|    if (NULL == (pclass->name = H5MM_xstrdup(name)))
  ------------------
  |  Branch (1741:9): [True: 0, False: 22]
  ------------------
 1742|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTALLOC, NULL, "property list class name allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1743|     22|    pclass->type      = type;
 1744|     22|    pclass->nprops    = 0;                /* Classes are created without properties initially */
 1745|     22|    pclass->plists    = 0;                /* No properties lists of this class yet */
 1746|     22|    pclass->classes   = 0;                /* No classes derived from this class yet */
 1747|     22|    pclass->ref_count = 1;                /* This is the first reference to the new class */
 1748|     22|    pclass->deleted   = false;            /* Not deleted yet... :-) */
 1749|     22|    pclass->revision  = H5P_GET_NEXT_REV; /* Get a revision number for the class */
  ------------------
  |  |  354|     22|#define H5P_GET_NEXT_REV (H5P_next_rev++)
  ------------------
 1750|       |
 1751|       |    /* Create the skip list for properties */
 1752|     22|    if (NULL == (pclass->props = H5SL_create(H5SL_TYPE_STR, NULL)))
  ------------------
  |  Branch (1752:9): [True: 0, False: 22]
  ------------------
 1753|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTCREATE, NULL, "can't create skip list for properties");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1754|       |
 1755|       |    /* Set callback functions and pass-along data */
 1756|     22|    pclass->create_func = cls_create;
 1757|     22|    pclass->create_data = create_data;
 1758|     22|    pclass->copy_func   = cls_copy;
 1759|     22|    pclass->copy_data   = copy_data;
 1760|     22|    pclass->close_func  = cls_close;
 1761|     22|    pclass->close_data  = close_data;
 1762|       |
 1763|       |    /* Increment parent class's derived class value */
 1764|     22|    if (par_class != NULL) {
  ------------------
  |  Branch (1764:9): [True: 21, False: 1]
  ------------------
 1765|     21|        if (H5P__access_class(par_class, H5P_MOD_INC_CLS) < 0)
  ------------------
  |  Branch (1765:13): [True: 0, False: 21]
  ------------------
 1766|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTINIT, NULL, "Can't increment parent class ref count");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1767|     21|    } /* end if */
 1768|       |
 1769|       |    /* Set return value */
 1770|     22|    ret_value = pclass;
 1771|       |
 1772|     22|done:
 1773|       |    /* Free any resources allocated */
 1774|     22|    if (ret_value == NULL)
  ------------------
  |  Branch (1774:9): [True: 0, False: 22]
  ------------------
 1775|      0|        if (pclass) {
  ------------------
  |  Branch (1775:13): [True: 0, False: 0]
  ------------------
 1776|      0|            if (pclass->name)
  ------------------
  |  Branch (1776:17): [True: 0, False: 0]
  ------------------
 1777|      0|                H5MM_xfree(pclass->name);
 1778|      0|            if (pclass->props) {
  ------------------
  |  Branch (1778:17): [True: 0, False: 0]
  ------------------
 1779|      0|                bool make_cb = false;
 1780|       |
 1781|      0|                H5SL_destroy(pclass->props, H5P__free_prop_cb, &make_cb);
 1782|      0|            } /* end if */
 1783|      0|            pclass = H5FL_FREE(H5P_genclass_t, pclass);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 1784|      0|        } /* end if */
 1785|       |
 1786|     22|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     22|    ;                                                                                                        \
  |  | 1573|     22|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     22|    return (ret_value);                                                                                      \
  |  | 1575|     22|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1787|     22|} /* H5P__create_class() */
H5P_create_id:
 1956|     19|{
 1957|     19|    H5P_genclass_t *tclass;                      /* Temporary class pointer */
 1958|     19|    H5P_genplist_t *plist     = NULL;            /* Property list created */
 1959|     19|    hid_t           plist_id  = FAIL;            /* Property list ID */
  ------------------
  |  |  284|     19|#define FAIL    (-1)
  ------------------
 1960|     19|    hid_t           ret_value = H5I_INVALID_HID; /* return value */
  ------------------
  |  |   75|     19|#define H5I_INVALID_HID (-1)
  ------------------
 1961|       |
 1962|     19|    FUNC_ENTER_NOAPI(H5I_INVALID_HID)
  ------------------
  |  | 1391|     19|    {                                                                                                        \
  |  | 1392|     19|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     19|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     19|                                                                                                             \
  |  |  |  | 1267|     19|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     19|        {
  ------------------
 1963|       |
 1964|     19|    assert(pclass);
 1965|       |
 1966|       |    /* Create the new property list */
 1967|     19|    if ((plist = H5P__create(pclass)) == NULL)
  ------------------
  |  Branch (1967:9): [True: 0, False: 19]
  ------------------
 1968|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTCREATE, H5I_INVALID_HID, "unable to create property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1969|       |
 1970|       |    /* Get an ID for the property list */
 1971|     19|    if ((plist_id = H5I_register(H5I_GENPROP_LST, plist, app_ref)) < 0)
  ------------------
  |  Branch (1971:9): [True: 0, False: 19]
  ------------------
 1972|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTREGISTER, H5I_INVALID_HID, "unable to register property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1973|       |
 1974|       |    /* Save the property list ID in the property list struct, for use in the property class's 'close' callback
 1975|       |     */
 1976|     19|    plist->plist_id = plist_id;
 1977|       |
 1978|       |    /* Call the class callback (if it exists) now that we have the property list ID
 1979|       |     * (up through chain of parent classes also)
 1980|       |     */
 1981|     19|    tclass = plist->pclass;
 1982|     71|    while (NULL != tclass) {
  ------------------
  |  Branch (1982:12): [True: 52, False: 19]
  ------------------
 1983|     52|        if (NULL != tclass->create_func) {
  ------------------
  |  Branch (1983:13): [True: 0, False: 52]
  ------------------
 1984|      0|            if ((tclass->create_func)(plist_id, tclass->create_data) < 0) {
  ------------------
  |  Branch (1984:17): [True: 0, False: 0]
  ------------------
 1985|       |                /* Delete ID, ignore return value */
 1986|      0|                H5I_remove(plist_id);
 1987|      0|                HGOTO_ERROR(H5E_PLIST, H5E_CANTINIT, H5I_INVALID_HID, "Can't initialize property");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1988|      0|            } /* end if */
 1989|      0|        }     /* end if */
 1990|       |
 1991|       |        /* Go up to parent class */
 1992|     52|        tclass = tclass->parent;
 1993|     52|    } /* end while */
 1994|       |
 1995|       |    /* Set the class initialization flag */
 1996|     19|    plist->class_init = true;
 1997|       |
 1998|       |    /* Set the return value */
 1999|     19|    ret_value = plist_id;
 2000|       |
 2001|     19|done:
 2002|     19|    if (H5I_INVALID_HID == ret_value && plist)
  ------------------
  |  |   75|     19|#define H5I_INVALID_HID (-1)
  ------------------
  |  Branch (2002:9): [True: 0, False: 19]
  |  Branch (2002:41): [True: 0, False: 0]
  ------------------
 2003|      0|        H5P_close(plist);
 2004|       |
 2005|     19|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     19|    ;                                                                                                        \
  |  | 1573|     19|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     19|    return (ret_value);                                                                                      \
  |  | 1575|     19|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2006|     19|} /* H5P_create_id() */
H5P__register_real:
 2198|    113|{
 2199|    113|    H5P_genprop_t *new_prop  = NULL;    /* Temporary property pointer */
 2200|    113|    herr_t         ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    113|#define SUCCEED 0
  ------------------
 2201|       |
 2202|    113|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    113|    {                                                                                                        \
  |  | 1461|    113|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    113|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    113|                                                                                                             \
  |  |  |  | 1267|    113|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    113|        {
  ------------------
 2203|       |
 2204|    113|    assert(pclass);
 2205|    113|    assert(0 == pclass->plists);
 2206|    113|    assert(0 == pclass->classes);
 2207|    113|    assert(name);
 2208|    113|    assert((size > 0 && def_value != NULL) || (size == 0));
 2209|       |
 2210|       |    /* Check for duplicate named properties */
 2211|    113|    if (NULL != H5SL_search(pclass->props, name))
  ------------------
  |  Branch (2211:9): [True: 0, False: 113]
  ------------------
 2212|      0|        HGOTO_ERROR(H5E_PLIST, H5E_EXISTS, FAIL, "property already exists");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2213|       |
 2214|       |    /* Create property object from parameters */
 2215|    113|    if (NULL == (new_prop = H5P__create_prop(name, size, H5P_PROP_WITHIN_CLASS, def_value, prp_create,
  ------------------
  |  Branch (2215:9): [True: 0, False: 113]
  ------------------
 2216|    113|                                             prp_set, prp_get, prp_encode, prp_decode, prp_delete, prp_copy,
 2217|    113|                                             prp_cmp, prp_close)))
 2218|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTCREATE, FAIL, "Can't create property");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2219|       |
 2220|       |    /* Insert property into property list class */
 2221|    113|    if (H5P__add_prop(pclass->props, new_prop) < 0)
  ------------------
  |  Branch (2221:9): [True: 0, False: 113]
  ------------------
 2222|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "Can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2223|       |
 2224|       |    /* Increment property count for class */
 2225|    113|    pclass->nprops++;
 2226|       |
 2227|       |    /* Update the revision for the class */
 2228|    113|    pclass->revision = H5P_GET_NEXT_REV;
  ------------------
  |  |  354|    113|#define H5P_GET_NEXT_REV (H5P_next_rev++)
  ------------------
 2229|       |
 2230|    113|done:
 2231|    113|    if (ret_value < 0)
  ------------------
  |  Branch (2231:9): [True: 0, False: 113]
  ------------------
 2232|      0|        if (new_prop && H5P__free_prop(new_prop) < 0)
  ------------------
  |  Branch (2232:13): [True: 0, False: 0]
  |  Branch (2232:25): [True: 0, False: 0]
  ------------------
 2233|      0|            HDONE_ERROR(H5E_PLIST, H5E_CANTRELEASE, FAIL, "unable to close property");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2234|       |
 2235|    113|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    113|    ;                                                                                                        \
  |  | 1573|    113|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    113|    return (ret_value);                                                                                      \
  |  | 1575|    113|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2236|    113|} /* H5P__register_real() */
H5P_poke:
 2948|    111|{
 2949|    111|    H5P_prop_set_ud_t udata;               /* User data for callback */
 2950|    111|    herr_t            ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    111|#define SUCCEED 0
  ------------------
 2951|       |
 2952|    111|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    111|    {                                                                                                        \
  |  | 1392|    111|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    111|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    111|                                                                                                             \
  |  |  |  | 1267|    111|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    111|        {
  ------------------
 2953|       |
 2954|       |    /* Sanity check */
 2955|    111|    assert(plist);
 2956|    111|    assert(name);
 2957|    111|    assert(value);
 2958|       |
 2959|       |    /* Find the property and set the value */
 2960|    111|    udata.value = value;
 2961|    111|    if (H5P__do_prop(plist, name, H5P__poke_plist_cb, H5P__poke_pclass_cb, &udata) < 0)
  ------------------
  |  Branch (2961:9): [True: 0, False: 111]
  ------------------
 2962|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTOPERATE, FAIL, "can't operate on plist to overwrite value");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2963|       |
 2964|    111|done:
 2965|    111|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    111|    ;                                                                                                        \
  |  | 1573|    111|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    111|    return (ret_value);                                                                                      \
  |  | 1575|    111|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2966|    111|} /* H5P_poke() */
H5P_set:
 3160|    199|{
 3161|    199|    H5P_prop_set_ud_t udata;               /* User data for callback */
 3162|    199|    herr_t            ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    199|#define SUCCEED 0
  ------------------
 3163|       |
 3164|    199|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    199|    {                                                                                                        \
  |  | 1392|    199|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    199|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    199|                                                                                                             \
  |  |  |  | 1267|    199|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    199|        {
  ------------------
 3165|       |
 3166|       |    /* Sanity check */
 3167|    199|    assert(plist);
 3168|    199|    assert(name);
 3169|    199|    assert(value);
 3170|       |
 3171|       |    /* Find the property and set the value */
 3172|    199|    udata.value = value;
 3173|    199|    if (H5P__do_prop(plist, name, H5P__set_plist_cb, H5P__set_pclass_cb, &udata) < 0)
  ------------------
  |  Branch (3173:9): [True: 0, False: 199]
  ------------------
 3174|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTOPERATE, FAIL, "can't operate on plist to set value");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3175|       |
 3176|    199|done:
 3177|    199|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    199|    ;                                                                                                        \
  |  | 1573|    199|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    199|    return (ret_value);                                                                                      \
  |  | 1575|    199|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 3178|    199|} /* H5P_set() */
H5P__class_get:
 3207|      1|{
 3208|      1|    H5P_genprop_t *prop;                /* Temporary property pointer */
 3209|      1|    herr_t         ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
 3210|       |
 3211|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
 3212|       |
 3213|       |    /* Sanity check */
 3214|      1|    assert(pclass);
 3215|      1|    assert(name);
 3216|      1|    assert(value);
 3217|       |
 3218|       |    /* Find property in list */
 3219|      1|    if (NULL == (prop = (H5P_genprop_t *)H5SL_search(pclass->props, name)))
  ------------------
  |  Branch (3219:9): [True: 0, False: 1]
  ------------------
 3220|      0|        HGOTO_ERROR(H5E_PLIST, H5E_NOTFOUND, FAIL, "property doesn't exist");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3221|       |
 3222|       |    /* Check for property size >0 */
 3223|      1|    if (0 == prop->size)
  ------------------
  |  Branch (3223:9): [True: 0, False: 1]
  ------------------
 3224|      0|        HGOTO_ERROR(H5E_PLIST, H5E_BADVALUE, FAIL, "property has zero size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3225|       |
 3226|       |    /* Copy the property value */
 3227|      1|    H5MM_memcpy(value, prop->value, prop->size);
  ------------------
  |  |   41|      1|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
 3228|       |
 3229|      1|done:
 3230|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 3231|      1|} /* H5P__class_get() */
H5P__class_set:
 3262|      1|{
 3263|      1|    H5P_genprop_t *prop;                /* Temporary property pointer */
 3264|      1|    herr_t         ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
 3265|       |
 3266|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
 3267|       |
 3268|       |    /* Sanity check */
 3269|      1|    assert(pclass);
 3270|      1|    assert(name);
 3271|      1|    assert(value);
 3272|       |
 3273|       |    /* Find property in list */
 3274|      1|    if (NULL == (prop = (H5P_genprop_t *)H5SL_search(pclass->props, name)))
  ------------------
  |  Branch (3274:9): [True: 0, False: 1]
  ------------------
 3275|      0|        HGOTO_ERROR(H5E_PLIST, H5E_NOTFOUND, FAIL, "property doesn't exist");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3276|       |
 3277|       |    /* Check for property size >0 */
 3278|      1|    if (0 == prop->size)
  ------------------
  |  Branch (3278:9): [True: 0, False: 1]
  ------------------
 3279|      0|        HGOTO_ERROR(H5E_PLIST, H5E_BADVALUE, FAIL, "property has zero size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3280|       |
 3281|       |    /* Copy the property value */
 3282|      1|    H5MM_memcpy(prop->value, value, prop->size);
  ------------------
  |  |   41|      1|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
 3283|       |
 3284|      1|done:
 3285|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 3286|      1|} /* H5P__class_set() */
H5P_exist_plist:
 3311|     14|{
 3312|     14|    htri_t ret_value = FAIL; /* return value */
  ------------------
  |  |  284|     14|#define FAIL    (-1)
  ------------------
 3313|       |
 3314|     14|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|     14|    {                                                                                                        \
  |  | 1425|     14|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|     14|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|     14|        {
  ------------------
 3315|       |
 3316|     14|    assert(plist);
 3317|     14|    assert(name);
 3318|       |
 3319|       |    /* Check for property in deleted property list */
 3320|     14|    if (H5SL_search(plist->del, name) != NULL)
  ------------------
  |  Branch (3320:9): [True: 0, False: 14]
  ------------------
 3321|      0|        ret_value = false;
 3322|     14|    else {
 3323|       |        /* Check for property in changed property list */
 3324|     14|        if (H5SL_search(plist->props, name) != NULL)
  ------------------
  |  Branch (3324:13): [True: 0, False: 14]
  ------------------
 3325|      0|            ret_value = true;
 3326|     14|        else {
 3327|     14|            H5P_genclass_t *tclass; /* Temporary class pointer */
 3328|       |
 3329|     14|            tclass = plist->pclass;
 3330|     14|            while (tclass != NULL) {
  ------------------
  |  Branch (3330:20): [True: 14, False: 0]
  ------------------
 3331|     14|                if (H5SL_search(tclass->props, name) != NULL)
  ------------------
  |  Branch (3331:21): [True: 14, False: 0]
  ------------------
 3332|     14|                    HGOTO_DONE(true);
  ------------------
  |  |   91|     14|    do {                                                                                                     \
  |  |   92|     14|        ret_value = ret_val;                                                                                 \
  |  |   93|     14|        goto done;                                                                                           \
  |  |   94|     14|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3333|       |
 3334|       |                /* Go up to parent class */
 3335|      0|                tclass = tclass->parent;
 3336|      0|            } /* end while */
 3337|       |
 3338|       |            /* If we've reached here, we couldn't find the property */
 3339|      0|            ret_value = false;
 3340|      0|        } /* end else */
 3341|     14|    }     /* end else */
 3342|       |
 3343|     14|done:
 3344|     14|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     14|    ;                                                                                                        \
  |  | 1573|     14|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     14|    return (ret_value);                                                                                      \
  |  | 1575|     14|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 3345|     14|} /* H5P_exist_plist() */
H5P__cmp_class:
 3723|    280|{
 3724|    280|    H5SL_node_t *tnode1, *tnode2; /* Temporary pointer to property nodes */
 3725|    280|    int          cmp_value;       /* Value from comparison */
 3726|    280|    int          ret_value = 0;   /* Return value */
 3727|       |
 3728|    280|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|    280|    {                                                                                                        \
  |  | 1467|    280|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|    280|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|    280|        {
  ------------------
 3729|       |
 3730|    280|    assert(pclass1);
 3731|    280|    assert(pclass2);
 3732|       |
 3733|       |    /* Use the revision number to quickly check for identical classes */
 3734|    280|    if (pclass1->revision == pclass2->revision)
  ------------------
  |  Branch (3734:9): [True: 174, False: 106]
  ------------------
 3735|    174|        HGOTO_DONE(0);
  ------------------
  |  |   91|    174|    do {                                                                                                     \
  |  |   92|    174|        ret_value = ret_val;                                                                                 \
  |  |   93|    174|        goto done;                                                                                           \
  |  |   94|    174|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3736|       |
 3737|       |    /* Check the name */
 3738|    106|    if ((cmp_value = strcmp(pclass1->name, pclass2->name)) != 0)
  ------------------
  |  Branch (3738:9): [True: 106, False: 0]
  ------------------
 3739|    106|        HGOTO_DONE(cmp_value);
  ------------------
  |  |   91|    106|    do {                                                                                                     \
  |  |   92|    106|        ret_value = ret_val;                                                                                 \
  |  |   93|    106|        goto done;                                                                                           \
  |  |   94|    106|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3740|       |
 3741|       |    /* Check the number of properties */
 3742|      0|    if (pclass1->nprops < pclass2->nprops)
  ------------------
  |  Branch (3742:9): [True: 0, False: 0]
  ------------------
 3743|      0|        HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3744|      0|    if (pclass1->nprops > pclass2->nprops)
  ------------------
  |  Branch (3744:9): [True: 0, False: 0]
  ------------------
 3745|      0|        HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3746|       |
 3747|       |    /* Check the number of property lists created from the class */
 3748|      0|    if (pclass1->plists < pclass2->plists)
  ------------------
  |  Branch (3748:9): [True: 0, False: 0]
  ------------------
 3749|      0|        HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3750|      0|    if (pclass1->plists > pclass2->plists)
  ------------------
  |  Branch (3750:9): [True: 0, False: 0]
  ------------------
 3751|      0|        HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3752|       |
 3753|       |    /* Check the number of classes derived from the class */
 3754|      0|    if (pclass1->classes < pclass2->classes)
  ------------------
  |  Branch (3754:9): [True: 0, False: 0]
  ------------------
 3755|      0|        HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3756|      0|    if (pclass1->classes > pclass2->classes)
  ------------------
  |  Branch (3756:9): [True: 0, False: 0]
  ------------------
 3757|      0|        HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3758|       |
 3759|       |    /* Check the number of ID references open on the class */
 3760|      0|    if (pclass1->ref_count < pclass2->ref_count)
  ------------------
  |  Branch (3760:9): [True: 0, False: 0]
  ------------------
 3761|      0|        HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3762|      0|    if (pclass1->ref_count > pclass2->ref_count)
  ------------------
  |  Branch (3762:9): [True: 0, False: 0]
  ------------------
 3763|      0|        HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3764|       |
 3765|       |    /* Check the property list types */
 3766|      0|    if (pclass1->type < pclass2->type)
  ------------------
  |  Branch (3766:9): [True: 0, False: 0]
  ------------------
 3767|      0|        HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3768|      0|    if (pclass1->type > pclass2->type)
  ------------------
  |  Branch (3768:9): [True: 0, False: 0]
  ------------------
 3769|      0|        HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3770|       |
 3771|       |    /* Check whether they are deleted or not */
 3772|      0|    if (pclass1->deleted < pclass2->deleted)
  ------------------
  |  Branch (3772:9): [True: 0, False: 0]
  ------------------
 3773|      0|        HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3774|      0|    if (pclass1->deleted > pclass2->deleted)
  ------------------
  |  Branch (3774:9): [True: 0, False: 0]
  ------------------
 3775|      0|        HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3776|       |
 3777|       |    /* Check whether they have creation callback functions & data */
 3778|      0|    if (pclass1->create_func == NULL && pclass2->create_func != NULL)
  ------------------
  |  Branch (3778:9): [True: 0, False: 0]
  |  Branch (3778:41): [True: 0, False: 0]
  ------------------
 3779|      0|        HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3780|      0|    if (pclass1->create_func != NULL && pclass2->create_func == NULL)
  ------------------
  |  Branch (3780:9): [True: 0, False: 0]
  |  Branch (3780:41): [True: 0, False: 0]
  ------------------
 3781|      0|        HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3782|      0|    if (pclass1->create_func != pclass2->create_func)
  ------------------
  |  Branch (3782:9): [True: 0, False: 0]
  ------------------
 3783|      0|        HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3784|      0|    if (pclass1->create_data < pclass2->create_data)
  ------------------
  |  Branch (3784:9): [True: 0, False: 0]
  ------------------
 3785|      0|        HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3786|      0|    if (pclass1->create_data > pclass2->create_data)
  ------------------
  |  Branch (3786:9): [True: 0, False: 0]
  ------------------
 3787|      0|        HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3788|       |
 3789|       |    /* Check whether they have close callback functions & data */
 3790|      0|    if (pclass1->close_func == NULL && pclass2->close_func != NULL)
  ------------------
  |  Branch (3790:9): [True: 0, False: 0]
  |  Branch (3790:40): [True: 0, False: 0]
  ------------------
 3791|      0|        HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3792|      0|    if (pclass1->close_func != NULL && pclass2->close_func == NULL)
  ------------------
  |  Branch (3792:9): [True: 0, False: 0]
  |  Branch (3792:40): [True: 0, False: 0]
  ------------------
 3793|      0|        HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3794|      0|    if (pclass1->close_func != pclass2->close_func)
  ------------------
  |  Branch (3794:9): [True: 0, False: 0]
  ------------------
 3795|      0|        HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3796|      0|    if (pclass1->close_data < pclass2->close_data)
  ------------------
  |  Branch (3796:9): [True: 0, False: 0]
  ------------------
 3797|      0|        HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3798|      0|    if (pclass1->close_data > pclass2->close_data)
  ------------------
  |  Branch (3798:9): [True: 0, False: 0]
  ------------------
 3799|      0|        HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3800|       |
 3801|       |    /* Cycle through the properties and compare them also */
 3802|      0|    tnode1 = H5SL_first(pclass1->props);
 3803|      0|    tnode2 = H5SL_first(pclass2->props);
 3804|      0|    while (tnode1 || tnode2) {
  ------------------
  |  Branch (3804:12): [True: 0, False: 0]
  |  Branch (3804:22): [True: 0, False: 0]
  ------------------
 3805|      0|        H5P_genprop_t *prop1, *prop2; /* Property for node */
 3806|       |
 3807|       |        /* Check if they both have properties in this skip list node */
 3808|      0|        if (tnode1 == NULL && tnode2 != NULL)
  ------------------
  |  Branch (3808:13): [True: 0, False: 0]
  |  Branch (3808:31): [True: 0, False: 0]
  ------------------
 3809|      0|            HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3810|      0|        if (tnode1 != NULL && tnode2 == NULL)
  ------------------
  |  Branch (3810:13): [True: 0, False: 0]
  |  Branch (3810:31): [True: 0, False: 0]
  ------------------
 3811|      0|            HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3812|       |
 3813|       |        /* Compare the two properties */
 3814|      0|        prop1 = (H5P_genprop_t *)H5SL_item(tnode1);
 3815|      0|        prop2 = (H5P_genprop_t *)H5SL_item(tnode2);
 3816|      0|        if ((cmp_value = H5P__cmp_prop(prop1, prop2)) != 0)
  ------------------
  |  Branch (3816:13): [True: 0, False: 0]
  ------------------
 3817|      0|            HGOTO_DONE(cmp_value);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3818|       |
 3819|       |        /* Advance the pointers */
 3820|      0|        tnode1 = H5SL_next(tnode1);
 3821|      0|        tnode2 = H5SL_next(tnode2);
 3822|      0|    } /* end while */
 3823|       |
 3824|    280|done:
 3825|    280|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    280|    ;                                                                                                        \
  |  | 1573|    280|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    280|    return (ret_value);                                                                                      \
  |  | 1575|    280|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 3826|      0|} /* H5P__cmp_class() */
H5P_class_isa:
 3993|    280|{
 3994|    280|    htri_t ret_value = FAIL; /* Return value */
  ------------------
  |  |  284|    280|#define FAIL    (-1)
  ------------------
 3995|       |
 3996|    280|    FUNC_ENTER_NOAPI_NOERR
  ------------------
  |  | 1397|    280|    {                                                                                                        \
  |  | 1398|    280|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    280|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1399|    280|        {
  ------------------
 3997|       |
 3998|    280|    assert(pclass1);
 3999|    280|    assert(pclass2);
 4000|       |
 4001|       |    /* Compare property classes */
 4002|    280|    if (H5P__cmp_class(pclass1, pclass2) == 0) {
  ------------------
  |  Branch (4002:9): [True: 174, False: 106]
  ------------------
 4003|    174|        HGOTO_DONE(true);
  ------------------
  |  |   91|    174|    do {                                                                                                     \
  |  |   92|    174|        ret_value = ret_val;                                                                                 \
  |  |   93|    174|        goto done;                                                                                           \
  |  |   94|    174|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4004|    174|    }
 4005|    106|    else {
 4006|       |        /* Check if the class is derived, and walk up the chain, if so */
 4007|    106|        if (pclass1->parent != NULL)
  ------------------
  |  Branch (4007:13): [True: 91, False: 15]
  ------------------
 4008|     91|            ret_value = H5P_class_isa(pclass1->parent, pclass2);
 4009|     15|        else
 4010|     15|            HGOTO_DONE(false);
  ------------------
  |  |   91|     15|    do {                                                                                                     \
  |  |   92|     15|        ret_value = ret_val;                                                                                 \
  |  |   93|     15|        goto done;                                                                                           \
  |  |   94|     15|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4011|    106|    } /* end else */
 4012|       |
 4013|    280|done:
 4014|    280|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    280|    ;                                                                                                        \
  |  | 1573|    280|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    280|    return (ret_value);                                                                                      \
  |  | 1575|    280|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 4015|    280|} /* H5P_class_isa() */
H5P_isa_class:
 4044|    144|{
 4045|    144|    H5P_genplist_t *plist;            /* Property list to query */
 4046|    144|    H5P_genclass_t *pclass;           /* Property list class */
 4047|    144|    htri_t          ret_value = FAIL; /* Return value */
  ------------------
  |  |  284|    144|#define FAIL    (-1)
  ------------------
 4048|       |
 4049|    144|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    144|    {                                                                                                        \
  |  | 1392|    144|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    144|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    144|                                                                                                             \
  |  |  |  | 1267|    144|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    144|        {
  ------------------
 4050|       |
 4051|       |    /* Check arguments. */
 4052|    144|    if (NULL == (plist = (H5P_genplist_t *)H5I_object_verify(plist_id, H5I_GENPROP_LST)))
  ------------------
  |  Branch (4052:9): [True: 0, False: 144]
  ------------------
 4053|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4054|    144|    if (NULL == (pclass = (H5P_genclass_t *)H5I_object_verify(pclass_id, H5I_GENPROP_CLS)))
  ------------------
  |  Branch (4054:9): [True: 0, False: 144]
  ------------------
 4055|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a property class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4056|       |
 4057|       |    /* Compare the property list's class against the other class */
 4058|    144|    if ((ret_value = H5P_class_isa(plist->pclass, pclass)) < 0)
  ------------------
  |  Branch (4058:9): [True: 0, False: 144]
  ------------------
 4059|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTREGISTER, FAIL, "unable to compare property list classes");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4060|       |
 4061|    144|done:
 4062|    144|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    144|    ;                                                                                                        \
  |  | 1573|    144|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    144|    return (ret_value);                                                                                      \
  |  | 1575|    144|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 4063|    144|} /* H5P_isa_class() */
H5P_object_verify:
 4095|    115|{
 4096|    115|    H5P_genplist_t *ret_value = NULL; /* Return value */
 4097|       |
 4098|    115|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|    115|    {                                                                                                        \
  |  | 1392|    115|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    115|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    115|                                                                                                             \
  |  |  |  | 1267|    115|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    115|        {
  ------------------
 4099|       |
 4100|       |    /* Compare the property list's class against the other class */
 4101|    115|    if (H5P_isa_class(plist_id, pclass_id) != true)
  ------------------
  |  Branch (4101:9): [True: 0, False: 115]
  ------------------
 4102|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTCOMPARE, NULL, "property list is not a member of the class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4103|       |
 4104|       |    /* Get the plist structure */
 4105|    115|    if (NULL == (ret_value = (H5P_genplist_t *)H5I_object(plist_id)))
  ------------------
  |  Branch (4105:9): [True: 0, False: 115]
  ------------------
 4106|      0|        HGOTO_ERROR(H5E_ID, H5E_BADID, NULL, "can't find object for ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4107|       |
 4108|    115|done:
 4109|    115|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    115|    ;                                                                                                        \
  |  | 1573|    115|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    115|    return (ret_value);                                                                                      \
  |  | 1575|    115|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 4110|    115|} /* H5P_object_verify() */
H5P_peek:
 4528|    191|{
 4529|    191|    H5P_prop_get_ud_t udata;               /* User data for callback */
 4530|    191|    herr_t            ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    191|#define SUCCEED 0
  ------------------
 4531|       |
 4532|    191|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    191|    {                                                                                                        \
  |  | 1392|    191|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    191|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    191|                                                                                                             \
  |  |  |  | 1267|    191|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    191|        {
  ------------------
 4533|       |
 4534|       |    /* Sanity check */
 4535|    191|    assert(plist);
 4536|    191|    assert(name);
 4537|    191|    assert(value);
 4538|       |
 4539|       |    /* Find the property and peek at the value */
 4540|    191|    udata.value = value;
 4541|    191|    if (H5P__do_prop(plist, name, H5P__peek_cb, H5P__peek_cb, &udata) < 0)
  ------------------
  |  Branch (4541:9): [True: 0, False: 191]
  ------------------
 4542|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTOPERATE, FAIL, "can't operate on plist to peek at value");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4543|       |
 4544|    191|done:
 4545|    191|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    191|    ;                                                                                                        \
  |  | 1573|    191|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    191|    return (ret_value);                                                                                      \
  |  | 1575|    191|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 4546|    191|} /* H5P_peek() */
H5P_get:
 4644|    396|{
 4645|    396|    H5P_prop_get_ud_t udata;               /* User data for callback */
 4646|    396|    herr_t            ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    396|#define SUCCEED 0
  ------------------
 4647|       |
 4648|    396|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    396|    {                                                                                                        \
  |  | 1392|    396|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    396|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    396|                                                                                                             \
  |  |  |  | 1267|    396|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    396|        {
  ------------------
 4649|       |
 4650|       |    /* Sanity check */
 4651|    396|    assert(plist);
 4652|    396|    assert(name);
 4653|    396|    assert(value);
 4654|       |
 4655|       |    /* Find the property and get the value */
 4656|    396|    udata.value = value;
 4657|    396|    if (H5P__do_prop(plist, name, H5P__get_cb, H5P__get_cb, &udata) < 0)
  ------------------
  |  Branch (4657:9): [True: 0, False: 396]
  ------------------
 4658|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTOPERATE, FAIL, "can't operate on plist to get value");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4659|       |
 4660|    396|done:
 4661|    396|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    396|    ;                                                                                                        \
  |  | 1573|    396|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    396|    return (ret_value);                                                                                      \
  |  | 1575|    396|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 4662|    396|} /* H5P_get() */
H5P_close:
 5127|    176|{
 5128|    176|    H5P_genclass_t *tclass;              /* Temporary class pointer */
 5129|    176|    H5SL_t         *seen = NULL;         /* Skip list to hold names of properties already seen */
 5130|    176|    size_t          nseen;               /* Number of items 'seen' */
 5131|    176|    bool            has_parent_class;    /* Flag to indicate that this property list's class has a parent */
 5132|    176|    size_t          ndel;                /* Number of items deleted */
 5133|    176|    H5SL_node_t    *curr_node;           /* Current node in skip list */
 5134|    176|    H5P_genprop_t  *tmp;                 /* Temporary pointer to properties */
 5135|    176|    unsigned        make_cb   = 0;       /* Operator data for property free callback */
 5136|    176|    herr_t          ret_value = SUCCEED; /* return value */
  ------------------
  |  |  283|    176|#define SUCCEED 0
  ------------------
 5137|       |
 5138|    176|    FUNC_ENTER_NOAPI_NOINIT
  ------------------
  |  | 1410|    176|    {                                                                                                        \
  |  | 1411|    176|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    176|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    176|                                                                                                             \
  |  |  |  | 1267|    176|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1412|    176|        {
  ------------------
 5139|       |
 5140|    176|    assert(plist);
 5141|       |
 5142|       |    /* Make call to property list class close callback, if needed
 5143|       |     * (up through chain of parent classes also)
 5144|       |     */
 5145|    176|    if (plist->class_init) {
  ------------------
  |  Branch (5145:9): [True: 176, False: 0]
  ------------------
 5146|    176|        tclass = plist->pclass;
 5147|    709|        while (NULL != tclass) {
  ------------------
  |  Branch (5147:16): [True: 533, False: 176]
  ------------------
 5148|    533|            if (NULL != tclass->close_func) {
  ------------------
  |  Branch (5148:17): [True: 0, False: 533]
  ------------------
 5149|       |                /* Call user's "close" callback function, ignoring return value */
 5150|      0|                (tclass->close_func)(plist->plist_id, tclass->close_data);
 5151|      0|            } /* end if */
 5152|       |
 5153|       |            /* Go up to parent class */
 5154|    533|            tclass = tclass->parent;
 5155|    533|        } /* end while */
 5156|    176|    }     /* end if */
 5157|       |
 5158|       |    /* Create the skip list to hold names of properties already seen
 5159|       |     * (This prevents a property in the class hierarchy from having it's
 5160|       |     * 'close' callback called, if a property in the class hierarchy has
 5161|       |     * already been seen)
 5162|       |     */
 5163|    176|    if ((seen = H5SL_create(H5SL_TYPE_STR, NULL)) == NULL)
  ------------------
  |  Branch (5163:9): [True: 0, False: 176]
  ------------------
 5164|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTCREATE, FAIL, "can't create skip list for seen properties");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5165|    176|    nseen = 0;
 5166|       |
 5167|       |    /* Walk through the changed properties in the list */
 5168|    176|    if (H5SL_count(plist->props) > 0) {
  ------------------
  |  Branch (5168:9): [True: 159, False: 17]
  ------------------
 5169|    159|        curr_node = H5SL_first(plist->props);
 5170|    892|        while (curr_node != NULL) {
  ------------------
  |  Branch (5170:16): [True: 733, False: 159]
  ------------------
 5171|       |            /* Get pointer to property from node */
 5172|    733|            tmp = (H5P_genprop_t *)H5SL_item(curr_node);
 5173|       |
 5174|       |            /* Call property close callback, if it exists */
 5175|    733|            if (tmp->close) {
  ------------------
  |  Branch (5175:17): [True: 602, False: 131]
  ------------------
 5176|       |                /* Call the 'close' callback */
 5177|    602|                (tmp->close)(tmp->name, tmp->size, tmp->value);
 5178|    602|            } /* end if */
 5179|       |
 5180|       |            /* Add property name to "seen" list */
 5181|    733|            if (H5SL_insert(seen, tmp->name, tmp->name) < 0)
  ------------------
  |  Branch (5181:17): [True: 0, False: 733]
  ------------------
 5182|      0|                HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into seen skip list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5183|    733|            nseen++;
 5184|       |
 5185|       |            /* Get the next property node in the skip list */
 5186|    733|            curr_node = H5SL_next(curr_node);
 5187|    733|        } /* end while */
 5188|    159|    }     /* end if */
 5189|       |
 5190|       |    /* Determine number of deleted items from property list */
 5191|    176|    ndel = H5SL_count(plist->del);
 5192|       |
 5193|       |    /*
 5194|       |     * Check if we should remove class properties (up through list of parent classes also),
 5195|       |     * initialize each with default value & make property 'remove' callback.
 5196|       |     */
 5197|    176|    tclass           = plist->pclass;
 5198|    176|    has_parent_class = (bool)(tclass != NULL && tclass->parent != NULL && tclass->parent->nprops > 0);
  ------------------
  |  Branch (5198:31): [True: 176, False: 0]
  |  Branch (5198:49): [True: 176, False: 0]
  |  Branch (5198:75): [True: 170, False: 6]
  ------------------
 5199|    709|    while (tclass != NULL) {
  ------------------
  |  Branch (5199:12): [True: 533, False: 176]
  ------------------
 5200|    533|        if (tclass->nprops > 0) {
  ------------------
  |  Branch (5200:13): [True: 349, False: 184]
  ------------------
 5201|       |            /* Walk through the properties in the class */
 5202|    349|            curr_node = H5SL_first(tclass->props);
 5203|  2.29k|            while (curr_node != NULL) {
  ------------------
  |  Branch (5203:20): [True: 1.94k, False: 349]
  ------------------
 5204|       |                /* Get pointer to property from node */
 5205|  1.94k|                tmp = (H5P_genprop_t *)H5SL_item(curr_node);
 5206|       |
 5207|       |                /* Only "delete" properties we haven't seen before
 5208|       |                 * and that haven't already been deleted
 5209|       |                 */
 5210|  1.94k|                if ((nseen == 0 || H5SL_search(seen, tmp->name) == NULL) &&
  ------------------
  |  Branch (5210:22): [True: 49, False: 1.89k]
  |  Branch (5210:36): [True: 1.16k, False: 733]
  ------------------
 5211|  1.94k|                    (ndel == 0 || H5SL_search(plist->del, tmp->name) == NULL)) {
  ------------------
  |  Branch (5211:22): [True: 1.21k, False: 0]
  |  Branch (5211:35): [True: 0, False: 0]
  ------------------
 5212|       |
 5213|       |                    /* Call property close callback, if it exists */
 5214|  1.21k|                    if (tmp->close) {
  ------------------
  |  Branch (5214:25): [True: 29, False: 1.18k]
  ------------------
 5215|     29|                        void *tmp_value; /* Temporary value buffer */
 5216|       |
 5217|       |                        /* Allocate space for a temporary copy of the property value */
 5218|     29|                        if (NULL == (tmp_value = H5MM_malloc(tmp->size)))
  ------------------
  |  |   38|     29|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  |  Branch (5218:29): [True: 0, False: 29]
  ------------------
 5219|      0|                            HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5220|     29|                                        "memory allocation failed for temporary property value");
 5221|     29|                        H5MM_memcpy(tmp_value, tmp->value, tmp->size);
  ------------------
  |  |   41|     29|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
 5222|       |
 5223|       |                        /* Call the 'close' callback */
 5224|     29|                        (tmp->close)(tmp->name, tmp->size, tmp_value);
 5225|       |
 5226|       |                        /* Release the temporary value buffer */
 5227|     29|                        H5MM_xfree(tmp_value);
 5228|     29|                    } /* end if */
 5229|       |
 5230|       |                    /* Add property name to "seen" list, if we have other classes to work on */
 5231|  1.21k|                    if (has_parent_class) {
  ------------------
  |  Branch (5231:25): [True: 1.14k, False: 73]
  ------------------
 5232|  1.14k|                        if (H5SL_insert(seen, tmp->name, tmp->name) < 0)
  ------------------
  |  Branch (5232:29): [True: 0, False: 1.14k]
  ------------------
 5233|      0|                            HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5234|  1.14k|                                        "can't insert property into seen skip list");
 5235|  1.14k|                        nseen++;
 5236|  1.14k|                    } /* end if */
 5237|  1.21k|                }     /* end if */
 5238|       |
 5239|       |                /* Get the next property node in the skip list */
 5240|  1.94k|                curr_node = H5SL_next(curr_node);
 5241|  1.94k|            } /* end while */
 5242|    349|        }     /* end if */
 5243|       |
 5244|       |        /* Go up to parent class */
 5245|    533|        tclass = tclass->parent;
 5246|    533|    } /* end while */
 5247|       |
 5248|       |    /* Decrement class's dependent property list value! */
 5249|    176|    if (H5P__access_class(plist->pclass, H5P_MOD_DEC_LST) < 0)
  ------------------
  |  Branch (5249:9): [True: 0, False: 176]
  ------------------
 5250|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINIT, FAIL, "Can't decrement class ref count");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5251|       |
 5252|       |    /* Free the list of 'seen' properties */
 5253|    176|    H5SL_close(seen);
 5254|    176|    seen = NULL;
 5255|       |
 5256|       |    /* Free the list of deleted property names */
 5257|    176|    H5SL_destroy(plist->del, H5P__free_del_name_cb, NULL);
 5258|       |
 5259|       |    /* Free the properties */
 5260|    176|    H5SL_destroy(plist->props, H5P__free_prop_cb, &make_cb);
 5261|       |
 5262|       |    /* Destroy property list object */
 5263|    176|    plist = H5FL_FREE(H5P_genplist_t, plist);
  ------------------
  |  |   81|    176|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|    176|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 5264|       |
 5265|    176|done:
 5266|       |    /* Release the skip list of 'seen' properties */
 5267|    176|    if (seen != NULL)
  ------------------
  |  Branch (5267:9): [True: 0, False: 176]
  ------------------
 5268|      0|        H5SL_close(seen);
 5269|       |
 5270|    176|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    176|    ;                                                                                                        \
  |  | 1573|    176|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    176|    return (ret_value);                                                                                      \
  |  | 1575|    176|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 5271|    176|} /* H5P_close() */
H5P__close_class:
 5508|     22|{
 5509|     22|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     22|#define SUCCEED 0
  ------------------
 5510|       |
 5511|     22|    FUNC_ENTER_NOAPI_NOINIT
  ------------------
  |  | 1410|     22|    {                                                                                                        \
  |  | 1411|     22|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     22|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     22|                                                                                                             \
  |  |  |  | 1267|     22|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1412|     22|        {
  ------------------
 5512|       |
 5513|     22|    assert(pclass);
 5514|       |
 5515|       |    /* Decrement the reference count & check if the object should go away */
 5516|     22|    if (H5P__access_class(pclass, H5P_MOD_DEC_REF) < 0)
  ------------------
  |  Branch (5516:9): [True: 0, False: 22]
  ------------------
 5517|      0|        HGOTO_ERROR(H5E_PLIST, H5E_NOTFOUND, FAIL, "can't decrement ID ref count");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5518|       |
 5519|     22|done:
 5520|     22|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     22|    ;                                                                                                        \
  |  | 1573|     22|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     22|    return (ret_value);                                                                                      \
  |  | 1575|     22|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 5521|     22|} /* H5P__close_class() */
H5Pint.c:H5P__close_class_cb:
  692|     22|{
  693|     22|    H5P_genclass_t *pclass    = (H5P_genclass_t *)_pclass; /* Property list class to close */
  694|     22|    herr_t          ret_value = SUCCEED;                   /* Return value */
  ------------------
  |  |  283|     22|#define SUCCEED 0
  ------------------
  695|       |
  696|     22|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     22|    {                                                                                                        \
  |  | 1461|     22|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     22|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     22|                                                                                                             \
  |  |  |  | 1267|     22|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     22|        {
  ------------------
  697|       |
  698|       |    /* Sanity check */
  699|     22|    assert(pclass);
  700|       |
  701|       |    /* Close the property list class object */
  702|     22|    if (H5P__close_class(pclass) < 0)
  ------------------
  |  Branch (702:9): [True: 0, False: 22]
  ------------------
  703|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CLOSEERROR, FAIL, "unable to close property list class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  704|       |
  705|     22|done:
  706|     22|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     22|    ;                                                                                                        \
  |  | 1573|     22|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     22|    return (ret_value);                                                                                      \
  |  | 1575|     22|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  707|     22|} /* end H5P__close_class_cb() */
H5Pint.c:H5P__close_list_cb:
  720|    176|{
  721|    176|    H5P_genplist_t *plist     = (H5P_genplist_t *)_plist; /* Property list to close */
  722|    176|    herr_t          ret_value = SUCCEED;                  /* Return value */
  ------------------
  |  |  283|    176|#define SUCCEED 0
  ------------------
  723|       |
  724|    176|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    176|    {                                                                                                        \
  |  | 1461|    176|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    176|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    176|                                                                                                             \
  |  |  |  | 1267|    176|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    176|        {
  ------------------
  725|       |
  726|       |    /* Sanity check */
  727|    176|    assert(plist);
  728|       |
  729|       |    /* Close the property list object */
  730|    176|    if (H5P_close(plist) < 0)
  ------------------
  |  Branch (730:9): [True: 0, False: 176]
  ------------------
  731|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CLOSEERROR, FAIL, "unable to close property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  732|       |
  733|    176|done:
  734|    176|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    176|    ;                                                                                                        \
  |  | 1573|    176|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    176|    return (ret_value);                                                                                      \
  |  | 1575|    176|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  735|    176|} /* end H5P__close_list_cb() */
H5Pint.c:H5P__do_prop_cb1:
  761|    454|{
  762|    454|    void          *tmp_value = NULL;    /* Temporary value buffer */
  763|    454|    H5P_genprop_t *pcopy     = NULL;    /* Copy of property to insert into skip list */
  764|    454|    herr_t         ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    454|#define SUCCEED 0
  ------------------
  765|       |
  766|    454|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    454|    {                                                                                                        \
  |  | 1461|    454|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    454|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    454|                                                                                                             \
  |  |  |  | 1267|    454|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    454|        {
  ------------------
  767|       |
  768|       |    /* Sanity check */
  769|    454|    assert(slist);
  770|    454|    assert(prop);
  771|    454|    assert(prop->cmp);
  772|    454|    assert(cb);
  773|       |
  774|       |    /* Allocate space for a temporary copy of the property value */
  775|    454|    if (NULL == (tmp_value = H5MM_malloc(prop->size)))
  ------------------
  |  |   38|    454|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  |  Branch (775:9): [True: 0, False: 454]
  ------------------
  776|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTALLOC, FAIL, "memory allocation failed for temporary property value");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  777|    454|    H5MM_memcpy(tmp_value, prop->value, prop->size);
  ------------------
  |  |   41|    454|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  778|       |
  779|       |    /* Call "type 1" callback ('create', 'copy' or 'close') */
  780|    454|    if (cb(prop->name, prop->size, tmp_value) < 0)
  ------------------
  |  Branch (780:9): [True: 0, False: 454]
  ------------------
  781|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINIT, FAIL, "Property callback failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  782|       |
  783|       |    /* Make a copy of the class's property */
  784|    454|    if (NULL == (pcopy = H5P__dup_prop(prop, H5P_PROP_WITHIN_LIST)))
  ------------------
  |  Branch (784:9): [True: 0, False: 454]
  ------------------
  785|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, FAIL, "Can't copy property");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  786|       |
  787|       |    /* Copy the changed value into the new property */
  788|    454|    H5MM_memcpy(pcopy->value, tmp_value, prop->size);
  ------------------
  |  |   41|    454|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  789|       |
  790|       |    /* Insert the changed property into the property list */
  791|    454|    if (H5P__add_prop(slist, pcopy) < 0)
  ------------------
  |  Branch (791:9): [True: 0, False: 454]
  ------------------
  792|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "Can't insert property into skip list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  793|       |
  794|    454|done:
  795|       |    /* Release the temporary value buffer */
  796|    454|    if (tmp_value)
  ------------------
  |  Branch (796:9): [True: 454, False: 0]
  ------------------
  797|    454|        H5MM_xfree(tmp_value);
  798|       |
  799|       |    /* Cleanup on failure */
  800|    454|    if (ret_value < 0)
  ------------------
  |  Branch (800:9): [True: 0, False: 454]
  ------------------
  801|      0|        if (pcopy)
  ------------------
  |  Branch (801:13): [True: 0, False: 0]
  ------------------
  802|      0|            H5P__free_prop(pcopy);
  803|       |
  804|    454|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    454|    ;                                                                                                        \
  |  | 1573|    454|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    454|    return (ret_value);                                                                                      \
  |  | 1575|    454|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  805|    454|} /* end H5P__do_prop_cb1() */
H5Pint.c:H5P__dup_prop:
 1128|    733|{
 1129|    733|    H5P_genprop_t *prop      = NULL; /* Pointer to new property copied */
 1130|    733|    H5P_genprop_t *ret_value = NULL; /* Return value */
 1131|       |
 1132|    733|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    733|    {                                                                                                        \
  |  | 1461|    733|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    733|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    733|                                                                                                             \
  |  |  |  | 1267|    733|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    733|        {
  ------------------
 1133|       |
 1134|    733|    assert(oprop);
 1135|    733|    assert(type != H5P_PROP_WITHIN_UNKNOWN);
 1136|       |
 1137|       |    /* Allocate the new property */
 1138|    733|    if (NULL == (prop = H5FL_MALLOC(H5P_genprop_t)))
  ------------------
  |  |   75|    733|#define H5FL_MALLOC(t) (t *)H5FL_reg_malloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|    733|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (1138:9): [True: 0, False: 733]
  ------------------
 1139|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1140|       |
 1141|       |    /* Copy basic property information */
 1142|    733|    H5MM_memcpy(prop, oprop, sizeof(H5P_genprop_t));
  ------------------
  |  |   41|    733|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
 1143|       |
 1144|       |    /* Check if we should duplicate the name or share it */
 1145|       |
 1146|       |    /* Duplicating property for a class */
 1147|    733|    if (type == H5P_PROP_WITHIN_CLASS) {
  ------------------
  |  Branch (1147:9): [True: 0, False: 733]
  ------------------
 1148|      0|        assert(oprop->type == H5P_PROP_WITHIN_CLASS);
 1149|      0|        assert(oprop->shared_name == false);
 1150|       |
 1151|       |        /* Duplicate name */
 1152|      0|        prop->name = H5MM_xstrdup(oprop->name);
 1153|      0|    } /* end if */
 1154|       |    /* Duplicating property for a list */
 1155|    733|    else {
 1156|       |        /* Check if we are duplicating a property from a list or a class */
 1157|       |
 1158|       |        /* Duplicating a property from a list */
 1159|    733|        if (oprop->type == H5P_PROP_WITHIN_LIST) {
  ------------------
  |  Branch (1159:13): [True: 185, False: 548]
  ------------------
 1160|       |            /* If the old property's name wasn't shared, we have to copy it here also */
 1161|    185|            if (!oprop->shared_name)
  ------------------
  |  Branch (1161:17): [True: 0, False: 185]
  ------------------
 1162|      0|                prop->name = H5MM_xstrdup(oprop->name);
 1163|    185|        } /* end if */
 1164|       |        /* Duplicating a property from a class */
 1165|    548|        else {
 1166|    548|            assert(oprop->type == H5P_PROP_WITHIN_CLASS);
 1167|    548|            assert(oprop->shared_name == false);
 1168|       |
 1169|       |            /* Share the name */
 1170|    548|            prop->shared_name = true;
 1171|       |
 1172|       |            /* Set the type */
 1173|    548|            prop->type = type;
 1174|    548|        } /* end else */
 1175|    733|    }     /* end else */
 1176|       |
 1177|       |    /* Duplicate current value, if it exists */
 1178|    733|    if (oprop->value != NULL) {
  ------------------
  |  Branch (1178:9): [True: 733, False: 0]
  ------------------
 1179|    733|        assert(prop->size > 0);
 1180|    733|        if (NULL == (prop->value = H5MM_malloc(prop->size)))
  ------------------
  |  |   38|    733|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  |  Branch (1180:13): [True: 0, False: 733]
  ------------------
 1181|      0|            HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1182|    733|        H5MM_memcpy(prop->value, oprop->value, prop->size);
  ------------------
  |  |   41|    733|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
 1183|    733|    } /* end if */
 1184|       |
 1185|       |    /* Set return value */
 1186|    733|    ret_value = prop;
 1187|       |
 1188|    733|done:
 1189|       |    /* Free any resources allocated */
 1190|    733|    if (ret_value == NULL) {
  ------------------
  |  Branch (1190:9): [True: 0, False: 733]
  ------------------
 1191|      0|        if (prop != NULL) {
  ------------------
  |  Branch (1191:13): [True: 0, False: 0]
  ------------------
 1192|      0|            if (prop->name != NULL)
  ------------------
  |  Branch (1192:17): [True: 0, False: 0]
  ------------------
 1193|      0|                H5MM_xfree(prop->name);
 1194|      0|            if (prop->value != NULL)
  ------------------
  |  Branch (1194:17): [True: 0, False: 0]
  ------------------
 1195|      0|                H5MM_xfree(prop->value);
 1196|      0|            prop = H5FL_FREE(H5P_genprop_t, prop);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 1197|      0|        } /* end if */
 1198|      0|    }     /* end if */
 1199|       |
 1200|    733|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    733|    ;                                                                                                        \
  |  | 1573|    733|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    733|    return (ret_value);                                                                                      \
  |  | 1575|    733|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1201|    733|} /* H5P__dup_prop() */
H5Pint.c:H5P__free_prop:
 1456|    846|{
 1457|    846|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|    846|    {                                                                                                        \
  |  | 1467|    846|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|    846|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|    846|        {
  ------------------
 1458|       |
 1459|    846|    assert(prop);
 1460|       |
 1461|       |    /* Release the property value if it exists */
 1462|    846|    if (prop->value)
  ------------------
  |  Branch (1462:9): [True: 846, False: 0]
  ------------------
 1463|    846|        H5MM_xfree(prop->value);
 1464|       |
 1465|       |    /* Only free the name if we own it */
 1466|    846|    if (!prop->shared_name)
  ------------------
  |  Branch (1466:9): [True: 113, False: 733]
  ------------------
 1467|    113|        H5MM_xfree(prop->name);
 1468|       |
 1469|    846|    prop = H5FL_FREE(H5P_genprop_t, prop);
  ------------------
  |  |   81|    846|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|    846|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 1470|       |
 1471|    846|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|    846|    ;                                                                                                        \
  |  | 1573|    846|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    846|    return (ret_value);                                                                                      \
  |  | 1575|    846|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1472|    846|} /* H5P__free_prop() */
H5Pint.c:H5P__free_prop_cb:
 1496|    846|{
 1497|    846|    H5P_genprop_t *tprop   = (H5P_genprop_t *)item; /* Temporary pointer to property */
 1498|    846|    bool           make_cb = *(bool *)op_data;      /* Whether to make property 'close' callback */
 1499|       |
 1500|    846|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|    846|    {                                                                                                        \
  |  | 1467|    846|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|    846|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|    846|        {
  ------------------
 1501|       |
 1502|    846|    assert(tprop);
 1503|       |
 1504|       |    /* Call the close callback and ignore the return value, there's nothing we can do about it */
 1505|    846|    if (make_cb && tprop->close != NULL)
  ------------------
  |  Branch (1505:9): [True: 0, False: 846]
  |  Branch (1505:20): [True: 0, False: 0]
  ------------------
 1506|      0|        (tprop->close)(tprop->name, tprop->size, tprop->value);
 1507|       |
 1508|       |    /* Free the property, ignoring return value, nothing we can do */
 1509|    846|    H5P__free_prop(tprop);
 1510|       |
 1511|    846|    FUNC_LEAVE_NOAPI(0)
  ------------------
  |  | 1572|    846|    ;                                                                                                        \
  |  | 1573|    846|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    846|    return (ret_value);                                                                                      \
  |  | 1575|    846|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1512|    846|} /* H5P__free_prop_cb() */
H5Pint.c:H5P__create:
 1816|     19|{
 1817|     19|    H5P_genclass_t *tclass;           /* Temporary class pointer */
 1818|     19|    H5P_genplist_t *plist = NULL;     /* New property list created */
 1819|     19|    H5P_genprop_t  *tmp;              /* Temporary pointer to parent class properties */
 1820|     19|    H5SL_t         *seen      = NULL; /* Skip list to hold names of properties already seen */
 1821|     19|    H5P_genplist_t *ret_value = NULL; /* Return value */
 1822|       |
 1823|     19|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     19|    {                                                                                                        \
  |  | 1461|     19|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     19|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     19|                                                                                                             \
  |  |  |  | 1267|     19|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     19|        {
  ------------------
 1824|       |
 1825|     19|    assert(pclass);
 1826|       |
 1827|       |    /*
 1828|       |     * Create new property list object
 1829|       |     */
 1830|       |
 1831|       |    /* Allocate room for the property list */
 1832|     19|    if (NULL == (plist = H5FL_CALLOC(H5P_genplist_t)))
  ------------------
  |  |   78|     19|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|     19|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (1832:9): [True: 0, False: 19]
  ------------------
 1833|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1834|       |
 1835|       |    /* Set class state */
 1836|     19|    plist->pclass     = pclass;
 1837|     19|    plist->nprops     = 0;     /* Initially the plist has the same number of properties as the class */
 1838|     19|    plist->class_init = false; /* Initially, wait until the class callback finishes to set */
 1839|       |
 1840|       |    /* Create the skip list for changed properties */
 1841|     19|    if ((plist->props = H5SL_create(H5SL_TYPE_STR, NULL)) == NULL)
  ------------------
  |  Branch (1841:9): [True: 0, False: 19]
  ------------------
 1842|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTCREATE, NULL, "can't create skip list for changed properties");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1843|       |
 1844|       |    /* Create the skip list for deleted properties */
 1845|     19|    if ((plist->del = H5SL_create(H5SL_TYPE_STR, NULL)) == NULL)
  ------------------
  |  Branch (1845:9): [True: 0, False: 19]
  ------------------
 1846|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTCREATE, NULL, "can't create skip list for deleted properties");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1847|       |
 1848|       |    /* Create the skip list to hold names of properties already seen
 1849|       |     * (This prevents a property in the class hierarchy from having it's
 1850|       |     * 'create' callback called, if a property in the class hierarchy has
 1851|       |     * already been seen)
 1852|       |     */
 1853|     19|    if ((seen = H5SL_create(H5SL_TYPE_STR, NULL)) == NULL)
  ------------------
  |  Branch (1853:9): [True: 0, False: 19]
  ------------------
 1854|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTCREATE, NULL, "can't create skip list for seen properties");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1855|       |
 1856|       |    /*
 1857|       |     * Check if we should copy class properties (up through list of parent classes also),
 1858|       |     * initialize each with default value & make property 'create' callback.
 1859|       |     */
 1860|     19|    tclass = pclass;
 1861|     71|    while (tclass != NULL) {
  ------------------
  |  Branch (1861:12): [True: 52, False: 19]
  ------------------
 1862|     52|        if (tclass->nprops > 0) {
  ------------------
  |  Branch (1862:13): [True: 25, False: 27]
  ------------------
 1863|     25|            H5SL_node_t *curr_node; /* Current node in skip list */
 1864|       |
 1865|       |            /* Walk through the properties in the old class */
 1866|     25|            curr_node = H5SL_first(tclass->props);
 1867|    220|            while (curr_node != NULL) {
  ------------------
  |  Branch (1867:20): [True: 195, False: 25]
  ------------------
 1868|       |                /* Get pointer to property from node */
 1869|    195|                tmp = (H5P_genprop_t *)H5SL_item(curr_node);
 1870|       |
 1871|       |                /* Only "create" properties we haven't seen before */
 1872|    195|                if (H5SL_search(seen, tmp->name) == NULL) {
  ------------------
  |  Branch (1872:21): [True: 195, False: 0]
  ------------------
 1873|       |                    /* Call property creation callback, if it exists */
 1874|    195|                    if (tmp->create) {
  ------------------
  |  Branch (1874:25): [True: 4, False: 191]
  ------------------
 1875|       |                        /* Call the callback & insert changed value into skip list (if necessary) */
 1876|      4|                        if (H5P__do_prop_cb1(plist->props, tmp, tmp->create) < 0)
  ------------------
  |  Branch (1876:29): [True: 0, False: 4]
  ------------------
 1877|      0|                            HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, NULL, "Can't create property");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1878|      4|                    } /* end if */
 1879|       |
 1880|       |                    /* Add property name to "seen" list */
 1881|    195|                    if (H5SL_insert(seen, tmp->name, tmp->name) < 0)
  ------------------
  |  Branch (1881:25): [True: 0, False: 195]
  ------------------
 1882|      0|                        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1883|    195|                                    "can't insert property into seen skip list");
 1884|       |
 1885|       |                    /* Increment the number of properties in list */
 1886|    195|                    plist->nprops++;
 1887|    195|                } /* end if */
 1888|       |
 1889|       |                /* Get the next property node in the skip list */
 1890|    195|                curr_node = H5SL_next(curr_node);
 1891|    195|            } /* end while */
 1892|     25|        }     /* end if */
 1893|       |
 1894|       |        /* Go up to parent class */
 1895|     52|        tclass = tclass->parent;
 1896|     52|    } /* end while */
 1897|       |
 1898|       |    /* Increment the number of property lists derived from class */
 1899|     19|    if (H5P__access_class(plist->pclass, H5P_MOD_INC_LST) < 0)
  ------------------
  |  Branch (1899:9): [True: 0, False: 19]
  ------------------
 1900|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINIT, NULL, "Can't increment class ref count");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1901|       |
 1902|       |    /* Set return value */
 1903|     19|    ret_value = plist;
 1904|       |
 1905|     19|done:
 1906|       |    /* Release the skip list of 'seen' properties */
 1907|     19|    if (seen != NULL)
  ------------------
  |  Branch (1907:9): [True: 19, False: 0]
  ------------------
 1908|     19|        H5SL_close(seen);
 1909|       |
 1910|       |    /* Release resources allocated on failure */
 1911|     19|    if (ret_value == NULL) {
  ------------------
  |  Branch (1911:9): [True: 0, False: 19]
  ------------------
 1912|      0|        if (plist != NULL) {
  ------------------
  |  Branch (1912:13): [True: 0, False: 0]
  ------------------
 1913|       |            /* Close & free any changed properties */
 1914|      0|            if (plist->props) {
  ------------------
  |  Branch (1914:17): [True: 0, False: 0]
  ------------------
 1915|      0|                unsigned make_cb = 1;
 1916|       |
 1917|      0|                H5SL_destroy(plist->props, H5P__free_prop_cb, &make_cb);
 1918|      0|            } /* end if */
 1919|       |
 1920|       |            /* Close the deleted property skip list */
 1921|      0|            if (plist->del)
  ------------------
  |  Branch (1921:17): [True: 0, False: 0]
  ------------------
 1922|      0|                H5SL_close(plist->del);
 1923|       |
 1924|       |            /* Release the property list itself */
 1925|      0|            plist = H5FL_FREE(H5P_genplist_t, plist);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 1926|      0|        } /* end if */
 1927|      0|    }     /* end if */
 1928|       |
 1929|     19|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     19|    ;                                                                                                        \
  |  | 1573|     19|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     19|    return (ret_value);                                                                                      \
  |  | 1575|     19|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1930|     19|} /* H5P__create() */
H5Pint.c:H5P__create_prop:
 1242|    113|{
 1243|    113|    H5P_genprop_t *prop      = NULL; /* Pointer to new property copied */
 1244|    113|    H5P_genprop_t *ret_value = NULL; /* Return value */
 1245|       |
 1246|    113|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    113|    {                                                                                                        \
  |  | 1461|    113|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    113|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    113|                                                                                                             \
  |  |  |  | 1267|    113|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    113|        {
  ------------------
 1247|       |
 1248|    113|    assert(name);
 1249|    113|    assert((size > 0 && value != NULL) || (size == 0));
 1250|    113|    assert(type != H5P_PROP_WITHIN_UNKNOWN);
 1251|       |
 1252|       |    /* Allocate the new property */
 1253|    113|    if (NULL == (prop = H5FL_MALLOC(H5P_genprop_t)))
  ------------------
  |  |   75|    113|#define H5FL_MALLOC(t) (t *)H5FL_reg_malloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|    113|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (1253:9): [True: 0, False: 113]
  ------------------
 1254|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1255|       |
 1256|       |    /* Set the property initial values */
 1257|    113|    prop->name        = H5MM_xstrdup(name); /* Duplicate name */
 1258|    113|    prop->shared_name = false;
 1259|    113|    prop->size        = size;
 1260|    113|    prop->type        = type;
 1261|       |
 1262|       |    /* Duplicate value, if it exists */
 1263|    113|    if (value != NULL) {
  ------------------
  |  Branch (1263:9): [True: 113, False: 0]
  ------------------
 1264|    113|        if (NULL == (prop->value = H5MM_malloc(prop->size)))
  ------------------
  |  |   38|    113|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  |  Branch (1264:13): [True: 0, False: 113]
  ------------------
 1265|      0|            HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1266|    113|        H5MM_memcpy(prop->value, value, prop->size);
  ------------------
  |  |   41|    113|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
 1267|    113|    } /* end if */
 1268|      0|    else
 1269|      0|        prop->value = NULL;
 1270|       |
 1271|       |    /* Set the function pointers */
 1272|    113|    prop->create = prp_create;
 1273|    113|    prop->set    = prp_set;
 1274|    113|    prop->get    = prp_get;
 1275|    113|    prop->encode = prp_encode;
 1276|    113|    prop->decode = prp_decode;
 1277|    113|    prop->del    = prp_delete;
 1278|    113|    prop->copy   = prp_copy;
 1279|       |    /* Use custom comparison routine if available, otherwise default to memcmp() */
 1280|    113|    if (prp_cmp != NULL)
  ------------------
  |  Branch (1280:9): [True: 17, False: 96]
  ------------------
 1281|     17|        prop->cmp = prp_cmp;
 1282|     96|    else
 1283|     96|        prop->cmp = &memcmp;
 1284|    113|    prop->close = prp_close;
 1285|       |
 1286|       |    /* Set return value */
 1287|    113|    ret_value = prop;
 1288|       |
 1289|    113|done:
 1290|       |    /* Free any resources allocated */
 1291|    113|    if (ret_value == NULL) {
  ------------------
  |  Branch (1291:9): [True: 0, False: 113]
  ------------------
 1292|      0|        if (prop != NULL) {
  ------------------
  |  Branch (1292:13): [True: 0, False: 0]
  ------------------
 1293|      0|            if (prop->name != NULL)
  ------------------
  |  Branch (1293:17): [True: 0, False: 0]
  ------------------
 1294|      0|                H5MM_xfree(prop->name);
 1295|      0|            if (prop->value != NULL)
  ------------------
  |  Branch (1295:17): [True: 0, False: 0]
  ------------------
 1296|      0|                H5MM_xfree(prop->value);
 1297|      0|            prop = H5FL_FREE(H5P_genprop_t, prop);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 1298|      0|        } /* end if */
 1299|      0|    }     /* end if */
 1300|       |
 1301|    113|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    113|    ;                                                                                                        \
  |  | 1573|    113|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    113|    return (ret_value);                                                                                      \
  |  | 1575|    113|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1302|    113|} /* H5P__create_prop() */
H5Pint.c:H5P__do_prop:
 2759|    897|{
 2760|    897|    H5P_genclass_t *tclass;              /* Temporary class pointer */
 2761|    897|    H5P_genprop_t  *prop;                /* Temporary property pointer */
 2762|    897|    herr_t          ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    897|#define SUCCEED 0
  ------------------
 2763|       |
 2764|    897|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    897|    {                                                                                                        \
  |  | 1461|    897|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    897|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    897|                                                                                                             \
  |  |  |  | 1267|    897|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    897|        {
  ------------------
 2765|       |
 2766|       |    /* Sanity check */
 2767|    897|    assert(plist);
 2768|    897|    assert(name);
 2769|    897|    assert(plist_op);
 2770|    897|    assert(pclass_op);
 2771|       |
 2772|       |    /* Check if the property has been deleted */
 2773|    897|    if (NULL != H5SL_search(plist->del, name))
  ------------------
  |  Branch (2773:9): [True: 0, False: 897]
  ------------------
 2774|      0|        HGOTO_ERROR(H5E_PLIST, H5E_NOTFOUND, FAIL, "property doesn't exist");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2775|       |
 2776|       |    /* Find property in changed list */
 2777|    897|    if (NULL != (prop = (H5P_genprop_t *)H5SL_search(plist->props, name))) {
  ------------------
  |  Branch (2777:9): [True: 394, False: 503]
  ------------------
 2778|       |        /* Call the 'found in property list' callback */
 2779|    394|        if ((*plist_op)(plist, name, prop, udata) < 0)
  ------------------
  |  Branch (2779:13): [True: 0, False: 394]
  ------------------
 2780|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTOPERATE, FAIL, "can't operate on property");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2781|    394|    } /* end if */
 2782|    503|    else {
 2783|       |        /*
 2784|       |         * Check if we should set class properties (up through list of parent classes also),
 2785|       |         * & make property 'set' callback.
 2786|       |         */
 2787|    503|        tclass = plist->pclass;
 2788|    506|        while (NULL != tclass) {
  ------------------
  |  Branch (2788:16): [True: 506, False: 0]
  ------------------
 2789|    506|            if (tclass->nprops > 0) {
  ------------------
  |  Branch (2789:17): [True: 506, False: 0]
  ------------------
 2790|       |                /* Find the property in the class */
 2791|    506|                if (NULL != (prop = (H5P_genprop_t *)H5SL_search(tclass->props, name))) {
  ------------------
  |  Branch (2791:21): [True: 503, False: 3]
  ------------------
 2792|       |                    /* Call the 'found in class' callback */
 2793|    503|                    if ((*pclass_op)(plist, name, prop, udata) < 0)
  ------------------
  |  Branch (2793:25): [True: 0, False: 503]
  ------------------
 2794|      0|                        HGOTO_ERROR(H5E_PLIST, H5E_CANTOPERATE, FAIL, "can't operate on property");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2795|       |
 2796|       |                    /* Leave */
 2797|    503|                    break;
 2798|    503|                } /* end if */
 2799|    506|            }     /* end if */
 2800|       |
 2801|       |            /* Go up to parent class */
 2802|      3|            tclass = tclass->parent;
 2803|      3|        } /* end while */
 2804|       |
 2805|       |        /* If we get this far, then it wasn't in the list of changed properties,
 2806|       |         * nor in the properties in the class hierarchy, indicate an error
 2807|       |         */
 2808|    503|        if (NULL == tclass)
  ------------------
  |  Branch (2808:13): [True: 0, False: 503]
  ------------------
 2809|      0|            HGOTO_ERROR(H5E_PLIST, H5E_NOTFOUND, FAIL, "can't find property in skip list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2810|    503|    } /* end else */
 2811|       |
 2812|    897|done:
 2813|    897|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    897|    ;                                                                                                        \
  |  | 1573|    897|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    897|    return (ret_value);                                                                                      \
  |  | 1575|    897|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2814|    897|} /* H5P__do_prop() */
H5Pint.c:H5P__poke_plist_cb:
 2840|    111|{
 2841|    111|    H5P_prop_set_ud_t *udata     = (H5P_prop_set_ud_t *)_udata; /* User data for callback */
 2842|    111|    herr_t             ret_value = SUCCEED;                     /* Return value */
  ------------------
  |  |  283|    111|#define SUCCEED 0
  ------------------
 2843|       |
 2844|    111|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    111|    {                                                                                                        \
  |  | 1461|    111|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    111|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    111|                                                                                                             \
  |  |  |  | 1267|    111|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    111|        {
  ------------------
 2845|       |
 2846|       |    /* Sanity check */
 2847|    111|    assert(plist);
 2848|    111|    assert(name);
 2849|    111|    assert(prop);
 2850|       |
 2851|       |    /* Check for property size >0 */
 2852|    111|    if (0 == prop->size)
  ------------------
  |  Branch (2852:9): [True: 0, False: 111]
  ------------------
 2853|      0|        HGOTO_ERROR(H5E_PLIST, H5E_BADVALUE, FAIL, "property has zero size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2854|       |
 2855|       |    /* Overwrite value in property */
 2856|    111|    H5MM_memcpy(prop->value, udata->value, prop->size);
  ------------------
  |  |   41|    111|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
 2857|       |
 2858|    111|done:
 2859|    111|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    111|    ;                                                                                                        \
  |  | 1573|    111|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    111|    return (ret_value);                                                                                      \
  |  | 1575|    111|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2860|    111|} /* H5P__poke_plist_cb() */
H5Pint.c:H5P__set_plist_cb:
 2991|    105|{
 2992|    105|    H5P_prop_set_ud_t *udata     = (H5P_prop_set_ud_t *)_udata; /* User data for callback */
 2993|    105|    void              *tmp_value = NULL;                        /* Temporary value for property */
 2994|    105|    const void        *prp_value = NULL;                        /* Property value */
 2995|    105|    herr_t             ret_value = SUCCEED;                     /* Return value */
  ------------------
  |  |  283|    105|#define SUCCEED 0
  ------------------
 2996|       |
 2997|    105|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    105|    {                                                                                                        \
  |  | 1461|    105|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    105|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    105|                                                                                                             \
  |  |  |  | 1267|    105|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    105|        {
  ------------------
 2998|       |
 2999|       |    /* Sanity check */
 3000|    105|    assert(plist);
 3001|    105|    assert(name);
 3002|    105|    assert(prop);
 3003|       |
 3004|       |    /* Check for property size >0 */
 3005|    105|    if (0 == prop->size)
  ------------------
  |  Branch (3005:9): [True: 0, False: 105]
  ------------------
 3006|      0|        HGOTO_ERROR(H5E_PLIST, H5E_BADVALUE, FAIL, "property has zero size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3007|       |
 3008|       |    /* Make a copy of the value and pass to 'set' callback */
 3009|    105|    if (NULL != prop->set) {
  ------------------
  |  Branch (3009:9): [True: 105, False: 0]
  ------------------
 3010|       |        /* Make a copy of the current value, in case the callback fails */
 3011|    105|        if (NULL == (tmp_value = H5MM_malloc(prop->size)))
  ------------------
  |  |   38|    105|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  |  Branch (3011:13): [True: 0, False: 105]
  ------------------
 3012|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTALLOC, FAIL, "memory allocation failed temporary property value");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3013|    105|        H5MM_memcpy(tmp_value, udata->value, prop->size);
  ------------------
  |  |   41|    105|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
 3014|       |
 3015|       |        /* Call user's callback */
 3016|    105|        if ((*(prop->set))(plist->plist_id, name, prop->size, tmp_value) < 0)
  ------------------
  |  Branch (3016:13): [True: 0, False: 105]
  ------------------
 3017|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTINIT, FAIL, "can't set property value");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3018|       |
 3019|       |        /* Set the pointer for copying */
 3020|    105|        prp_value = tmp_value;
 3021|    105|    } /* end if */
 3022|       |    /* No 'set' callback, just copy value */
 3023|      0|    else
 3024|      0|        prp_value = udata->value;
 3025|       |
 3026|       |    /* Free any previous value for the property */
 3027|    105|    if (NULL != prop->del) {
  ------------------
  |  Branch (3027:9): [True: 105, False: 0]
  ------------------
 3028|       |        /* Call user's 'delete' callback */
 3029|    105|        if ((*(prop->del))(plist->plist_id, name, prop->size, prop->value) < 0)
  ------------------
  |  Branch (3029:13): [True: 0, False: 105]
  ------------------
 3030|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTFREE, FAIL, "can't release property value");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3031|    105|    } /* end if */
 3032|       |
 3033|       |    /* Copy new [possibly unchanged] value into property value */
 3034|    105|    H5MM_memcpy(prop->value, prp_value, prop->size);
  ------------------
  |  |   41|    105|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
 3035|       |
 3036|    105|done:
 3037|       |    /* Free the temporary value buffer */
 3038|    105|    if (tmp_value != NULL)
  ------------------
  |  Branch (3038:9): [True: 105, False: 0]
  ------------------
 3039|    105|        H5MM_xfree(tmp_value);
 3040|       |
 3041|    105|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    105|    ;                                                                                                        \
  |  | 1573|    105|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    105|    return (ret_value);                                                                                      \
  |  | 1575|    105|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 3042|    105|} /* H5P__set_plist_cb() */
H5Pint.c:H5P__set_pclass_cb:
 3067|     94|{
 3068|     94|    H5P_prop_set_ud_t *udata     = (H5P_prop_set_ud_t *)_udata; /* User data for callback */
 3069|     94|    H5P_genprop_t     *pcopy     = NULL;    /* Copy of property to insert into skip list */
 3070|     94|    void              *tmp_value = NULL;    /* Temporary value for property */
 3071|     94|    const void        *prp_value = NULL;    /* Property value */
 3072|     94|    herr_t             ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     94|#define SUCCEED 0
  ------------------
 3073|       |
 3074|     94|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     94|    {                                                                                                        \
  |  | 1461|     94|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     94|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     94|                                                                                                             \
  |  |  |  | 1267|     94|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     94|        {
  ------------------
 3075|       |
 3076|       |    /* Sanity check */
 3077|     94|    assert(plist);
 3078|     94|    assert(name);
 3079|     94|    assert(prop);
 3080|     94|    assert(prop->cmp);
 3081|       |
 3082|       |    /* Check for property size >0 */
 3083|     94|    if (0 == prop->size)
  ------------------
  |  Branch (3083:9): [True: 0, False: 94]
  ------------------
 3084|      0|        HGOTO_ERROR(H5E_PLIST, H5E_BADVALUE, FAIL, "property has zero size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3085|       |
 3086|       |    /* Make a copy of the value and pass to 'set' callback */
 3087|     94|    if (NULL != prop->set) {
  ------------------
  |  Branch (3087:9): [True: 0, False: 94]
  ------------------
 3088|       |        /* Make a copy of the current value, in case the callback fails */
 3089|      0|        if (NULL == (tmp_value = H5MM_malloc(prop->size)))
  ------------------
  |  |   38|      0|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  |  Branch (3089:13): [True: 0, False: 0]
  ------------------
 3090|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTALLOC, FAIL, "memory allocation failed temporary property value");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3091|      0|        H5MM_memcpy(tmp_value, udata->value, prop->size);
  ------------------
  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
 3092|       |
 3093|       |        /* Call user's callback */
 3094|      0|        if ((*(prop->set))(plist->plist_id, name, prop->size, tmp_value) < 0)
  ------------------
  |  Branch (3094:13): [True: 0, False: 0]
  ------------------
 3095|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTINIT, FAIL, "can't set property value");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3096|       |
 3097|       |        /* Set the pointer for copying */
 3098|      0|        prp_value = tmp_value;
 3099|      0|    } /* end if */
 3100|       |    /* No 'set' callback, just copy value */
 3101|     94|    else
 3102|     94|        prp_value = udata->value;
 3103|       |
 3104|       |    /* Make a copy of the class's property */
 3105|     94|    if (NULL == (pcopy = H5P__dup_prop(prop, H5P_PROP_WITHIN_LIST)))
  ------------------
  |  Branch (3105:9): [True: 0, False: 94]
  ------------------
 3106|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, FAIL, "Can't copy property");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3107|       |
 3108|     94|    H5MM_memcpy(pcopy->value, prp_value, pcopy->size);
  ------------------
  |  |   41|     94|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
 3109|       |
 3110|       |    /* Insert the changed property into the property list */
 3111|     94|    if (H5P__add_prop(plist->props, pcopy) < 0)
  ------------------
  |  Branch (3111:9): [True: 0, False: 94]
  ------------------
 3112|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "Can't insert changed property into skip list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3113|       |
 3114|     94|done:
 3115|       |    /* Free the temporary value buffer */
 3116|     94|    if (tmp_value != NULL)
  ------------------
  |  Branch (3116:9): [True: 0, False: 94]
  ------------------
 3117|      0|        H5MM_xfree(tmp_value);
 3118|       |
 3119|       |    /* Cleanup on failure */
 3120|     94|    if (ret_value < 0)
  ------------------
  |  Branch (3120:9): [True: 0, False: 94]
  ------------------
 3121|      0|        if (pcopy)
  ------------------
  |  Branch (3121:13): [True: 0, False: 0]
  ------------------
 3122|      0|            H5P__free_prop(pcopy);
 3123|       |
 3124|     94|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     94|    ;                                                                                                        \
  |  | 1573|     94|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     94|    return (ret_value);                                                                                      \
  |  | 1575|     94|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 3125|     94|} /* H5P__set_pclass_cb() */
H5Pint.c:H5P__peek_cb:
 4480|    191|{
 4481|    191|    H5P_prop_get_ud_t *udata     = (H5P_prop_get_ud_t *)_udata; /* User data for callback */
 4482|    191|    herr_t             ret_value = SUCCEED;                     /* Return value */
  ------------------
  |  |  283|    191|#define SUCCEED 0
  ------------------
 4483|       |
 4484|    191|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    191|    {                                                                                                        \
  |  | 1461|    191|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    191|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    191|                                                                                                             \
  |  |  |  | 1267|    191|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    191|        {
  ------------------
 4485|       |
 4486|       |    /* Sanity check */
 4487|    191|    assert(plist);
 4488|    191|    assert(name);
 4489|    191|    assert(prop);
 4490|       |
 4491|       |    /* Check for property size >0 */
 4492|    191|    if (0 == prop->size)
  ------------------
  |  Branch (4492:9): [True: 0, False: 191]
  ------------------
 4493|      0|        HGOTO_ERROR(H5E_PLIST, H5E_BADVALUE, FAIL, "property has zero size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4494|       |
 4495|       |    /* Make a (shallow) copy of the value */
 4496|    191|    H5MM_memcpy(udata->value, prop->value, prop->size);
  ------------------
  |  |   41|    191|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
 4497|       |
 4498|    191|done:
 4499|    191|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    191|    ;                                                                                                        \
  |  | 1573|    191|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    191|    return (ret_value);                                                                                      \
  |  | 1575|    191|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 4500|    191|} /* H5P__peek_cb() */
H5Pint.c:H5P__get_cb:
 4572|    396|{
 4573|    396|    H5P_prop_get_ud_t *udata     = (H5P_prop_get_ud_t *)_udata; /* User data for callback */
 4574|    396|    void              *tmp_value = NULL;                        /* Temporary value for property */
 4575|    396|    herr_t             ret_value = SUCCEED;                     /* Return value */
  ------------------
  |  |  283|    396|#define SUCCEED 0
  ------------------
 4576|       |
 4577|    396|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    396|    {                                                                                                        \
  |  | 1461|    396|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    396|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    396|                                                                                                             \
  |  |  |  | 1267|    396|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    396|        {
  ------------------
 4578|       |
 4579|       |    /* Sanity check */
 4580|    396|    assert(plist);
 4581|    396|    assert(name);
 4582|    396|    assert(prop);
 4583|       |
 4584|       |    /* Check for property size >0 */
 4585|    396|    if (0 == prop->size)
  ------------------
  |  Branch (4585:9): [True: 0, False: 396]
  ------------------
 4586|      0|        HGOTO_ERROR(H5E_PLIST, H5E_BADVALUE, FAIL, "property has zero size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4587|       |
 4588|       |    /* Call the 'get' callback, if there is one */
 4589|    396|    if (NULL != prop->get) {
  ------------------
  |  Branch (4589:9): [True: 4, False: 392]
  ------------------
 4590|       |        /* Make a copy of the current value, in case the callback fails */
 4591|      4|        if (NULL == (tmp_value = H5MM_malloc(prop->size)))
  ------------------
  |  |   38|      4|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  |  Branch (4591:13): [True: 0, False: 4]
  ------------------
 4592|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTALLOC, FAIL, "memory allocation failed temporary property value");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4593|      4|        H5MM_memcpy(tmp_value, prop->value, prop->size);
  ------------------
  |  |   41|      4|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
 4594|       |
 4595|       |        /* Call user's callback */
 4596|      4|        if ((*(prop->get))(plist->plist_id, name, prop->size, tmp_value) < 0)
  ------------------
  |  Branch (4596:13): [True: 0, False: 4]
  ------------------
 4597|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTINIT, FAIL, "can't set property value");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4598|       |
 4599|       |        /* Copy new [possibly unchanged] value into return value */
 4600|      4|        H5MM_memcpy(udata->value, tmp_value, prop->size);
  ------------------
  |  |   41|      4|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
 4601|      4|    } /* end if */
 4602|       |    /* No 'get' callback, just copy value */
 4603|    392|    else
 4604|    392|        H5MM_memcpy(udata->value, prop->value, prop->size);
  ------------------
  |  |   41|    392|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
 4605|       |
 4606|    396|done:
 4607|       |    /* Free the temporary value buffer */
 4608|    396|    if (tmp_value)
  ------------------
  |  Branch (4608:9): [True: 4, False: 392]
  ------------------
 4609|      4|        H5MM_xfree(tmp_value);
 4610|       |
 4611|    396|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    396|    ;                                                                                                        \
  |  | 1573|    396|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    396|    return (ret_value);                                                                                      \
  |  | 1575|    396|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 4612|    396|} /* H5P__get_cb() */

H5Plapl.c:H5P__lacc_reg_prop:
  184|      1|{
  185|      1|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  186|       |
  187|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
  188|       |
  189|       |    /* Register property for number of links traversed */
  190|      1|    if (H5P__register_real(pclass, H5L_ACS_NLINKS_NAME, H5L_ACS_NLINKS_SIZE, &H5L_def_nlinks_g, NULL, NULL,
  ------------------
  |  |   40|      1|#define H5L_ACS_NLINKS_NAME "max soft links"
  ------------------
                  if (H5P__register_real(pclass, H5L_ACS_NLINKS_NAME, H5L_ACS_NLINKS_SIZE, &H5L_def_nlinks_g, NULL, NULL,
  ------------------
  |  |   45|      1|#define H5L_ACS_NLINKS_SIZE sizeof(size_t)
  ------------------
  |  Branch (190:9): [True: 0, False: 1]
  ------------------
  191|      1|                           NULL, H5L_ACS_NLINKS_ENC, H5L_ACS_NLINKS_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |   47|      1|#define H5L_ACS_NLINKS_ENC  H5P__encode_size_t
  ------------------
                                         NULL, H5L_ACS_NLINKS_ENC, H5L_ACS_NLINKS_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |   48|      1|#define H5L_ACS_NLINKS_DEC  H5P__decode_size_t
  ------------------
  192|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  193|       |
  194|       |    /* Register property for external link prefix */
  195|      1|    if (H5P__register_real(pclass, H5L_ACS_ELINK_PREFIX_NAME, H5L_ACS_ELINK_PREFIX_SIZE,
  ------------------
  |  |   42|      1|#define H5L_ACS_ELINK_PREFIX_NAME "external link prefix"
  ------------------
                  if (H5P__register_real(pclass, H5L_ACS_ELINK_PREFIX_NAME, H5L_ACS_ELINK_PREFIX_SIZE,
  ------------------
  |  |   51|      1|#define H5L_ACS_ELINK_PREFIX_SIZE  sizeof(char *)
  ------------------
  |  Branch (195:9): [True: 0, False: 1]
  ------------------
  196|      1|                           &H5L_def_elink_prefix_g, NULL, H5L_ACS_ELINK_PREFIX_SET, H5L_ACS_ELINK_PREFIX_GET,
  ------------------
  |  |   53|      1|#define H5L_ACS_ELINK_PREFIX_SET   H5P__lacc_elink_pref_set
  ------------------
                                         &H5L_def_elink_prefix_g, NULL, H5L_ACS_ELINK_PREFIX_SET, H5L_ACS_ELINK_PREFIX_GET,
  ------------------
  |  |   54|      1|#define H5L_ACS_ELINK_PREFIX_GET   H5P__lacc_elink_pref_get
  ------------------
  197|      1|                           H5L_ACS_ELINK_PREFIX_ENC, H5L_ACS_ELINK_PREFIX_DEC, H5L_ACS_ELINK_PREFIX_DEL,
  ------------------
  |  |   55|      1|#define H5L_ACS_ELINK_PREFIX_ENC   H5P__lacc_elink_pref_enc
  ------------------
                                         H5L_ACS_ELINK_PREFIX_ENC, H5L_ACS_ELINK_PREFIX_DEC, H5L_ACS_ELINK_PREFIX_DEL,
  ------------------
  |  |   56|      1|#define H5L_ACS_ELINK_PREFIX_DEC   H5P__lacc_elink_pref_dec
  ------------------
                                         H5L_ACS_ELINK_PREFIX_ENC, H5L_ACS_ELINK_PREFIX_DEC, H5L_ACS_ELINK_PREFIX_DEL,
  ------------------
  |  |   57|      1|#define H5L_ACS_ELINK_PREFIX_DEL   H5P__lacc_elink_pref_del
  ------------------
  198|      1|                           H5L_ACS_ELINK_PREFIX_COPY, H5L_ACS_ELINK_PREFIX_CMP,
  ------------------
  |  |   58|      1|#define H5L_ACS_ELINK_PREFIX_COPY  H5P__lacc_elink_pref_copy
  ------------------
                                         H5L_ACS_ELINK_PREFIX_COPY, H5L_ACS_ELINK_PREFIX_CMP,
  ------------------
  |  |   59|      1|#define H5L_ACS_ELINK_PREFIX_CMP   H5P__lacc_elink_pref_cmp
  ------------------
  199|      1|                           H5L_ACS_ELINK_PREFIX_CLOSE) < 0)
  ------------------
  |  |   60|      1|#define H5L_ACS_ELINK_PREFIX_CLOSE H5P__lacc_elink_pref_close
  ------------------
  200|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  201|       |
  202|       |    /* Register fapl for link access */
  203|      1|    if (H5P__register_real(pclass, H5L_ACS_ELINK_FAPL_NAME, H5L_ACS_ELINK_FAPL_SIZE, &H5L_def_fapl_id_g, NULL,
  ------------------
  |  |   44|      1|#define H5L_ACS_ELINK_FAPL_NAME "external link fapl"
  ------------------
                  if (H5P__register_real(pclass, H5L_ACS_ELINK_FAPL_NAME, H5L_ACS_ELINK_FAPL_SIZE, &H5L_def_fapl_id_g, NULL,
  ------------------
  |  |   63|      1|#define H5L_ACS_ELINK_FAPL_SIZE  sizeof(hid_t)
  ------------------
  |  Branch (203:9): [True: 0, False: 1]
  ------------------
  204|      1|                           H5L_ACS_ELINK_FAPL_SET, H5L_ACS_ELINK_FAPL_GET, H5L_ACS_ELINK_FAPL_ENC,
  ------------------
  |  |   65|      1|#define H5L_ACS_ELINK_FAPL_SET   H5P__lacc_elink_fapl_set
  ------------------
                                         H5L_ACS_ELINK_FAPL_SET, H5L_ACS_ELINK_FAPL_GET, H5L_ACS_ELINK_FAPL_ENC,
  ------------------
  |  |   66|      1|#define H5L_ACS_ELINK_FAPL_GET   H5P__lacc_elink_fapl_get
  ------------------
                                         H5L_ACS_ELINK_FAPL_SET, H5L_ACS_ELINK_FAPL_GET, H5L_ACS_ELINK_FAPL_ENC,
  ------------------
  |  |   67|      1|#define H5L_ACS_ELINK_FAPL_ENC   H5P__lacc_elink_fapl_enc
  ------------------
  205|      1|                           H5L_ACS_ELINK_FAPL_DEC, H5L_ACS_ELINK_FAPL_DEL, H5L_ACS_ELINK_FAPL_COPY,
  ------------------
  |  |   68|      1|#define H5L_ACS_ELINK_FAPL_DEC   H5P__lacc_elink_fapl_dec
  ------------------
                                         H5L_ACS_ELINK_FAPL_DEC, H5L_ACS_ELINK_FAPL_DEL, H5L_ACS_ELINK_FAPL_COPY,
  ------------------
  |  |   69|      1|#define H5L_ACS_ELINK_FAPL_DEL   H5P__lacc_elink_fapl_del
  ------------------
                                         H5L_ACS_ELINK_FAPL_DEC, H5L_ACS_ELINK_FAPL_DEL, H5L_ACS_ELINK_FAPL_COPY,
  ------------------
  |  |   70|      1|#define H5L_ACS_ELINK_FAPL_COPY  H5P__lacc_elink_fapl_copy
  ------------------
  206|      1|                           H5L_ACS_ELINK_FAPL_CMP, H5L_ACS_ELINK_FAPL_CLOSE) < 0)
  ------------------
  |  |   71|      1|#define H5L_ACS_ELINK_FAPL_CMP   H5P__lacc_elink_fapl_cmp
  ------------------
                                         H5L_ACS_ELINK_FAPL_CMP, H5L_ACS_ELINK_FAPL_CLOSE) < 0)
  ------------------
  |  |   72|      1|#define H5L_ACS_ELINK_FAPL_CLOSE H5P__lacc_elink_fapl_close
  ------------------
  207|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  208|       |
  209|       |    /* Register property for external link file access flags */
  210|      1|    if (H5P__register_real(pclass, H5L_ACS_ELINK_FLAGS_NAME, H5L_ACS_ELINK_FLAGS_SIZE, &H5L_def_elink_flags_g,
  ------------------
  |  |   46|      1|#define H5L_ACS_ELINK_FLAGS_NAME "external link flags"
  ------------------
                  if (H5P__register_real(pclass, H5L_ACS_ELINK_FLAGS_NAME, H5L_ACS_ELINK_FLAGS_SIZE, &H5L_def_elink_flags_g,
  ------------------
  |  |   75|      1|#define H5L_ACS_ELINK_FLAGS_SIZE sizeof(unsigned)
  ------------------
  |  Branch (210:9): [True: 0, False: 1]
  ------------------
  211|      1|                           NULL, NULL, NULL, H5L_ACS_ELINK_FLAGS_ENC, H5L_ACS_ELINK_FLAGS_DEC, NULL, NULL,
  ------------------
  |  |   77|      1|#define H5L_ACS_ELINK_FLAGS_ENC  H5P__encode_unsigned
  ------------------
                                         NULL, NULL, NULL, H5L_ACS_ELINK_FLAGS_ENC, H5L_ACS_ELINK_FLAGS_DEC, NULL, NULL,
  ------------------
  |  |   78|      1|#define H5L_ACS_ELINK_FLAGS_DEC  H5P__decode_unsigned
  ------------------
  212|      1|                           NULL, NULL) < 0)
  213|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  214|       |
  215|       |    /* Register property for external link file traversal callback */
  216|       |    /* (Note: this property should not have an encode/decode callback -QAK) */
  217|      1|    if (H5P__register_real(pclass, H5L_ACS_ELINK_CB_NAME, H5L_ACS_ELINK_CB_SIZE, &H5L_def_elink_cb_g, NULL,
  ------------------
  |  |   48|      1|#define H5L_ACS_ELINK_CB_NAME "external link callback"
  ------------------
                  if (H5P__register_real(pclass, H5L_ACS_ELINK_CB_NAME, H5L_ACS_ELINK_CB_SIZE, &H5L_def_elink_cb_g, NULL,
  ------------------
  |  |   81|      1|#define H5L_ACS_ELINK_CB_SIZE sizeof(H5L_elink_cb_t)
  ------------------
  |  Branch (217:9): [True: 0, False: 1]
  ------------------
  218|      1|                           NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
  219|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  220|       |
  221|       |#ifdef H5_HAVE_PARALLEL
  222|       |    /* Register the metadata collective read flag */
  223|       |    if (H5P__register_real(pclass, H5_COLL_MD_READ_FLAG_NAME, H5L_ACS_COLL_MD_READ_SIZE,
  224|       |                           &H5L_def_coll_md_read_g, NULL, NULL, NULL, H5L_ACS_COLL_MD_READ_ENC,
  225|       |                           H5L_ACS_COLL_MD_READ_DEC, NULL, NULL, NULL, NULL) < 0)
  226|       |        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  227|       |#endif /* H5_HAVE_PARALLEL */
  228|       |
  229|      1|done:
  230|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  231|      1|} /* end H5P__lacc_reg_prop() */
H5Plapl.c:H5P__lacc_elink_pref_copy:
  772|     55|{
  773|     55|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     55|    {                                                                                                        \
  |  | 1467|     55|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     55|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     55|        {
  ------------------
  774|       |
  775|     55|    assert(value);
  776|       |
  777|     55|    *(char **)value = H5MM_xstrdup(*(const char **)value);
  778|       |
  779|     55|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     55|    ;                                                                                                        \
  |  | 1573|     55|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     55|    return (ret_value);                                                                                      \
  |  | 1575|     55|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  780|     55|} /* end H5P__lacc_elink_pref_copy() */
H5Plapl.c:H5P__lacc_elink_pref_close:
  824|     61|{
  825|     61|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     61|    {                                                                                                        \
  |  | 1467|     61|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     61|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     61|        {
  ------------------
  826|       |
  827|     61|    assert(value);
  828|       |
  829|     61|    H5MM_xfree(*(void **)value);
  830|       |
  831|     61|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     61|    ;                                                                                                        \
  |  | 1573|     61|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     61|    return (ret_value);                                                                                      \
  |  | 1575|     61|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  832|     61|} /* end H5P__lacc_elink_pref_close() */
H5Plapl.c:H5P__lacc_elink_fapl_copy:
  479|     55|{
  480|     55|    hid_t  l_fapl_id;
  481|     55|    herr_t ret_value = SUCCEED;
  ------------------
  |  |  283|     55|#define SUCCEED 0
  ------------------
  482|       |
  483|     55|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     55|    {                                                                                                        \
  |  | 1461|     55|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     55|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     55|                                                                                                             \
  |  |  |  | 1267|     55|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     55|        {
  ------------------
  484|       |
  485|       |    /* Sanity check */
  486|     55|    assert(value);
  487|       |
  488|       |    /* Get the FAPL ID */
  489|     55|    l_fapl_id = (*(const hid_t *)value);
  490|       |
  491|       |    /* Duplicate the FAPL, if it's non-default */
  492|     55|    if (l_fapl_id != H5P_DEFAULT) {
  ------------------
  |  |  228|     55|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
  |  Branch (492:9): [True: 0, False: 55]
  ------------------
  493|      0|        H5P_genplist_t *l_fapl_plist;
  494|       |
  495|      0|        if (NULL == (l_fapl_plist = (H5P_genplist_t *)H5P_object_verify(l_fapl_id, H5P_FILE_ACCESS)))
  ------------------
  |  |   64|      0|#define H5P_FILE_ACCESS (H5OPEN H5P_CLS_FILE_ACCESS_ID_g)
  ------------------
  |  Branch (495:13): [True: 0, False: 0]
  ------------------
  496|      0|            HGOTO_ERROR(H5E_PLIST, H5E_BADTYPE, FAIL, "can't get property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  497|      0|        if (((*(hid_t *)value) = H5P_copy_plist(l_fapl_plist, false)) < 0)
  ------------------
  |  Branch (497:13): [True: 0, False: 0]
  ------------------
  498|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, FAIL, "unable to copy file access property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  499|      0|    } /* end if */
  500|       |
  501|     55|done:
  502|     55|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     55|    ;                                                                                                        \
  |  | 1573|     55|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     55|    return (ret_value);                                                                                      \
  |  | 1575|     55|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  503|     55|} /* end H5P__lacc_elink_fapl_copy() */
H5Plapl.c:H5P__lacc_elink_fapl_close:
  564|     61|{
  565|     61|    hid_t  l_fapl_id;
  566|     61|    herr_t ret_value = SUCCEED;
  ------------------
  |  |  283|     61|#define SUCCEED 0
  ------------------
  567|       |
  568|     61|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     61|    {                                                                                                        \
  |  | 1461|     61|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     61|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     61|                                                                                                             \
  |  |  |  | 1267|     61|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     61|        {
  ------------------
  569|       |
  570|       |    /* Sanity check */
  571|     61|    assert(value);
  572|       |
  573|       |    /* Get the FAPL ID */
  574|     61|    l_fapl_id = (*(const hid_t *)value);
  575|       |
  576|       |    /* Close the FAPL */
  577|     61|    if ((l_fapl_id > H5P_DEFAULT) && (H5I_dec_ref(l_fapl_id) < 0))
  ------------------
  |  |  228|     61|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
  |  Branch (577:9): [True: 0, False: 61]
  |  Branch (577:38): [True: 0, False: 0]
  ------------------
  578|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTRELEASE, FAIL, "unable to close ID for file access property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  579|       |
  580|     61|done:
  581|     61|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     61|    ;                                                                                                        \
  |  | 1573|     61|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     61|    return (ret_value);                                                                                      \
  |  | 1575|     61|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  582|     61|} /* end H5P__lacc_elink_fapl_close() */

H5Plcpl.c:H5P__lcrt_reg_prop:
  108|      1|{
  109|      1|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  110|       |
  111|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
  112|       |
  113|       |    /* Register create intermediate groups property */
  114|      1|    if (H5P__register_real(pclass, H5L_CRT_INTERMEDIATE_GROUP_NAME, H5L_CRT_INTERMEDIATE_GROUP_SIZE,
  ------------------
  |  |   36|      1|#define H5L_CRT_INTERMEDIATE_GROUP_NAME "intermediate_group" /* Create intermediate groups flag */
  ------------------
                  if (H5P__register_real(pclass, H5L_CRT_INTERMEDIATE_GROUP_NAME, H5L_CRT_INTERMEDIATE_GROUP_SIZE,
  ------------------
  |  |   42|      1|#define H5L_CRT_INTERMEDIATE_GROUP_SIZE sizeof(unsigned)
  ------------------
  |  Branch (114:9): [True: 0, False: 1]
  ------------------
  115|      1|                           &H5L_def_intmd_group_g, NULL, NULL, NULL, H5L_CRT_INTERMEDIATE_GROUP_ENC,
  ------------------
  |  |   44|      1|#define H5L_CRT_INTERMEDIATE_GROUP_ENC  H5P__encode_unsigned
  ------------------
  116|      1|                           H5L_CRT_INTERMEDIATE_GROUP_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |   45|      1|#define H5L_CRT_INTERMEDIATE_GROUP_DEC  H5P__decode_unsigned
  ------------------
  117|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  118|       |
  119|      1|done:
  120|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  121|      1|} /* end H5P__lcrt_reg_prop() */

H5Pmapl.c:H5P__macc_reg_prop:
  107|      1|{
  108|      1|    size_t key_prefetch_size = H5M_ACS_KEY_PREFETCH_SIZE_DEF; /* Default key prefetch size for iteration */
  ------------------
  |  |   41|      1|#define H5M_ACS_KEY_PREFETCH_SIZE_DEF  (size_t)(16 * 1024)
  ------------------
  109|      1|    size_t key_alloc_size =
  110|      1|        H5M_ACS_KEY_ALLOC_SIZE_DEF; /* Default key prefetch allocation size for iteration */
  ------------------
  |  |   46|      1|#define H5M_ACS_KEY_ALLOC_SIZE_DEF  (size_t)(1024 * 1024)
  ------------------
  111|      1|    herr_t ret_value = SUCCEED;     /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  112|       |
  113|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
  114|       |
  115|       |    /* Register the key prefetch size for iteration */
  116|      1|    if (H5P__register_real(pclass, H5M_ACS_KEY_PREFETCH_SIZE_NAME, H5M_ACS_KEY_PREFETCH_SIZE_SIZE,
  ------------------
  |  |   44|      1|    "key_prefetch_size" /* Number of keys to prefetch during map iteration */
  ------------------
                  if (H5P__register_real(pclass, H5M_ACS_KEY_PREFETCH_SIZE_NAME, H5M_ACS_KEY_PREFETCH_SIZE_SIZE,
  ------------------
  |  |   40|      1|#define H5M_ACS_KEY_PREFETCH_SIZE_SIZE sizeof(size_t)
  ------------------
  |  Branch (116:9): [True: 0, False: 1]
  ------------------
  117|      1|                           &key_prefetch_size, NULL, NULL, NULL, H5M_ACS_KEY_PREFETCH_SIZE_ENC,
  ------------------
  |  |   42|      1|#define H5M_ACS_KEY_PREFETCH_SIZE_ENC  H5P__encode_size_t
  ------------------
  118|      1|                           H5M_ACS_KEY_PREFETCH_SIZE_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |   43|      1|#define H5M_ACS_KEY_PREFETCH_SIZE_DEC  H5P__decode_size_t
  ------------------
  119|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  120|       |
  121|       |    /* Register the key prefetch allocation size for iteration */
  122|      1|    if (H5P__register_real(pclass, H5M_ACS_KEY_ALLOC_SIZE_NAME, H5M_ACS_KEY_ALLOC_SIZE_SIZE, &key_alloc_size,
  ------------------
  |  |   46|      1|    "key_alloc_size" /* Initial allocation size for keys prefetched during map iteration */
  ------------------
                  if (H5P__register_real(pclass, H5M_ACS_KEY_ALLOC_SIZE_NAME, H5M_ACS_KEY_ALLOC_SIZE_SIZE, &key_alloc_size,
  ------------------
  |  |   45|      1|#define H5M_ACS_KEY_ALLOC_SIZE_SIZE sizeof(size_t)
  ------------------
  |  Branch (122:9): [True: 0, False: 1]
  ------------------
  123|      1|                           NULL, NULL, NULL, H5M_ACS_KEY_ALLOC_SIZE_ENC, H5M_ACS_KEY_ALLOC_SIZE_DEC, NULL,
  ------------------
  |  |   47|      1|#define H5M_ACS_KEY_ALLOC_SIZE_ENC  H5P__encode_size_t
  ------------------
                                         NULL, NULL, NULL, H5M_ACS_KEY_ALLOC_SIZE_ENC, H5M_ACS_KEY_ALLOC_SIZE_DEC, NULL,
  ------------------
  |  |   48|      1|#define H5M_ACS_KEY_ALLOC_SIZE_DEC  H5P__decode_size_t
  ------------------
  124|      1|                           NULL, NULL, NULL) < 0)
  125|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  126|       |
  127|      1|done:
  128|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  129|      1|} /* end H5P__macc_reg_prop() */

H5Pmcpl.c:H5P__mcrt_reg_prop:
   96|      1|{
   97|      1|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
   98|       |
   99|      1|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|      1|    {                                                                                                        \
  |  | 1467|      1|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|      1|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|      1|        {
  ------------------
  100|       |
  101|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  102|      1|} /* end H5P__mcrt_reg_prop() */

H5Pget_nfilters:
  704|     37|{
  705|     37|    H5P_genplist_t *plist;     /* Property list */
  706|     37|    H5O_pline_t     pline;     /* Filter pipeline */
  707|     37|    int             ret_value; /* return value */
  708|       |
  709|     74|    FUNC_ENTER_API(FAIL)
  ------------------
  |  | 1300|     37|    {                                                                                                        \
  |  | 1301|     37|        {                                                                                                    \
  |  | 1302|     37|            bool api_ctx_pushed = false;                                                                     \
  |  | 1303|     37|                                                                                                             \
  |  | 1304|     37|            FUNC_ENTER_API_COMMON                                                                            \
  |  |  ------------------
  |  |  |  | 1281|     37|    FUNC_ENTER_COMMON(H5_IS_API(__func__));                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1265|     37|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  | 1266|     37|                                                                                                             \
  |  |  |  |  |  | 1267|     37|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  ------------------
  |  |  |  | 1282|     37|    FUNC_ENTER_API_THREADSAFE;
  |  |  ------------------
  |  | 1305|     37|            FUNC_ENTER_API_INIT(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1286|     37|    if (H5_UNLIKELY(!H5_INIT_GLOBAL && !H5_TERM_GLOBAL)) {                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     37|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 37]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 37]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1287|      0|        if (H5_UNLIKELY(H5_init_library() < 0))                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      0|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1288|      0|            HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, err, "library initialization failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1289|      0|    }
  |  |  ------------------
  |  | 1306|     37|            FUNC_ENTER_API_PUSH(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1293|     37|    if (H5_UNLIKELY(H5CX_push() < 0))                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     37|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 37]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1294|     37|        HGOTO_ERROR(H5E_FUNC, H5E_CANTSET, err, "can't set API context");                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1295|     37|    else                                                                                                     \
  |  |  |  | 1296|     37|        api_ctx_pushed = true;
  |  |  ------------------
  |  | 1307|     37|            /* Clear thread error stack entering public functions */                                         \
  |  | 1308|     37|            H5E_clear_stack();                                                                               \
  |  | 1309|     37|            {
  ------------------
  710|       |
  711|       |    /* Get the plist structure */
  712|     74|    if (NULL == (plist = H5P_object_verify(plist_id, H5P_OBJECT_CREATE)))
  ------------------
  |  |   56|     37|#define H5P_OBJECT_CREATE (H5OPEN H5P_CLS_OBJECT_CREATE_ID_g)
  ------------------
  |  Branch (712:9): [True: 0, False: 37]
  ------------------
  713|      0|        HGOTO_ERROR(H5E_ID, H5E_BADID, FAIL, "can't find object for ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  714|       |
  715|       |    /* Get the pipeline property to query */
  716|     37|    if (H5P_peek(plist, H5O_CRT_PIPELINE_NAME, &pline) < 0)
  ------------------
  |  |   99|     37|#define H5O_CRT_PIPELINE_NAME         "pline"               /* Filter pipeline */
  ------------------
  |  Branch (716:9): [True: 0, False: 37]
  ------------------
  717|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTGET, FAIL, "can't get pipeline");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  718|       |
  719|       |    /* Set return value */
  720|     37|    ret_value = (int)(pline.nused);
  721|       |
  722|     37|done:
  723|     37|    FUNC_LEAVE_API(ret_value)
  ------------------
  |  | 1509|     37|    ;                                                                                                        \
  |  | 1510|     37|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1511|     37|    if (H5_LIKELY(api_ctx_pushed)) {                                                                         \
  |  |  ------------------
  |  |  |  |  167|     37|#define H5_LIKELY(expression)   __builtin_expect(!!(expression), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (167:33): [True: 37, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1512|     37|        (void)H5CX_pop(true);                                                                                \
  |  | 1513|     37|        api_ctx_pushed = false;                                                                              \
  |  | 1514|     37|    }                                                                                                        \
  |  | 1515|     37|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|     37|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 0, False: 37]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1516|     37|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1517|     37|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1518|     37|    return (ret_value);                                                                                      \
  |  | 1519|     37|    }                                                                                                        \
  |  | 1520|     37|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  724|     37|} /* end H5Pget_nfilters */
H5Pocpl.c:H5P__ocrt_reg_prop:
  147|      1|{
  148|      1|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  149|       |
  150|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
  151|       |
  152|       |    /* Register max. compact attribute storage property */
  153|      1|    if (H5P__register_real(pclass, H5O_CRT_ATTR_MAX_COMPACT_NAME, H5O_CRT_ATTR_MAX_COMPACT_SIZE,
  ------------------
  |  |   96|      1|#define H5O_CRT_ATTR_MAX_COMPACT_NAME "max compact attr"    /* Max. # of attributes to store compactly */
  ------------------
                  if (H5P__register_real(pclass, H5O_CRT_ATTR_MAX_COMPACT_NAME, H5O_CRT_ATTR_MAX_COMPACT_SIZE,
  ------------------
  |  |   46|      1|#define H5O_CRT_ATTR_MAX_COMPACT_SIZE sizeof(unsigned)
  ------------------
  |  Branch (153:9): [True: 0, False: 1]
  ------------------
  154|      1|                           &H5O_def_attr_max_compact_g, NULL, NULL, NULL, H5O_CRT_ATTR_MAX_COMPACT_ENC,
  ------------------
  |  |   47|      1|#define H5O_CRT_ATTR_MAX_COMPACT_ENC  H5P__encode_unsigned
  ------------------
  155|      1|                           H5O_CRT_ATTR_MAX_COMPACT_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |   48|      1|#define H5O_CRT_ATTR_MAX_COMPACT_DEC  H5P__decode_unsigned
  ------------------
  156|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  157|       |
  158|       |    /* Register min. dense attribute storage property */
  159|      1|    if (H5P__register_real(pclass, H5O_CRT_ATTR_MIN_DENSE_NAME, H5O_CRT_ATTR_MIN_DENSE_SIZE,
  ------------------
  |  |   97|      1|#define H5O_CRT_ATTR_MIN_DENSE_NAME   "min dense attr"      /* Min. # of attributes to store densely */
  ------------------
                  if (H5P__register_real(pclass, H5O_CRT_ATTR_MIN_DENSE_NAME, H5O_CRT_ATTR_MIN_DENSE_SIZE,
  ------------------
  |  |   50|      1|#define H5O_CRT_ATTR_MIN_DENSE_SIZE sizeof(unsigned)
  ------------------
  |  Branch (159:9): [True: 0, False: 1]
  ------------------
  160|      1|                           &H5O_def_attr_min_dense_g, NULL, NULL, NULL, H5O_CRT_ATTR_MIN_DENSE_ENC,
  ------------------
  |  |   51|      1|#define H5O_CRT_ATTR_MIN_DENSE_ENC  H5P__encode_unsigned
  ------------------
  161|      1|                           H5O_CRT_ATTR_MIN_DENSE_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |   52|      1|#define H5O_CRT_ATTR_MIN_DENSE_DEC  H5P__decode_unsigned
  ------------------
  162|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  163|       |
  164|       |    /* Register object header flags property */
  165|      1|    if (H5P__register_real(pclass, H5O_CRT_OHDR_FLAGS_NAME, H5O_CRT_OHDR_FLAGS_SIZE, &H5O_def_ohdr_flags_g,
  ------------------
  |  |   98|      1|#define H5O_CRT_OHDR_FLAGS_NAME       "object header flags" /* Object header flags */
  ------------------
                  if (H5P__register_real(pclass, H5O_CRT_OHDR_FLAGS_NAME, H5O_CRT_OHDR_FLAGS_SIZE, &H5O_def_ohdr_flags_g,
  ------------------
  |  |   54|      1|#define H5O_CRT_OHDR_FLAGS_SIZE sizeof(uint8_t)
  ------------------
  |  Branch (165:9): [True: 0, False: 1]
  ------------------
  166|      1|                           NULL, NULL, NULL, H5O_CRT_OHDR_FLAGS_ENC, H5O_CRT_OHDR_FLAGS_DEC, NULL, NULL, NULL,
  ------------------
  |  |   55|      1|#define H5O_CRT_OHDR_FLAGS_ENC  H5P__encode_uint8_t
  ------------------
                                         NULL, NULL, NULL, H5O_CRT_OHDR_FLAGS_ENC, H5O_CRT_OHDR_FLAGS_DEC, NULL, NULL, NULL,
  ------------------
  |  |   56|      1|#define H5O_CRT_OHDR_FLAGS_DEC  H5P__decode_uint8_t
  ------------------
  167|      1|                           NULL) < 0)
  168|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  169|       |
  170|       |    /* Register the pipeline property */
  171|      1|    if (H5P__register_real(pclass, H5O_CRT_PIPELINE_NAME, H5O_CRT_PIPELINE_SIZE, &H5O_def_pline_g, NULL,
  ------------------
  |  |   99|      1|#define H5O_CRT_PIPELINE_NAME         "pline"               /* Filter pipeline */
  ------------------
                  if (H5P__register_real(pclass, H5O_CRT_PIPELINE_NAME, H5O_CRT_PIPELINE_SIZE, &H5O_def_pline_g, NULL,
  ------------------
  |  |   58|      1|#define H5O_CRT_PIPELINE_SIZE  sizeof(H5O_pline_t)
  ------------------
  |  Branch (171:9): [True: 0, False: 1]
  ------------------
  172|      1|                           H5O_CRT_PIPELINE_SET, H5O_CRT_PIPELINE_GET, H5O_CRT_PIPELINE_ENC,
  ------------------
  |  |   59|      1|#define H5O_CRT_PIPELINE_SET   H5P__ocrt_pipeline_set
  ------------------
                                         H5O_CRT_PIPELINE_SET, H5O_CRT_PIPELINE_GET, H5O_CRT_PIPELINE_ENC,
  ------------------
  |  |   60|      1|#define H5O_CRT_PIPELINE_GET   H5P__ocrt_pipeline_get
  ------------------
                                         H5O_CRT_PIPELINE_SET, H5O_CRT_PIPELINE_GET, H5O_CRT_PIPELINE_ENC,
  ------------------
  |  |   61|      1|#define H5O_CRT_PIPELINE_ENC   H5P__ocrt_pipeline_enc
  ------------------
  173|      1|                           H5O_CRT_PIPELINE_DEC, H5O_CRT_PIPELINE_DEL, H5O_CRT_PIPELINE_COPY,
  ------------------
  |  |   62|      1|#define H5O_CRT_PIPELINE_DEC   H5P__ocrt_pipeline_dec
  ------------------
                                         H5O_CRT_PIPELINE_DEC, H5O_CRT_PIPELINE_DEL, H5O_CRT_PIPELINE_COPY,
  ------------------
  |  |   63|      1|#define H5O_CRT_PIPELINE_DEL   H5P__ocrt_pipeline_del
  ------------------
                                         H5O_CRT_PIPELINE_DEC, H5O_CRT_PIPELINE_DEL, H5O_CRT_PIPELINE_COPY,
  ------------------
  |  |   64|      1|#define H5O_CRT_PIPELINE_COPY  H5P__ocrt_pipeline_copy
  ------------------
  174|      1|                           H5O_CRT_PIPELINE_CMP, H5O_CRT_PIPELINE_CLOSE) < 0)
  ------------------
  |  |   65|      1|#define H5O_CRT_PIPELINE_CMP   H5P__ocrt_pipeline_cmp
  ------------------
                                         H5O_CRT_PIPELINE_CMP, H5O_CRT_PIPELINE_CLOSE) < 0)
  ------------------
  |  |   66|      1|#define H5O_CRT_PIPELINE_CLOSE H5P__ocrt_pipeline_close
  ------------------
  175|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  176|       |
  177|      1|done:
  178|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  179|      1|} /* end H5P__ocrt_reg_prop() */
H5Pocpl.c:H5P__ocrt_pipeline_get:
 1233|      1|{
 1234|      1|    H5O_pline_t *pline = (H5O_pline_t *)value; /* Create local aliases for values */
 1235|      1|    H5O_pline_t  new_pline;
 1236|      1|    herr_t       ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
 1237|       |
 1238|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
 1239|       |
 1240|       |    /* Sanity check */
 1241|      1|    assert(value);
 1242|       |
 1243|       |    /* Make copy of I/O pipeline */
 1244|      1|    if (NULL == H5O_msg_copy(H5O_PLINE_ID, pline, &new_pline))
  ------------------
  |  |  217|      1|#define H5O_PLINE_ID       0x000b /* Filter pipeline message.  */
  ------------------
  |  Branch (1244:9): [True: 0, False: 1]
  ------------------
 1245|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, FAIL, "can't copy I/O pipeline");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1246|       |
 1247|       |    /* Copy new I/O pipeline message over old one */
 1248|      1|    *pline = new_pline;
 1249|       |
 1250|      1|done:
 1251|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1252|      1|} /* end H5P__ocrt_pipeline_get() */
H5Pocpl.c:H5P__ocrt_pipeline_copy:
 1476|    102|{
 1477|    102|    H5O_pline_t *pline = (H5O_pline_t *)value; /* Create local aliases for values */
 1478|    102|    H5O_pline_t  new_pline;
 1479|    102|    herr_t       ret_value = SUCCEED;
  ------------------
  |  |  283|    102|#define SUCCEED 0
  ------------------
 1480|       |
 1481|    102|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    102|    {                                                                                                        \
  |  | 1461|    102|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    102|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    102|                                                                                                             \
  |  |  |  | 1267|    102|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    102|        {
  ------------------
 1482|       |
 1483|       |    /* Sanity check */
 1484|    102|    assert(pline);
 1485|       |
 1486|       |    /* Make copy of I/O pipeline */
 1487|    102|    if (NULL == H5O_msg_copy(H5O_PLINE_ID, pline, &new_pline))
  ------------------
  |  |  217|    102|#define H5O_PLINE_ID       0x000b /* Filter pipeline message.  */
  ------------------
  |  Branch (1487:9): [True: 0, False: 102]
  ------------------
 1488|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, FAIL, "can't copy I/O pipeline");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1489|       |
 1490|       |    /* Copy new I/O pipeline message over old one */
 1491|    102|    *pline = new_pline;
 1492|       |
 1493|    102|done:
 1494|    102|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    102|    ;                                                                                                        \
  |  | 1573|    102|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    102|    return (ret_value);                                                                                      \
  |  | 1575|    102|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1495|    102|} /* end H5P__ocrt_pipeline_copy() */
H5Pocpl.c:H5P__ocrt_pipeline_close:
 1603|    107|{
 1604|    107|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    107|#define SUCCEED 0
  ------------------
 1605|       |
 1606|    107|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    107|    {                                                                                                        \
  |  | 1461|    107|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    107|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    107|                                                                                                             \
  |  |  |  | 1267|    107|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    107|        {
  ------------------
 1607|       |
 1608|       |    /* Sanity check */
 1609|    107|    assert(value);
 1610|       |
 1611|       |    /* Reset the old I/O pipeline */
 1612|    107|    if (H5O_msg_reset(H5O_PLINE_ID, value) < 0)
  ------------------
  |  |  217|    107|#define H5O_PLINE_ID       0x000b /* Filter pipeline message.  */
  ------------------
  |  Branch (1612:9): [True: 0, False: 107]
  ------------------
 1613|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTRESET, FAIL, "can't release I/O pipeline message");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1614|       |
 1615|    107|done:
 1616|    107|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    107|    ;                                                                                                        \
  |  | 1573|    107|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    107|    return (ret_value);                                                                                      \
  |  | 1575|    107|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1617|    107|} /* end H5P__ocrt_pipeline_close() */

H5Pocpypl.c:H5P__ocpy_reg_prop:
  149|      1|{
  150|      1|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  151|       |
  152|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
  153|       |
  154|       |    /* Register copy options property */
  155|      1|    if (H5P__register_real(pclass, H5O_CPY_OPTION_NAME, H5O_CPY_OPTION_SIZE, &H5O_def_ocpy_option_g, NULL,
  ------------------
  |  |  120|      1|#define H5O_CPY_OPTION_NAME "copy object" /* Copy options */
  ------------------
                  if (H5P__register_real(pclass, H5O_CPY_OPTION_NAME, H5O_CPY_OPTION_SIZE, &H5O_def_ocpy_option_g, NULL,
  ------------------
  |  |   44|      1|#define H5O_CPY_OPTION_SIZE sizeof(unsigned)
  ------------------
  |  Branch (155:9): [True: 0, False: 1]
  ------------------
  156|      1|                           NULL, NULL, H5O_CPY_OPTION_ENC, H5O_CPY_OPTION_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |   46|      1|#define H5O_CPY_OPTION_ENC  H5P__encode_unsigned
  ------------------
                                         NULL, NULL, H5O_CPY_OPTION_ENC, H5O_CPY_OPTION_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |   47|      1|#define H5O_CPY_OPTION_DEC  H5P__decode_unsigned
  ------------------
  157|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  158|       |
  159|       |    /* Register merge named dtype list property */
  160|      1|    if (H5P__register_real(pclass, H5O_CPY_MERGE_COMM_DT_LIST_NAME, H5O_CPY_MERGE_COMM_DT_LIST_SIZE,
  ------------------
  |  |  122|      1|    "merge committed dtype list" /* List of datatype paths to search in the dest file for merging */
  ------------------
                  if (H5P__register_real(pclass, H5O_CPY_MERGE_COMM_DT_LIST_NAME, H5O_CPY_MERGE_COMM_DT_LIST_SIZE,
  ------------------
  |  |   49|      1|#define H5O_CPY_MERGE_COMM_DT_LIST_SIZE  sizeof(H5O_copy_dtype_merge_list_t *)
  ------------------
  |  Branch (160:9): [True: 0, False: 1]
  ------------------
  161|      1|                           &H5O_def_merge_comm_dtype_list_g, NULL, H5O_CPY_MERGE_COMM_DT_LIST_SET,
  ------------------
  |  |   51|      1|#define H5O_CPY_MERGE_COMM_DT_LIST_SET   H5P__ocpy_merge_comm_dt_list_set
  ------------------
  162|      1|                           H5O_CPY_MERGE_COMM_DT_LIST_GET, H5O_CPY_MERGE_COMM_DT_LIST_ENC,
  ------------------
  |  |   52|      1|#define H5O_CPY_MERGE_COMM_DT_LIST_GET   H5P__ocpy_merge_comm_dt_list_get
  ------------------
                                         H5O_CPY_MERGE_COMM_DT_LIST_GET, H5O_CPY_MERGE_COMM_DT_LIST_ENC,
  ------------------
  |  |   53|      1|#define H5O_CPY_MERGE_COMM_DT_LIST_ENC   H5P__ocpy_merge_comm_dt_list_enc
  ------------------
  163|      1|                           H5O_CPY_MERGE_COMM_DT_LIST_DEC, H5O_CPY_MERGE_COMM_DT_LIST_DEL,
  ------------------
  |  |   54|      1|#define H5O_CPY_MERGE_COMM_DT_LIST_DEC   H5P__ocpy_merge_comm_dt_list_dec
  ------------------
                                         H5O_CPY_MERGE_COMM_DT_LIST_DEC, H5O_CPY_MERGE_COMM_DT_LIST_DEL,
  ------------------
  |  |   55|      1|#define H5O_CPY_MERGE_COMM_DT_LIST_DEL   H5P__ocpy_merge_comm_dt_list_del
  ------------------
  164|      1|                           H5O_CPY_MERGE_COMM_DT_LIST_COPY, H5O_CPY_MERGE_COMM_DT_LIST_CMP,
  ------------------
  |  |   56|      1|#define H5O_CPY_MERGE_COMM_DT_LIST_COPY  H5P__ocpy_merge_comm_dt_list_copy
  ------------------
                                         H5O_CPY_MERGE_COMM_DT_LIST_COPY, H5O_CPY_MERGE_COMM_DT_LIST_CMP,
  ------------------
  |  |   57|      1|#define H5O_CPY_MERGE_COMM_DT_LIST_CMP   H5P__ocpy_merge_comm_dt_list_cmp
  ------------------
  165|      1|                           H5O_CPY_MERGE_COMM_DT_LIST_CLOSE) < 0)
  ------------------
  |  |   58|      1|#define H5O_CPY_MERGE_COMM_DT_LIST_CLOSE H5P__ocpy_merge_comm_dt_list_close
  ------------------
  166|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  167|       |
  168|       |    /* Register property for callback when completing the search for a matching named datatype from the named
  169|       |     * dtype list */
  170|       |    /* (Note: this property should not have an encode/decode callback -QAK) */
  171|      1|    if (H5P__register_real(pclass, H5O_CPY_MCDT_SEARCH_CB_NAME, H5O_CPY_MCDT_SEARCH_CB_SIZE,
  ------------------
  |  |  124|      1|    "committed dtype list search" /* Callback function when the search for a matching committed datatype is  \
  ------------------
                  if (H5P__register_real(pclass, H5O_CPY_MCDT_SEARCH_CB_NAME, H5O_CPY_MCDT_SEARCH_CB_SIZE,
  ------------------
  |  |   61|      1|#define H5O_CPY_MCDT_SEARCH_CB_SIZE sizeof(H5O_mcdt_cb_info_t)
  ------------------
  |  Branch (171:9): [True: 0, False: 1]
  ------------------
  172|      1|                           &H5O_def_mcdt_cb_g, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL) < 0)
  173|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  174|       |
  175|      1|done:
  176|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  177|      1|} /* end H5P__ocpy_reg_prop() */
H5Pocpypl.c:H5P__ocpy_merge_comm_dt_list_close:
  576|      1|{
  577|      1|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|      1|    {                                                                                                        \
  |  | 1467|      1|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|      1|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|      1|        {
  ------------------
  578|       |
  579|      1|    assert(value);
  580|       |
  581|       |    /* Free the merge committed dtype list */
  582|      1|    H5P__free_merge_comm_dtype_list(*(H5O_copy_dtype_merge_list_t **)value);
  583|       |
  584|      1|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  585|      1|} /* end H5P__ocpy_merge_comm_dt_list_close() */
H5Pocpypl.c:H5P__free_merge_comm_dtype_list:
  190|      1|{
  191|      1|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|      1|    {                                                                                                        \
  |  | 1467|      1|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|      1|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|      1|        {
  ------------------
  192|       |
  193|       |    /* Free the list */
  194|      1|    while (dt_list) {
  ------------------
  |  Branch (194:12): [True: 0, False: 1]
  ------------------
  195|      0|        H5O_copy_dtype_merge_list_t *tmp_node;
  196|       |
  197|      0|        tmp_node = dt_list->next;
  198|       |
  199|      0|        (void)H5MM_xfree(dt_list->path);
  200|      0|        (void)H5FL_FREE(H5O_copy_dtype_merge_list_t, dt_list);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  201|       |
  202|      0|        dt_list = tmp_node;
  203|      0|    } /* end while */
  204|       |
  205|      1|    FUNC_LEAVE_NOAPI(NULL)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  206|      1|} /* H5P__free_merge_comm_dtype_list */

H5Pstrcpl.c:H5P__strcrt_reg_prop:
  112|      1|{
  113|      1|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  114|       |
  115|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
  116|       |
  117|       |    /* Register character encoding */
  118|      1|    if (H5P__register_real(pclass, H5P_STRCRT_CHAR_ENCODING_NAME, H5P_STRCRT_CHAR_ENCODING_SIZE,
  ------------------
  |  |   33|      1|#define H5P_STRCRT_CHAR_ENCODING_NAME "character_encoding" /* Character set encoding for string */
  ------------------
                  if (H5P__register_real(pclass, H5P_STRCRT_CHAR_ENCODING_NAME, H5P_STRCRT_CHAR_ENCODING_SIZE,
  ------------------
  |  |   42|      1|#define H5P_STRCRT_CHAR_ENCODING_SIZE sizeof(H5T_cset_t)
  ------------------
  |  Branch (118:9): [True: 0, False: 1]
  ------------------
  119|      1|                           &H5P_def_char_encoding_g, NULL, NULL, NULL, H5P_STRCRT_CHAR_ENCODING_ENC,
  ------------------
  |  |   44|      1|#define H5P_STRCRT_CHAR_ENCODING_ENC  H5P__strcrt_char_encoding_enc
  ------------------
  120|      1|                           H5P_STRCRT_CHAR_ENCODING_DEC, NULL, NULL, NULL, NULL) < 0)
  ------------------
  |  |   45|      1|#define H5P_STRCRT_CHAR_ENCODING_DEC  H5P__strcrt_char_encoding_dec
  ------------------
  121|      0|        HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  122|       |
  123|      1|done:
  124|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  125|      1|} /* end H5P__strcrt_reg_prop() */

H5RS_create:
  267|    294|{
  268|    294|    H5RS_str_t *ret_value = NULL; /* Return value */
  269|       |
  270|    294|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|    294|    {                                                                                                        \
  |  | 1392|    294|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    294|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    294|                                                                                                             \
  |  |  |  | 1267|    294|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    294|        {
  ------------------
  271|       |
  272|       |    /* Allocate ref-counted string structure */
  273|    294|    if (NULL == (ret_value = H5FL_CALLOC(H5RS_str_t)))
  ------------------
  |  |   78|    294|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|    294|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (273:9): [True: 0, False: 294]
  ------------------
  274|      0|        HGOTO_ERROR(H5E_RS, H5E_CANTALLOC, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  275|       |
  276|       |    /* Set the internal fields */
  277|    294|    if (s)
  ------------------
  |  Branch (277:9): [True: 294, False: 0]
  ------------------
  278|    294|        if (H5RS__xstrdup(ret_value, s) < 0)
  ------------------
  |  Branch (278:13): [True: 0, False: 294]
  ------------------
  279|      0|            HGOTO_ERROR(H5E_RS, H5E_CANTCOPY, NULL, "can't copy string");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  280|    294|    ret_value->n = 1;
  281|       |
  282|    294|done:
  283|    294|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    294|    ;                                                                                                        \
  |  | 1573|    294|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    294|    return (ret_value);                                                                                      \
  |  | 1575|    294|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  284|    294|} /* end H5RS_create() */
H5RS_acat:
  411|    280|{
  412|    280|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    280|#define SUCCEED 0
  ------------------
  413|       |
  414|    280|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    280|    {                                                                                                        \
  |  | 1392|    280|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    280|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    280|                                                                                                             \
  |  |  |  | 1267|    280|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    280|        {
  ------------------
  415|       |
  416|       |    /* Sanity checks */
  417|    280|    assert(rs);
  418|    280|    assert(s);
  419|       |
  420|       |    /* Concatenate the provided string on to the managed string */
  421|    280|    if (*s) {
  ------------------
  |  Branch (421:9): [True: 280, False: 0]
  ------------------
  422|    280|        size_t len = strlen(s);
  423|       |
  424|       |        /* Allocate the underlying string, if necessary */
  425|    280|        if (H5RS__prepare_for_append(rs) < 0)
  ------------------
  |  Branch (425:13): [True: 0, False: 280]
  ------------------
  426|      0|            HGOTO_ERROR(H5E_RS, H5E_CANTINIT, FAIL, "can't initialize ref-counted string");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  427|       |
  428|       |        /* Increase the managed string's buffer size if necessary */
  429|    280|        if ((rs->len + len) >= rs->max)
  ------------------
  |  Branch (429:13): [True: 0, False: 280]
  ------------------
  430|      0|            if (H5RS__resize_for_append(rs, len) < 0)
  ------------------
  |  Branch (430:17): [True: 0, False: 0]
  ------------------
  431|      0|                HGOTO_ERROR(H5E_RS, H5E_CANTRESIZE, FAIL, "can't resize ref-counted string buffer");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  432|       |
  433|       |        /* Append the string */
  434|    280|        H5MM_memcpy(rs->end, s, len);
  ------------------
  |  |   41|    280|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  435|    280|        rs->end += len;
  436|    280|        *rs->end = '\0';
  437|    280|        rs->len += len;
  438|    280|    } /* end if */
  439|       |
  440|    280|done:
  441|    280|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    280|    ;                                                                                                        \
  |  | 1573|    280|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    280|    return (ret_value);                                                                                      \
  |  | 1575|    280|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  442|    280|} /* end H5RS_acat() */
H5RS_aputc:
  505|     30|{
  506|     30|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     30|#define SUCCEED 0
  ------------------
  507|       |
  508|     30|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     30|    {                                                                                                        \
  |  | 1392|     30|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     30|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     30|                                                                                                             \
  |  |  |  | 1267|     30|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     30|        {
  ------------------
  509|       |
  510|       |    /* Sanity checks */
  511|     30|    assert(rs);
  512|     30|    assert(c);
  513|       |
  514|       |    /* Allocate the underlying string, if necessary */
  515|     30|    if (H5RS__prepare_for_append(rs) < 0)
  ------------------
  |  Branch (515:9): [True: 0, False: 30]
  ------------------
  516|      0|        HGOTO_ERROR(H5E_RS, H5E_CANTINIT, FAIL, "can't initialize ref-counted string");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  517|       |
  518|       |    /* Increase the managed string's buffer size if necessary */
  519|     30|    if ((rs->len + 1) >= rs->max)
  ------------------
  |  Branch (519:9): [True: 0, False: 30]
  ------------------
  520|      0|        if (H5RS__resize_for_append(rs, 1) < 0)
  ------------------
  |  Branch (520:13): [True: 0, False: 0]
  ------------------
  521|      0|            HGOTO_ERROR(H5E_RS, H5E_CANTRESIZE, FAIL, "can't resize ref-counted string buffer");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  522|       |
  523|       |    /* Append the current character */
  524|     30|    *rs->end++ = (char)c;
  525|     30|    rs->len++;
  526|     30|    *rs->end = '\0';
  527|       |
  528|     30|done:
  529|     30|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     30|    ;                                                                                                        \
  |  | 1573|     30|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     30|    return (ret_value);                                                                                      \
  |  | 1575|     30|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  530|     30|} /* end H5RS_aputc() */
H5RS_decr:
  553|  1.43k|{
  554|  1.43k|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|  1.43k|    {                                                                                                        \
  |  | 1425|  1.43k|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|  1.43k|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|  1.43k|        {
  ------------------
  555|       |
  556|       |    /* Sanity check */
  557|  1.43k|    assert(rs);
  558|  1.43k|    assert(rs->n > 0);
  559|       |
  560|       |    /* Decrement reference count for string */
  561|  1.43k|    if ((--rs->n) == 0) {
  ------------------
  |  Branch (561:9): [True: 294, False: 1.13k]
  ------------------
  562|    294|        if (!rs->wrapped)
  ------------------
  |  Branch (562:13): [True: 294, False: 0]
  ------------------
  563|    294|            rs->s = (char *)H5FL_BLK_FREE(str_buf, rs->s);
  ------------------
  |  |  152|    294|#define H5FL_BLK_FREE(t, blk) (uint8_t *)H5FL_blk_free(&(H5FL_BLK_NAME(t)), blk)
  |  |  ------------------
  |  |  |  |  131|    294|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
  564|    294|        rs = H5FL_FREE(H5RS_str_t, rs);
  ------------------
  |  |   81|    294|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|    294|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  565|    294|    } /* end if */
  566|       |
  567|  1.43k|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|  1.43k|    ;                                                                                                        \
  |  | 1573|  1.43k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  1.43k|    return (ret_value);                                                                                      \
  |  | 1575|  1.43k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  568|  1.43k|} /* end H5RS_decr() */
H5RS_dup:
  637|  1.33k|{
  638|  1.33k|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|  1.33k|    {                                                                                                        \
  |  | 1425|  1.33k|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|  1.33k|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|  1.33k|        {
  ------------------
  639|       |
  640|       |    /* Check for valid reference counted string */
  641|  1.33k|    if (ret_value != NULL)
  ------------------
  |  Branch (641:9): [True: 1.13k, False: 200]
  ------------------
  642|       |        /* Increment reference count for string */
  643|  1.13k|        ret_value->n++;
  644|       |
  645|  1.33k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  1.33k|    ;                                                                                                        \
  |  | 1573|  1.33k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  1.33k|    return (ret_value);                                                                                      \
  |  | 1575|  1.33k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  646|  1.33k|} /* end H5RS_dup() */
H5RS_get_str:
  737|    280|{
  738|    280|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|    280|    {                                                                                                        \
  |  | 1425|    280|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    280|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|    280|        {
  ------------------
  739|       |
  740|       |    /* Sanity check */
  741|    280|    assert(rs);
  742|    280|    assert(rs->s);
  743|       |
  744|    280|    FUNC_LEAVE_NOAPI(rs->s)
  ------------------
  |  | 1572|    280|    ;                                                                                                        \
  |  | 1573|    280|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    280|    return (ret_value);                                                                                      \
  |  | 1575|    280|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  745|    280|} /* end H5RS_get_str() */
H5RS.c:H5RS__xstrdup:
  108|    294|{
  109|    294|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    294|#define SUCCEED 0
  ------------------
  110|       |
  111|    294|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    294|    {                                                                                                        \
  |  | 1461|    294|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    294|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    294|                                                                                                             \
  |  |  |  | 1267|    294|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    294|        {
  ------------------
  112|       |
  113|       |    /* Sanity check */
  114|    294|    assert(rs);
  115|       |
  116|    294|    if (s) {
  ------------------
  |  Branch (116:9): [True: 294, False: 0]
  ------------------
  117|    294|        size_t len = strlen(s);
  118|       |
  119|       |        /* Determine size of buffer to allocate */
  120|    294|        rs->max = H5RS_ALLOC_SIZE;
  ------------------
  |  |   41|    294|#define H5RS_ALLOC_SIZE 256
  ------------------
  121|    294|        while ((len + 1) > rs->max)
  ------------------
  |  Branch (121:16): [True: 0, False: 294]
  ------------------
  122|      0|            rs->max *= 2;
  123|       |
  124|       |        /* Allocate the underlying string */
  125|    294|        if (NULL == (rs->s = (char *)H5FL_BLK_MALLOC(str_buf, rs->max)))
  ------------------
  |  |  146|    294|#define H5FL_BLK_MALLOC(t, size) (uint8_t *)H5FL_blk_malloc(&(H5FL_BLK_NAME(t)), (size))
  |  |  ------------------
  |  |  |  |  131|    294|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
  |  Branch (125:13): [True: 0, False: 294]
  ------------------
  126|      0|            HGOTO_ERROR(H5E_RS, H5E_CANTALLOC, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  127|    294|        if (len)
  ------------------
  |  Branch (127:13): [True: 294, False: 0]
  ------------------
  128|    294|            H5MM_memcpy(rs->s, s, len);
  ------------------
  |  |   41|    294|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  129|    294|        rs->end  = rs->s + len;
  130|    294|        *rs->end = '\0';
  131|    294|        rs->len  = len;
  132|    294|    } /* end if */
  133|      0|    else {
  134|       |        /* Free previous string, if one */
  135|      0|        if (rs->s) {
  ------------------
  |  Branch (135:13): [True: 0, False: 0]
  ------------------
  136|      0|            H5FL_BLK_FREE(str_buf, rs->s);
  ------------------
  |  |  152|      0|#define H5FL_BLK_FREE(t, blk) (uint8_t *)H5FL_blk_free(&(H5FL_BLK_NAME(t)), blk)
  |  |  ------------------
  |  |  |  |  131|      0|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
  137|      0|            rs->s = rs->end = NULL;
  138|      0|            rs->max = rs->len = 0;
  139|      0|        } /* end if */
  140|      0|        else {
  141|       |            /* Sanity checks */
  142|      0|            assert(NULL == rs->end);
  143|      0|            assert(0 == rs->max);
  144|      0|            assert(0 == rs->len);
  145|      0|        } /* end else */
  146|      0|    }     /* end else */
  147|       |
  148|    294|done:
  149|    294|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    294|    ;                                                                                                        \
  |  | 1573|    294|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    294|    return (ret_value);                                                                                      \
  |  | 1575|    294|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  150|    294|} /* end H5RS__xstrdup() */
H5RS.c:H5RS__prepare_for_append:
  172|    310|{
  173|    310|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    310|#define SUCCEED 0
  ------------------
  174|       |
  175|    310|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    310|    {                                                                                                        \
  |  | 1461|    310|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    310|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    310|                                                                                                             \
  |  |  |  | 1267|    310|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    310|        {
  ------------------
  176|       |
  177|       |    /* Sanity check */
  178|    310|    assert(rs);
  179|       |
  180|    310|    if (NULL == rs->s) {
  ------------------
  |  Branch (180:9): [True: 0, False: 310]
  ------------------
  181|      0|        rs->max = H5RS_ALLOC_SIZE;
  ------------------
  |  |   41|      0|#define H5RS_ALLOC_SIZE 256
  ------------------
  182|      0|        if (NULL == (rs->s = (char *)H5FL_BLK_MALLOC(str_buf, rs->max)))
  ------------------
  |  |  146|      0|#define H5FL_BLK_MALLOC(t, size) (uint8_t *)H5FL_blk_malloc(&(H5FL_BLK_NAME(t)), (size))
  |  |  ------------------
  |  |  |  |  131|      0|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
  |  Branch (182:13): [True: 0, False: 0]
  ------------------
  183|      0|            HGOTO_ERROR(H5E_RS, H5E_CANTALLOC, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  184|      0|        rs->end = rs->s;
  185|      0|        *rs->s  = '\0';
  186|      0|        rs->len = 0;
  187|      0|    } /* end if */
  188|    310|    else {
  189|       |        /* If the ref-counted string started life as a wrapper around an
  190|       |         * existing string, duplicate the string now, so we can modify it.
  191|       |         */
  192|    310|        if (rs->wrapped) {
  ------------------
  |  Branch (192:13): [True: 0, False: 310]
  ------------------
  193|      0|            if (H5RS__xstrdup(rs, rs->s) < 0)
  ------------------
  |  Branch (193:17): [True: 0, False: 0]
  ------------------
  194|      0|                HGOTO_ERROR(H5E_RS, H5E_CANTCOPY, FAIL, "can't copy string");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  195|      0|            rs->wrapped = false;
  196|      0|        } /* end if */
  197|    310|    }     /* end else */
  198|       |
  199|    310|done:
  200|    310|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    310|    ;                                                                                                        \
  |  | 1573|    310|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    310|    return (ret_value);                                                                                      \
  |  | 1575|    310|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  201|    310|} /* end H5RS__prepare_for_append() */

H5Rdereference2:
  586|     15|{
  587|     15|    H5VL_object_t       *vol_obj      = NULL;                            /* Object of loc_id */
  588|     15|    H5I_type_t           vol_obj_type = H5I_BADID;                       /* Object type of loc_id */
  589|     15|    H5VL_loc_params_t    loc_params;                                     /* Location parameters */
  590|     15|    H5O_token_t          obj_token = {0};                                /* Object token */
  591|     15|    H5I_type_t           opened_type;                                    /* Opened object type */
  592|     15|    void                *opened_obj        = NULL;                       /* Opened object */
  593|     15|    const unsigned char *buf               = (const unsigned char *)ref; /* Reference pointer */
  594|     15|    bool                 is_native_vol_obj = false;           /* Whether the native VOL connector is in use */
  595|     15|    hid_t                ret_value         = H5I_INVALID_HID; /* Return value */
  ------------------
  |  |   75|     15|#define H5I_INVALID_HID (-1)
  ------------------
  596|       |
  597|     30|    FUNC_ENTER_API(H5I_INVALID_HID)
  ------------------
  |  | 1300|     15|    {                                                                                                        \
  |  | 1301|     15|        {                                                                                                    \
  |  | 1302|     15|            bool api_ctx_pushed = false;                                                                     \
  |  | 1303|     15|                                                                                                             \
  |  | 1304|     15|            FUNC_ENTER_API_COMMON                                                                            \
  |  |  ------------------
  |  |  |  | 1281|     15|    FUNC_ENTER_COMMON(H5_IS_API(__func__));                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1265|     15|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  | 1266|     15|                                                                                                             \
  |  |  |  |  |  | 1267|     15|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  ------------------
  |  |  |  | 1282|     15|    FUNC_ENTER_API_THREADSAFE;
  |  |  ------------------
  |  | 1305|     15|            FUNC_ENTER_API_INIT(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1286|     15|    if (H5_UNLIKELY(!H5_INIT_GLOBAL && !H5_TERM_GLOBAL)) {                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     15|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 15]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 15]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1287|      0|        if (H5_UNLIKELY(H5_init_library() < 0))                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      0|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1288|      0|            HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, err, "library initialization failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1289|      0|    }
  |  |  ------------------
  |  | 1306|     15|            FUNC_ENTER_API_PUSH(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1293|     15|    if (H5_UNLIKELY(H5CX_push() < 0))                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     15|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 15]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1294|     15|        HGOTO_ERROR(H5E_FUNC, H5E_CANTSET, err, "can't set API context");                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1295|     15|    else                                                                                                     \
  |  |  |  | 1296|     15|        api_ctx_pushed = true;
  |  |  ------------------
  |  | 1307|     15|            /* Clear thread error stack entering public functions */                                         \
  |  | 1308|     15|            H5E_clear_stack();                                                                               \
  |  | 1309|     15|            {
  ------------------
  598|       |
  599|       |    /* Check args */
  600|     30|    if (oapl_id < 0)
  ------------------
  |  Branch (600:9): [True: 0, False: 15]
  ------------------
  601|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, H5I_INVALID_HID, "not a property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  602|     15|    if (buf == NULL)
  ------------------
  |  Branch (602:9): [True: 0, False: 15]
  ------------------
  603|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, H5I_INVALID_HID, "invalid reference pointer");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  604|     15|    if (ref_type != H5R_OBJECT1 && ref_type != H5R_DATASET_REGION1)
  ------------------
  |  Branch (604:9): [True: 0, False: 15]
  |  Branch (604:36): [True: 0, False: 0]
  ------------------
  605|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, H5I_INVALID_HID, "invalid reference type");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  606|       |
  607|       |    /* Verify access property list and set up collective metadata if appropriate */
  608|     15|    if (H5CX_set_apl(&oapl_id, H5P_CLS_DACC, obj_id, false) < 0)
  ------------------
  |  Branch (608:9): [True: 0, False: 15]
  ------------------
  609|      0|        HGOTO_ERROR(H5E_REFERENCE, H5E_CANTSET, H5I_INVALID_HID, "can't set access property list info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  610|       |
  611|       |    /* Get the VOL object */
  612|     15|    if (NULL == (vol_obj = H5VL_vol_object(obj_id)))
  ------------------
  |  Branch (612:9): [True: 0, False: 15]
  ------------------
  613|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, H5I_INVALID_HID, "invalid file identifier");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  614|       |
  615|       |    /* Check if using native VOL connector */
  616|     15|    if (H5VL_object_is_native(vol_obj, &is_native_vol_obj) < 0)
  ------------------
  |  Branch (616:9): [True: 0, False: 15]
  ------------------
  617|      0|        HGOTO_ERROR(H5E_REFERENCE, H5E_CANTGET, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  618|     15|                    "can't determine if VOL object is native connector object");
  619|       |
  620|       |    /* Must use native VOL connector for this operation */
  621|     15|    if (!is_native_vol_obj)
  ------------------
  |  Branch (621:9): [True: 0, False: 15]
  ------------------
  622|      0|        HGOTO_ERROR(H5E_REFERENCE, H5E_VOL, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  623|     15|                    "H5Rdereference2 is only meant to be used with the native VOL connector");
  624|       |
  625|       |    /* Get object type */
  626|     15|    if ((vol_obj_type = H5I_get_type(obj_id)) < 0)
  ------------------
  |  Branch (626:9): [True: 0, False: 15]
  ------------------
  627|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, H5I_INVALID_HID, "invalid location identifier");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  628|       |
  629|       |    /* Get object token */
  630|     15|    if (H5R__decode_token_compat(vol_obj, vol_obj_type, ref_type, buf, &obj_token) < 0)
  ------------------
  |  Branch (630:9): [True: 0, False: 15]
  ------------------
  631|      0|        HGOTO_ERROR(H5E_REFERENCE, H5E_CANTDECODE, H5I_INVALID_HID, "unable to get object token");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  632|       |
  633|       |    /* Set location parameters */
  634|     15|    loc_params.type                        = H5VL_OBJECT_BY_TOKEN;
  635|     15|    loc_params.loc_data.loc_by_token.token = &obj_token;
  636|     15|    loc_params.obj_type                    = vol_obj_type;
  637|       |
  638|       |    /* Open object by token */
  639|     15|    if (NULL == (opened_obj = H5VL_object_open(vol_obj, &loc_params, &opened_type, H5P_DATASET_XFER_DEFAULT,
  ------------------
  |  |  160|     15|#define H5P_DATASET_XFER_DEFAULT (H5OPEN H5P_LST_DATASET_XFER_ID_g)
  ------------------
  |  Branch (639:9): [True: 6, False: 9]
  ------------------
  640|     15|                                               H5_REQUEST_NULL)))
  ------------------
  |  |  442|     15|#define H5_REQUEST_NULL NULL
  ------------------
  641|      6|        HGOTO_ERROR(H5E_REFERENCE, H5E_CANTOPENOBJ, H5I_INVALID_HID, "unable to open object by token");
  ------------------
  |  |   68|      6|    do {                                                                                                     \
  |  |   69|      6|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      6|    do {                                                                                                     \
  |  |  |  |   40|      6|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      6|    do {                                                                                                     \
  |  |  |  |  |  |   31|      6|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      6|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      6|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      6|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      6|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      6|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      6|    do {                                                                                                     \
  |  |  |  |   92|      6|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      6|        goto done;                                                                                           \
  |  |  |  |   94|      6|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      6|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  642|       |
  643|       |    /* Register object */
  644|      9|    if ((ret_value = H5VL_register(opened_type, opened_obj, vol_obj->connector, true)) < 0)
  ------------------
  |  Branch (644:9): [True: 0, False: 9]
  ------------------
  645|      0|        HGOTO_ERROR(H5E_REFERENCE, H5E_CANTREGISTER, H5I_INVALID_HID, "unable to register object handle");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  646|       |
  647|     15|done:
  648|     15|    FUNC_LEAVE_API(ret_value)
  ------------------
  |  | 1509|     15|    ;                                                                                                        \
  |  | 1510|     15|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1511|     15|    if (H5_LIKELY(api_ctx_pushed)) {                                                                         \
  |  |  ------------------
  |  |  |  |  167|     15|#define H5_LIKELY(expression)   __builtin_expect(!!(expression), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (167:33): [True: 15, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1512|     15|        (void)H5CX_pop(true);                                                                                \
  |  | 1513|     15|        api_ctx_pushed = false;                                                                              \
  |  | 1514|     15|    }                                                                                                        \
  |  | 1515|     15|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|     15|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 6, False: 9]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1516|     15|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1517|     15|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1518|     15|    return (ret_value);                                                                                      \
  |  | 1519|     15|    }                                                                                                        \
  |  | 1520|     15|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  649|      9|} /* end H5Rdereference2() */
H5Rdeprec.c:H5R__decode_token_compat:
   92|     15|{
   93|     15|    hid_t                 file_id      = H5I_INVALID_HID; /* File ID for region reference */
  ------------------
  |  |   75|     15|#define H5I_INVALID_HID (-1)
  ------------------
   94|     15|    H5VL_object_t        *vol_obj_file = NULL;
   95|     15|    H5VL_file_cont_info_t cont_info    = {H5VL_CONTAINER_INFO_VERSION, 0, 0, 0};
  ------------------
  |  |   37|     15|#define H5VL_CONTAINER_INFO_VERSION 0x01 /* Container info struct version */
  ------------------
   96|     15|    H5VL_file_get_args_t  vol_cb_args; /* Arguments to VOL callback */
   97|     15|    herr_t                ret_value = SUCCEED;
  ------------------
  |  |  283|     15|#define SUCCEED 0
  ------------------
   98|       |
   99|     15|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     15|    {                                                                                                        \
  |  | 1461|     15|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     15|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     15|                                                                                                             \
  |  |  |  | 1267|     15|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     15|        {
  ------------------
  100|       |
  101|       |#ifndef NDEBUG
  102|       |    {
  103|       |        bool is_native_vol_obj = false; /* Whether the src file is using the native VOL connector */
  104|       |
  105|       |        /* Check if using native VOL connector */
  106|       |        if (H5VL_object_is_native(vol_obj, &is_native_vol_obj) < 0)
  107|       |            HGOTO_ERROR(H5E_REFERENCE, H5E_CANTGET, FAIL, "can't query if file uses native VOL connector");
  108|       |
  109|       |        /* Must use native VOL connector for this operation */
  110|       |        assert(is_native_vol_obj);
  111|       |    }
  112|       |#endif /* NDEBUG */
  113|       |
  114|       |    /* Get the file for the object */
  115|     15|    if ((file_id = H5F_get_file_id(vol_obj, type, false)) < 0)
  ------------------
  |  Branch (115:9): [True: 0, False: 15]
  ------------------
  116|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a file or file object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  117|       |
  118|       |    /* Retrieve VOL object */
  119|     15|    if (NULL == (vol_obj_file = H5VL_vol_object(file_id)))
  ------------------
  |  Branch (119:9): [True: 0, False: 15]
  ------------------
  120|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid location identifier");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  121|       |
  122|       |    /* Set up VOL callback arguments */
  123|     15|    vol_cb_args.op_type                 = H5VL_FILE_GET_CONT_INFO;
  124|     15|    vol_cb_args.args.get_cont_info.info = &cont_info;
  125|       |
  126|       |    /* Get container info */
  127|     15|    if (H5VL_file_get(vol_obj_file, &vol_cb_args, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL) < 0)
  ------------------
  |  |  160|     15|#define H5P_DATASET_XFER_DEFAULT (H5OPEN H5P_LST_DATASET_XFER_ID_g)
  ------------------
                  if (H5VL_file_get(vol_obj_file, &vol_cb_args, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL) < 0)
  ------------------
  |  |  442|     15|#define H5_REQUEST_NULL NULL
  ------------------
  |  Branch (127:9): [True: 0, False: 15]
  ------------------
  128|      0|        HGOTO_ERROR(H5E_REFERENCE, H5E_CANTGET, FAIL, "unable to get container info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  129|       |
  130|     15|    if (ref_type == H5R_OBJECT1) {
  ------------------
  |  Branch (130:9): [True: 15, False: 0]
  ------------------
  131|     15|        size_t buf_size = H5R_OBJ_REF_BUF_SIZE;
  ------------------
  |  |   29|     15|#define H5R_OBJ_REF_BUF_SIZE      sizeof(haddr_t)
  ------------------
  132|       |
  133|       |        /* Get object address */
  134|     15|        if (H5R__decode_token_obj_compat(buf, &buf_size, obj_token, cont_info.token_size) < 0)
  ------------------
  |  Branch (134:13): [True: 0, False: 15]
  ------------------
  135|      0|            HGOTO_ERROR(H5E_REFERENCE, H5E_CANTDECODE, FAIL, "unable to get object token");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  136|     15|    } /* end if */
  137|      0|    else {
  138|      0|        size_t buf_size = H5R_DSET_REG_REF_BUF_SIZE;
  ------------------
  |  |   30|      0|#define H5R_DSET_REG_REF_BUF_SIZE (sizeof(haddr_t) + 4)
  ------------------
  139|      0|        H5F_t *f        = NULL;
  140|       |
  141|       |        /* Retrieve file from VOL object */
  142|      0|        if (NULL == (f = (H5F_t *)H5VL_object_data((const H5VL_object_t *)vol_obj_file)))
  ------------------
  |  Branch (142:13): [True: 0, False: 0]
  ------------------
  143|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid VOL object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  144|       |
  145|       |        /* Get object address */
  146|      0|        if (H5R__decode_token_region_compat(f, buf, &buf_size, obj_token, cont_info.token_size, NULL) < 0)
  ------------------
  |  Branch (146:13): [True: 0, False: 0]
  ------------------
  147|      0|            HGOTO_ERROR(H5E_REFERENCE, H5E_CANTDECODE, FAIL, "unable to get object address");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  148|      0|    } /* end else */
  149|       |
  150|     15|done:
  151|     15|    if (file_id != H5I_INVALID_HID && H5I_dec_ref(file_id) < 0)
  ------------------
  |  |   75|     30|#define H5I_INVALID_HID (-1)
  ------------------
  |  Branch (151:9): [True: 15, False: 0]
  |  Branch (151:39): [True: 0, False: 15]
  ------------------
  152|      0|        HDONE_ERROR(H5E_REFERENCE, H5E_CANTDEC, FAIL, "unable to decrement refcount on file");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  153|     15|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     15|    ;                                                                                                        \
  |  | 1573|     15|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     15|    return (ret_value);                                                                                      \
  |  | 1575|     15|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  154|     15|} /* end H5R__decode_token_compat() */

H5R_init:
  157|      1|{
  158|      1|    herr_t ret_value = SUCCEED;
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  159|       |
  160|      1|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      1|    {                                                                                                        \
  |  | 1425|      1|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      1|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      1|        {
  ------------------
  161|       |
  162|       |    /* Sanity check, if assert fails, H5R_REF_BUF_SIZE must be increased */
  163|      1|    HDcompile_assert(sizeof(H5R_ref_priv_t) <= H5R_REF_BUF_SIZE);
  ------------------
  |  | 1611|      1|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  ------------------
  164|       |
  165|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  166|      1|}
H5R__decode_token_obj_compat:
 1466|     15|{
 1467|     15|    herr_t ret_value = SUCCEED;
  ------------------
  |  |  283|     15|#define SUCCEED 0
  ------------------
 1468|       |
 1469|     15|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     15|    {                                                                                                        \
  |  | 1461|     15|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     15|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     15|                                                                                                             \
  |  |  |  | 1267|     15|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     15|        {
  ------------------
 1470|       |
 1471|     15|    assert(buf);
 1472|     15|    assert(nbytes);
 1473|     15|    assert(obj_token);
 1474|     15|    assert(token_size);
 1475|       |
 1476|       |    /* Don't decode if buffer size isn't big enough */
 1477|     15|    if (*nbytes < token_size)
  ------------------
  |  Branch (1477:9): [True: 0, False: 15]
  ------------------
 1478|      0|        HGOTO_ERROR(H5E_REFERENCE, H5E_CANTDECODE, FAIL, "Buffer size is too small");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1479|       |
 1480|     15|    H5MM_memcpy(obj_token, buf, token_size);
  ------------------
  |  |   41|     15|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
 1481|       |
 1482|     15|    *nbytes = token_size;
 1483|       |
 1484|     15|done:
 1485|     15|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     15|    ;                                                                                                        \
  |  | 1573|     15|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     15|    return (ret_value);                                                                                      \
  |  | 1575|     15|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1486|     15|} /* H5R__decode_token_obj_compat() */

H5S_init:
  106|      1|{
  107|      1|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  108|       |
  109|      1|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      1|    {                                                                                                        \
  |  | 1392|      1|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      1|        {
  ------------------
  110|       |
  111|       |    /* Initialize the ID group for the dataspace IDs */
  112|      1|    if (H5I_register_type(H5I_DATASPACE_CLS) < 0)
  ------------------
  |  Branch (112:9): [True: 0, False: 1]
  ------------------
  113|      0|        HGOTO_ERROR(H5E_DATASPACE, H5E_CANTINIT, FAIL, "unable to initialize dataspace ID class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  114|       |
  115|       |    /* Initialize the ID group for the dataspace selection iterator IDs */
  116|      1|    if (H5I_register_type(H5I_SPACE_SEL_ITER_CLS) < 0)
  ------------------
  |  Branch (116:9): [True: 0, False: 1]
  ------------------
  117|      0|        HGOTO_ERROR(H5E_DATASPACE, H5E_CANTINIT, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  118|      1|                    "unable to initialize dataspace selection iterator ID class");
  119|       |
  120|      1|done:
  121|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  122|      1|} /* end H5S_init() */
H5S_top_term_package:
  144|      1|{
  145|      1|    int n = 0;
  146|       |
  147|      1|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      1|    {                                                                                                        \
  |  | 1425|      1|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      1|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      1|        {
  ------------------
  148|       |
  149|      1|    if (H5I_nmembers(H5I_DATASPACE) > 0) {
  ------------------
  |  Branch (149:9): [True: 0, False: 1]
  ------------------
  150|      0|        (void)H5I_clear_type(H5I_DATASPACE, false, false);
  151|      0|        n++;
  152|      0|    }
  153|      1|    if (H5I_nmembers(H5I_SPACE_SEL_ITER) > 0) {
  ------------------
  |  Branch (153:9): [True: 0, False: 1]
  ------------------
  154|      0|        (void)H5I_clear_type(H5I_SPACE_SEL_ITER, false, false);
  155|      0|        n++;
  156|      0|    }
  157|       |
  158|      1|    FUNC_LEAVE_NOAPI(n)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  159|      1|} /* end H5S_top_term_package() */
H5S_term_package:
  183|      1|{
  184|      1|    int n = 0;
  185|       |
  186|      1|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      1|    {                                                                                                        \
  |  | 1425|      1|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      1|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      1|        {
  ------------------
  187|       |
  188|       |    /* Sanity checks */
  189|      1|    assert(0 == H5I_nmembers(H5I_DATASPACE));
  190|      1|    assert(0 == H5I_nmembers(H5I_SPACE_SEL_ITER));
  191|       |
  192|       |    /* Destroy the dataspace object id group */
  193|      1|    n += (H5I_dec_type_ref(H5I_DATASPACE) > 0);
  194|       |
  195|       |    /* Destroy the dataspace selection iterator object id group */
  196|      1|    n += (H5I_dec_type_ref(H5I_SPACE_SEL_ITER) > 0);
  197|       |
  198|      1|    FUNC_LEAVE_NOAPI(n)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  199|      1|} /* end H5S_term_package() */
H5S__extent_release:
  362|    280|{
  363|    280|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|    280|    {                                                                                                        \
  |  | 1467|    280|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|    280|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|    280|        {
  ------------------
  364|       |
  365|    280|    assert(extent);
  366|       |
  367|       |    /* Release extent */
  368|    280|    if (extent->type == H5S_SIMPLE) {
  ------------------
  |  Branch (368:9): [True: 136, False: 144]
  ------------------
  369|    136|        if (extent->size)
  ------------------
  |  Branch (369:13): [True: 136, False: 0]
  ------------------
  370|    136|            extent->size = H5FL_ARR_FREE(hsize_t, extent->size);
  ------------------
  |  |  234|    136|#define H5FL_ARR_FREE(t, obj) (t *)H5FL_arr_free(&(H5FL_ARR_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |  206|    136|#define H5FL_ARR_NAME(t) H5_##t##_arr_free_list
  |  |  ------------------
  ------------------
  371|    136|        if (extent->max)
  ------------------
  |  Branch (371:13): [True: 136, False: 0]
  ------------------
  372|    136|            extent->max = H5FL_ARR_FREE(hsize_t, extent->max);
  ------------------
  |  |  234|    136|#define H5FL_ARR_FREE(t, obj) (t *)H5FL_arr_free(&(H5FL_ARR_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |  206|    136|#define H5FL_ARR_NAME(t) H5_##t##_arr_free_list
  |  |  ------------------
  ------------------
  373|    136|    } /* end if */
  374|       |
  375|    280|    extent->rank  = 0;
  376|    280|    extent->nelem = 0;
  377|       |
  378|    280|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|    280|    ;                                                                                                        \
  |  | 1573|    280|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    280|    return (ret_value);                                                                                      \
  |  | 1575|    280|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  379|    280|} /* end H5S__extent_release() */
H5S_close:
  392|    147|{
  393|    147|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    147|#define SUCCEED 0
  ------------------
  394|       |
  395|    147|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    147|    {                                                                                                        \
  |  | 1392|    147|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    147|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    147|                                                                                                             \
  |  |  |  | 1267|    147|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    147|        {
  ------------------
  396|       |
  397|    147|    assert(ds);
  398|       |
  399|       |    /* Release selection (this should come before the extent release) */
  400|    147|    if (H5S_SELECT_RELEASE(ds) < 0)
  ------------------
  |  |  194|    147|#define H5S_SELECT_RELEASE(S)                     (H5S_select_release(S))
  ------------------
  |  Branch (400:9): [True: 0, False: 147]
  ------------------
  401|      0|        HGOTO_ERROR(H5E_DATASPACE, H5E_CANTRELEASE, FAIL, "unable to release dataspace selection");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  402|       |
  403|       |    /* Release extent */
  404|    147|    if (H5S__extent_release(&ds->extent) < 0)
  ------------------
  |  Branch (404:9): [True: 0, False: 147]
  ------------------
  405|      0|        HGOTO_ERROR(H5E_DATASPACE, H5E_CANTRELEASE, FAIL, "unable to release dataspace extent");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  406|       |
  407|    147|done:
  408|       |    /* Release the main structure.
  409|       |     * Always do this to ensure that we don't leak memory when calling this
  410|       |     * function on partially constructed dataspaces (which will fail one or
  411|       |     * both of the above calls)
  412|       |     */
  413|    147|    H5FL_FREE(H5S_t, ds);
  ------------------
  |  |   81|    147|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|    147|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  414|       |
  415|    147|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    147|    ;                                                                                                        \
  |  | 1573|    147|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    147|    return (ret_value);                                                                                      \
  |  | 1575|    147|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  416|    147|} /* end H5S_close() */
H5Sclose:
  429|     46|{
  430|     46|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     46|#define SUCCEED 0
  ------------------
  431|       |
  432|     92|    FUNC_ENTER_API(FAIL)
  ------------------
  |  | 1300|     46|    {                                                                                                        \
  |  | 1301|     46|        {                                                                                                    \
  |  | 1302|     46|            bool api_ctx_pushed = false;                                                                     \
  |  | 1303|     46|                                                                                                             \
  |  | 1304|     46|            FUNC_ENTER_API_COMMON                                                                            \
  |  |  ------------------
  |  |  |  | 1281|     46|    FUNC_ENTER_COMMON(H5_IS_API(__func__));                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1265|     46|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  | 1266|     46|                                                                                                             \
  |  |  |  |  |  | 1267|     46|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  ------------------
  |  |  |  | 1282|     46|    FUNC_ENTER_API_THREADSAFE;
  |  |  ------------------
  |  | 1305|     46|            FUNC_ENTER_API_INIT(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1286|     46|    if (H5_UNLIKELY(!H5_INIT_GLOBAL && !H5_TERM_GLOBAL)) {                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     46|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 46]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 46]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1287|      0|        if (H5_UNLIKELY(H5_init_library() < 0))                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      0|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1288|      0|            HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, err, "library initialization failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1289|      0|    }
  |  |  ------------------
  |  | 1306|     46|            FUNC_ENTER_API_PUSH(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1293|     46|    if (H5_UNLIKELY(H5CX_push() < 0))                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     46|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 46]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1294|     46|        HGOTO_ERROR(H5E_FUNC, H5E_CANTSET, err, "can't set API context");                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1295|     46|    else                                                                                                     \
  |  |  |  | 1296|     46|        api_ctx_pushed = true;
  |  |  ------------------
  |  | 1307|     46|            /* Clear thread error stack entering public functions */                                         \
  |  | 1308|     46|            H5E_clear_stack();                                                                               \
  |  | 1309|     46|            {
  ------------------
  433|       |
  434|       |    /* Check args */
  435|     92|    if (NULL == H5I_object_verify(space_id, H5I_DATASPACE))
  ------------------
  |  Branch (435:9): [True: 3, False: 43]
  ------------------
  436|      3|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a dataspace");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  437|       |
  438|       |    /* When the reference count reaches zero the resources are freed */
  439|     43|    if (H5I_dec_app_ref(space_id) < 0)
  ------------------
  |  Branch (439:9): [True: 0, False: 43]
  ------------------
  440|      0|        HGOTO_ERROR(H5E_DATASPACE, H5E_CANTDEC, FAIL, "problem freeing id");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  441|       |
  442|     46|done:
  443|     46|    FUNC_LEAVE_API(ret_value)
  ------------------
  |  | 1509|     46|    ;                                                                                                        \
  |  | 1510|     46|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1511|     46|    if (H5_LIKELY(api_ctx_pushed)) {                                                                         \
  |  |  ------------------
  |  |  |  |  167|     46|#define H5_LIKELY(expression)   __builtin_expect(!!(expression), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (167:33): [True: 46, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1512|     46|        (void)H5CX_pop(true);                                                                                \
  |  | 1513|     46|        api_ctx_pushed = false;                                                                              \
  |  | 1514|     46|    }                                                                                                        \
  |  | 1515|     46|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|     46|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 3, False: 43]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1516|     46|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1517|     46|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1518|     46|    return (ret_value);                                                                                      \
  |  | 1519|     46|    }                                                                                                        \
  |  | 1520|     46|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  444|     43|} /* end H5Sclose() */
H5S__extent_copy_real:
  562|     95|{
  563|     95|    unsigned u;
  564|     95|    herr_t   ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     95|#define SUCCEED 0
  ------------------
  565|       |
  566|     95|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     95|    {                                                                                                        \
  |  | 1461|     95|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     95|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     95|                                                                                                             \
  |  |  |  | 1267|     95|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     95|        {
  ------------------
  567|       |
  568|       |    /* Release destination extent before we copy over it */
  569|     95|    if (H5S__extent_release(dst) < 0)
  ------------------
  |  Branch (569:9): [True: 0, False: 95]
  ------------------
  570|      0|        HGOTO_ERROR(H5E_DATASPACE, H5E_CANTRELEASE, FAIL, "unable to release dataspace extent");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  571|       |
  572|       |    /* Copy the regular fields */
  573|     95|    dst->type    = src->type;
  574|     95|    dst->version = src->version;
  575|     95|    dst->nelem   = src->nelem;
  576|     95|    dst->rank    = src->rank;
  577|       |
  578|     95|    switch (src->type) {
  579|      0|        case H5S_NULL:
  ------------------
  |  Branch (579:9): [True: 0, False: 95]
  ------------------
  580|      0|        case H5S_SCALAR:
  ------------------
  |  Branch (580:9): [True: 0, False: 95]
  ------------------
  581|      0|            dst->size = NULL;
  582|      0|            dst->max  = NULL;
  583|      0|            break;
  584|       |
  585|     95|        case H5S_SIMPLE:
  ------------------
  |  Branch (585:9): [True: 95, False: 0]
  ------------------
  586|     95|            if (src->size) {
  ------------------
  |  Branch (586:17): [True: 95, False: 0]
  ------------------
  587|     95|                dst->size = (hsize_t *)H5FL_ARR_MALLOC(hsize_t, (size_t)src->rank);
  ------------------
  |  |  228|     95|#define H5FL_ARR_MALLOC(t, elem) H5FL_arr_malloc(&(H5FL_ARR_NAME(t)), (elem))
  |  |  ------------------
  |  |  |  |  206|     95|#define H5FL_ARR_NAME(t) H5_##t##_arr_free_list
  |  |  ------------------
  ------------------
  588|    276|                for (u = 0; u < src->rank; u++)
  ------------------
  |  Branch (588:29): [True: 181, False: 95]
  ------------------
  589|    181|                    dst->size[u] = src->size[u];
  590|     95|            } /* end if */
  591|      0|            else
  592|      0|                dst->size = NULL;
  593|     95|            if (copy_max && src->max) {
  ------------------
  |  Branch (593:17): [True: 95, False: 0]
  |  Branch (593:29): [True: 95, False: 0]
  ------------------
  594|     95|                dst->max = (hsize_t *)H5FL_ARR_MALLOC(hsize_t, (size_t)src->rank);
  ------------------
  |  |  228|     95|#define H5FL_ARR_MALLOC(t, elem) H5FL_arr_malloc(&(H5FL_ARR_NAME(t)), (elem))
  |  |  ------------------
  |  |  |  |  206|     95|#define H5FL_ARR_NAME(t) H5_##t##_arr_free_list
  |  |  ------------------
  ------------------
  595|    276|                for (u = 0; u < src->rank; u++)
  ------------------
  |  Branch (595:29): [True: 181, False: 95]
  ------------------
  596|    181|                    dst->max[u] = src->max[u];
  597|     95|            } /* end if */
  598|      0|            else
  599|      0|                dst->max = NULL;
  600|     95|            break;
  601|       |
  602|      0|        case H5S_NO_CLASS:
  ------------------
  |  Branch (602:9): [True: 0, False: 95]
  ------------------
  603|      0|        default:
  ------------------
  |  Branch (603:9): [True: 0, False: 95]
  ------------------
  604|      0|            assert("unknown dataspace type" && 0);
  605|      0|            break;
  606|     95|    } /* end switch */
  607|       |
  608|       |    /* Copy the shared object info */
  609|     95|    if (H5O_set_shared(&(dst->sh_loc), &(src->sh_loc)) < 0)
  ------------------
  |  Branch (609:9): [True: 0, False: 95]
  ------------------
  610|      0|        HGOTO_ERROR(H5E_DATASPACE, H5E_CANTCOPY, FAIL, "can't copy shared information");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  611|       |
  612|     95|done:
  613|     95|    if (ret_value < 0)
  ------------------
  |  Branch (613:9): [True: 0, False: 95]
  ------------------
  614|      0|        if (dst->size)
  ------------------
  |  Branch (614:13): [True: 0, False: 0]
  ------------------
  615|      0|            dst->size = H5FL_ARR_FREE(hsize_t, dst->size);
  ------------------
  |  |  234|      0|#define H5FL_ARR_FREE(t, obj) (t *)H5FL_arr_free(&(H5FL_ARR_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |  206|      0|#define H5FL_ARR_NAME(t) H5_##t##_arr_free_list
  |  |  ------------------
  ------------------
  616|       |
  617|     95|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     95|    ;                                                                                                        \
  |  | 1573|     95|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     95|    return (ret_value);                                                                                      \
  |  | 1575|     95|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  618|     95|} /* end H5S__extent_copy_real() */
H5S_copy:
  638|     43|{
  639|     43|    H5S_t *dst       = NULL;
  640|     43|    H5S_t *ret_value = NULL; /* Return value */
  641|       |
  642|     43|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|     43|    {                                                                                                        \
  |  | 1392|     43|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     43|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     43|                                                                                                             \
  |  |  |  | 1267|     43|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     43|        {
  ------------------
  643|       |
  644|     43|    if (NULL == (dst = H5FL_CALLOC(H5S_t)))
  ------------------
  |  |   78|     43|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|     43|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (644:9): [True: 0, False: 43]
  ------------------
  645|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  646|       |
  647|       |    /* Copy the source dataspace's extent */
  648|     43|    if (H5S__extent_copy_real(&(dst->extent), &(src->extent), copy_max) < 0)
  ------------------
  |  Branch (648:9): [True: 0, False: 43]
  ------------------
  649|      0|        HGOTO_ERROR(H5E_DATASPACE, H5E_CANTCOPY, NULL, "can't copy extent");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  650|       |
  651|       |    /* Copy the source dataspace's selection */
  652|     43|    if (H5S_select_copy(dst, src, share_selection) < 0)
  ------------------
  |  Branch (652:9): [True: 0, False: 43]
  ------------------
  653|      0|        HGOTO_ERROR(H5E_DATASPACE, H5E_CANTCOPY, NULL, "can't copy select");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  654|       |
  655|       |    /* Set the return value */
  656|     43|    ret_value = dst;
  657|       |
  658|     43|done:
  659|     43|    if (NULL == ret_value)
  ------------------
  |  Branch (659:9): [True: 0, False: 43]
  ------------------
  660|      0|        if (dst)
  ------------------
  |  Branch (660:13): [True: 0, False: 0]
  ------------------
  661|      0|            dst = H5FL_FREE(H5S_t, dst);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  662|       |
  663|     43|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     43|    ;                                                                                                        \
  |  | 1573|     43|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     43|    return (ret_value);                                                                                      \
  |  | 1575|     43|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  664|     43|} /* end H5S_copy() */
H5S_get_simple_extent_npoints:
  683|    168|{
  684|    168|    hssize_t ret_value = -1; /* Return value */
  685|       |
  686|    168|    FUNC_ENTER_NOAPI_NOERR
  ------------------
  |  | 1397|    168|    {                                                                                                        \
  |  | 1398|    168|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    168|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1399|    168|        {
  ------------------
  687|       |
  688|       |    /* check args */
  689|    168|    assert(ds);
  690|       |
  691|       |    /* Get the number of elements in extent */
  692|    168|    ret_value = (hssize_t)ds->extent.nelem;
  693|       |
  694|    168|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    168|    ;                                                                                                        \
  |  | 1573|    168|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    168|    return (ret_value);                                                                                      \
  |  | 1575|    168|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  695|    168|} /* end H5S_get_simple_extent_npoints() */
H5Sget_simple_extent_ndims:
  798|     46|{
  799|     46|    H5S_t *ds;
  800|     46|    int    ret_value = -1;
  801|       |
  802|     92|    FUNC_ENTER_API((-1))
  ------------------
  |  | 1300|     46|    {                                                                                                        \
  |  | 1301|     46|        {                                                                                                    \
  |  | 1302|     46|            bool api_ctx_pushed = false;                                                                     \
  |  | 1303|     46|                                                                                                             \
  |  | 1304|     46|            FUNC_ENTER_API_COMMON                                                                            \
  |  |  ------------------
  |  |  |  | 1281|     46|    FUNC_ENTER_COMMON(H5_IS_API(__func__));                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1265|     46|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  | 1266|     46|                                                                                                             \
  |  |  |  |  |  | 1267|     46|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  ------------------
  |  |  |  | 1282|     46|    FUNC_ENTER_API_THREADSAFE;
  |  |  ------------------
  |  | 1305|     46|            FUNC_ENTER_API_INIT(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1286|     46|    if (H5_UNLIKELY(!H5_INIT_GLOBAL && !H5_TERM_GLOBAL)) {                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     46|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 46]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 46]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1287|      0|        if (H5_UNLIKELY(H5_init_library() < 0))                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      0|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1288|      0|            HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, err, "library initialization failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1289|      0|    }
  |  |  ------------------
  |  | 1306|     46|            FUNC_ENTER_API_PUSH(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1293|     46|    if (H5_UNLIKELY(H5CX_push() < 0))                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     46|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 46]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1294|     46|        HGOTO_ERROR(H5E_FUNC, H5E_CANTSET, err, "can't set API context");                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1295|     46|    else                                                                                                     \
  |  |  |  | 1296|     46|        api_ctx_pushed = true;
  |  |  ------------------
  |  | 1307|     46|            /* Clear thread error stack entering public functions */                                         \
  |  | 1308|     46|            H5E_clear_stack();                                                                               \
  |  | 1309|     46|            {
  ------------------
  803|       |
  804|       |    /* Check args */
  805|     92|    if (NULL == (ds = (H5S_t *)H5I_object_verify(space_id, H5I_DATASPACE)))
  ------------------
  |  Branch (805:9): [True: 3, False: 43]
  ------------------
  806|      3|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, (-1), "not a dataspace");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  807|       |
  808|     43|    ret_value = (int)H5S_GET_EXTENT_NDIMS(ds);
  ------------------
  |  |  135|     43|#define H5S_GET_EXTENT_NDIMS(S)                 ((S)->extent.rank)
  ------------------
  809|       |
  810|     46|done:
  811|     46|    FUNC_LEAVE_API(ret_value)
  ------------------
  |  | 1509|     46|    ;                                                                                                        \
  |  | 1510|     46|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1511|     46|    if (H5_LIKELY(api_ctx_pushed)) {                                                                         \
  |  |  ------------------
  |  |  |  |  167|     46|#define H5_LIKELY(expression)   __builtin_expect(!!(expression), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (167:33): [True: 46, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1512|     46|        (void)H5CX_pop(true);                                                                                \
  |  | 1513|     46|        api_ctx_pushed = false;                                                                              \
  |  | 1514|     46|    }                                                                                                        \
  |  | 1515|     46|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|     46|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 3, False: 43]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1516|     46|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1517|     46|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1518|     46|    return (ret_value);                                                                                      \
  |  | 1519|     46|    }                                                                                                        \
  |  | 1520|     46|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  812|     43|} /* end H5Sget_simple_extent_ndims() */
H5S_get_simple_extent_ndims:
  832|     62|{
  833|     62|    int ret_value = -1; /* Return value */
  834|       |
  835|     62|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     62|    {                                                                                                        \
  |  | 1392|     62|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     62|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     62|                                                                                                             \
  |  |  |  | 1267|     62|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     62|        {
  ------------------
  836|       |
  837|       |    /* check args */
  838|     62|    assert(ds);
  839|       |
  840|     62|    switch (H5S_GET_EXTENT_TYPE(ds)) {
  ------------------
  |  |  134|     62|#define H5S_GET_EXTENT_TYPE(S)                  ((S)->extent.type)
  ------------------
  841|      0|        case H5S_NULL:
  ------------------
  |  Branch (841:9): [True: 0, False: 62]
  ------------------
  842|      0|        case H5S_SCALAR:
  ------------------
  |  Branch (842:9): [True: 0, False: 62]
  ------------------
  843|     62|        case H5S_SIMPLE:
  ------------------
  |  Branch (843:9): [True: 62, False: 0]
  ------------------
  844|     62|            ret_value = (int)ds->extent.rank;
  845|     62|            break;
  846|       |
  847|      0|        case H5S_NO_CLASS:
  ------------------
  |  Branch (847:9): [True: 0, False: 62]
  ------------------
  848|      0|        default:
  ------------------
  |  Branch (848:9): [True: 0, False: 62]
  ------------------
  849|      0|            assert("unknown dataspace class" && 0);
  850|      0|            HGOTO_ERROR(H5E_DATASPACE, H5E_UNSUPPORTED, FAIL, "internal error (unknown dataspace class)");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  851|     62|    } /* end switch */
  852|       |
  853|     62|done:
  854|     62|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     62|    ;                                                                                                        \
  |  | 1573|     62|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     62|    return (ret_value);                                                                                      \
  |  | 1575|     62|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  855|     62|} /* end H5S_get_simple_extent_ndims() */
H5Sget_simple_extent_dims:
  872|     43|{
  873|     43|    H5S_t *ds;
  874|     43|    int    ret_value = -1;
  875|       |
  876|     86|    FUNC_ENTER_API((-1))
  ------------------
  |  | 1300|     43|    {                                                                                                        \
  |  | 1301|     43|        {                                                                                                    \
  |  | 1302|     43|            bool api_ctx_pushed = false;                                                                     \
  |  | 1303|     43|                                                                                                             \
  |  | 1304|     43|            FUNC_ENTER_API_COMMON                                                                            \
  |  |  ------------------
  |  |  |  | 1281|     43|    FUNC_ENTER_COMMON(H5_IS_API(__func__));                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1265|     43|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  | 1266|     43|                                                                                                             \
  |  |  |  |  |  | 1267|     43|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  ------------------
  |  |  |  | 1282|     43|    FUNC_ENTER_API_THREADSAFE;
  |  |  ------------------
  |  | 1305|     43|            FUNC_ENTER_API_INIT(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1286|     43|    if (H5_UNLIKELY(!H5_INIT_GLOBAL && !H5_TERM_GLOBAL)) {                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     43|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 43]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 43]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1287|      0|        if (H5_UNLIKELY(H5_init_library() < 0))                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      0|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1288|      0|            HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, err, "library initialization failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1289|      0|    }
  |  |  ------------------
  |  | 1306|     43|            FUNC_ENTER_API_PUSH(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1293|     43|    if (H5_UNLIKELY(H5CX_push() < 0))                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     43|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 43]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1294|     43|        HGOTO_ERROR(H5E_FUNC, H5E_CANTSET, err, "can't set API context");                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1295|     43|    else                                                                                                     \
  |  |  |  | 1296|     43|        api_ctx_pushed = true;
  |  |  ------------------
  |  | 1307|     43|            /* Clear thread error stack entering public functions */                                         \
  |  | 1308|     43|            H5E_clear_stack();                                                                               \
  |  | 1309|     43|            {
  ------------------
  877|       |
  878|       |    /* Check args */
  879|     86|    if (NULL == (ds = (H5S_t *)H5I_object_verify(space_id, H5I_DATASPACE)))
  ------------------
  |  Branch (879:9): [True: 0, False: 43]
  ------------------
  880|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, (-1), "not a dataspace");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  881|       |
  882|     43|    ret_value = H5S_get_simple_extent_dims(ds, dims, maxdims);
  883|       |
  884|     43|done:
  885|     43|    FUNC_LEAVE_API(ret_value)
  ------------------
  |  | 1509|     43|    ;                                                                                                        \
  |  | 1510|     43|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1511|     43|    if (H5_LIKELY(api_ctx_pushed)) {                                                                         \
  |  |  ------------------
  |  |  |  |  167|     43|#define H5_LIKELY(expression)   __builtin_expect(!!(expression), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (167:33): [True: 43, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1512|     43|        (void)H5CX_pop(true);                                                                                \
  |  | 1513|     43|        api_ctx_pushed = false;                                                                              \
  |  | 1514|     43|    }                                                                                                        \
  |  | 1515|     43|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|     43|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 0, False: 43]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1516|     43|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1517|     43|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1518|     43|    return (ret_value);                                                                                      \
  |  | 1519|     43|    }                                                                                                        \
  |  | 1520|     43|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  886|     43|} /* end H5Sget_simple_extent_dims() */
H5S_extent_get_dims:
  901|     95|{
  902|     95|    int i;              /* Local index variable */
  903|     95|    int ret_value = -1; /* Return value */
  904|       |
  905|     95|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     95|    {                                                                                                        \
  |  | 1392|     95|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     95|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     95|                                                                                                             \
  |  |  |  | 1267|     95|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     95|        {
  ------------------
  906|       |
  907|       |    /* check args */
  908|     95|    assert(ext);
  909|       |
  910|     95|    switch (ext->type) {
  911|      0|        case H5S_NULL:
  ------------------
  |  Branch (911:9): [True: 0, False: 95]
  ------------------
  912|      0|        case H5S_SCALAR:
  ------------------
  |  Branch (912:9): [True: 0, False: 95]
  ------------------
  913|      0|            ret_value = 0;
  914|      0|            break;
  915|       |
  916|     95|        case H5S_SIMPLE:
  ------------------
  |  Branch (916:9): [True: 95, False: 0]
  ------------------
  917|     95|            ret_value = (int)ext->rank;
  918|    276|            for (i = 0; i < ret_value; i++) {
  ------------------
  |  Branch (918:25): [True: 181, False: 95]
  ------------------
  919|    181|                if (dims)
  ------------------
  |  Branch (919:21): [True: 181, False: 0]
  ------------------
  920|    181|                    dims[i] = ext->size[i];
  921|    181|                if (max_dims) {
  ------------------
  |  Branch (921:21): [True: 101, False: 80]
  ------------------
  922|    101|                    if (ext->max)
  ------------------
  |  Branch (922:25): [True: 101, False: 0]
  ------------------
  923|    101|                        max_dims[i] = ext->max[i];
  924|      0|                    else
  925|      0|                        max_dims[i] = ext->size[i];
  926|    101|                } /* end if */
  927|    181|            }     /* end for */
  928|     95|            break;
  929|       |
  930|      0|        case H5S_NO_CLASS:
  ------------------
  |  Branch (930:9): [True: 0, False: 95]
  ------------------
  931|      0|        default:
  ------------------
  |  Branch (931:9): [True: 0, False: 95]
  ------------------
  932|      0|            assert("unknown dataspace class" && 0);
  933|      0|            HGOTO_ERROR(H5E_DATASPACE, H5E_UNSUPPORTED, FAIL, "internal error (unknown dataspace class)");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  934|     95|    } /* end switch */
  935|       |
  936|     95|done:
  937|     95|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     95|    ;                                                                                                        \
  |  | 1573|     95|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     95|    return (ret_value);                                                                                      \
  |  | 1575|     95|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  938|     95|} /* end H5S_extent_get_dims() */
H5S_get_simple_extent_dims:
  953|     95|{
  954|     95|    int ret_value = -1; /* Return value */
  955|       |
  956|     95|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     95|    {                                                                                                        \
  |  | 1392|     95|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     95|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     95|                                                                                                             \
  |  |  |  | 1267|     95|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     95|        {
  ------------------
  957|       |
  958|       |    /* check args */
  959|     95|    assert(ds);
  960|       |
  961|       |    /* Get dims for extent */
  962|     95|    if ((ret_value = H5S_extent_get_dims(&ds->extent, dims, max_dims)) < 0)
  ------------------
  |  Branch (962:9): [True: 0, False: 95]
  ------------------
  963|      0|        HGOTO_ERROR(H5E_DATASPACE, H5E_CANTGET, FAIL, "can't retrieve dataspace extent dims");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  964|       |
  965|     95|done:
  966|     95|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     95|    ;                                                                                                        \
  |  | 1573|     95|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     95|    return (ret_value);                                                                                      \
  |  | 1575|     95|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  967|     95|} /* end H5S_get_simple_extent_dims() */
H5S_read:
 1041|     52|{
 1042|     52|    H5S_t *ds        = NULL; /* Dataspace to return */
 1043|     52|    H5S_t *ret_value = NULL; /* Return value */
 1044|       |
 1045|     52|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|     52|    {                                                                                                        \
  |  | 1392|     52|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     52|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     52|                                                                                                             \
  |  |  |  | 1267|     52|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     52|        {
  ------------------
 1046|       |
 1047|       |    /* check args */
 1048|     52|    assert(loc);
 1049|       |
 1050|     52|    if (NULL == (ds = H5FL_CALLOC(H5S_t)))
  ------------------
  |  |   78|     52|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|     52|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (1050:9): [True: 0, False: 52]
  ------------------
 1051|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1052|       |
 1053|     52|    if (NULL == H5O_msg_read(loc, H5O_SDSPACE_ID, &(ds->extent)))
  ------------------
  |  |  207|     52|#define H5O_SDSPACE_ID     0x0001 /* Dataspace Message. */
  ------------------
  |  Branch (1053:9): [True: 0, False: 52]
  ------------------
 1054|      0|        HGOTO_ERROR(H5E_DATASPACE, H5E_CANTINIT, NULL, "unable to load dataspace info from dataset header");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1055|       |
 1056|       |    /* Default to entire dataspace being selected */
 1057|     52|    if (H5S_select_all(ds, false) < 0)
  ------------------
  |  Branch (1057:9): [True: 0, False: 52]
  ------------------
 1058|      0|        HGOTO_ERROR(H5E_DATASPACE, H5E_CANTSET, NULL, "unable to set all selection");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1059|       |
 1060|       |    /* Set the value for successful return */
 1061|     52|    ret_value = ds;
 1062|       |
 1063|     52|done:
 1064|     52|    if (ret_value == NULL)
  ------------------
  |  Branch (1064:9): [True: 0, False: 52]
  ------------------
 1065|      0|        if (ds != NULL)
  ------------------
  |  Branch (1065:13): [True: 0, False: 0]
  ------------------
 1066|      0|            ds = H5FL_FREE(H5S_t, ds);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 1067|       |
 1068|     52|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     52|    ;                                                                                                        \
  |  | 1573|     52|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     52|    return (ret_value);                                                                                      \
  |  | 1575|     52|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1069|     52|} /* end H5S_read() */
H5S_has_extent:
 1760|     62|{
 1761|     62|    bool ret_value = false; /* Return value */
 1762|       |
 1763|     62|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|     62|    {                                                                                                        \
  |  | 1425|     62|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|     62|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|     62|        {
  ------------------
 1764|       |
 1765|     62|    assert(ds);
 1766|       |
 1767|     62|    if (0 == ds->extent.rank && 0 == ds->extent.nelem && H5S_NULL != ds->extent.type)
  ------------------
  |  Branch (1767:9): [True: 0, False: 62]
  |  Branch (1767:33): [True: 0, False: 0]
  |  Branch (1767:58): [True: 0, False: 0]
  ------------------
 1768|      0|        ret_value = false;
 1769|     62|    else
 1770|     62|        ret_value = true;
 1771|       |
 1772|     62|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     62|    ;                                                                                                        \
  |  | 1573|     62|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     62|    return (ret_value);                                                                                      \
  |  | 1575|     62|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1773|     62|} /* end H5S_has_extent() */
H5S.c:H5S__close_cb:
  212|     43|{
  213|     43|    H5S_t *space     = (H5S_t *)_space; /* The dataspace to close */
  214|     43|    herr_t ret_value = SUCCEED;         /* Return value */
  ------------------
  |  |  283|     43|#define SUCCEED 0
  ------------------
  215|       |
  216|     43|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     43|    {                                                                                                        \
  |  | 1461|     43|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     43|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     43|                                                                                                             \
  |  |  |  | 1267|     43|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     43|        {
  ------------------
  217|       |
  218|       |    /* Sanity check */
  219|     43|    assert(space);
  220|       |
  221|       |    /* Close the dataspace object */
  222|     43|    if (H5S_close(space) < 0)
  ------------------
  |  Branch (222:9): [True: 0, False: 43]
  ------------------
  223|      0|        HGOTO_ERROR(H5E_DATASPACE, H5E_CLOSEERROR, FAIL, "unable to close dataspace");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  224|       |
  225|     43|done:
  226|     43|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     43|    ;                                                                                                        \
  |  | 1573|     43|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     43|    return (ret_value);                                                                                      \
  |  | 1575|     43|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  227|     43|} /* end H5S__close_cb() */

H5SL_init:
  534|      1|{
  535|      1|    herr_t ret_value = SUCCEED;
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  536|       |
  537|      1|    FUNC_ENTER_NOAPI_NOERR
  ------------------
  |  | 1397|      1|    {                                                                                                        \
  |  | 1398|      1|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      1|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1399|      1|        {
  ------------------
  538|       |
  539|       |    /* Allocate space for array of factories */
  540|      1|    H5SL_fac_g = (H5FL_fac_head_t **)H5MM_malloc(sizeof(H5FL_fac_head_t *));
  ------------------
  |  |   38|      1|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  541|      1|    assert(H5SL_fac_g);
  542|      1|    H5SL_fac_nalloc_g = 1;
  543|       |
  544|       |    /* Initialize first factory */
  545|      1|    H5SL_fac_g[0] = H5FL_fac_init(sizeof(H5SL_node_t *));
  546|      1|    assert(H5SL_fac_g[0]);
  547|      1|    H5SL_fac_nused_g = 1;
  548|       |
  549|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  550|      1|}
H5SL_term_package:
  573|      2|{
  574|      2|    int n = 0;
  575|       |
  576|      2|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      2|    {                                                                                                        \
  |  | 1425|      2|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      2|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      2|        {
  ------------------
  577|       |
  578|       |    /* Terminate all the factories */
  579|      2|    if (H5SL_fac_nused_g > 0) {
  ------------------
  |  Branch (579:9): [True: 1, False: 1]
  ------------------
  580|      1|        size_t                       i;
  581|      1|        herr_t H5_ATTR_NDEBUG_UNUSED ret;
  582|       |
  583|      5|        for (i = 0; i < H5SL_fac_nused_g; i++) {
  ------------------
  |  Branch (583:21): [True: 4, False: 1]
  ------------------
  584|      4|            ret = H5FL_fac_term(H5SL_fac_g[i]);
  585|      4|            assert(ret >= 0);
  586|      4|        }
  587|      1|        H5SL_fac_nused_g = 0;
  588|       |
  589|      1|        n++;
  590|      1|    }
  591|       |
  592|       |    /* Free the list of factories */
  593|      2|    if (H5SL_fac_g) {
  ------------------
  |  Branch (593:9): [True: 1, False: 1]
  ------------------
  594|      1|        H5SL_fac_g        = (H5FL_fac_head_t **)H5MM_xfree((void *)H5SL_fac_g);
  595|      1|        H5SL_fac_nalloc_g = 0;
  596|       |
  597|      1|        n++;
  598|      1|    }
  599|       |
  600|      2|    FUNC_LEAVE_NOAPI(n)
  ------------------
  |  | 1572|      2|    ;                                                                                                        \
  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  601|      2|} /* H5SL_term_package() */
H5SL_create:
  917|    756|{
  918|    756|    H5SL_t      *new_slist = NULL; /* Pointer to new skip list object created */
  919|    756|    H5SL_node_t *header;           /* Pointer to skip list header node */
  920|    756|    H5SL_t      *ret_value = NULL; /* Return value */
  921|       |
  922|    756|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|    756|    {                                                                                                        \
  |  | 1392|    756|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    756|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    756|                                                                                                             \
  |  |  |  | 1267|    756|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    756|        {
  ------------------
  923|       |
  924|       |    /* Check args */
  925|    756|    assert(type >= H5SL_TYPE_INT && type <= H5SL_TYPE_GENERIC);
  926|       |
  927|       |    /* Allocate skip list structure */
  928|    756|    if (NULL == (new_slist = H5FL_MALLOC(H5SL_t)))
  ------------------
  |  |   75|    756|#define H5FL_MALLOC(t) (t *)H5FL_reg_malloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|    756|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (928:9): [True: 0, False: 756]
  ------------------
  929|      0|        HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  930|       |
  931|       |    /* Set the static internal fields */
  932|    756|    new_slist->type = type;
  933|    756|    assert((type == H5SL_TYPE_GENERIC) == !!cmp);
  934|    756|    new_slist->cmp = cmp;
  935|       |
  936|       |    /* Set the dynamic internal fields */
  937|    756|    new_slist->curr_level = -1;
  938|    756|    new_slist->nobjs      = 0;
  939|       |
  940|       |    /* Allocate the header node */
  941|    756|    if (NULL == (header = H5SL__new_node(NULL, NULL, (uint32_t)ULONG_MAX)))
  ------------------
  |  Branch (941:9): [True: 0, False: 756]
  ------------------
  942|      0|        HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "can't create new skip list node");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  943|       |
  944|       |    /* Initialize header node's forward pointer */
  945|    756|    header->forward[0] = NULL;
  946|       |
  947|       |    /* Initialize header node's backward pointer */
  948|    756|    header->backward = NULL;
  949|       |
  950|       |    /* Attach the header */
  951|    756|    new_slist->header = header;
  952|    756|    new_slist->last   = header;
  953|       |
  954|       |    /* Set the return value */
  955|    756|    ret_value = new_slist;
  956|       |
  957|    756|done:
  958|       |    /* Error cleanup */
  959|    756|    if (ret_value == NULL) {
  ------------------
  |  Branch (959:9): [True: 0, False: 756]
  ------------------
  960|      0|        if (new_slist != NULL)
  ------------------
  |  Branch (960:13): [True: 0, False: 0]
  ------------------
  961|      0|            new_slist = H5FL_FREE(H5SL_t, new_slist);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  962|      0|    }
  963|       |
  964|    756|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    756|    ;                                                                                                        \
  |  | 1573|    756|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    756|    return (ret_value);                                                                                      \
  |  | 1575|    756|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  965|    756|} /* end H5SL_create() */
H5SL_count:
  987|    686|{
  988|    686|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|    686|    {                                                                                                        \
  |  | 1425|    686|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    686|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|    686|        {
  ------------------
  989|       |
  990|       |    /* Check args */
  991|    686|    assert(slist);
  992|       |
  993|       |    /* Check internal consistency */
  994|       |    /* (Pre-condition) */
  995|       |
  996|    686|    FUNC_LEAVE_NOAPI(slist->nobjs)
  ------------------
  |  | 1572|    686|    ;                                                                                                        \
  |  | 1573|    686|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    686|    return (ret_value);                                                                                      \
  |  | 1575|    686|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  997|    686|} /* end H5SL_count() */
H5SL_insert:
 1022|  4.95k|{
 1023|  4.95k|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|  4.95k|#define SUCCEED 0
  ------------------
 1024|       |
 1025|  4.95k|    FUNC_ENTER_NOAPI_NOINIT
  ------------------
  |  | 1410|  4.95k|    {                                                                                                        \
  |  | 1411|  4.95k|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|  4.95k|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|  4.95k|                                                                                                             \
  |  |  |  | 1267|  4.95k|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1412|  4.95k|        {
  ------------------
 1026|       |
 1027|       |    /* Check args */
 1028|  4.95k|    assert(slist);
 1029|  4.95k|    assert(key);
 1030|       |
 1031|       |    /* Check internal consistency */
 1032|       |    /* (Pre-condition) */
 1033|       |
 1034|       |    /* Insert item into skip list */
 1035|  4.95k|    if (NULL == H5SL__insert_common(slist, item, key))
  ------------------
  |  Branch (1035:9): [True: 0, False: 4.95k]
  ------------------
 1036|      0|        HGOTO_ERROR(H5E_SLIST, H5E_CANTINSERT, FAIL, "can't create new skip list node");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1037|       |
 1038|  4.95k|done:
 1039|  4.95k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  4.95k|    ;                                                                                                        \
  |  | 1573|  4.95k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  4.95k|    return (ret_value);                                                                                      \
  |  | 1575|  4.95k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1040|  4.95k|} /* end H5SL_insert() */
H5SL_remove:
 1109|    286|{
 1110|    286|    H5SL_node_t *x;                /* Current node to examine */
 1111|    286|    uint32_t     hashval   = 0;    /* Hash value for key */
 1112|    286|    void        *ret_value = NULL; /* Return value */
 1113|       |
 1114|    286|    FUNC_ENTER_NOAPI_NOINIT
  ------------------
  |  | 1410|    286|    {                                                                                                        \
  |  | 1411|    286|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    286|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    286|                                                                                                             \
  |  |  |  | 1267|    286|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1412|    286|        {
  ------------------
 1115|       |
 1116|       |    /* Check args */
 1117|    286|    assert(slist);
 1118|    286|    assert(key);
 1119|       |
 1120|       |    /* Check internal consistency */
 1121|       |    /* (Pre-condition) */
 1122|       |
 1123|       |    /* Remove item from skip list */
 1124|       |
 1125|       |    /* Work through the forward pointers for a node, finding the node at each
 1126|       |     * level that is before the location to remove
 1127|       |     */
 1128|    286|    x = slist->header;
 1129|    286|    switch (slist->type) {
 1130|      0|        case H5SL_TYPE_INT:
  ------------------
  |  Branch (1130:9): [True: 0, False: 286]
  ------------------
 1131|      0|            H5SL_REMOVE(SCALAR, slist, x, const int, key, -)
  ------------------
  |  |  310|      0|    {                                                                                                        \
  |  |  311|      0|        H5SL_node_t *_last  = X;             /* Lowest node in the current gap */                            \
  |  |  312|      0|        H5SL_node_t *_llast = X;             /* Lowest node in the previous gap */                           \
  |  |  313|      0|        H5SL_node_t *_next  = NULL;          /* Highest node in the current gap */                           \
  |  |  314|      0|        H5SL_node_t *_drop  = NULL;          /* Low node of the gap to drop into */                          \
  |  |  315|      0|        H5SL_node_t *_ldrop = NULL;          /* Low node of gap before the one to drop into */               \
  |  |  316|      0|        H5SL_node_t *_head  = SLIST->header; /* Head of the skip list */                                     \
  |  |  317|      0|        int          _count;                 /* Number of nodes in the current gap */                        \
  |  |  318|      0|        int          _i = (int)SLIST->curr_level;                                                            \
  |  |  319|      0|                                                                                                             \
  |  |  320|      0|        if (_i < 0)                                                                                          \
  |  |  ------------------
  |  |  |  Branch (320:13): [True: 0, False: 0]
  |  |  ------------------
  |  |  321|      0|            HGOTO_DONE(NULL);                                                                                \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  322|      0|                                                                                                             \
  |  |  323|      0|        H5_GLUE3(H5SL_LOCATE_, CMP, _HASHINIT)                                                               \
  |  |  324|      0|        (KEY, HASHVAL)                                                                                       \
  |  |  325|      0|                                                                                                             \
  |  |  326|      0|            /* Find the gap to drop in to at the highest level */                                            \
  |  |  327|      0|            while (X && (!X->key || H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, X, KEY, HASHVAL)))        \
  |  |  ------------------
  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (327:20): [True: 0, False: 0]
  |  |  |  Branch (327:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  328|      0|        {                                                                                                    \
  |  |  329|      0|            _llast = _last;                                                                                  \
  |  |  330|      0|            _last  = X;                                                                                      \
  |  |  331|      0|            X      = X->forward[_i];                                                                         \
  |  |  332|      0|        }                                                                                                    \
  |  |  333|      0|        _next = X;                                                                                           \
  |  |  334|      0|                                                                                                             \
  |  |  335|      0|        /* Main loop */                                                                                      \
  |  |  336|      0|        for (_i--; _i >= 0; _i--) {                                                                          \
  |  |  ------------------
  |  |  |  Branch (336:20): [True: 0, False: 0]
  |  |  ------------------
  |  |  337|      0|            /* Search for the node to drop into, also count the number of */                                 \
  |  |  338|      0|            /* nodes of height _i in this gap and keep track of of the node */                               \
  |  |  339|      0|            /* before the one to drop into (_ldrop will become _llast, */                                    \
  |  |  340|      0|            /* _drop will become _last). */                                                                  \
  |  |  341|      0|            X = _ldrop = _last;                                                                              \
  |  |  342|      0|            _drop      = NULL;                                                                               \
  |  |  343|      0|            for (_count = 0;; _count++) {                                                                    \
  |  |  344|      0|                /* Terminate if this is the last node in the gap */                                          \
  |  |  345|      0|                if (X->forward[_i] == _next) {                                                               \
  |  |  ------------------
  |  |  |  Branch (345:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  346|      0|                    if (!_drop)                                                                              \
  |  |  ------------------
  |  |  |  Branch (346:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  347|      0|                        _drop = X;                                                                           \
  |  |  348|      0|                    break;                                                                                   \
  |  |  349|      0|                }                                                                                            \
  |  |  350|      0|                                                                                                             \
  |  |  351|      0|                /* If we have already found the node to drop into and there */                               \
  |  |  352|      0|                /* is more than one node in this gap, we can stop searching */                               \
  |  |  353|      0|                if (_drop) {                                                                                 \
  |  |  ------------------
  |  |  |  Branch (353:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|                    assert(_count >= 1);                                                                     \
  |  |  355|      0|                    _count = 2;                                                                              \
  |  |  356|      0|                    break;                                                                                   \
  |  |  357|      0|                }                                                                                            \
  |  |  358|      0|                else { /* !_drop */                                                                          \
  |  |  359|      0|                    /* Check if this node is the start of the next gap */                                    \
  |  |  360|      0|                    if (!H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, X->forward[_i], KEY, HASHVAL)) {     \
  |  |  ------------------
  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (360:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  361|      0|                        _drop = X;                                                                           \
  |  |  362|      0|                        /* Again check if we can stop searching */                                           \
  |  |  363|      0|                        if (_count) {                                                                        \
  |  |  ------------------
  |  |  |  Branch (363:29): [True: 0, False: 0]
  |  |  ------------------
  |  |  364|      0|                            _count = 2;                                                                      \
  |  |  365|      0|                            break;                                                                           \
  |  |  366|      0|                        }                                                                                    \
  |  |  367|      0|                    }                                                                                        \
  |  |  368|      0|                    else                                                                                     \
  |  |  369|      0|                        _ldrop = X;                                                                          \
  |  |  370|      0|                }                                                                                            \
  |  |  371|      0|                                                                                                             \
  |  |  372|      0|                /* No need to check the last node in the gap if there are */                                 \
  |  |  373|      0|                /* 3, as there cannot be a fourth */                                                         \
  |  |  374|      0|                if (_count == 2) {                                                                           \
  |  |  ------------------
  |  |  |  Branch (374:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  375|      0|                    if (!_drop)                                                                              \
  |  |  ------------------
  |  |  |  Branch (375:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  376|      0|                        _drop = X->forward[_i];                                                              \
  |  |  377|      0|                    break;                                                                                   \
  |  |  378|      0|                }                                                                                            \
  |  |  379|      0|                X = X->forward[_i];                                                                          \
  |  |  380|      0|            }                                                                                                \
  |  |  381|      0|            assert(_count >= 1 && _count <= 3);                                                              \
  |  |  382|      0|            assert(!_drop->forward[_i] ||                                                                    \
  |  |  383|      0|                   !H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, _drop->forward[_i], KEY, HASHVAL));       \
  |  |  384|      0|                                                                                                             \
  |  |  385|      0|            /* Check if we need to adjust node heights */                                                    \
  |  |  386|      0|            if (_count == 1) {                                                                               \
  |  |  ------------------
  |  |  |  Branch (386:17): [True: 0, False: 0]
  |  |  ------------------
  |  |  387|      0|                /* Check if we are in the first gap */                                                       \
  |  |  388|      0|                if (_llast == _last) {                                                                       \
  |  |  ------------------
  |  |  |  Branch (388:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  389|      0|                    /* We are in the first gap, count the number of nodes */                                 \
  |  |  390|      0|                    /* of height _i in the next gap.  We need only check */                                  \
  |  |  391|      0|                    /* onenode to see if we should promote the first node */                                 \
  |  |  392|      0|                    /* in the next gap */                                                                    \
  |  |  393|      0|                    _llast = _next->forward[_i + 1];                                                         \
  |  |  394|      0|                                                                                                             \
  |  |  395|      0|                    /* Demote the separator node */                                                          \
  |  |  396|      0|                    H5SL_DEMOTE(_next, _last)                                                                \
  |  |  ------------------
  |  |  |  |  243|      0|    {                                                                                                        \
  |  |  |  |  244|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  245|      0|                                                                                                             \
  |  |  |  |  246|      0|        assert(PREV->forward[_lvl] == X);                                                                    \
  |  |  |  |  247|      0|        PREV->forward[_lvl] = X->forward[_lvl];                                                              \
  |  |  |  |  248|      0|        H5SL_SHRINK(X, _lvl);                                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  199|      0|    {                                                                                                        \
  |  |  |  |  |  |  200|      0|        /* Check if we can reduce the allocation of forward pointers */                                      \
  |  |  |  |  |  |  201|      0|        if (LVL <= ((size_t)1) << (X->log_nalloc - 1)) {                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (201:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  202|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  203|      0|            assert(LVL == ((size_t)1) << (X->log_nalloc - 1));                                               \
  |  |  |  |  |  |  204|      0|            X->log_nalloc--;                                                                                 \
  |  |  |  |  |  |  205|      0|                                                                                                             \
  |  |  |  |  |  |  206|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  207|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (207:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  208|      0|                HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "memory allocation failed");                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  209|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL) * sizeof(H5SL_node_t *));              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  210|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc + 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  211|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  212|      0|        }                                                                                                    \
  |  |  |  |  |  |  213|      0|                                                                                                             \
  |  |  |  |  |  |  214|      0|        X->level--;                                                                                          \
  |  |  |  |  |  |  215|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  249|      0|    }
  |  |  ------------------
  |  |  397|      0|                                                                                                             \
  |  |  398|      0|                    /* If there are 2 or more nodes, promote the first */                                    \
  |  |  399|      0|                    if (_next->forward[_i]->forward[_i] != _llast) {                                         \
  |  |  ------------------
  |  |  |  Branch (399:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  400|      0|                        X = _next->forward[_i];                                                              \
  |  |  401|      0|                        H5SL_PROMOTE(SLIST, X, _last, NULL);                                                 \
  |  |  ------------------
  |  |  |  |  221|      0|    do {                                                                                                     \
  |  |  |  |  222|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  223|      0|                                                                                                             \
  |  |  |  |  224|      0|        H5SL_GROW(X, _lvl, ERR);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  225|      0|                                                                                                             \
  |  |  |  |  226|      0|        if (_lvl == (size_t)SLIST->curr_level) {                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (226:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  227|      0|            assert(PREV == SLIST->header);                                                                   \
  |  |  |  |  228|      0|            /* Grow the head */                                                                              \
  |  |  |  |  229|      0|            H5SL_GROW(PREV, _lvl, ERR)                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  230|      0|            SLIST->curr_level++;                                                                             \
  |  |  |  |  231|      0|            X->forward[_lvl + 1] = NULL;                                                                     \
  |  |  |  |  232|      0|        }                                                                                                    \
  |  |  |  |  233|      0|        else {                                                                                               \
  |  |  |  |  234|      0|            assert(_lvl < (size_t)SLIST->curr_level);                                                        \
  |  |  |  |  235|      0|            X->forward[_lvl + 1] = PREV->forward[_lvl + 1];                                                  \
  |  |  |  |  236|      0|        }                                                                                                    \
  |  |  |  |  237|      0|        PREV->forward[_lvl + 1] = X;                                                                         \
  |  |  |  |  238|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (238:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  402|      0|                    }                                                                                        \
  |  |  403|      0|                    else if (!_head->forward[_i + 1]) {                                                      \
  |  |  ------------------
  |  |  |  Branch (403:30): [True: 0, False: 0]
  |  |  ------------------
  |  |  404|      0|                        /* shrink the header */                                                              \
  |  |  405|      0|                        assert(_i == SLIST->curr_level - 1);                                                 \
  |  |  406|      0|                        assert((size_t)SLIST->curr_level == _head->level);                                   \
  |  |  407|      0|                                                                                                             \
  |  |  408|      0|                        H5SL_SHRINK(_head, (size_t)(_i + 1))                                                 \
  |  |  ------------------
  |  |  |  |  199|      0|    {                                                                                                        \
  |  |  |  |  200|      0|        /* Check if we can reduce the allocation of forward pointers */                                      \
  |  |  |  |  201|      0|        if (LVL <= ((size_t)1) << (X->log_nalloc - 1)) {                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (201:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  202|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  203|      0|            assert(LVL == ((size_t)1) << (X->log_nalloc - 1));                                               \
  |  |  |  |  204|      0|            X->log_nalloc--;                                                                                 \
  |  |  |  |  205|      0|                                                                                                             \
  |  |  |  |  206|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  207|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (207:17): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  208|      0|                HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "memory allocation failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  209|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL) * sizeof(H5SL_node_t *));              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  ------------------
  |  |  |  |  210|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc + 1], (void *)X->forward);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  ------------------
  |  |  |  |  211|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  212|      0|        }                                                                                                    \
  |  |  |  |  213|      0|                                                                                                             \
  |  |  |  |  214|      0|        X->level--;                                                                                          \
  |  |  |  |  215|      0|    }
  |  |  ------------------
  |  |  409|      0|                        SLIST->curr_level--;                                                                 \
  |  |  410|      0|                    }                                                                                        \
  |  |  411|      0|                }                                                                                            \
  |  |  412|      0|                else {                                                                                       \
  |  |  413|      0|                    /* We are not in the first gap, count the number of */                                   \
  |  |  414|      0|                    /* nodes of height _i in the previous gap.  Note we */                                   \
  |  |  415|      0|                    /* "look ahead" in this loop so X has the value of the */                                \
  |  |  416|      0|                    /* last node in the previous gap. */                                                     \
  |  |  417|      0|                    X = _llast->forward[_i];                                                                 \
  |  |  418|      0|                    for (_count = 1; _count < 3 && X->forward[_i] != _last; _count++)                        \
  |  |  ------------------
  |  |  |  Branch (418:38): [True: 0, False: 0]
  |  |  |  Branch (418:52): [True: 0, False: 0]
  |  |  ------------------
  |  |  419|      0|                        X = X->forward[_i];                                                                  \
  |  |  420|      0|                    assert(X->forward[_i] == _last);                                                         \
  |  |  421|      0|                                                                                                             \
  |  |  422|      0|                    /* Demote the separator node */                                                          \
  |  |  423|      0|                    H5SL_DEMOTE(_last, _llast)                                                               \
  |  |  ------------------
  |  |  |  |  243|      0|    {                                                                                                        \
  |  |  |  |  244|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  245|      0|                                                                                                             \
  |  |  |  |  246|      0|        assert(PREV->forward[_lvl] == X);                                                                    \
  |  |  |  |  247|      0|        PREV->forward[_lvl] = X->forward[_lvl];                                                              \
  |  |  |  |  248|      0|        H5SL_SHRINK(X, _lvl);                                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  199|      0|    {                                                                                                        \
  |  |  |  |  |  |  200|      0|        /* Check if we can reduce the allocation of forward pointers */                                      \
  |  |  |  |  |  |  201|      0|        if (LVL <= ((size_t)1) << (X->log_nalloc - 1)) {                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (201:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  202|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  203|      0|            assert(LVL == ((size_t)1) << (X->log_nalloc - 1));                                               \
  |  |  |  |  |  |  204|      0|            X->log_nalloc--;                                                                                 \
  |  |  |  |  |  |  205|      0|                                                                                                             \
  |  |  |  |  |  |  206|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  207|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (207:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  208|      0|                HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "memory allocation failed");                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  209|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL) * sizeof(H5SL_node_t *));              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  210|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc + 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  211|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  212|      0|        }                                                                                                    \
  |  |  |  |  |  |  213|      0|                                                                                                             \
  |  |  |  |  |  |  214|      0|        X->level--;                                                                                          \
  |  |  |  |  |  |  215|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  249|      0|    }
  |  |  ------------------
  |  |  424|      0|                                                                                                             \
  |  |  425|      0|                    /* If there are 2 or more nodes, promote the last */                                     \
  |  |  426|      0|                    if (_count >= 2)                                                                         \
  |  |  ------------------
  |  |  |  Branch (426:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  427|      0|                        H5SL_PROMOTE(SLIST, X, _llast, NULL);                                                \
  |  |  ------------------
  |  |  |  |  221|      0|    do {                                                                                                     \
  |  |  |  |  222|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  223|      0|                                                                                                             \
  |  |  |  |  224|      0|        H5SL_GROW(X, _lvl, ERR);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  225|      0|                                                                                                             \
  |  |  |  |  226|      0|        if (_lvl == (size_t)SLIST->curr_level) {                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (226:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  227|      0|            assert(PREV == SLIST->header);                                                                   \
  |  |  |  |  228|      0|            /* Grow the head */                                                                              \
  |  |  |  |  229|      0|            H5SL_GROW(PREV, _lvl, ERR)                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  230|      0|            SLIST->curr_level++;                                                                             \
  |  |  |  |  231|      0|            X->forward[_lvl + 1] = NULL;                                                                     \
  |  |  |  |  232|      0|        }                                                                                                    \
  |  |  |  |  233|      0|        else {                                                                                               \
  |  |  |  |  234|      0|            assert(_lvl < (size_t)SLIST->curr_level);                                                        \
  |  |  |  |  235|      0|            X->forward[_lvl + 1] = PREV->forward[_lvl + 1];                                                  \
  |  |  |  |  236|      0|        }                                                                                                    \
  |  |  |  |  237|      0|        PREV->forward[_lvl + 1] = X;                                                                         \
  |  |  |  |  238|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (238:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  428|      0|                    else if (!_head->forward[_i + 1]) {                                                      \
  |  |  ------------------
  |  |  |  Branch (428:30): [True: 0, False: 0]
  |  |  ------------------
  |  |  429|      0|                        /* shrink the header */                                                              \
  |  |  430|      0|                        assert(_i == SLIST->curr_level - 1);                                                 \
  |  |  431|      0|                        assert((size_t)SLIST->curr_level == _head->level);                                   \
  |  |  432|      0|                                                                                                             \
  |  |  433|      0|                        H5SL_SHRINK(_head, (size_t)(_i + 1))                                                 \
  |  |  ------------------
  |  |  |  |  199|      0|    {                                                                                                        \
  |  |  |  |  200|      0|        /* Check if we can reduce the allocation of forward pointers */                                      \
  |  |  |  |  201|      0|        if (LVL <= ((size_t)1) << (X->log_nalloc - 1)) {                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (201:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  202|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  203|      0|            assert(LVL == ((size_t)1) << (X->log_nalloc - 1));                                               \
  |  |  |  |  204|      0|            X->log_nalloc--;                                                                                 \
  |  |  |  |  205|      0|                                                                                                             \
  |  |  |  |  206|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  207|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (207:17): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  208|      0|                HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "memory allocation failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  209|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL) * sizeof(H5SL_node_t *));              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  ------------------
  |  |  |  |  210|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc + 1], (void *)X->forward);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  ------------------
  |  |  |  |  211|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  212|      0|        }                                                                                                    \
  |  |  |  |  213|      0|                                                                                                             \
  |  |  |  |  214|      0|        X->level--;                                                                                          \
  |  |  |  |  215|      0|    }
  |  |  ------------------
  |  |  434|      0|                        SLIST->curr_level--;                                                                 \
  |  |  435|      0|                    }                                                                                        \
  |  |  436|      0|                }                                                                                            \
  |  |  437|      0|            }                                                                                                \
  |  |  438|      0|                                                                                                             \
  |  |  439|      0|            /* Prepare to drop down */                                                                       \
  |  |  440|      0|            _llast = _ldrop;                                                                                 \
  |  |  441|      0|            _last  = _drop;                                                                                  \
  |  |  442|      0|            _next  = _drop->forward[_i];                                                                     \
  |  |  443|      0|        }                                                                                                    \
  |  |  444|      0|                                                                                                             \
  |  |  445|      0|        /* Check if we've found the node */                                                                  \
  |  |  446|      0|        if (_next && H5_GLUE3(H5SL_LOCATE_, CMP, _EQ)(SLIST, TYPE, _next, KEY, HASHVAL)) {                   \
  |  |  ------------------
  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (446:13): [True: 0, False: 0]
  |  |  ------------------
  |  |  447|      0|            void *tmp = _next->item;                                                                         \
  |  |  448|      0|            X         = _next;                                                                               \
  |  |  449|      0|                                                                                                             \
  |  |  450|      0|            /* If the node has a height > 0, swap it with its (lower) */                                     \
  |  |  451|      0|            /* neighbor */                                                                                   \
  |  |  452|      0|            if (X->level) {                                                                                  \
  |  |  ------------------
  |  |  |  Branch (452:17): [True: 0, False: 0]
  |  |  ------------------
  |  |  453|      0|                X              = X->backward;                                                                \
  |  |  454|      0|                _next->key     = X->key;                                                                     \
  |  |  455|      0|                _next->item    = X->item;                                                                    \
  |  |  456|      0|                _next->hashval = X->hashval;                                                                 \
  |  |  457|      0|            }                                                                                                \
  |  |  458|      0|            assert(!X->level);                                                                               \
  |  |  459|      0|                                                                                                             \
  |  |  460|      0|            /* Remove the node */                                                                            \
  |  |  461|      0|            X->backward->forward[0] = X->forward[0];                                                         \
  |  |  462|      0|            if (SLIST->last == X)                                                                            \
  |  |  ------------------
  |  |  |  Branch (462:17): [True: 0, False: 0]
  |  |  ------------------
  |  |  463|      0|                SLIST->last = X->backward;                                                                   \
  |  |  464|      0|            else                                                                                             \
  |  |  465|      0|                X->forward[0]->backward = X->backward;                                                       \
  |  |  466|      0|            SLIST->nobjs--;                                                                                  \
  |  |  467|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[0], X->forward);                           \
  |  |  ------------------
  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  ------------------
  |  |  468|      0|            X          = H5FL_FREE(H5SL_node_t, X);                                                          \
  |  |  ------------------
  |  |  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  |  |  ------------------
  |  |  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  469|      0|                                                                                                             \
  |  |  470|      0|            HGOTO_DONE(tmp);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  471|      0|        }                                                                                                    \
  |  |  472|      0|    }
  ------------------
 1132|      0|            break;
 1133|       |
 1134|    286|        case H5SL_TYPE_HADDR:
  ------------------
  |  Branch (1134:9): [True: 286, False: 0]
  ------------------
 1135|    572|            H5SL_REMOVE(SCALAR, slist, x, const haddr_t, key, -)
  ------------------
  |  |  310|    286|    {                                                                                                        \
  |  |  311|    286|        H5SL_node_t *_last  = X;             /* Lowest node in the current gap */                            \
  |  |  312|    286|        H5SL_node_t *_llast = X;             /* Lowest node in the previous gap */                           \
  |  |  313|    286|        H5SL_node_t *_next  = NULL;          /* Highest node in the current gap */                           \
  |  |  314|    286|        H5SL_node_t *_drop  = NULL;          /* Low node of the gap to drop into */                          \
  |  |  315|    286|        H5SL_node_t *_ldrop = NULL;          /* Low node of gap before the one to drop into */               \
  |  |  316|    286|        H5SL_node_t *_head  = SLIST->header; /* Head of the skip list */                                     \
  |  |  317|    286|        int          _count;                 /* Number of nodes in the current gap */                        \
  |  |  318|    286|        int          _i = (int)SLIST->curr_level;                                                            \
  |  |  319|    286|                                                                                                             \
  |  |  320|    286|        if (_i < 0)                                                                                          \
  |  |  ------------------
  |  |  |  Branch (320:13): [True: 0, False: 286]
  |  |  ------------------
  |  |  321|    286|            HGOTO_DONE(NULL);                                                                                \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  322|    286|                                                                                                             \
  |  |  323|    286|        H5_GLUE3(H5SL_LOCATE_, CMP, _HASHINIT)                                                               \
  |  |  324|    286|        (KEY, HASHVAL)                                                                                       \
  |  |  325|    286|                                                                                                             \
  |  |  326|    286|            /* Find the gap to drop in to at the highest level */                                            \
  |  |  327|    648|            while (X && (!X->key || H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, X, KEY, HASHVAL)))        \
  |  |  ------------------
  |  |  |  |  894|    630|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (327:20): [True: 630, False: 18]
  |  |  |  Branch (327:26): [True: 286, False: 344]
  |  |  ------------------
  |  |  328|    362|        {                                                                                                    \
  |  |  329|    362|            _llast = _last;                                                                                  \
  |  |  330|    362|            _last  = X;                                                                                      \
  |  |  331|    362|            X      = X->forward[_i];                                                                         \
  |  |  332|    362|        }                                                                                                    \
  |  |  333|    286|        _next = X;                                                                                           \
  |  |  334|    286|                                                                                                             \
  |  |  335|    286|        /* Main loop */                                                                                      \
  |  |  336|    304|        for (_i--; _i >= 0; _i--) {                                                                          \
  |  |  ------------------
  |  |  |  Branch (336:20): [True: 18, False: 286]
  |  |  ------------------
  |  |  337|     18|            /* Search for the node to drop into, also count the number of */                                 \
  |  |  338|     18|            /* nodes of height _i in this gap and keep track of of the node */                               \
  |  |  339|     18|            /* before the one to drop into (_ldrop will become _llast, */                                    \
  |  |  340|     18|            /* _drop will become _last). */                                                                  \
  |  |  341|     18|            X = _ldrop = _last;                                                                              \
  |  |  342|     18|            _drop      = NULL;                                                                               \
  |  |  343|     36|            for (_count = 0;; _count++) {                                                                    \
  |  |  344|     36|                /* Terminate if this is the last node in the gap */                                          \
  |  |  345|     36|                if (X->forward[_i] == _next) {                                                               \
  |  |  ------------------
  |  |  |  Branch (345:21): [True: 6, False: 30]
  |  |  ------------------
  |  |  346|      6|                    if (!_drop)                                                                              \
  |  |  ------------------
  |  |  |  Branch (346:25): [True: 0, False: 6]
  |  |  ------------------
  |  |  347|      6|                        _drop = X;                                                                           \
  |  |  348|      6|                    break;                                                                                   \
  |  |  349|      6|                }                                                                                            \
  |  |  350|     36|                                                                                                             \
  |  |  351|     36|                /* If we have already found the node to drop into and there */                               \
  |  |  352|     36|                /* is more than one node in this gap, we can stop searching */                               \
  |  |  353|     36|                if (_drop) {                                                                                 \
  |  |  ------------------
  |  |  |  Branch (353:21): [True: 12, False: 18]
  |  |  ------------------
  |  |  354|     12|                    assert(_count >= 1);                                                                     \
  |  |  355|     12|                    _count = 2;                                                                              \
  |  |  356|     12|                    break;                                                                                   \
  |  |  357|     12|                }                                                                                            \
  |  |  358|     30|                else { /* !_drop */                                                                          \
  |  |  359|     18|                    /* Check if this node is the start of the next gap */                                    \
  |  |  360|     18|                    if (!H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, X->forward[_i], KEY, HASHVAL)) {     \
  |  |  ------------------
  |  |  |  |  894|     18|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (360:25): [True: 18, False: 0]
  |  |  ------------------
  |  |  361|     18|                        _drop = X;                                                                           \
  |  |  362|     18|                        /* Again check if we can stop searching */                                           \
  |  |  363|     18|                        if (_count) {                                                                        \
  |  |  ------------------
  |  |  |  Branch (363:29): [True: 0, False: 18]
  |  |  ------------------
  |  |  364|      0|                            _count = 2;                                                                      \
  |  |  365|      0|                            break;                                                                           \
  |  |  366|      0|                        }                                                                                    \
  |  |  367|     18|                    }                                                                                        \
  |  |  368|     18|                    else                                                                                     \
  |  |  369|     18|                        _ldrop = X;                                                                          \
  |  |  370|     18|                }                                                                                            \
  |  |  371|     30|                                                                                                             \
  |  |  372|     30|                /* No need to check the last node in the gap if there are */                                 \
  |  |  373|     30|                /* 3, as there cannot be a fourth */                                                         \
  |  |  374|     30|                if (_count == 2) {                                                                           \
  |  |  ------------------
  |  |  |  Branch (374:21): [True: 0, False: 18]
  |  |  ------------------
  |  |  375|      0|                    if (!_drop)                                                                              \
  |  |  ------------------
  |  |  |  Branch (375:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  376|      0|                        _drop = X->forward[_i];                                                              \
  |  |  377|      0|                    break;                                                                                   \
  |  |  378|      0|                }                                                                                            \
  |  |  379|     18|                X = X->forward[_i];                                                                          \
  |  |  380|     18|            }                                                                                                \
  |  |  381|     18|            assert(_count >= 1 && _count <= 3);                                                              \
  |  |  382|     18|            assert(!_drop->forward[_i] ||                                                                    \
  |  |  383|     18|                   !H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, _drop->forward[_i], KEY, HASHVAL));       \
  |  |  384|     18|                                                                                                             \
  |  |  385|     18|            /* Check if we need to adjust node heights */                                                    \
  |  |  386|     18|            if (_count == 1) {                                                                               \
  |  |  ------------------
  |  |  |  Branch (386:17): [True: 6, False: 12]
  |  |  ------------------
  |  |  387|      6|                /* Check if we are in the first gap */                                                       \
  |  |  388|      6|                if (_llast == _last) {                                                                       \
  |  |  ------------------
  |  |  |  Branch (388:21): [True: 0, False: 6]
  |  |  ------------------
  |  |  389|      0|                    /* We are in the first gap, count the number of nodes */                                 \
  |  |  390|      0|                    /* of height _i in the next gap.  We need only check */                                  \
  |  |  391|      0|                    /* onenode to see if we should promote the first node */                                 \
  |  |  392|      0|                    /* in the next gap */                                                                    \
  |  |  393|      0|                    _llast = _next->forward[_i + 1];                                                         \
  |  |  394|      0|                                                                                                             \
  |  |  395|      0|                    /* Demote the separator node */                                                          \
  |  |  396|      0|                    H5SL_DEMOTE(_next, _last)                                                                \
  |  |  ------------------
  |  |  |  |  243|      0|    {                                                                                                        \
  |  |  |  |  244|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  245|      0|                                                                                                             \
  |  |  |  |  246|      0|        assert(PREV->forward[_lvl] == X);                                                                    \
  |  |  |  |  247|      0|        PREV->forward[_lvl] = X->forward[_lvl];                                                              \
  |  |  |  |  248|      0|        H5SL_SHRINK(X, _lvl);                                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  199|      0|    {                                                                                                        \
  |  |  |  |  |  |  200|      0|        /* Check if we can reduce the allocation of forward pointers */                                      \
  |  |  |  |  |  |  201|      0|        if (LVL <= ((size_t)1) << (X->log_nalloc - 1)) {                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (201:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  202|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  203|      0|            assert(LVL == ((size_t)1) << (X->log_nalloc - 1));                                               \
  |  |  |  |  |  |  204|      0|            X->log_nalloc--;                                                                                 \
  |  |  |  |  |  |  205|      0|                                                                                                             \
  |  |  |  |  |  |  206|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  207|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (207:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  208|      0|                HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "memory allocation failed");                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  209|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL) * sizeof(H5SL_node_t *));              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  210|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc + 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  211|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  212|      0|        }                                                                                                    \
  |  |  |  |  |  |  213|      0|                                                                                                             \
  |  |  |  |  |  |  214|      0|        X->level--;                                                                                          \
  |  |  |  |  |  |  215|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  249|      0|    }
  |  |  ------------------
  |  |  397|      0|                                                                                                             \
  |  |  398|      0|                    /* If there are 2 or more nodes, promote the first */                                    \
  |  |  399|      0|                    if (_next->forward[_i]->forward[_i] != _llast) {                                         \
  |  |  ------------------
  |  |  |  Branch (399:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  400|      0|                        X = _next->forward[_i];                                                              \
  |  |  401|      0|                        H5SL_PROMOTE(SLIST, X, _last, NULL);                                                 \
  |  |  ------------------
  |  |  |  |  221|      0|    do {                                                                                                     \
  |  |  |  |  222|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  223|      0|                                                                                                             \
  |  |  |  |  224|      0|        H5SL_GROW(X, _lvl, ERR);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  225|      0|                                                                                                             \
  |  |  |  |  226|      0|        if (_lvl == (size_t)SLIST->curr_level) {                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (226:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  227|      0|            assert(PREV == SLIST->header);                                                                   \
  |  |  |  |  228|      0|            /* Grow the head */                                                                              \
  |  |  |  |  229|      0|            H5SL_GROW(PREV, _lvl, ERR)                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  230|      0|            SLIST->curr_level++;                                                                             \
  |  |  |  |  231|      0|            X->forward[_lvl + 1] = NULL;                                                                     \
  |  |  |  |  232|      0|        }                                                                                                    \
  |  |  |  |  233|      0|        else {                                                                                               \
  |  |  |  |  234|      0|            assert(_lvl < (size_t)SLIST->curr_level);                                                        \
  |  |  |  |  235|      0|            X->forward[_lvl + 1] = PREV->forward[_lvl + 1];                                                  \
  |  |  |  |  236|      0|        }                                                                                                    \
  |  |  |  |  237|      0|        PREV->forward[_lvl + 1] = X;                                                                         \
  |  |  |  |  238|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (238:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  402|      0|                    }                                                                                        \
  |  |  403|      0|                    else if (!_head->forward[_i + 1]) {                                                      \
  |  |  ------------------
  |  |  |  Branch (403:30): [True: 0, False: 0]
  |  |  ------------------
  |  |  404|      0|                        /* shrink the header */                                                              \
  |  |  405|      0|                        assert(_i == SLIST->curr_level - 1);                                                 \
  |  |  406|      0|                        assert((size_t)SLIST->curr_level == _head->level);                                   \
  |  |  407|      0|                                                                                                             \
  |  |  408|      0|                        H5SL_SHRINK(_head, (size_t)(_i + 1))                                                 \
  |  |  ------------------
  |  |  |  |  199|      0|    {                                                                                                        \
  |  |  |  |  200|      0|        /* Check if we can reduce the allocation of forward pointers */                                      \
  |  |  |  |  201|      0|        if (LVL <= ((size_t)1) << (X->log_nalloc - 1)) {                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (201:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  202|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  203|      0|            assert(LVL == ((size_t)1) << (X->log_nalloc - 1));                                               \
  |  |  |  |  204|      0|            X->log_nalloc--;                                                                                 \
  |  |  |  |  205|      0|                                                                                                             \
  |  |  |  |  206|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  207|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (207:17): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  208|      0|                HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "memory allocation failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  209|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL) * sizeof(H5SL_node_t *));              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  ------------------
  |  |  |  |  210|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc + 1], (void *)X->forward);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  ------------------
  |  |  |  |  211|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  212|      0|        }                                                                                                    \
  |  |  |  |  213|      0|                                                                                                             \
  |  |  |  |  214|      0|        X->level--;                                                                                          \
  |  |  |  |  215|      0|    }
  |  |  ------------------
  |  |  409|      0|                        SLIST->curr_level--;                                                                 \
  |  |  410|      0|                    }                                                                                        \
  |  |  411|      0|                }                                                                                            \
  |  |  412|      6|                else {                                                                                       \
  |  |  413|      6|                    /* We are not in the first gap, count the number of */                                   \
  |  |  414|      6|                    /* nodes of height _i in the previous gap.  Note we */                                   \
  |  |  415|      6|                    /* "look ahead" in this loop so X has the value of the */                                \
  |  |  416|      6|                    /* last node in the previous gap. */                                                     \
  |  |  417|      6|                    X = _llast->forward[_i];                                                                 \
  |  |  418|      6|                    for (_count = 1; _count < 3 && X->forward[_i] != _last; _count++)                        \
  |  |  ------------------
  |  |  |  Branch (418:38): [True: 6, False: 0]
  |  |  |  Branch (418:52): [True: 0, False: 6]
  |  |  ------------------
  |  |  419|      6|                        X = X->forward[_i];                                                                  \
  |  |  420|      6|                    assert(X->forward[_i] == _last);                                                         \
  |  |  421|      6|                                                                                                             \
  |  |  422|      6|                    /* Demote the separator node */                                                          \
  |  |  423|      6|                    H5SL_DEMOTE(_last, _llast)                                                               \
  |  |  ------------------
  |  |  |  |  243|      6|    {                                                                                                        \
  |  |  |  |  244|      6|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  245|      6|                                                                                                             \
  |  |  |  |  246|      6|        assert(PREV->forward[_lvl] == X);                                                                    \
  |  |  |  |  247|      6|        PREV->forward[_lvl] = X->forward[_lvl];                                                              \
  |  |  |  |  248|      6|        H5SL_SHRINK(X, _lvl);                                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  199|      6|    {                                                                                                        \
  |  |  |  |  |  |  200|      6|        /* Check if we can reduce the allocation of forward pointers */                                      \
  |  |  |  |  |  |  201|      6|        if (LVL <= ((size_t)1) << (X->log_nalloc - 1)) {                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (201:13): [True: 6, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  202|      6|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  203|      6|            assert(LVL == ((size_t)1) << (X->log_nalloc - 1));                                               \
  |  |  |  |  |  |  204|      6|            X->log_nalloc--;                                                                                 \
  |  |  |  |  |  |  205|      6|                                                                                                             \
  |  |  |  |  |  |  206|      6|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  207|      6|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      6|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (207:17): [True: 0, False: 6]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  208|      6|                HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "memory allocation failed");                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  209|      6|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL) * sizeof(H5SL_node_t *));              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      6|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  210|      6|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc + 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      6|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  211|      6|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  212|      6|        }                                                                                                    \
  |  |  |  |  |  |  213|      6|                                                                                                             \
  |  |  |  |  |  |  214|      6|        X->level--;                                                                                          \
  |  |  |  |  |  |  215|      6|    }
  |  |  |  |  ------------------
  |  |  |  |  249|      6|    }
  |  |  ------------------
  |  |  424|      6|                                                                                                             \
  |  |  425|      6|                    /* If there are 2 or more nodes, promote the last */                                     \
  |  |  426|      6|                    if (_count >= 2)                                                                         \
  |  |  ------------------
  |  |  |  Branch (426:25): [True: 0, False: 6]
  |  |  ------------------
  |  |  427|      6|                        H5SL_PROMOTE(SLIST, X, _llast, NULL);                                                \
  |  |  ------------------
  |  |  |  |  221|      0|    do {                                                                                                     \
  |  |  |  |  222|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  223|      0|                                                                                                             \
  |  |  |  |  224|      0|        H5SL_GROW(X, _lvl, ERR);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  225|      0|                                                                                                             \
  |  |  |  |  226|      0|        if (_lvl == (size_t)SLIST->curr_level) {                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (226:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  227|      0|            assert(PREV == SLIST->header);                                                                   \
  |  |  |  |  228|      0|            /* Grow the head */                                                                              \
  |  |  |  |  229|      0|            H5SL_GROW(PREV, _lvl, ERR)                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  230|      0|            SLIST->curr_level++;                                                                             \
  |  |  |  |  231|      0|            X->forward[_lvl + 1] = NULL;                                                                     \
  |  |  |  |  232|      0|        }                                                                                                    \
  |  |  |  |  233|      0|        else {                                                                                               \
  |  |  |  |  234|      0|            assert(_lvl < (size_t)SLIST->curr_level);                                                        \
  |  |  |  |  235|      0|            X->forward[_lvl + 1] = PREV->forward[_lvl + 1];                                                  \
  |  |  |  |  236|      0|        }                                                                                                    \
  |  |  |  |  237|      0|        PREV->forward[_lvl + 1] = X;                                                                         \
  |  |  |  |  238|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (238:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  428|      6|                    else if (!_head->forward[_i + 1]) {                                                      \
  |  |  ------------------
  |  |  |  Branch (428:30): [True: 6, False: 0]
  |  |  ------------------
  |  |  429|      6|                        /* shrink the header */                                                              \
  |  |  430|      6|                        assert(_i == SLIST->curr_level - 1);                                                 \
  |  |  431|      6|                        assert((size_t)SLIST->curr_level == _head->level);                                   \
  |  |  432|      6|                                                                                                             \
  |  |  433|      6|                        H5SL_SHRINK(_head, (size_t)(_i + 1))                                                 \
  |  |  ------------------
  |  |  |  |  199|      6|    {                                                                                                        \
  |  |  |  |  200|      6|        /* Check if we can reduce the allocation of forward pointers */                                      \
  |  |  |  |  201|      6|        if (LVL <= ((size_t)1) << (X->log_nalloc - 1)) {                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (201:13): [True: 6, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  202|      6|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  203|      6|            assert(LVL == ((size_t)1) << (X->log_nalloc - 1));                                               \
  |  |  |  |  204|      6|            X->log_nalloc--;                                                                                 \
  |  |  |  |  205|      6|                                                                                                             \
  |  |  |  |  206|      6|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  207|      6|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |  329|      6|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (207:17): [True: 0, False: 6]
  |  |  |  |  ------------------
  |  |  |  |  208|      6|                HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "memory allocation failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  209|      6|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL) * sizeof(H5SL_node_t *));              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      6|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  ------------------
  |  |  |  |  210|      6|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc + 1], (void *)X->forward);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  335|      6|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  ------------------
  |  |  |  |  211|      6|            X->forward = _tmp;                                                                               \
  |  |  |  |  212|      6|        }                                                                                                    \
  |  |  |  |  213|      6|                                                                                                             \
  |  |  |  |  214|      6|        X->level--;                                                                                          \
  |  |  |  |  215|      6|    }
  |  |  ------------------
  |  |  434|      6|                        SLIST->curr_level--;                                                                 \
  |  |  435|      6|                    }                                                                                        \
  |  |  436|      6|                }                                                                                            \
  |  |  437|      6|            }                                                                                                \
  |  |  438|     18|                                                                                                             \
  |  |  439|     18|            /* Prepare to drop down */                                                                       \
  |  |  440|     18|            _llast = _ldrop;                                                                                 \
  |  |  441|     18|            _last  = _drop;                                                                                  \
  |  |  442|     18|            _next  = _drop->forward[_i];                                                                     \
  |  |  443|     18|        }                                                                                                    \
  |  |  444|    286|                                                                                                             \
  |  |  445|    286|        /* Check if we've found the node */                                                                  \
  |  |  446|    286|        if (_next && H5_GLUE3(H5SL_LOCATE_, CMP, _EQ)(SLIST, TYPE, _next, KEY, HASHVAL)) {                   \
  |  |  ------------------
  |  |  |  |  894|    286|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (446:13): [True: 286, False: 0]
  |  |  ------------------
  |  |  447|    286|            void *tmp = _next->item;                                                                         \
  |  |  448|    286|            X         = _next;                                                                               \
  |  |  449|    286|                                                                                                             \
  |  |  450|    286|            /* If the node has a height > 0, swap it with its (lower) */                                     \
  |  |  451|    286|            /* neighbor */                                                                                   \
  |  |  452|    286|            if (X->level) {                                                                                  \
  |  |  ------------------
  |  |  |  Branch (452:17): [True: 0, False: 286]
  |  |  ------------------
  |  |  453|      0|                X              = X->backward;                                                                \
  |  |  454|      0|                _next->key     = X->key;                                                                     \
  |  |  455|      0|                _next->item    = X->item;                                                                    \
  |  |  456|      0|                _next->hashval = X->hashval;                                                                 \
  |  |  457|      0|            }                                                                                                \
  |  |  458|    286|            assert(!X->level);                                                                               \
  |  |  459|    286|                                                                                                             \
  |  |  460|    286|            /* Remove the node */                                                                            \
  |  |  461|    286|            X->backward->forward[0] = X->forward[0];                                                         \
  |  |  462|    286|            if (SLIST->last == X)                                                                            \
  |  |  ------------------
  |  |  |  Branch (462:17): [True: 224, False: 62]
  |  |  ------------------
  |  |  463|    286|                SLIST->last = X->backward;                                                                   \
  |  |  464|    286|            else                                                                                             \
  |  |  465|    286|                X->forward[0]->backward = X->backward;                                                       \
  |  |  466|    286|            SLIST->nobjs--;                                                                                  \
  |  |  467|    286|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[0], X->forward);                           \
  |  |  ------------------
  |  |  |  |  335|    286|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  ------------------
  |  |  468|    286|            X          = H5FL_FREE(H5SL_node_t, X);                                                          \
  |  |  ------------------
  |  |  |  |   81|    286|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  |  |  ------------------
  |  |  |  |  |  |   60|    286|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  469|    286|                                                                                                             \
  |  |  470|    286|            HGOTO_DONE(tmp);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|    286|    do {                                                                                                     \
  |  |  |  |   92|    286|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|    286|        goto done;                                                                                           \
  |  |  |  |   94|    286|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  471|    286|        }                                                                                                    \
  |  |  472|    286|    }
  ------------------
 1136|      0|            break;
 1137|       |
 1138|      0|        case H5SL_TYPE_STR:
  ------------------
  |  Branch (1138:9): [True: 0, False: 286]
  ------------------
 1139|      0|            H5SL_REMOVE(STRING, slist, x, char *, key, hashval)
  ------------------
  |  |  310|      0|    {                                                                                                        \
  |  |  311|      0|        H5SL_node_t *_last  = X;             /* Lowest node in the current gap */                            \
  |  |  312|      0|        H5SL_node_t *_llast = X;             /* Lowest node in the previous gap */                           \
  |  |  313|      0|        H5SL_node_t *_next  = NULL;          /* Highest node in the current gap */                           \
  |  |  314|      0|        H5SL_node_t *_drop  = NULL;          /* Low node of the gap to drop into */                          \
  |  |  315|      0|        H5SL_node_t *_ldrop = NULL;          /* Low node of gap before the one to drop into */               \
  |  |  316|      0|        H5SL_node_t *_head  = SLIST->header; /* Head of the skip list */                                     \
  |  |  317|      0|        int          _count;                 /* Number of nodes in the current gap */                        \
  |  |  318|      0|        int          _i = (int)SLIST->curr_level;                                                            \
  |  |  319|      0|                                                                                                             \
  |  |  320|      0|        if (_i < 0)                                                                                          \
  |  |  ------------------
  |  |  |  Branch (320:13): [True: 0, False: 0]
  |  |  ------------------
  |  |  321|      0|            HGOTO_DONE(NULL);                                                                                \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  322|      0|                                                                                                             \
  |  |  323|      0|        H5_GLUE3(H5SL_LOCATE_, CMP, _HASHINIT)                                                               \
  |  |  ------------------
  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  324|      0|        (KEY, HASHVAL)                                                                                       \
  |  |  325|      0|                                                                                                             \
  |  |  326|      0|            /* Find the gap to drop in to at the highest level */                                            \
  |  |  327|      0|            while (X && (!X->key || H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, X, KEY, HASHVAL)))        \
  |  |  ------------------
  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (327:20): [True: 0, False: 0]
  |  |  |  Branch (327:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  328|      0|        {                                                                                                    \
  |  |  329|      0|            _llast = _last;                                                                                  \
  |  |  330|      0|            _last  = X;                                                                                      \
  |  |  331|      0|            X      = X->forward[_i];                                                                         \
  |  |  332|      0|        }                                                                                                    \
  |  |  333|      0|        _next = X;                                                                                           \
  |  |  334|      0|                                                                                                             \
  |  |  335|      0|        /* Main loop */                                                                                      \
  |  |  336|      0|        for (_i--; _i >= 0; _i--) {                                                                          \
  |  |  ------------------
  |  |  |  Branch (336:20): [True: 0, False: 0]
  |  |  ------------------
  |  |  337|      0|            /* Search for the node to drop into, also count the number of */                                 \
  |  |  338|      0|            /* nodes of height _i in this gap and keep track of of the node */                               \
  |  |  339|      0|            /* before the one to drop into (_ldrop will become _llast, */                                    \
  |  |  340|      0|            /* _drop will become _last). */                                                                  \
  |  |  341|      0|            X = _ldrop = _last;                                                                              \
  |  |  342|      0|            _drop      = NULL;                                                                               \
  |  |  343|      0|            for (_count = 0;; _count++) {                                                                    \
  |  |  344|      0|                /* Terminate if this is the last node in the gap */                                          \
  |  |  345|      0|                if (X->forward[_i] == _next) {                                                               \
  |  |  ------------------
  |  |  |  Branch (345:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  346|      0|                    if (!_drop)                                                                              \
  |  |  ------------------
  |  |  |  Branch (346:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  347|      0|                        _drop = X;                                                                           \
  |  |  348|      0|                    break;                                                                                   \
  |  |  349|      0|                }                                                                                            \
  |  |  350|      0|                                                                                                             \
  |  |  351|      0|                /* If we have already found the node to drop into and there */                               \
  |  |  352|      0|                /* is more than one node in this gap, we can stop searching */                               \
  |  |  353|      0|                if (_drop) {                                                                                 \
  |  |  ------------------
  |  |  |  Branch (353:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|                    assert(_count >= 1);                                                                     \
  |  |  355|      0|                    _count = 2;                                                                              \
  |  |  356|      0|                    break;                                                                                   \
  |  |  357|      0|                }                                                                                            \
  |  |  358|      0|                else { /* !_drop */                                                                          \
  |  |  359|      0|                    /* Check if this node is the start of the next gap */                                    \
  |  |  360|      0|                    if (!H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, X->forward[_i], KEY, HASHVAL)) {     \
  |  |  ------------------
  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (360:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  361|      0|                        _drop = X;                                                                           \
  |  |  362|      0|                        /* Again check if we can stop searching */                                           \
  |  |  363|      0|                        if (_count) {                                                                        \
  |  |  ------------------
  |  |  |  Branch (363:29): [True: 0, False: 0]
  |  |  ------------------
  |  |  364|      0|                            _count = 2;                                                                      \
  |  |  365|      0|                            break;                                                                           \
  |  |  366|      0|                        }                                                                                    \
  |  |  367|      0|                    }                                                                                        \
  |  |  368|      0|                    else                                                                                     \
  |  |  369|      0|                        _ldrop = X;                                                                          \
  |  |  370|      0|                }                                                                                            \
  |  |  371|      0|                                                                                                             \
  |  |  372|      0|                /* No need to check the last node in the gap if there are */                                 \
  |  |  373|      0|                /* 3, as there cannot be a fourth */                                                         \
  |  |  374|      0|                if (_count == 2) {                                                                           \
  |  |  ------------------
  |  |  |  Branch (374:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  375|      0|                    if (!_drop)                                                                              \
  |  |  ------------------
  |  |  |  Branch (375:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  376|      0|                        _drop = X->forward[_i];                                                              \
  |  |  377|      0|                    break;                                                                                   \
  |  |  378|      0|                }                                                                                            \
  |  |  379|      0|                X = X->forward[_i];                                                                          \
  |  |  380|      0|            }                                                                                                \
  |  |  381|      0|            assert(_count >= 1 && _count <= 3);                                                              \
  |  |  382|      0|            assert(!_drop->forward[_i] ||                                                                    \
  |  |  383|      0|                   !H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, _drop->forward[_i], KEY, HASHVAL));       \
  |  |  384|      0|                                                                                                             \
  |  |  385|      0|            /* Check if we need to adjust node heights */                                                    \
  |  |  386|      0|            if (_count == 1) {                                                                               \
  |  |  ------------------
  |  |  |  Branch (386:17): [True: 0, False: 0]
  |  |  ------------------
  |  |  387|      0|                /* Check if we are in the first gap */                                                       \
  |  |  388|      0|                if (_llast == _last) {                                                                       \
  |  |  ------------------
  |  |  |  Branch (388:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  389|      0|                    /* We are in the first gap, count the number of nodes */                                 \
  |  |  390|      0|                    /* of height _i in the next gap.  We need only check */                                  \
  |  |  391|      0|                    /* onenode to see if we should promote the first node */                                 \
  |  |  392|      0|                    /* in the next gap */                                                                    \
  |  |  393|      0|                    _llast = _next->forward[_i + 1];                                                         \
  |  |  394|      0|                                                                                                             \
  |  |  395|      0|                    /* Demote the separator node */                                                          \
  |  |  396|      0|                    H5SL_DEMOTE(_next, _last)                                                                \
  |  |  ------------------
  |  |  |  |  243|      0|    {                                                                                                        \
  |  |  |  |  244|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  245|      0|                                                                                                             \
  |  |  |  |  246|      0|        assert(PREV->forward[_lvl] == X);                                                                    \
  |  |  |  |  247|      0|        PREV->forward[_lvl] = X->forward[_lvl];                                                              \
  |  |  |  |  248|      0|        H5SL_SHRINK(X, _lvl);                                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  199|      0|    {                                                                                                        \
  |  |  |  |  |  |  200|      0|        /* Check if we can reduce the allocation of forward pointers */                                      \
  |  |  |  |  |  |  201|      0|        if (LVL <= ((size_t)1) << (X->log_nalloc - 1)) {                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (201:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  202|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  203|      0|            assert(LVL == ((size_t)1) << (X->log_nalloc - 1));                                               \
  |  |  |  |  |  |  204|      0|            X->log_nalloc--;                                                                                 \
  |  |  |  |  |  |  205|      0|                                                                                                             \
  |  |  |  |  |  |  206|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  207|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (207:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  208|      0|                HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "memory allocation failed");                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  209|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL) * sizeof(H5SL_node_t *));              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  210|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc + 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  211|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  212|      0|        }                                                                                                    \
  |  |  |  |  |  |  213|      0|                                                                                                             \
  |  |  |  |  |  |  214|      0|        X->level--;                                                                                          \
  |  |  |  |  |  |  215|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  249|      0|    }
  |  |  ------------------
  |  |  397|      0|                                                                                                             \
  |  |  398|      0|                    /* If there are 2 or more nodes, promote the first */                                    \
  |  |  399|      0|                    if (_next->forward[_i]->forward[_i] != _llast) {                                         \
  |  |  ------------------
  |  |  |  Branch (399:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  400|      0|                        X = _next->forward[_i];                                                              \
  |  |  401|      0|                        H5SL_PROMOTE(SLIST, X, _last, NULL);                                                 \
  |  |  ------------------
  |  |  |  |  221|      0|    do {                                                                                                     \
  |  |  |  |  222|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  223|      0|                                                                                                             \
  |  |  |  |  224|      0|        H5SL_GROW(X, _lvl, ERR);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  225|      0|                                                                                                             \
  |  |  |  |  226|      0|        if (_lvl == (size_t)SLIST->curr_level) {                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (226:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  227|      0|            assert(PREV == SLIST->header);                                                                   \
  |  |  |  |  228|      0|            /* Grow the head */                                                                              \
  |  |  |  |  229|      0|            H5SL_GROW(PREV, _lvl, ERR)                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  230|      0|            SLIST->curr_level++;                                                                             \
  |  |  |  |  231|      0|            X->forward[_lvl + 1] = NULL;                                                                     \
  |  |  |  |  232|      0|        }                                                                                                    \
  |  |  |  |  233|      0|        else {                                                                                               \
  |  |  |  |  234|      0|            assert(_lvl < (size_t)SLIST->curr_level);                                                        \
  |  |  |  |  235|      0|            X->forward[_lvl + 1] = PREV->forward[_lvl + 1];                                                  \
  |  |  |  |  236|      0|        }                                                                                                    \
  |  |  |  |  237|      0|        PREV->forward[_lvl + 1] = X;                                                                         \
  |  |  |  |  238|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (238:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  402|      0|                    }                                                                                        \
  |  |  403|      0|                    else if (!_head->forward[_i + 1]) {                                                      \
  |  |  ------------------
  |  |  |  Branch (403:30): [True: 0, False: 0]
  |  |  ------------------
  |  |  404|      0|                        /* shrink the header */                                                              \
  |  |  405|      0|                        assert(_i == SLIST->curr_level - 1);                                                 \
  |  |  406|      0|                        assert((size_t)SLIST->curr_level == _head->level);                                   \
  |  |  407|      0|                                                                                                             \
  |  |  408|      0|                        H5SL_SHRINK(_head, (size_t)(_i + 1))                                                 \
  |  |  ------------------
  |  |  |  |  199|      0|    {                                                                                                        \
  |  |  |  |  200|      0|        /* Check if we can reduce the allocation of forward pointers */                                      \
  |  |  |  |  201|      0|        if (LVL <= ((size_t)1) << (X->log_nalloc - 1)) {                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (201:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  202|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  203|      0|            assert(LVL == ((size_t)1) << (X->log_nalloc - 1));                                               \
  |  |  |  |  204|      0|            X->log_nalloc--;                                                                                 \
  |  |  |  |  205|      0|                                                                                                             \
  |  |  |  |  206|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  207|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (207:17): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  208|      0|                HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "memory allocation failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  209|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL) * sizeof(H5SL_node_t *));              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  ------------------
  |  |  |  |  210|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc + 1], (void *)X->forward);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  ------------------
  |  |  |  |  211|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  212|      0|        }                                                                                                    \
  |  |  |  |  213|      0|                                                                                                             \
  |  |  |  |  214|      0|        X->level--;                                                                                          \
  |  |  |  |  215|      0|    }
  |  |  ------------------
  |  |  409|      0|                        SLIST->curr_level--;                                                                 \
  |  |  410|      0|                    }                                                                                        \
  |  |  411|      0|                }                                                                                            \
  |  |  412|      0|                else {                                                                                       \
  |  |  413|      0|                    /* We are not in the first gap, count the number of */                                   \
  |  |  414|      0|                    /* nodes of height _i in the previous gap.  Note we */                                   \
  |  |  415|      0|                    /* "look ahead" in this loop so X has the value of the */                                \
  |  |  416|      0|                    /* last node in the previous gap. */                                                     \
  |  |  417|      0|                    X = _llast->forward[_i];                                                                 \
  |  |  418|      0|                    for (_count = 1; _count < 3 && X->forward[_i] != _last; _count++)                        \
  |  |  ------------------
  |  |  |  Branch (418:38): [True: 0, False: 0]
  |  |  |  Branch (418:52): [True: 0, False: 0]
  |  |  ------------------
  |  |  419|      0|                        X = X->forward[_i];                                                                  \
  |  |  420|      0|                    assert(X->forward[_i] == _last);                                                         \
  |  |  421|      0|                                                                                                             \
  |  |  422|      0|                    /* Demote the separator node */                                                          \
  |  |  423|      0|                    H5SL_DEMOTE(_last, _llast)                                                               \
  |  |  ------------------
  |  |  |  |  243|      0|    {                                                                                                        \
  |  |  |  |  244|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  245|      0|                                                                                                             \
  |  |  |  |  246|      0|        assert(PREV->forward[_lvl] == X);                                                                    \
  |  |  |  |  247|      0|        PREV->forward[_lvl] = X->forward[_lvl];                                                              \
  |  |  |  |  248|      0|        H5SL_SHRINK(X, _lvl);                                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  199|      0|    {                                                                                                        \
  |  |  |  |  |  |  200|      0|        /* Check if we can reduce the allocation of forward pointers */                                      \
  |  |  |  |  |  |  201|      0|        if (LVL <= ((size_t)1) << (X->log_nalloc - 1)) {                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (201:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  202|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  203|      0|            assert(LVL == ((size_t)1) << (X->log_nalloc - 1));                                               \
  |  |  |  |  |  |  204|      0|            X->log_nalloc--;                                                                                 \
  |  |  |  |  |  |  205|      0|                                                                                                             \
  |  |  |  |  |  |  206|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  207|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (207:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  208|      0|                HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "memory allocation failed");                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  209|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL) * sizeof(H5SL_node_t *));              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  210|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc + 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  211|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  212|      0|        }                                                                                                    \
  |  |  |  |  |  |  213|      0|                                                                                                             \
  |  |  |  |  |  |  214|      0|        X->level--;                                                                                          \
  |  |  |  |  |  |  215|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  249|      0|    }
  |  |  ------------------
  |  |  424|      0|                                                                                                             \
  |  |  425|      0|                    /* If there are 2 or more nodes, promote the last */                                     \
  |  |  426|      0|                    if (_count >= 2)                                                                         \
  |  |  ------------------
  |  |  |  Branch (426:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  427|      0|                        H5SL_PROMOTE(SLIST, X, _llast, NULL);                                                \
  |  |  ------------------
  |  |  |  |  221|      0|    do {                                                                                                     \
  |  |  |  |  222|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  223|      0|                                                                                                             \
  |  |  |  |  224|      0|        H5SL_GROW(X, _lvl, ERR);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  225|      0|                                                                                                             \
  |  |  |  |  226|      0|        if (_lvl == (size_t)SLIST->curr_level) {                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (226:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  227|      0|            assert(PREV == SLIST->header);                                                                   \
  |  |  |  |  228|      0|            /* Grow the head */                                                                              \
  |  |  |  |  229|      0|            H5SL_GROW(PREV, _lvl, ERR)                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  230|      0|            SLIST->curr_level++;                                                                             \
  |  |  |  |  231|      0|            X->forward[_lvl + 1] = NULL;                                                                     \
  |  |  |  |  232|      0|        }                                                                                                    \
  |  |  |  |  233|      0|        else {                                                                                               \
  |  |  |  |  234|      0|            assert(_lvl < (size_t)SLIST->curr_level);                                                        \
  |  |  |  |  235|      0|            X->forward[_lvl + 1] = PREV->forward[_lvl + 1];                                                  \
  |  |  |  |  236|      0|        }                                                                                                    \
  |  |  |  |  237|      0|        PREV->forward[_lvl + 1] = X;                                                                         \
  |  |  |  |  238|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (238:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  428|      0|                    else if (!_head->forward[_i + 1]) {                                                      \
  |  |  ------------------
  |  |  |  Branch (428:30): [True: 0, False: 0]
  |  |  ------------------
  |  |  429|      0|                        /* shrink the header */                                                              \
  |  |  430|      0|                        assert(_i == SLIST->curr_level - 1);                                                 \
  |  |  431|      0|                        assert((size_t)SLIST->curr_level == _head->level);                                   \
  |  |  432|      0|                                                                                                             \
  |  |  433|      0|                        H5SL_SHRINK(_head, (size_t)(_i + 1))                                                 \
  |  |  ------------------
  |  |  |  |  199|      0|    {                                                                                                        \
  |  |  |  |  200|      0|        /* Check if we can reduce the allocation of forward pointers */                                      \
  |  |  |  |  201|      0|        if (LVL <= ((size_t)1) << (X->log_nalloc - 1)) {                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (201:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  202|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  203|      0|            assert(LVL == ((size_t)1) << (X->log_nalloc - 1));                                               \
  |  |  |  |  204|      0|            X->log_nalloc--;                                                                                 \
  |  |  |  |  205|      0|                                                                                                             \
  |  |  |  |  206|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  207|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (207:17): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  208|      0|                HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "memory allocation failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  209|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL) * sizeof(H5SL_node_t *));              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  ------------------
  |  |  |  |  210|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc + 1], (void *)X->forward);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  ------------------
  |  |  |  |  211|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  212|      0|        }                                                                                                    \
  |  |  |  |  213|      0|                                                                                                             \
  |  |  |  |  214|      0|        X->level--;                                                                                          \
  |  |  |  |  215|      0|    }
  |  |  ------------------
  |  |  434|      0|                        SLIST->curr_level--;                                                                 \
  |  |  435|      0|                    }                                                                                        \
  |  |  436|      0|                }                                                                                            \
  |  |  437|      0|            }                                                                                                \
  |  |  438|      0|                                                                                                             \
  |  |  439|      0|            /* Prepare to drop down */                                                                       \
  |  |  440|      0|            _llast = _ldrop;                                                                                 \
  |  |  441|      0|            _last  = _drop;                                                                                  \
  |  |  442|      0|            _next  = _drop->forward[_i];                                                                     \
  |  |  443|      0|        }                                                                                                    \
  |  |  444|      0|                                                                                                             \
  |  |  445|      0|        /* Check if we've found the node */                                                                  \
  |  |  446|      0|        if (_next && H5_GLUE3(H5SL_LOCATE_, CMP, _EQ)(SLIST, TYPE, _next, KEY, HASHVAL)) {                   \
  |  |  ------------------
  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (446:13): [True: 0, False: 0]
  |  |  ------------------
  |  |  447|      0|            void *tmp = _next->item;                                                                         \
  |  |  448|      0|            X         = _next;                                                                               \
  |  |  449|      0|                                                                                                             \
  |  |  450|      0|            /* If the node has a height > 0, swap it with its (lower) */                                     \
  |  |  451|      0|            /* neighbor */                                                                                   \
  |  |  452|      0|            if (X->level) {                                                                                  \
  |  |  ------------------
  |  |  |  Branch (452:17): [True: 0, False: 0]
  |  |  ------------------
  |  |  453|      0|                X              = X->backward;                                                                \
  |  |  454|      0|                _next->key     = X->key;                                                                     \
  |  |  455|      0|                _next->item    = X->item;                                                                    \
  |  |  456|      0|                _next->hashval = X->hashval;                                                                 \
  |  |  457|      0|            }                                                                                                \
  |  |  458|      0|            assert(!X->level);                                                                               \
  |  |  459|      0|                                                                                                             \
  |  |  460|      0|            /* Remove the node */                                                                            \
  |  |  461|      0|            X->backward->forward[0] = X->forward[0];                                                         \
  |  |  462|      0|            if (SLIST->last == X)                                                                            \
  |  |  ------------------
  |  |  |  Branch (462:17): [True: 0, False: 0]
  |  |  ------------------
  |  |  463|      0|                SLIST->last = X->backward;                                                                   \
  |  |  464|      0|            else                                                                                             \
  |  |  465|      0|                X->forward[0]->backward = X->backward;                                                       \
  |  |  466|      0|            SLIST->nobjs--;                                                                                  \
  |  |  467|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[0], X->forward);                           \
  |  |  ------------------
  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  ------------------
  |  |  468|      0|            X          = H5FL_FREE(H5SL_node_t, X);                                                          \
  |  |  ------------------
  |  |  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  |  |  ------------------
  |  |  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  469|      0|                                                                                                             \
  |  |  470|      0|            HGOTO_DONE(tmp);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  471|      0|        }                                                                                                    \
  |  |  472|      0|    }
  ------------------
 1140|      0|            break;
 1141|       |
 1142|      0|        case H5SL_TYPE_HSIZE:
  ------------------
  |  Branch (1142:9): [True: 0, False: 286]
  ------------------
 1143|      0|            H5SL_REMOVE(SCALAR, slist, x, const hsize_t, key, -)
  ------------------
  |  |  310|      0|    {                                                                                                        \
  |  |  311|      0|        H5SL_node_t *_last  = X;             /* Lowest node in the current gap */                            \
  |  |  312|      0|        H5SL_node_t *_llast = X;             /* Lowest node in the previous gap */                           \
  |  |  313|      0|        H5SL_node_t *_next  = NULL;          /* Highest node in the current gap */                           \
  |  |  314|      0|        H5SL_node_t *_drop  = NULL;          /* Low node of the gap to drop into */                          \
  |  |  315|      0|        H5SL_node_t *_ldrop = NULL;          /* Low node of gap before the one to drop into */               \
  |  |  316|      0|        H5SL_node_t *_head  = SLIST->header; /* Head of the skip list */                                     \
  |  |  317|      0|        int          _count;                 /* Number of nodes in the current gap */                        \
  |  |  318|      0|        int          _i = (int)SLIST->curr_level;                                                            \
  |  |  319|      0|                                                                                                             \
  |  |  320|      0|        if (_i < 0)                                                                                          \
  |  |  ------------------
  |  |  |  Branch (320:13): [True: 0, False: 0]
  |  |  ------------------
  |  |  321|      0|            HGOTO_DONE(NULL);                                                                                \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  322|      0|                                                                                                             \
  |  |  323|      0|        H5_GLUE3(H5SL_LOCATE_, CMP, _HASHINIT)                                                               \
  |  |  324|      0|        (KEY, HASHVAL)                                                                                       \
  |  |  325|      0|                                                                                                             \
  |  |  326|      0|            /* Find the gap to drop in to at the highest level */                                            \
  |  |  327|      0|            while (X && (!X->key || H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, X, KEY, HASHVAL)))        \
  |  |  ------------------
  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (327:20): [True: 0, False: 0]
  |  |  |  Branch (327:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  328|      0|        {                                                                                                    \
  |  |  329|      0|            _llast = _last;                                                                                  \
  |  |  330|      0|            _last  = X;                                                                                      \
  |  |  331|      0|            X      = X->forward[_i];                                                                         \
  |  |  332|      0|        }                                                                                                    \
  |  |  333|      0|        _next = X;                                                                                           \
  |  |  334|      0|                                                                                                             \
  |  |  335|      0|        /* Main loop */                                                                                      \
  |  |  336|      0|        for (_i--; _i >= 0; _i--) {                                                                          \
  |  |  ------------------
  |  |  |  Branch (336:20): [True: 0, False: 0]
  |  |  ------------------
  |  |  337|      0|            /* Search for the node to drop into, also count the number of */                                 \
  |  |  338|      0|            /* nodes of height _i in this gap and keep track of of the node */                               \
  |  |  339|      0|            /* before the one to drop into (_ldrop will become _llast, */                                    \
  |  |  340|      0|            /* _drop will become _last). */                                                                  \
  |  |  341|      0|            X = _ldrop = _last;                                                                              \
  |  |  342|      0|            _drop      = NULL;                                                                               \
  |  |  343|      0|            for (_count = 0;; _count++) {                                                                    \
  |  |  344|      0|                /* Terminate if this is the last node in the gap */                                          \
  |  |  345|      0|                if (X->forward[_i] == _next) {                                                               \
  |  |  ------------------
  |  |  |  Branch (345:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  346|      0|                    if (!_drop)                                                                              \
  |  |  ------------------
  |  |  |  Branch (346:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  347|      0|                        _drop = X;                                                                           \
  |  |  348|      0|                    break;                                                                                   \
  |  |  349|      0|                }                                                                                            \
  |  |  350|      0|                                                                                                             \
  |  |  351|      0|                /* If we have already found the node to drop into and there */                               \
  |  |  352|      0|                /* is more than one node in this gap, we can stop searching */                               \
  |  |  353|      0|                if (_drop) {                                                                                 \
  |  |  ------------------
  |  |  |  Branch (353:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|                    assert(_count >= 1);                                                                     \
  |  |  355|      0|                    _count = 2;                                                                              \
  |  |  356|      0|                    break;                                                                                   \
  |  |  357|      0|                }                                                                                            \
  |  |  358|      0|                else { /* !_drop */                                                                          \
  |  |  359|      0|                    /* Check if this node is the start of the next gap */                                    \
  |  |  360|      0|                    if (!H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, X->forward[_i], KEY, HASHVAL)) {     \
  |  |  ------------------
  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (360:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  361|      0|                        _drop = X;                                                                           \
  |  |  362|      0|                        /* Again check if we can stop searching */                                           \
  |  |  363|      0|                        if (_count) {                                                                        \
  |  |  ------------------
  |  |  |  Branch (363:29): [True: 0, False: 0]
  |  |  ------------------
  |  |  364|      0|                            _count = 2;                                                                      \
  |  |  365|      0|                            break;                                                                           \
  |  |  366|      0|                        }                                                                                    \
  |  |  367|      0|                    }                                                                                        \
  |  |  368|      0|                    else                                                                                     \
  |  |  369|      0|                        _ldrop = X;                                                                          \
  |  |  370|      0|                }                                                                                            \
  |  |  371|      0|                                                                                                             \
  |  |  372|      0|                /* No need to check the last node in the gap if there are */                                 \
  |  |  373|      0|                /* 3, as there cannot be a fourth */                                                         \
  |  |  374|      0|                if (_count == 2) {                                                                           \
  |  |  ------------------
  |  |  |  Branch (374:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  375|      0|                    if (!_drop)                                                                              \
  |  |  ------------------
  |  |  |  Branch (375:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  376|      0|                        _drop = X->forward[_i];                                                              \
  |  |  377|      0|                    break;                                                                                   \
  |  |  378|      0|                }                                                                                            \
  |  |  379|      0|                X = X->forward[_i];                                                                          \
  |  |  380|      0|            }                                                                                                \
  |  |  381|      0|            assert(_count >= 1 && _count <= 3);                                                              \
  |  |  382|      0|            assert(!_drop->forward[_i] ||                                                                    \
  |  |  383|      0|                   !H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, _drop->forward[_i], KEY, HASHVAL));       \
  |  |  384|      0|                                                                                                             \
  |  |  385|      0|            /* Check if we need to adjust node heights */                                                    \
  |  |  386|      0|            if (_count == 1) {                                                                               \
  |  |  ------------------
  |  |  |  Branch (386:17): [True: 0, False: 0]
  |  |  ------------------
  |  |  387|      0|                /* Check if we are in the first gap */                                                       \
  |  |  388|      0|                if (_llast == _last) {                                                                       \
  |  |  ------------------
  |  |  |  Branch (388:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  389|      0|                    /* We are in the first gap, count the number of nodes */                                 \
  |  |  390|      0|                    /* of height _i in the next gap.  We need only check */                                  \
  |  |  391|      0|                    /* onenode to see if we should promote the first node */                                 \
  |  |  392|      0|                    /* in the next gap */                                                                    \
  |  |  393|      0|                    _llast = _next->forward[_i + 1];                                                         \
  |  |  394|      0|                                                                                                             \
  |  |  395|      0|                    /* Demote the separator node */                                                          \
  |  |  396|      0|                    H5SL_DEMOTE(_next, _last)                                                                \
  |  |  ------------------
  |  |  |  |  243|      0|    {                                                                                                        \
  |  |  |  |  244|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  245|      0|                                                                                                             \
  |  |  |  |  246|      0|        assert(PREV->forward[_lvl] == X);                                                                    \
  |  |  |  |  247|      0|        PREV->forward[_lvl] = X->forward[_lvl];                                                              \
  |  |  |  |  248|      0|        H5SL_SHRINK(X, _lvl);                                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  199|      0|    {                                                                                                        \
  |  |  |  |  |  |  200|      0|        /* Check if we can reduce the allocation of forward pointers */                                      \
  |  |  |  |  |  |  201|      0|        if (LVL <= ((size_t)1) << (X->log_nalloc - 1)) {                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (201:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  202|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  203|      0|            assert(LVL == ((size_t)1) << (X->log_nalloc - 1));                                               \
  |  |  |  |  |  |  204|      0|            X->log_nalloc--;                                                                                 \
  |  |  |  |  |  |  205|      0|                                                                                                             \
  |  |  |  |  |  |  206|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  207|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (207:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  208|      0|                HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "memory allocation failed");                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  209|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL) * sizeof(H5SL_node_t *));              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  210|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc + 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  211|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  212|      0|        }                                                                                                    \
  |  |  |  |  |  |  213|      0|                                                                                                             \
  |  |  |  |  |  |  214|      0|        X->level--;                                                                                          \
  |  |  |  |  |  |  215|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  249|      0|    }
  |  |  ------------------
  |  |  397|      0|                                                                                                             \
  |  |  398|      0|                    /* If there are 2 or more nodes, promote the first */                                    \
  |  |  399|      0|                    if (_next->forward[_i]->forward[_i] != _llast) {                                         \
  |  |  ------------------
  |  |  |  Branch (399:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  400|      0|                        X = _next->forward[_i];                                                              \
  |  |  401|      0|                        H5SL_PROMOTE(SLIST, X, _last, NULL);                                                 \
  |  |  ------------------
  |  |  |  |  221|      0|    do {                                                                                                     \
  |  |  |  |  222|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  223|      0|                                                                                                             \
  |  |  |  |  224|      0|        H5SL_GROW(X, _lvl, ERR);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  225|      0|                                                                                                             \
  |  |  |  |  226|      0|        if (_lvl == (size_t)SLIST->curr_level) {                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (226:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  227|      0|            assert(PREV == SLIST->header);                                                                   \
  |  |  |  |  228|      0|            /* Grow the head */                                                                              \
  |  |  |  |  229|      0|            H5SL_GROW(PREV, _lvl, ERR)                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  230|      0|            SLIST->curr_level++;                                                                             \
  |  |  |  |  231|      0|            X->forward[_lvl + 1] = NULL;                                                                     \
  |  |  |  |  232|      0|        }                                                                                                    \
  |  |  |  |  233|      0|        else {                                                                                               \
  |  |  |  |  234|      0|            assert(_lvl < (size_t)SLIST->curr_level);                                                        \
  |  |  |  |  235|      0|            X->forward[_lvl + 1] = PREV->forward[_lvl + 1];                                                  \
  |  |  |  |  236|      0|        }                                                                                                    \
  |  |  |  |  237|      0|        PREV->forward[_lvl + 1] = X;                                                                         \
  |  |  |  |  238|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (238:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  402|      0|                    }                                                                                        \
  |  |  403|      0|                    else if (!_head->forward[_i + 1]) {                                                      \
  |  |  ------------------
  |  |  |  Branch (403:30): [True: 0, False: 0]
  |  |  ------------------
  |  |  404|      0|                        /* shrink the header */                                                              \
  |  |  405|      0|                        assert(_i == SLIST->curr_level - 1);                                                 \
  |  |  406|      0|                        assert((size_t)SLIST->curr_level == _head->level);                                   \
  |  |  407|      0|                                                                                                             \
  |  |  408|      0|                        H5SL_SHRINK(_head, (size_t)(_i + 1))                                                 \
  |  |  ------------------
  |  |  |  |  199|      0|    {                                                                                                        \
  |  |  |  |  200|      0|        /* Check if we can reduce the allocation of forward pointers */                                      \
  |  |  |  |  201|      0|        if (LVL <= ((size_t)1) << (X->log_nalloc - 1)) {                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (201:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  202|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  203|      0|            assert(LVL == ((size_t)1) << (X->log_nalloc - 1));                                               \
  |  |  |  |  204|      0|            X->log_nalloc--;                                                                                 \
  |  |  |  |  205|      0|                                                                                                             \
  |  |  |  |  206|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  207|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (207:17): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  208|      0|                HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "memory allocation failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  209|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL) * sizeof(H5SL_node_t *));              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  ------------------
  |  |  |  |  210|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc + 1], (void *)X->forward);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  ------------------
  |  |  |  |  211|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  212|      0|        }                                                                                                    \
  |  |  |  |  213|      0|                                                                                                             \
  |  |  |  |  214|      0|        X->level--;                                                                                          \
  |  |  |  |  215|      0|    }
  |  |  ------------------
  |  |  409|      0|                        SLIST->curr_level--;                                                                 \
  |  |  410|      0|                    }                                                                                        \
  |  |  411|      0|                }                                                                                            \
  |  |  412|      0|                else {                                                                                       \
  |  |  413|      0|                    /* We are not in the first gap, count the number of */                                   \
  |  |  414|      0|                    /* nodes of height _i in the previous gap.  Note we */                                   \
  |  |  415|      0|                    /* "look ahead" in this loop so X has the value of the */                                \
  |  |  416|      0|                    /* last node in the previous gap. */                                                     \
  |  |  417|      0|                    X = _llast->forward[_i];                                                                 \
  |  |  418|      0|                    for (_count = 1; _count < 3 && X->forward[_i] != _last; _count++)                        \
  |  |  ------------------
  |  |  |  Branch (418:38): [True: 0, False: 0]
  |  |  |  Branch (418:52): [True: 0, False: 0]
  |  |  ------------------
  |  |  419|      0|                        X = X->forward[_i];                                                                  \
  |  |  420|      0|                    assert(X->forward[_i] == _last);                                                         \
  |  |  421|      0|                                                                                                             \
  |  |  422|      0|                    /* Demote the separator node */                                                          \
  |  |  423|      0|                    H5SL_DEMOTE(_last, _llast)                                                               \
  |  |  ------------------
  |  |  |  |  243|      0|    {                                                                                                        \
  |  |  |  |  244|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  245|      0|                                                                                                             \
  |  |  |  |  246|      0|        assert(PREV->forward[_lvl] == X);                                                                    \
  |  |  |  |  247|      0|        PREV->forward[_lvl] = X->forward[_lvl];                                                              \
  |  |  |  |  248|      0|        H5SL_SHRINK(X, _lvl);                                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  199|      0|    {                                                                                                        \
  |  |  |  |  |  |  200|      0|        /* Check if we can reduce the allocation of forward pointers */                                      \
  |  |  |  |  |  |  201|      0|        if (LVL <= ((size_t)1) << (X->log_nalloc - 1)) {                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (201:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  202|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  203|      0|            assert(LVL == ((size_t)1) << (X->log_nalloc - 1));                                               \
  |  |  |  |  |  |  204|      0|            X->log_nalloc--;                                                                                 \
  |  |  |  |  |  |  205|      0|                                                                                                             \
  |  |  |  |  |  |  206|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  207|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (207:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  208|      0|                HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "memory allocation failed");                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  209|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL) * sizeof(H5SL_node_t *));              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  210|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc + 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  211|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  212|      0|        }                                                                                                    \
  |  |  |  |  |  |  213|      0|                                                                                                             \
  |  |  |  |  |  |  214|      0|        X->level--;                                                                                          \
  |  |  |  |  |  |  215|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  249|      0|    }
  |  |  ------------------
  |  |  424|      0|                                                                                                             \
  |  |  425|      0|                    /* If there are 2 or more nodes, promote the last */                                     \
  |  |  426|      0|                    if (_count >= 2)                                                                         \
  |  |  ------------------
  |  |  |  Branch (426:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  427|      0|                        H5SL_PROMOTE(SLIST, X, _llast, NULL);                                                \
  |  |  ------------------
  |  |  |  |  221|      0|    do {                                                                                                     \
  |  |  |  |  222|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  223|      0|                                                                                                             \
  |  |  |  |  224|      0|        H5SL_GROW(X, _lvl, ERR);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  225|      0|                                                                                                             \
  |  |  |  |  226|      0|        if (_lvl == (size_t)SLIST->curr_level) {                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (226:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  227|      0|            assert(PREV == SLIST->header);                                                                   \
  |  |  |  |  228|      0|            /* Grow the head */                                                                              \
  |  |  |  |  229|      0|            H5SL_GROW(PREV, _lvl, ERR)                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  230|      0|            SLIST->curr_level++;                                                                             \
  |  |  |  |  231|      0|            X->forward[_lvl + 1] = NULL;                                                                     \
  |  |  |  |  232|      0|        }                                                                                                    \
  |  |  |  |  233|      0|        else {                                                                                               \
  |  |  |  |  234|      0|            assert(_lvl < (size_t)SLIST->curr_level);                                                        \
  |  |  |  |  235|      0|            X->forward[_lvl + 1] = PREV->forward[_lvl + 1];                                                  \
  |  |  |  |  236|      0|        }                                                                                                    \
  |  |  |  |  237|      0|        PREV->forward[_lvl + 1] = X;                                                                         \
  |  |  |  |  238|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (238:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  428|      0|                    else if (!_head->forward[_i + 1]) {                                                      \
  |  |  ------------------
  |  |  |  Branch (428:30): [True: 0, False: 0]
  |  |  ------------------
  |  |  429|      0|                        /* shrink the header */                                                              \
  |  |  430|      0|                        assert(_i == SLIST->curr_level - 1);                                                 \
  |  |  431|      0|                        assert((size_t)SLIST->curr_level == _head->level);                                   \
  |  |  432|      0|                                                                                                             \
  |  |  433|      0|                        H5SL_SHRINK(_head, (size_t)(_i + 1))                                                 \
  |  |  ------------------
  |  |  |  |  199|      0|    {                                                                                                        \
  |  |  |  |  200|      0|        /* Check if we can reduce the allocation of forward pointers */                                      \
  |  |  |  |  201|      0|        if (LVL <= ((size_t)1) << (X->log_nalloc - 1)) {                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (201:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  202|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  203|      0|            assert(LVL == ((size_t)1) << (X->log_nalloc - 1));                                               \
  |  |  |  |  204|      0|            X->log_nalloc--;                                                                                 \
  |  |  |  |  205|      0|                                                                                                             \
  |  |  |  |  206|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  207|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (207:17): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  208|      0|                HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "memory allocation failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  209|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL) * sizeof(H5SL_node_t *));              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  ------------------
  |  |  |  |  210|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc + 1], (void *)X->forward);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  ------------------
  |  |  |  |  211|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  212|      0|        }                                                                                                    \
  |  |  |  |  213|      0|                                                                                                             \
  |  |  |  |  214|      0|        X->level--;                                                                                          \
  |  |  |  |  215|      0|    }
  |  |  ------------------
  |  |  434|      0|                        SLIST->curr_level--;                                                                 \
  |  |  435|      0|                    }                                                                                        \
  |  |  436|      0|                }                                                                                            \
  |  |  437|      0|            }                                                                                                \
  |  |  438|      0|                                                                                                             \
  |  |  439|      0|            /* Prepare to drop down */                                                                       \
  |  |  440|      0|            _llast = _ldrop;                                                                                 \
  |  |  441|      0|            _last  = _drop;                                                                                  \
  |  |  442|      0|            _next  = _drop->forward[_i];                                                                     \
  |  |  443|      0|        }                                                                                                    \
  |  |  444|      0|                                                                                                             \
  |  |  445|      0|        /* Check if we've found the node */                                                                  \
  |  |  446|      0|        if (_next && H5_GLUE3(H5SL_LOCATE_, CMP, _EQ)(SLIST, TYPE, _next, KEY, HASHVAL)) {                   \
  |  |  ------------------
  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (446:13): [True: 0, False: 0]
  |  |  ------------------
  |  |  447|      0|            void *tmp = _next->item;                                                                         \
  |  |  448|      0|            X         = _next;                                                                               \
  |  |  449|      0|                                                                                                             \
  |  |  450|      0|            /* If the node has a height > 0, swap it with its (lower) */                                     \
  |  |  451|      0|            /* neighbor */                                                                                   \
  |  |  452|      0|            if (X->level) {                                                                                  \
  |  |  ------------------
  |  |  |  Branch (452:17): [True: 0, False: 0]
  |  |  ------------------
  |  |  453|      0|                X              = X->backward;                                                                \
  |  |  454|      0|                _next->key     = X->key;                                                                     \
  |  |  455|      0|                _next->item    = X->item;                                                                    \
  |  |  456|      0|                _next->hashval = X->hashval;                                                                 \
  |  |  457|      0|            }                                                                                                \
  |  |  458|      0|            assert(!X->level);                                                                               \
  |  |  459|      0|                                                                                                             \
  |  |  460|      0|            /* Remove the node */                                                                            \
  |  |  461|      0|            X->backward->forward[0] = X->forward[0];                                                         \
  |  |  462|      0|            if (SLIST->last == X)                                                                            \
  |  |  ------------------
  |  |  |  Branch (462:17): [True: 0, False: 0]
  |  |  ------------------
  |  |  463|      0|                SLIST->last = X->backward;                                                                   \
  |  |  464|      0|            else                                                                                             \
  |  |  465|      0|                X->forward[0]->backward = X->backward;                                                       \
  |  |  466|      0|            SLIST->nobjs--;                                                                                  \
  |  |  467|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[0], X->forward);                           \
  |  |  ------------------
  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  ------------------
  |  |  468|      0|            X          = H5FL_FREE(H5SL_node_t, X);                                                          \
  |  |  ------------------
  |  |  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  |  |  ------------------
  |  |  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  469|      0|                                                                                                             \
  |  |  470|      0|            HGOTO_DONE(tmp);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  471|      0|        }                                                                                                    \
  |  |  472|      0|    }
  ------------------
 1144|      0|            break;
 1145|       |
 1146|      0|        case H5SL_TYPE_UNSIGNED:
  ------------------
  |  Branch (1146:9): [True: 0, False: 286]
  ------------------
 1147|      0|            H5SL_REMOVE(SCALAR, slist, x, const unsigned, key, -)
  ------------------
  |  |  310|      0|    {                                                                                                        \
  |  |  311|      0|        H5SL_node_t *_last  = X;             /* Lowest node in the current gap */                            \
  |  |  312|      0|        H5SL_node_t *_llast = X;             /* Lowest node in the previous gap */                           \
  |  |  313|      0|        H5SL_node_t *_next  = NULL;          /* Highest node in the current gap */                           \
  |  |  314|      0|        H5SL_node_t *_drop  = NULL;          /* Low node of the gap to drop into */                          \
  |  |  315|      0|        H5SL_node_t *_ldrop = NULL;          /* Low node of gap before the one to drop into */               \
  |  |  316|      0|        H5SL_node_t *_head  = SLIST->header; /* Head of the skip list */                                     \
  |  |  317|      0|        int          _count;                 /* Number of nodes in the current gap */                        \
  |  |  318|      0|        int          _i = (int)SLIST->curr_level;                                                            \
  |  |  319|      0|                                                                                                             \
  |  |  320|      0|        if (_i < 0)                                                                                          \
  |  |  ------------------
  |  |  |  Branch (320:13): [True: 0, False: 0]
  |  |  ------------------
  |  |  321|      0|            HGOTO_DONE(NULL);                                                                                \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  322|      0|                                                                                                             \
  |  |  323|      0|        H5_GLUE3(H5SL_LOCATE_, CMP, _HASHINIT)                                                               \
  |  |  324|      0|        (KEY, HASHVAL)                                                                                       \
  |  |  325|      0|                                                                                                             \
  |  |  326|      0|            /* Find the gap to drop in to at the highest level */                                            \
  |  |  327|      0|            while (X && (!X->key || H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, X, KEY, HASHVAL)))        \
  |  |  ------------------
  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (327:20): [True: 0, False: 0]
  |  |  |  Branch (327:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  328|      0|        {                                                                                                    \
  |  |  329|      0|            _llast = _last;                                                                                  \
  |  |  330|      0|            _last  = X;                                                                                      \
  |  |  331|      0|            X      = X->forward[_i];                                                                         \
  |  |  332|      0|        }                                                                                                    \
  |  |  333|      0|        _next = X;                                                                                           \
  |  |  334|      0|                                                                                                             \
  |  |  335|      0|        /* Main loop */                                                                                      \
  |  |  336|      0|        for (_i--; _i >= 0; _i--) {                                                                          \
  |  |  ------------------
  |  |  |  Branch (336:20): [True: 0, False: 0]
  |  |  ------------------
  |  |  337|      0|            /* Search for the node to drop into, also count the number of */                                 \
  |  |  338|      0|            /* nodes of height _i in this gap and keep track of of the node */                               \
  |  |  339|      0|            /* before the one to drop into (_ldrop will become _llast, */                                    \
  |  |  340|      0|            /* _drop will become _last). */                                                                  \
  |  |  341|      0|            X = _ldrop = _last;                                                                              \
  |  |  342|      0|            _drop      = NULL;                                                                               \
  |  |  343|      0|            for (_count = 0;; _count++) {                                                                    \
  |  |  344|      0|                /* Terminate if this is the last node in the gap */                                          \
  |  |  345|      0|                if (X->forward[_i] == _next) {                                                               \
  |  |  ------------------
  |  |  |  Branch (345:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  346|      0|                    if (!_drop)                                                                              \
  |  |  ------------------
  |  |  |  Branch (346:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  347|      0|                        _drop = X;                                                                           \
  |  |  348|      0|                    break;                                                                                   \
  |  |  349|      0|                }                                                                                            \
  |  |  350|      0|                                                                                                             \
  |  |  351|      0|                /* If we have already found the node to drop into and there */                               \
  |  |  352|      0|                /* is more than one node in this gap, we can stop searching */                               \
  |  |  353|      0|                if (_drop) {                                                                                 \
  |  |  ------------------
  |  |  |  Branch (353:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|                    assert(_count >= 1);                                                                     \
  |  |  355|      0|                    _count = 2;                                                                              \
  |  |  356|      0|                    break;                                                                                   \
  |  |  357|      0|                }                                                                                            \
  |  |  358|      0|                else { /* !_drop */                                                                          \
  |  |  359|      0|                    /* Check if this node is the start of the next gap */                                    \
  |  |  360|      0|                    if (!H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, X->forward[_i], KEY, HASHVAL)) {     \
  |  |  ------------------
  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (360:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  361|      0|                        _drop = X;                                                                           \
  |  |  362|      0|                        /* Again check if we can stop searching */                                           \
  |  |  363|      0|                        if (_count) {                                                                        \
  |  |  ------------------
  |  |  |  Branch (363:29): [True: 0, False: 0]
  |  |  ------------------
  |  |  364|      0|                            _count = 2;                                                                      \
  |  |  365|      0|                            break;                                                                           \
  |  |  366|      0|                        }                                                                                    \
  |  |  367|      0|                    }                                                                                        \
  |  |  368|      0|                    else                                                                                     \
  |  |  369|      0|                        _ldrop = X;                                                                          \
  |  |  370|      0|                }                                                                                            \
  |  |  371|      0|                                                                                                             \
  |  |  372|      0|                /* No need to check the last node in the gap if there are */                                 \
  |  |  373|      0|                /* 3, as there cannot be a fourth */                                                         \
  |  |  374|      0|                if (_count == 2) {                                                                           \
  |  |  ------------------
  |  |  |  Branch (374:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  375|      0|                    if (!_drop)                                                                              \
  |  |  ------------------
  |  |  |  Branch (375:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  376|      0|                        _drop = X->forward[_i];                                                              \
  |  |  377|      0|                    break;                                                                                   \
  |  |  378|      0|                }                                                                                            \
  |  |  379|      0|                X = X->forward[_i];                                                                          \
  |  |  380|      0|            }                                                                                                \
  |  |  381|      0|            assert(_count >= 1 && _count <= 3);                                                              \
  |  |  382|      0|            assert(!_drop->forward[_i] ||                                                                    \
  |  |  383|      0|                   !H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, _drop->forward[_i], KEY, HASHVAL));       \
  |  |  384|      0|                                                                                                             \
  |  |  385|      0|            /* Check if we need to adjust node heights */                                                    \
  |  |  386|      0|            if (_count == 1) {                                                                               \
  |  |  ------------------
  |  |  |  Branch (386:17): [True: 0, False: 0]
  |  |  ------------------
  |  |  387|      0|                /* Check if we are in the first gap */                                                       \
  |  |  388|      0|                if (_llast == _last) {                                                                       \
  |  |  ------------------
  |  |  |  Branch (388:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  389|      0|                    /* We are in the first gap, count the number of nodes */                                 \
  |  |  390|      0|                    /* of height _i in the next gap.  We need only check */                                  \
  |  |  391|      0|                    /* onenode to see if we should promote the first node */                                 \
  |  |  392|      0|                    /* in the next gap */                                                                    \
  |  |  393|      0|                    _llast = _next->forward[_i + 1];                                                         \
  |  |  394|      0|                                                                                                             \
  |  |  395|      0|                    /* Demote the separator node */                                                          \
  |  |  396|      0|                    H5SL_DEMOTE(_next, _last)                                                                \
  |  |  ------------------
  |  |  |  |  243|      0|    {                                                                                                        \
  |  |  |  |  244|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  245|      0|                                                                                                             \
  |  |  |  |  246|      0|        assert(PREV->forward[_lvl] == X);                                                                    \
  |  |  |  |  247|      0|        PREV->forward[_lvl] = X->forward[_lvl];                                                              \
  |  |  |  |  248|      0|        H5SL_SHRINK(X, _lvl);                                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  199|      0|    {                                                                                                        \
  |  |  |  |  |  |  200|      0|        /* Check if we can reduce the allocation of forward pointers */                                      \
  |  |  |  |  |  |  201|      0|        if (LVL <= ((size_t)1) << (X->log_nalloc - 1)) {                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (201:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  202|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  203|      0|            assert(LVL == ((size_t)1) << (X->log_nalloc - 1));                                               \
  |  |  |  |  |  |  204|      0|            X->log_nalloc--;                                                                                 \
  |  |  |  |  |  |  205|      0|                                                                                                             \
  |  |  |  |  |  |  206|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  207|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (207:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  208|      0|                HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "memory allocation failed");                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  209|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL) * sizeof(H5SL_node_t *));              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  210|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc + 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  211|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  212|      0|        }                                                                                                    \
  |  |  |  |  |  |  213|      0|                                                                                                             \
  |  |  |  |  |  |  214|      0|        X->level--;                                                                                          \
  |  |  |  |  |  |  215|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  249|      0|    }
  |  |  ------------------
  |  |  397|      0|                                                                                                             \
  |  |  398|      0|                    /* If there are 2 or more nodes, promote the first */                                    \
  |  |  399|      0|                    if (_next->forward[_i]->forward[_i] != _llast) {                                         \
  |  |  ------------------
  |  |  |  Branch (399:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  400|      0|                        X = _next->forward[_i];                                                              \
  |  |  401|      0|                        H5SL_PROMOTE(SLIST, X, _last, NULL);                                                 \
  |  |  ------------------
  |  |  |  |  221|      0|    do {                                                                                                     \
  |  |  |  |  222|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  223|      0|                                                                                                             \
  |  |  |  |  224|      0|        H5SL_GROW(X, _lvl, ERR);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  225|      0|                                                                                                             \
  |  |  |  |  226|      0|        if (_lvl == (size_t)SLIST->curr_level) {                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (226:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  227|      0|            assert(PREV == SLIST->header);                                                                   \
  |  |  |  |  228|      0|            /* Grow the head */                                                                              \
  |  |  |  |  229|      0|            H5SL_GROW(PREV, _lvl, ERR)                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  230|      0|            SLIST->curr_level++;                                                                             \
  |  |  |  |  231|      0|            X->forward[_lvl + 1] = NULL;                                                                     \
  |  |  |  |  232|      0|        }                                                                                                    \
  |  |  |  |  233|      0|        else {                                                                                               \
  |  |  |  |  234|      0|            assert(_lvl < (size_t)SLIST->curr_level);                                                        \
  |  |  |  |  235|      0|            X->forward[_lvl + 1] = PREV->forward[_lvl + 1];                                                  \
  |  |  |  |  236|      0|        }                                                                                                    \
  |  |  |  |  237|      0|        PREV->forward[_lvl + 1] = X;                                                                         \
  |  |  |  |  238|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (238:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  402|      0|                    }                                                                                        \
  |  |  403|      0|                    else if (!_head->forward[_i + 1]) {                                                      \
  |  |  ------------------
  |  |  |  Branch (403:30): [True: 0, False: 0]
  |  |  ------------------
  |  |  404|      0|                        /* shrink the header */                                                              \
  |  |  405|      0|                        assert(_i == SLIST->curr_level - 1);                                                 \
  |  |  406|      0|                        assert((size_t)SLIST->curr_level == _head->level);                                   \
  |  |  407|      0|                                                                                                             \
  |  |  408|      0|                        H5SL_SHRINK(_head, (size_t)(_i + 1))                                                 \
  |  |  ------------------
  |  |  |  |  199|      0|    {                                                                                                        \
  |  |  |  |  200|      0|        /* Check if we can reduce the allocation of forward pointers */                                      \
  |  |  |  |  201|      0|        if (LVL <= ((size_t)1) << (X->log_nalloc - 1)) {                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (201:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  202|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  203|      0|            assert(LVL == ((size_t)1) << (X->log_nalloc - 1));                                               \
  |  |  |  |  204|      0|            X->log_nalloc--;                                                                                 \
  |  |  |  |  205|      0|                                                                                                             \
  |  |  |  |  206|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  207|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (207:17): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  208|      0|                HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "memory allocation failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  209|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL) * sizeof(H5SL_node_t *));              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  ------------------
  |  |  |  |  210|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc + 1], (void *)X->forward);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  ------------------
  |  |  |  |  211|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  212|      0|        }                                                                                                    \
  |  |  |  |  213|      0|                                                                                                             \
  |  |  |  |  214|      0|        X->level--;                                                                                          \
  |  |  |  |  215|      0|    }
  |  |  ------------------
  |  |  409|      0|                        SLIST->curr_level--;                                                                 \
  |  |  410|      0|                    }                                                                                        \
  |  |  411|      0|                }                                                                                            \
  |  |  412|      0|                else {                                                                                       \
  |  |  413|      0|                    /* We are not in the first gap, count the number of */                                   \
  |  |  414|      0|                    /* nodes of height _i in the previous gap.  Note we */                                   \
  |  |  415|      0|                    /* "look ahead" in this loop so X has the value of the */                                \
  |  |  416|      0|                    /* last node in the previous gap. */                                                     \
  |  |  417|      0|                    X = _llast->forward[_i];                                                                 \
  |  |  418|      0|                    for (_count = 1; _count < 3 && X->forward[_i] != _last; _count++)                        \
  |  |  ------------------
  |  |  |  Branch (418:38): [True: 0, False: 0]
  |  |  |  Branch (418:52): [True: 0, False: 0]
  |  |  ------------------
  |  |  419|      0|                        X = X->forward[_i];                                                                  \
  |  |  420|      0|                    assert(X->forward[_i] == _last);                                                         \
  |  |  421|      0|                                                                                                             \
  |  |  422|      0|                    /* Demote the separator node */                                                          \
  |  |  423|      0|                    H5SL_DEMOTE(_last, _llast)                                                               \
  |  |  ------------------
  |  |  |  |  243|      0|    {                                                                                                        \
  |  |  |  |  244|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  245|      0|                                                                                                             \
  |  |  |  |  246|      0|        assert(PREV->forward[_lvl] == X);                                                                    \
  |  |  |  |  247|      0|        PREV->forward[_lvl] = X->forward[_lvl];                                                              \
  |  |  |  |  248|      0|        H5SL_SHRINK(X, _lvl);                                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  199|      0|    {                                                                                                        \
  |  |  |  |  |  |  200|      0|        /* Check if we can reduce the allocation of forward pointers */                                      \
  |  |  |  |  |  |  201|      0|        if (LVL <= ((size_t)1) << (X->log_nalloc - 1)) {                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (201:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  202|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  203|      0|            assert(LVL == ((size_t)1) << (X->log_nalloc - 1));                                               \
  |  |  |  |  |  |  204|      0|            X->log_nalloc--;                                                                                 \
  |  |  |  |  |  |  205|      0|                                                                                                             \
  |  |  |  |  |  |  206|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  207|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (207:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  208|      0|                HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "memory allocation failed");                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  209|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL) * sizeof(H5SL_node_t *));              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  210|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc + 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  211|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  212|      0|        }                                                                                                    \
  |  |  |  |  |  |  213|      0|                                                                                                             \
  |  |  |  |  |  |  214|      0|        X->level--;                                                                                          \
  |  |  |  |  |  |  215|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  249|      0|    }
  |  |  ------------------
  |  |  424|      0|                                                                                                             \
  |  |  425|      0|                    /* If there are 2 or more nodes, promote the last */                                     \
  |  |  426|      0|                    if (_count >= 2)                                                                         \
  |  |  ------------------
  |  |  |  Branch (426:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  427|      0|                        H5SL_PROMOTE(SLIST, X, _llast, NULL);                                                \
  |  |  ------------------
  |  |  |  |  221|      0|    do {                                                                                                     \
  |  |  |  |  222|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  223|      0|                                                                                                             \
  |  |  |  |  224|      0|        H5SL_GROW(X, _lvl, ERR);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  225|      0|                                                                                                             \
  |  |  |  |  226|      0|        if (_lvl == (size_t)SLIST->curr_level) {                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (226:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  227|      0|            assert(PREV == SLIST->header);                                                                   \
  |  |  |  |  228|      0|            /* Grow the head */                                                                              \
  |  |  |  |  229|      0|            H5SL_GROW(PREV, _lvl, ERR)                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  230|      0|            SLIST->curr_level++;                                                                             \
  |  |  |  |  231|      0|            X->forward[_lvl + 1] = NULL;                                                                     \
  |  |  |  |  232|      0|        }                                                                                                    \
  |  |  |  |  233|      0|        else {                                                                                               \
  |  |  |  |  234|      0|            assert(_lvl < (size_t)SLIST->curr_level);                                                        \
  |  |  |  |  235|      0|            X->forward[_lvl + 1] = PREV->forward[_lvl + 1];                                                  \
  |  |  |  |  236|      0|        }                                                                                                    \
  |  |  |  |  237|      0|        PREV->forward[_lvl + 1] = X;                                                                         \
  |  |  |  |  238|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (238:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  428|      0|                    else if (!_head->forward[_i + 1]) {                                                      \
  |  |  ------------------
  |  |  |  Branch (428:30): [True: 0, False: 0]
  |  |  ------------------
  |  |  429|      0|                        /* shrink the header */                                                              \
  |  |  430|      0|                        assert(_i == SLIST->curr_level - 1);                                                 \
  |  |  431|      0|                        assert((size_t)SLIST->curr_level == _head->level);                                   \
  |  |  432|      0|                                                                                                             \
  |  |  433|      0|                        H5SL_SHRINK(_head, (size_t)(_i + 1))                                                 \
  |  |  ------------------
  |  |  |  |  199|      0|    {                                                                                                        \
  |  |  |  |  200|      0|        /* Check if we can reduce the allocation of forward pointers */                                      \
  |  |  |  |  201|      0|        if (LVL <= ((size_t)1) << (X->log_nalloc - 1)) {                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (201:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  202|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  203|      0|            assert(LVL == ((size_t)1) << (X->log_nalloc - 1));                                               \
  |  |  |  |  204|      0|            X->log_nalloc--;                                                                                 \
  |  |  |  |  205|      0|                                                                                                             \
  |  |  |  |  206|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  207|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (207:17): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  208|      0|                HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "memory allocation failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  209|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL) * sizeof(H5SL_node_t *));              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  ------------------
  |  |  |  |  210|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc + 1], (void *)X->forward);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  ------------------
  |  |  |  |  211|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  212|      0|        }                                                                                                    \
  |  |  |  |  213|      0|                                                                                                             \
  |  |  |  |  214|      0|        X->level--;                                                                                          \
  |  |  |  |  215|      0|    }
  |  |  ------------------
  |  |  434|      0|                        SLIST->curr_level--;                                                                 \
  |  |  435|      0|                    }                                                                                        \
  |  |  436|      0|                }                                                                                            \
  |  |  437|      0|            }                                                                                                \
  |  |  438|      0|                                                                                                             \
  |  |  439|      0|            /* Prepare to drop down */                                                                       \
  |  |  440|      0|            _llast = _ldrop;                                                                                 \
  |  |  441|      0|            _last  = _drop;                                                                                  \
  |  |  442|      0|            _next  = _drop->forward[_i];                                                                     \
  |  |  443|      0|        }                                                                                                    \
  |  |  444|      0|                                                                                                             \
  |  |  445|      0|        /* Check if we've found the node */                                                                  \
  |  |  446|      0|        if (_next && H5_GLUE3(H5SL_LOCATE_, CMP, _EQ)(SLIST, TYPE, _next, KEY, HASHVAL)) {                   \
  |  |  ------------------
  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (446:13): [True: 0, False: 0]
  |  |  ------------------
  |  |  447|      0|            void *tmp = _next->item;                                                                         \
  |  |  448|      0|            X         = _next;                                                                               \
  |  |  449|      0|                                                                                                             \
  |  |  450|      0|            /* If the node has a height > 0, swap it with its (lower) */                                     \
  |  |  451|      0|            /* neighbor */                                                                                   \
  |  |  452|      0|            if (X->level) {                                                                                  \
  |  |  ------------------
  |  |  |  Branch (452:17): [True: 0, False: 0]
  |  |  ------------------
  |  |  453|      0|                X              = X->backward;                                                                \
  |  |  454|      0|                _next->key     = X->key;                                                                     \
  |  |  455|      0|                _next->item    = X->item;                                                                    \
  |  |  456|      0|                _next->hashval = X->hashval;                                                                 \
  |  |  457|      0|            }                                                                                                \
  |  |  458|      0|            assert(!X->level);                                                                               \
  |  |  459|      0|                                                                                                             \
  |  |  460|      0|            /* Remove the node */                                                                            \
  |  |  461|      0|            X->backward->forward[0] = X->forward[0];                                                         \
  |  |  462|      0|            if (SLIST->last == X)                                                                            \
  |  |  ------------------
  |  |  |  Branch (462:17): [True: 0, False: 0]
  |  |  ------------------
  |  |  463|      0|                SLIST->last = X->backward;                                                                   \
  |  |  464|      0|            else                                                                                             \
  |  |  465|      0|                X->forward[0]->backward = X->backward;                                                       \
  |  |  466|      0|            SLIST->nobjs--;                                                                                  \
  |  |  467|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[0], X->forward);                           \
  |  |  ------------------
  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  ------------------
  |  |  468|      0|            X          = H5FL_FREE(H5SL_node_t, X);                                                          \
  |  |  ------------------
  |  |  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  |  |  ------------------
  |  |  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  469|      0|                                                                                                             \
  |  |  470|      0|            HGOTO_DONE(tmp);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  471|      0|        }                                                                                                    \
  |  |  472|      0|    }
  ------------------
 1148|      0|            break;
 1149|       |
 1150|      0|        case H5SL_TYPE_SIZE:
  ------------------
  |  Branch (1150:9): [True: 0, False: 286]
  ------------------
 1151|      0|            H5SL_REMOVE(SCALAR, slist, x, const size_t, key, -)
  ------------------
  |  |  310|      0|    {                                                                                                        \
  |  |  311|      0|        H5SL_node_t *_last  = X;             /* Lowest node in the current gap */                            \
  |  |  312|      0|        H5SL_node_t *_llast = X;             /* Lowest node in the previous gap */                           \
  |  |  313|      0|        H5SL_node_t *_next  = NULL;          /* Highest node in the current gap */                           \
  |  |  314|      0|        H5SL_node_t *_drop  = NULL;          /* Low node of the gap to drop into */                          \
  |  |  315|      0|        H5SL_node_t *_ldrop = NULL;          /* Low node of gap before the one to drop into */               \
  |  |  316|      0|        H5SL_node_t *_head  = SLIST->header; /* Head of the skip list */                                     \
  |  |  317|      0|        int          _count;                 /* Number of nodes in the current gap */                        \
  |  |  318|      0|        int          _i = (int)SLIST->curr_level;                                                            \
  |  |  319|      0|                                                                                                             \
  |  |  320|      0|        if (_i < 0)                                                                                          \
  |  |  ------------------
  |  |  |  Branch (320:13): [True: 0, False: 0]
  |  |  ------------------
  |  |  321|      0|            HGOTO_DONE(NULL);                                                                                \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  322|      0|                                                                                                             \
  |  |  323|      0|        H5_GLUE3(H5SL_LOCATE_, CMP, _HASHINIT)                                                               \
  |  |  324|      0|        (KEY, HASHVAL)                                                                                       \
  |  |  325|      0|                                                                                                             \
  |  |  326|      0|            /* Find the gap to drop in to at the highest level */                                            \
  |  |  327|      0|            while (X && (!X->key || H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, X, KEY, HASHVAL)))        \
  |  |  ------------------
  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (327:20): [True: 0, False: 0]
  |  |  |  Branch (327:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  328|      0|        {                                                                                                    \
  |  |  329|      0|            _llast = _last;                                                                                  \
  |  |  330|      0|            _last  = X;                                                                                      \
  |  |  331|      0|            X      = X->forward[_i];                                                                         \
  |  |  332|      0|        }                                                                                                    \
  |  |  333|      0|        _next = X;                                                                                           \
  |  |  334|      0|                                                                                                             \
  |  |  335|      0|        /* Main loop */                                                                                      \
  |  |  336|      0|        for (_i--; _i >= 0; _i--) {                                                                          \
  |  |  ------------------
  |  |  |  Branch (336:20): [True: 0, False: 0]
  |  |  ------------------
  |  |  337|      0|            /* Search for the node to drop into, also count the number of */                                 \
  |  |  338|      0|            /* nodes of height _i in this gap and keep track of of the node */                               \
  |  |  339|      0|            /* before the one to drop into (_ldrop will become _llast, */                                    \
  |  |  340|      0|            /* _drop will become _last). */                                                                  \
  |  |  341|      0|            X = _ldrop = _last;                                                                              \
  |  |  342|      0|            _drop      = NULL;                                                                               \
  |  |  343|      0|            for (_count = 0;; _count++) {                                                                    \
  |  |  344|      0|                /* Terminate if this is the last node in the gap */                                          \
  |  |  345|      0|                if (X->forward[_i] == _next) {                                                               \
  |  |  ------------------
  |  |  |  Branch (345:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  346|      0|                    if (!_drop)                                                                              \
  |  |  ------------------
  |  |  |  Branch (346:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  347|      0|                        _drop = X;                                                                           \
  |  |  348|      0|                    break;                                                                                   \
  |  |  349|      0|                }                                                                                            \
  |  |  350|      0|                                                                                                             \
  |  |  351|      0|                /* If we have already found the node to drop into and there */                               \
  |  |  352|      0|                /* is more than one node in this gap, we can stop searching */                               \
  |  |  353|      0|                if (_drop) {                                                                                 \
  |  |  ------------------
  |  |  |  Branch (353:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|                    assert(_count >= 1);                                                                     \
  |  |  355|      0|                    _count = 2;                                                                              \
  |  |  356|      0|                    break;                                                                                   \
  |  |  357|      0|                }                                                                                            \
  |  |  358|      0|                else { /* !_drop */                                                                          \
  |  |  359|      0|                    /* Check if this node is the start of the next gap */                                    \
  |  |  360|      0|                    if (!H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, X->forward[_i], KEY, HASHVAL)) {     \
  |  |  ------------------
  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (360:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  361|      0|                        _drop = X;                                                                           \
  |  |  362|      0|                        /* Again check if we can stop searching */                                           \
  |  |  363|      0|                        if (_count) {                                                                        \
  |  |  ------------------
  |  |  |  Branch (363:29): [True: 0, False: 0]
  |  |  ------------------
  |  |  364|      0|                            _count = 2;                                                                      \
  |  |  365|      0|                            break;                                                                           \
  |  |  366|      0|                        }                                                                                    \
  |  |  367|      0|                    }                                                                                        \
  |  |  368|      0|                    else                                                                                     \
  |  |  369|      0|                        _ldrop = X;                                                                          \
  |  |  370|      0|                }                                                                                            \
  |  |  371|      0|                                                                                                             \
  |  |  372|      0|                /* No need to check the last node in the gap if there are */                                 \
  |  |  373|      0|                /* 3, as there cannot be a fourth */                                                         \
  |  |  374|      0|                if (_count == 2) {                                                                           \
  |  |  ------------------
  |  |  |  Branch (374:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  375|      0|                    if (!_drop)                                                                              \
  |  |  ------------------
  |  |  |  Branch (375:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  376|      0|                        _drop = X->forward[_i];                                                              \
  |  |  377|      0|                    break;                                                                                   \
  |  |  378|      0|                }                                                                                            \
  |  |  379|      0|                X = X->forward[_i];                                                                          \
  |  |  380|      0|            }                                                                                                \
  |  |  381|      0|            assert(_count >= 1 && _count <= 3);                                                              \
  |  |  382|      0|            assert(!_drop->forward[_i] ||                                                                    \
  |  |  383|      0|                   !H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, _drop->forward[_i], KEY, HASHVAL));       \
  |  |  384|      0|                                                                                                             \
  |  |  385|      0|            /* Check if we need to adjust node heights */                                                    \
  |  |  386|      0|            if (_count == 1) {                                                                               \
  |  |  ------------------
  |  |  |  Branch (386:17): [True: 0, False: 0]
  |  |  ------------------
  |  |  387|      0|                /* Check if we are in the first gap */                                                       \
  |  |  388|      0|                if (_llast == _last) {                                                                       \
  |  |  ------------------
  |  |  |  Branch (388:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  389|      0|                    /* We are in the first gap, count the number of nodes */                                 \
  |  |  390|      0|                    /* of height _i in the next gap.  We need only check */                                  \
  |  |  391|      0|                    /* onenode to see if we should promote the first node */                                 \
  |  |  392|      0|                    /* in the next gap */                                                                    \
  |  |  393|      0|                    _llast = _next->forward[_i + 1];                                                         \
  |  |  394|      0|                                                                                                             \
  |  |  395|      0|                    /* Demote the separator node */                                                          \
  |  |  396|      0|                    H5SL_DEMOTE(_next, _last)                                                                \
  |  |  ------------------
  |  |  |  |  243|      0|    {                                                                                                        \
  |  |  |  |  244|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  245|      0|                                                                                                             \
  |  |  |  |  246|      0|        assert(PREV->forward[_lvl] == X);                                                                    \
  |  |  |  |  247|      0|        PREV->forward[_lvl] = X->forward[_lvl];                                                              \
  |  |  |  |  248|      0|        H5SL_SHRINK(X, _lvl);                                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  199|      0|    {                                                                                                        \
  |  |  |  |  |  |  200|      0|        /* Check if we can reduce the allocation of forward pointers */                                      \
  |  |  |  |  |  |  201|      0|        if (LVL <= ((size_t)1) << (X->log_nalloc - 1)) {                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (201:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  202|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  203|      0|            assert(LVL == ((size_t)1) << (X->log_nalloc - 1));                                               \
  |  |  |  |  |  |  204|      0|            X->log_nalloc--;                                                                                 \
  |  |  |  |  |  |  205|      0|                                                                                                             \
  |  |  |  |  |  |  206|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  207|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (207:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  208|      0|                HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "memory allocation failed");                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  209|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL) * sizeof(H5SL_node_t *));              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  210|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc + 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  211|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  212|      0|        }                                                                                                    \
  |  |  |  |  |  |  213|      0|                                                                                                             \
  |  |  |  |  |  |  214|      0|        X->level--;                                                                                          \
  |  |  |  |  |  |  215|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  249|      0|    }
  |  |  ------------------
  |  |  397|      0|                                                                                                             \
  |  |  398|      0|                    /* If there are 2 or more nodes, promote the first */                                    \
  |  |  399|      0|                    if (_next->forward[_i]->forward[_i] != _llast) {                                         \
  |  |  ------------------
  |  |  |  Branch (399:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  400|      0|                        X = _next->forward[_i];                                                              \
  |  |  401|      0|                        H5SL_PROMOTE(SLIST, X, _last, NULL);                                                 \
  |  |  ------------------
  |  |  |  |  221|      0|    do {                                                                                                     \
  |  |  |  |  222|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  223|      0|                                                                                                             \
  |  |  |  |  224|      0|        H5SL_GROW(X, _lvl, ERR);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  225|      0|                                                                                                             \
  |  |  |  |  226|      0|        if (_lvl == (size_t)SLIST->curr_level) {                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (226:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  227|      0|            assert(PREV == SLIST->header);                                                                   \
  |  |  |  |  228|      0|            /* Grow the head */                                                                              \
  |  |  |  |  229|      0|            H5SL_GROW(PREV, _lvl, ERR)                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  230|      0|            SLIST->curr_level++;                                                                             \
  |  |  |  |  231|      0|            X->forward[_lvl + 1] = NULL;                                                                     \
  |  |  |  |  232|      0|        }                                                                                                    \
  |  |  |  |  233|      0|        else {                                                                                               \
  |  |  |  |  234|      0|            assert(_lvl < (size_t)SLIST->curr_level);                                                        \
  |  |  |  |  235|      0|            X->forward[_lvl + 1] = PREV->forward[_lvl + 1];                                                  \
  |  |  |  |  236|      0|        }                                                                                                    \
  |  |  |  |  237|      0|        PREV->forward[_lvl + 1] = X;                                                                         \
  |  |  |  |  238|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (238:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  402|      0|                    }                                                                                        \
  |  |  403|      0|                    else if (!_head->forward[_i + 1]) {                                                      \
  |  |  ------------------
  |  |  |  Branch (403:30): [True: 0, False: 0]
  |  |  ------------------
  |  |  404|      0|                        /* shrink the header */                                                              \
  |  |  405|      0|                        assert(_i == SLIST->curr_level - 1);                                                 \
  |  |  406|      0|                        assert((size_t)SLIST->curr_level == _head->level);                                   \
  |  |  407|      0|                                                                                                             \
  |  |  408|      0|                        H5SL_SHRINK(_head, (size_t)(_i + 1))                                                 \
  |  |  ------------------
  |  |  |  |  199|      0|    {                                                                                                        \
  |  |  |  |  200|      0|        /* Check if we can reduce the allocation of forward pointers */                                      \
  |  |  |  |  201|      0|        if (LVL <= ((size_t)1) << (X->log_nalloc - 1)) {                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (201:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  202|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  203|      0|            assert(LVL == ((size_t)1) << (X->log_nalloc - 1));                                               \
  |  |  |  |  204|      0|            X->log_nalloc--;                                                                                 \
  |  |  |  |  205|      0|                                                                                                             \
  |  |  |  |  206|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  207|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (207:17): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  208|      0|                HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "memory allocation failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  209|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL) * sizeof(H5SL_node_t *));              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  ------------------
  |  |  |  |  210|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc + 1], (void *)X->forward);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  ------------------
  |  |  |  |  211|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  212|      0|        }                                                                                                    \
  |  |  |  |  213|      0|                                                                                                             \
  |  |  |  |  214|      0|        X->level--;                                                                                          \
  |  |  |  |  215|      0|    }
  |  |  ------------------
  |  |  409|      0|                        SLIST->curr_level--;                                                                 \
  |  |  410|      0|                    }                                                                                        \
  |  |  411|      0|                }                                                                                            \
  |  |  412|      0|                else {                                                                                       \
  |  |  413|      0|                    /* We are not in the first gap, count the number of */                                   \
  |  |  414|      0|                    /* nodes of height _i in the previous gap.  Note we */                                   \
  |  |  415|      0|                    /* "look ahead" in this loop so X has the value of the */                                \
  |  |  416|      0|                    /* last node in the previous gap. */                                                     \
  |  |  417|      0|                    X = _llast->forward[_i];                                                                 \
  |  |  418|      0|                    for (_count = 1; _count < 3 && X->forward[_i] != _last; _count++)                        \
  |  |  ------------------
  |  |  |  Branch (418:38): [True: 0, False: 0]
  |  |  |  Branch (418:52): [True: 0, False: 0]
  |  |  ------------------
  |  |  419|      0|                        X = X->forward[_i];                                                                  \
  |  |  420|      0|                    assert(X->forward[_i] == _last);                                                         \
  |  |  421|      0|                                                                                                             \
  |  |  422|      0|                    /* Demote the separator node */                                                          \
  |  |  423|      0|                    H5SL_DEMOTE(_last, _llast)                                                               \
  |  |  ------------------
  |  |  |  |  243|      0|    {                                                                                                        \
  |  |  |  |  244|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  245|      0|                                                                                                             \
  |  |  |  |  246|      0|        assert(PREV->forward[_lvl] == X);                                                                    \
  |  |  |  |  247|      0|        PREV->forward[_lvl] = X->forward[_lvl];                                                              \
  |  |  |  |  248|      0|        H5SL_SHRINK(X, _lvl);                                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  199|      0|    {                                                                                                        \
  |  |  |  |  |  |  200|      0|        /* Check if we can reduce the allocation of forward pointers */                                      \
  |  |  |  |  |  |  201|      0|        if (LVL <= ((size_t)1) << (X->log_nalloc - 1)) {                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (201:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  202|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  203|      0|            assert(LVL == ((size_t)1) << (X->log_nalloc - 1));                                               \
  |  |  |  |  |  |  204|      0|            X->log_nalloc--;                                                                                 \
  |  |  |  |  |  |  205|      0|                                                                                                             \
  |  |  |  |  |  |  206|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  207|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (207:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  208|      0|                HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "memory allocation failed");                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  209|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL) * sizeof(H5SL_node_t *));              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  210|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc + 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  211|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  212|      0|        }                                                                                                    \
  |  |  |  |  |  |  213|      0|                                                                                                             \
  |  |  |  |  |  |  214|      0|        X->level--;                                                                                          \
  |  |  |  |  |  |  215|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  249|      0|    }
  |  |  ------------------
  |  |  424|      0|                                                                                                             \
  |  |  425|      0|                    /* If there are 2 or more nodes, promote the last */                                     \
  |  |  426|      0|                    if (_count >= 2)                                                                         \
  |  |  ------------------
  |  |  |  Branch (426:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  427|      0|                        H5SL_PROMOTE(SLIST, X, _llast, NULL);                                                \
  |  |  ------------------
  |  |  |  |  221|      0|    do {                                                                                                     \
  |  |  |  |  222|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  223|      0|                                                                                                             \
  |  |  |  |  224|      0|        H5SL_GROW(X, _lvl, ERR);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  225|      0|                                                                                                             \
  |  |  |  |  226|      0|        if (_lvl == (size_t)SLIST->curr_level) {                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (226:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  227|      0|            assert(PREV == SLIST->header);                                                                   \
  |  |  |  |  228|      0|            /* Grow the head */                                                                              \
  |  |  |  |  229|      0|            H5SL_GROW(PREV, _lvl, ERR)                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  230|      0|            SLIST->curr_level++;                                                                             \
  |  |  |  |  231|      0|            X->forward[_lvl + 1] = NULL;                                                                     \
  |  |  |  |  232|      0|        }                                                                                                    \
  |  |  |  |  233|      0|        else {                                                                                               \
  |  |  |  |  234|      0|            assert(_lvl < (size_t)SLIST->curr_level);                                                        \
  |  |  |  |  235|      0|            X->forward[_lvl + 1] = PREV->forward[_lvl + 1];                                                  \
  |  |  |  |  236|      0|        }                                                                                                    \
  |  |  |  |  237|      0|        PREV->forward[_lvl + 1] = X;                                                                         \
  |  |  |  |  238|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (238:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  428|      0|                    else if (!_head->forward[_i + 1]) {                                                      \
  |  |  ------------------
  |  |  |  Branch (428:30): [True: 0, False: 0]
  |  |  ------------------
  |  |  429|      0|                        /* shrink the header */                                                              \
  |  |  430|      0|                        assert(_i == SLIST->curr_level - 1);                                                 \
  |  |  431|      0|                        assert((size_t)SLIST->curr_level == _head->level);                                   \
  |  |  432|      0|                                                                                                             \
  |  |  433|      0|                        H5SL_SHRINK(_head, (size_t)(_i + 1))                                                 \
  |  |  ------------------
  |  |  |  |  199|      0|    {                                                                                                        \
  |  |  |  |  200|      0|        /* Check if we can reduce the allocation of forward pointers */                                      \
  |  |  |  |  201|      0|        if (LVL <= ((size_t)1) << (X->log_nalloc - 1)) {                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (201:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  202|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  203|      0|            assert(LVL == ((size_t)1) << (X->log_nalloc - 1));                                               \
  |  |  |  |  204|      0|            X->log_nalloc--;                                                                                 \
  |  |  |  |  205|      0|                                                                                                             \
  |  |  |  |  206|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  207|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (207:17): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  208|      0|                HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "memory allocation failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  209|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL) * sizeof(H5SL_node_t *));              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  ------------------
  |  |  |  |  210|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc + 1], (void *)X->forward);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  ------------------
  |  |  |  |  211|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  212|      0|        }                                                                                                    \
  |  |  |  |  213|      0|                                                                                                             \
  |  |  |  |  214|      0|        X->level--;                                                                                          \
  |  |  |  |  215|      0|    }
  |  |  ------------------
  |  |  434|      0|                        SLIST->curr_level--;                                                                 \
  |  |  435|      0|                    }                                                                                        \
  |  |  436|      0|                }                                                                                            \
  |  |  437|      0|            }                                                                                                \
  |  |  438|      0|                                                                                                             \
  |  |  439|      0|            /* Prepare to drop down */                                                                       \
  |  |  440|      0|            _llast = _ldrop;                                                                                 \
  |  |  441|      0|            _last  = _drop;                                                                                  \
  |  |  442|      0|            _next  = _drop->forward[_i];                                                                     \
  |  |  443|      0|        }                                                                                                    \
  |  |  444|      0|                                                                                                             \
  |  |  445|      0|        /* Check if we've found the node */                                                                  \
  |  |  446|      0|        if (_next && H5_GLUE3(H5SL_LOCATE_, CMP, _EQ)(SLIST, TYPE, _next, KEY, HASHVAL)) {                   \
  |  |  ------------------
  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (446:13): [True: 0, False: 0]
  |  |  ------------------
  |  |  447|      0|            void *tmp = _next->item;                                                                         \
  |  |  448|      0|            X         = _next;                                                                               \
  |  |  449|      0|                                                                                                             \
  |  |  450|      0|            /* If the node has a height > 0, swap it with its (lower) */                                     \
  |  |  451|      0|            /* neighbor */                                                                                   \
  |  |  452|      0|            if (X->level) {                                                                                  \
  |  |  ------------------
  |  |  |  Branch (452:17): [True: 0, False: 0]
  |  |  ------------------
  |  |  453|      0|                X              = X->backward;                                                                \
  |  |  454|      0|                _next->key     = X->key;                                                                     \
  |  |  455|      0|                _next->item    = X->item;                                                                    \
  |  |  456|      0|                _next->hashval = X->hashval;                                                                 \
  |  |  457|      0|            }                                                                                                \
  |  |  458|      0|            assert(!X->level);                                                                               \
  |  |  459|      0|                                                                                                             \
  |  |  460|      0|            /* Remove the node */                                                                            \
  |  |  461|      0|            X->backward->forward[0] = X->forward[0];                                                         \
  |  |  462|      0|            if (SLIST->last == X)                                                                            \
  |  |  ------------------
  |  |  |  Branch (462:17): [True: 0, False: 0]
  |  |  ------------------
  |  |  463|      0|                SLIST->last = X->backward;                                                                   \
  |  |  464|      0|            else                                                                                             \
  |  |  465|      0|                X->forward[0]->backward = X->backward;                                                       \
  |  |  466|      0|            SLIST->nobjs--;                                                                                  \
  |  |  467|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[0], X->forward);                           \
  |  |  ------------------
  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  ------------------
  |  |  468|      0|            X          = H5FL_FREE(H5SL_node_t, X);                                                          \
  |  |  ------------------
  |  |  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  |  |  ------------------
  |  |  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  469|      0|                                                                                                             \
  |  |  470|      0|            HGOTO_DONE(tmp);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  471|      0|        }                                                                                                    \
  |  |  472|      0|    }
  ------------------
 1152|      0|            break;
 1153|       |
 1154|      0|        case H5SL_TYPE_OBJ:
  ------------------
  |  Branch (1154:9): [True: 0, False: 286]
  ------------------
 1155|      0|            H5SL_REMOVE(OBJ, slist, x, const H5_obj_t, key, -)
  ------------------
  |  |  310|      0|    {                                                                                                        \
  |  |  311|      0|        H5SL_node_t *_last  = X;             /* Lowest node in the current gap */                            \
  |  |  312|      0|        H5SL_node_t *_llast = X;             /* Lowest node in the previous gap */                           \
  |  |  313|      0|        H5SL_node_t *_next  = NULL;          /* Highest node in the current gap */                           \
  |  |  314|      0|        H5SL_node_t *_drop  = NULL;          /* Low node of the gap to drop into */                          \
  |  |  315|      0|        H5SL_node_t *_ldrop = NULL;          /* Low node of gap before the one to drop into */               \
  |  |  316|      0|        H5SL_node_t *_head  = SLIST->header; /* Head of the skip list */                                     \
  |  |  317|      0|        int          _count;                 /* Number of nodes in the current gap */                        \
  |  |  318|      0|        int          _i = (int)SLIST->curr_level;                                                            \
  |  |  319|      0|                                                                                                             \
  |  |  320|      0|        if (_i < 0)                                                                                          \
  |  |  ------------------
  |  |  |  Branch (320:13): [True: 0, False: 0]
  |  |  ------------------
  |  |  321|      0|            HGOTO_DONE(NULL);                                                                                \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  322|      0|                                                                                                             \
  |  |  323|      0|        H5_GLUE3(H5SL_LOCATE_, CMP, _HASHINIT)                                                               \
  |  |  324|      0|        (KEY, HASHVAL)                                                                                       \
  |  |  325|      0|                                                                                                             \
  |  |  326|      0|            /* Find the gap to drop in to at the highest level */                                            \
  |  |  327|      0|            while (X && (!X->key || H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, X, KEY, HASHVAL)))        \
  |  |  ------------------
  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (327:20): [True: 0, False: 0]
  |  |  |  Branch (327:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  328|      0|        {                                                                                                    \
  |  |  329|      0|            _llast = _last;                                                                                  \
  |  |  330|      0|            _last  = X;                                                                                      \
  |  |  331|      0|            X      = X->forward[_i];                                                                         \
  |  |  332|      0|        }                                                                                                    \
  |  |  333|      0|        _next = X;                                                                                           \
  |  |  334|      0|                                                                                                             \
  |  |  335|      0|        /* Main loop */                                                                                      \
  |  |  336|      0|        for (_i--; _i >= 0; _i--) {                                                                          \
  |  |  ------------------
  |  |  |  Branch (336:20): [True: 0, False: 0]
  |  |  ------------------
  |  |  337|      0|            /* Search for the node to drop into, also count the number of */                                 \
  |  |  338|      0|            /* nodes of height _i in this gap and keep track of of the node */                               \
  |  |  339|      0|            /* before the one to drop into (_ldrop will become _llast, */                                    \
  |  |  340|      0|            /* _drop will become _last). */                                                                  \
  |  |  341|      0|            X = _ldrop = _last;                                                                              \
  |  |  342|      0|            _drop      = NULL;                                                                               \
  |  |  343|      0|            for (_count = 0;; _count++) {                                                                    \
  |  |  344|      0|                /* Terminate if this is the last node in the gap */                                          \
  |  |  345|      0|                if (X->forward[_i] == _next) {                                                               \
  |  |  ------------------
  |  |  |  Branch (345:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  346|      0|                    if (!_drop)                                                                              \
  |  |  ------------------
  |  |  |  Branch (346:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  347|      0|                        _drop = X;                                                                           \
  |  |  348|      0|                    break;                                                                                   \
  |  |  349|      0|                }                                                                                            \
  |  |  350|      0|                                                                                                             \
  |  |  351|      0|                /* If we have already found the node to drop into and there */                               \
  |  |  352|      0|                /* is more than one node in this gap, we can stop searching */                               \
  |  |  353|      0|                if (_drop) {                                                                                 \
  |  |  ------------------
  |  |  |  Branch (353:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|                    assert(_count >= 1);                                                                     \
  |  |  355|      0|                    _count = 2;                                                                              \
  |  |  356|      0|                    break;                                                                                   \
  |  |  357|      0|                }                                                                                            \
  |  |  358|      0|                else { /* !_drop */                                                                          \
  |  |  359|      0|                    /* Check if this node is the start of the next gap */                                    \
  |  |  360|      0|                    if (!H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, X->forward[_i], KEY, HASHVAL)) {     \
  |  |  ------------------
  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (360:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  361|      0|                        _drop = X;                                                                           \
  |  |  362|      0|                        /* Again check if we can stop searching */                                           \
  |  |  363|      0|                        if (_count) {                                                                        \
  |  |  ------------------
  |  |  |  Branch (363:29): [True: 0, False: 0]
  |  |  ------------------
  |  |  364|      0|                            _count = 2;                                                                      \
  |  |  365|      0|                            break;                                                                           \
  |  |  366|      0|                        }                                                                                    \
  |  |  367|      0|                    }                                                                                        \
  |  |  368|      0|                    else                                                                                     \
  |  |  369|      0|                        _ldrop = X;                                                                          \
  |  |  370|      0|                }                                                                                            \
  |  |  371|      0|                                                                                                             \
  |  |  372|      0|                /* No need to check the last node in the gap if there are */                                 \
  |  |  373|      0|                /* 3, as there cannot be a fourth */                                                         \
  |  |  374|      0|                if (_count == 2) {                                                                           \
  |  |  ------------------
  |  |  |  Branch (374:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  375|      0|                    if (!_drop)                                                                              \
  |  |  ------------------
  |  |  |  Branch (375:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  376|      0|                        _drop = X->forward[_i];                                                              \
  |  |  377|      0|                    break;                                                                                   \
  |  |  378|      0|                }                                                                                            \
  |  |  379|      0|                X = X->forward[_i];                                                                          \
  |  |  380|      0|            }                                                                                                \
  |  |  381|      0|            assert(_count >= 1 && _count <= 3);                                                              \
  |  |  382|      0|            assert(!_drop->forward[_i] ||                                                                    \
  |  |  383|      0|                   !H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, _drop->forward[_i], KEY, HASHVAL));       \
  |  |  384|      0|                                                                                                             \
  |  |  385|      0|            /* Check if we need to adjust node heights */                                                    \
  |  |  386|      0|            if (_count == 1) {                                                                               \
  |  |  ------------------
  |  |  |  Branch (386:17): [True: 0, False: 0]
  |  |  ------------------
  |  |  387|      0|                /* Check if we are in the first gap */                                                       \
  |  |  388|      0|                if (_llast == _last) {                                                                       \
  |  |  ------------------
  |  |  |  Branch (388:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  389|      0|                    /* We are in the first gap, count the number of nodes */                                 \
  |  |  390|      0|                    /* of height _i in the next gap.  We need only check */                                  \
  |  |  391|      0|                    /* onenode to see if we should promote the first node */                                 \
  |  |  392|      0|                    /* in the next gap */                                                                    \
  |  |  393|      0|                    _llast = _next->forward[_i + 1];                                                         \
  |  |  394|      0|                                                                                                             \
  |  |  395|      0|                    /* Demote the separator node */                                                          \
  |  |  396|      0|                    H5SL_DEMOTE(_next, _last)                                                                \
  |  |  ------------------
  |  |  |  |  243|      0|    {                                                                                                        \
  |  |  |  |  244|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  245|      0|                                                                                                             \
  |  |  |  |  246|      0|        assert(PREV->forward[_lvl] == X);                                                                    \
  |  |  |  |  247|      0|        PREV->forward[_lvl] = X->forward[_lvl];                                                              \
  |  |  |  |  248|      0|        H5SL_SHRINK(X, _lvl);                                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  199|      0|    {                                                                                                        \
  |  |  |  |  |  |  200|      0|        /* Check if we can reduce the allocation of forward pointers */                                      \
  |  |  |  |  |  |  201|      0|        if (LVL <= ((size_t)1) << (X->log_nalloc - 1)) {                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (201:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  202|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  203|      0|            assert(LVL == ((size_t)1) << (X->log_nalloc - 1));                                               \
  |  |  |  |  |  |  204|      0|            X->log_nalloc--;                                                                                 \
  |  |  |  |  |  |  205|      0|                                                                                                             \
  |  |  |  |  |  |  206|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  207|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (207:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  208|      0|                HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "memory allocation failed");                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  209|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL) * sizeof(H5SL_node_t *));              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  210|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc + 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  211|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  212|      0|        }                                                                                                    \
  |  |  |  |  |  |  213|      0|                                                                                                             \
  |  |  |  |  |  |  214|      0|        X->level--;                                                                                          \
  |  |  |  |  |  |  215|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  249|      0|    }
  |  |  ------------------
  |  |  397|      0|                                                                                                             \
  |  |  398|      0|                    /* If there are 2 or more nodes, promote the first */                                    \
  |  |  399|      0|                    if (_next->forward[_i]->forward[_i] != _llast) {                                         \
  |  |  ------------------
  |  |  |  Branch (399:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  400|      0|                        X = _next->forward[_i];                                                              \
  |  |  401|      0|                        H5SL_PROMOTE(SLIST, X, _last, NULL);                                                 \
  |  |  ------------------
  |  |  |  |  221|      0|    do {                                                                                                     \
  |  |  |  |  222|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  223|      0|                                                                                                             \
  |  |  |  |  224|      0|        H5SL_GROW(X, _lvl, ERR);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  225|      0|                                                                                                             \
  |  |  |  |  226|      0|        if (_lvl == (size_t)SLIST->curr_level) {                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (226:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  227|      0|            assert(PREV == SLIST->header);                                                                   \
  |  |  |  |  228|      0|            /* Grow the head */                                                                              \
  |  |  |  |  229|      0|            H5SL_GROW(PREV, _lvl, ERR)                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  230|      0|            SLIST->curr_level++;                                                                             \
  |  |  |  |  231|      0|            X->forward[_lvl + 1] = NULL;                                                                     \
  |  |  |  |  232|      0|        }                                                                                                    \
  |  |  |  |  233|      0|        else {                                                                                               \
  |  |  |  |  234|      0|            assert(_lvl < (size_t)SLIST->curr_level);                                                        \
  |  |  |  |  235|      0|            X->forward[_lvl + 1] = PREV->forward[_lvl + 1];                                                  \
  |  |  |  |  236|      0|        }                                                                                                    \
  |  |  |  |  237|      0|        PREV->forward[_lvl + 1] = X;                                                                         \
  |  |  |  |  238|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (238:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  402|      0|                    }                                                                                        \
  |  |  403|      0|                    else if (!_head->forward[_i + 1]) {                                                      \
  |  |  ------------------
  |  |  |  Branch (403:30): [True: 0, False: 0]
  |  |  ------------------
  |  |  404|      0|                        /* shrink the header */                                                              \
  |  |  405|      0|                        assert(_i == SLIST->curr_level - 1);                                                 \
  |  |  406|      0|                        assert((size_t)SLIST->curr_level == _head->level);                                   \
  |  |  407|      0|                                                                                                             \
  |  |  408|      0|                        H5SL_SHRINK(_head, (size_t)(_i + 1))                                                 \
  |  |  ------------------
  |  |  |  |  199|      0|    {                                                                                                        \
  |  |  |  |  200|      0|        /* Check if we can reduce the allocation of forward pointers */                                      \
  |  |  |  |  201|      0|        if (LVL <= ((size_t)1) << (X->log_nalloc - 1)) {                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (201:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  202|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  203|      0|            assert(LVL == ((size_t)1) << (X->log_nalloc - 1));                                               \
  |  |  |  |  204|      0|            X->log_nalloc--;                                                                                 \
  |  |  |  |  205|      0|                                                                                                             \
  |  |  |  |  206|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  207|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (207:17): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  208|      0|                HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "memory allocation failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  209|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL) * sizeof(H5SL_node_t *));              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  ------------------
  |  |  |  |  210|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc + 1], (void *)X->forward);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  ------------------
  |  |  |  |  211|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  212|      0|        }                                                                                                    \
  |  |  |  |  213|      0|                                                                                                             \
  |  |  |  |  214|      0|        X->level--;                                                                                          \
  |  |  |  |  215|      0|    }
  |  |  ------------------
  |  |  409|      0|                        SLIST->curr_level--;                                                                 \
  |  |  410|      0|                    }                                                                                        \
  |  |  411|      0|                }                                                                                            \
  |  |  412|      0|                else {                                                                                       \
  |  |  413|      0|                    /* We are not in the first gap, count the number of */                                   \
  |  |  414|      0|                    /* nodes of height _i in the previous gap.  Note we */                                   \
  |  |  415|      0|                    /* "look ahead" in this loop so X has the value of the */                                \
  |  |  416|      0|                    /* last node in the previous gap. */                                                     \
  |  |  417|      0|                    X = _llast->forward[_i];                                                                 \
  |  |  418|      0|                    for (_count = 1; _count < 3 && X->forward[_i] != _last; _count++)                        \
  |  |  ------------------
  |  |  |  Branch (418:38): [True: 0, False: 0]
  |  |  |  Branch (418:52): [True: 0, False: 0]
  |  |  ------------------
  |  |  419|      0|                        X = X->forward[_i];                                                                  \
  |  |  420|      0|                    assert(X->forward[_i] == _last);                                                         \
  |  |  421|      0|                                                                                                             \
  |  |  422|      0|                    /* Demote the separator node */                                                          \
  |  |  423|      0|                    H5SL_DEMOTE(_last, _llast)                                                               \
  |  |  ------------------
  |  |  |  |  243|      0|    {                                                                                                        \
  |  |  |  |  244|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  245|      0|                                                                                                             \
  |  |  |  |  246|      0|        assert(PREV->forward[_lvl] == X);                                                                    \
  |  |  |  |  247|      0|        PREV->forward[_lvl] = X->forward[_lvl];                                                              \
  |  |  |  |  248|      0|        H5SL_SHRINK(X, _lvl);                                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  199|      0|    {                                                                                                        \
  |  |  |  |  |  |  200|      0|        /* Check if we can reduce the allocation of forward pointers */                                      \
  |  |  |  |  |  |  201|      0|        if (LVL <= ((size_t)1) << (X->log_nalloc - 1)) {                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (201:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  202|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  203|      0|            assert(LVL == ((size_t)1) << (X->log_nalloc - 1));                                               \
  |  |  |  |  |  |  204|      0|            X->log_nalloc--;                                                                                 \
  |  |  |  |  |  |  205|      0|                                                                                                             \
  |  |  |  |  |  |  206|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  207|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (207:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  208|      0|                HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "memory allocation failed");                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  209|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL) * sizeof(H5SL_node_t *));              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  210|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc + 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  211|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  212|      0|        }                                                                                                    \
  |  |  |  |  |  |  213|      0|                                                                                                             \
  |  |  |  |  |  |  214|      0|        X->level--;                                                                                          \
  |  |  |  |  |  |  215|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  249|      0|    }
  |  |  ------------------
  |  |  424|      0|                                                                                                             \
  |  |  425|      0|                    /* If there are 2 or more nodes, promote the last */                                     \
  |  |  426|      0|                    if (_count >= 2)                                                                         \
  |  |  ------------------
  |  |  |  Branch (426:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  427|      0|                        H5SL_PROMOTE(SLIST, X, _llast, NULL);                                                \
  |  |  ------------------
  |  |  |  |  221|      0|    do {                                                                                                     \
  |  |  |  |  222|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  223|      0|                                                                                                             \
  |  |  |  |  224|      0|        H5SL_GROW(X, _lvl, ERR);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  225|      0|                                                                                                             \
  |  |  |  |  226|      0|        if (_lvl == (size_t)SLIST->curr_level) {                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (226:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  227|      0|            assert(PREV == SLIST->header);                                                                   \
  |  |  |  |  228|      0|            /* Grow the head */                                                                              \
  |  |  |  |  229|      0|            H5SL_GROW(PREV, _lvl, ERR)                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  230|      0|            SLIST->curr_level++;                                                                             \
  |  |  |  |  231|      0|            X->forward[_lvl + 1] = NULL;                                                                     \
  |  |  |  |  232|      0|        }                                                                                                    \
  |  |  |  |  233|      0|        else {                                                                                               \
  |  |  |  |  234|      0|            assert(_lvl < (size_t)SLIST->curr_level);                                                        \
  |  |  |  |  235|      0|            X->forward[_lvl + 1] = PREV->forward[_lvl + 1];                                                  \
  |  |  |  |  236|      0|        }                                                                                                    \
  |  |  |  |  237|      0|        PREV->forward[_lvl + 1] = X;                                                                         \
  |  |  |  |  238|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (238:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  428|      0|                    else if (!_head->forward[_i + 1]) {                                                      \
  |  |  ------------------
  |  |  |  Branch (428:30): [True: 0, False: 0]
  |  |  ------------------
  |  |  429|      0|                        /* shrink the header */                                                              \
  |  |  430|      0|                        assert(_i == SLIST->curr_level - 1);                                                 \
  |  |  431|      0|                        assert((size_t)SLIST->curr_level == _head->level);                                   \
  |  |  432|      0|                                                                                                             \
  |  |  433|      0|                        H5SL_SHRINK(_head, (size_t)(_i + 1))                                                 \
  |  |  ------------------
  |  |  |  |  199|      0|    {                                                                                                        \
  |  |  |  |  200|      0|        /* Check if we can reduce the allocation of forward pointers */                                      \
  |  |  |  |  201|      0|        if (LVL <= ((size_t)1) << (X->log_nalloc - 1)) {                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (201:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  202|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  203|      0|            assert(LVL == ((size_t)1) << (X->log_nalloc - 1));                                               \
  |  |  |  |  204|      0|            X->log_nalloc--;                                                                                 \
  |  |  |  |  205|      0|                                                                                                             \
  |  |  |  |  206|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  207|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (207:17): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  208|      0|                HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "memory allocation failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  209|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL) * sizeof(H5SL_node_t *));              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  ------------------
  |  |  |  |  210|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc + 1], (void *)X->forward);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  ------------------
  |  |  |  |  211|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  212|      0|        }                                                                                                    \
  |  |  |  |  213|      0|                                                                                                             \
  |  |  |  |  214|      0|        X->level--;                                                                                          \
  |  |  |  |  215|      0|    }
  |  |  ------------------
  |  |  434|      0|                        SLIST->curr_level--;                                                                 \
  |  |  435|      0|                    }                                                                                        \
  |  |  436|      0|                }                                                                                            \
  |  |  437|      0|            }                                                                                                \
  |  |  438|      0|                                                                                                             \
  |  |  439|      0|            /* Prepare to drop down */                                                                       \
  |  |  440|      0|            _llast = _ldrop;                                                                                 \
  |  |  441|      0|            _last  = _drop;                                                                                  \
  |  |  442|      0|            _next  = _drop->forward[_i];                                                                     \
  |  |  443|      0|        }                                                                                                    \
  |  |  444|      0|                                                                                                             \
  |  |  445|      0|        /* Check if we've found the node */                                                                  \
  |  |  446|      0|        if (_next && H5_GLUE3(H5SL_LOCATE_, CMP, _EQ)(SLIST, TYPE, _next, KEY, HASHVAL)) {                   \
  |  |  ------------------
  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (446:13): [True: 0, False: 0]
  |  |  ------------------
  |  |  447|      0|            void *tmp = _next->item;                                                                         \
  |  |  448|      0|            X         = _next;                                                                               \
  |  |  449|      0|                                                                                                             \
  |  |  450|      0|            /* If the node has a height > 0, swap it with its (lower) */                                     \
  |  |  451|      0|            /* neighbor */                                                                                   \
  |  |  452|      0|            if (X->level) {                                                                                  \
  |  |  ------------------
  |  |  |  Branch (452:17): [True: 0, False: 0]
  |  |  ------------------
  |  |  453|      0|                X              = X->backward;                                                                \
  |  |  454|      0|                _next->key     = X->key;                                                                     \
  |  |  455|      0|                _next->item    = X->item;                                                                    \
  |  |  456|      0|                _next->hashval = X->hashval;                                                                 \
  |  |  457|      0|            }                                                                                                \
  |  |  458|      0|            assert(!X->level);                                                                               \
  |  |  459|      0|                                                                                                             \
  |  |  460|      0|            /* Remove the node */                                                                            \
  |  |  461|      0|            X->backward->forward[0] = X->forward[0];                                                         \
  |  |  462|      0|            if (SLIST->last == X)                                                                            \
  |  |  ------------------
  |  |  |  Branch (462:17): [True: 0, False: 0]
  |  |  ------------------
  |  |  463|      0|                SLIST->last = X->backward;                                                                   \
  |  |  464|      0|            else                                                                                             \
  |  |  465|      0|                X->forward[0]->backward = X->backward;                                                       \
  |  |  466|      0|            SLIST->nobjs--;                                                                                  \
  |  |  467|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[0], X->forward);                           \
  |  |  ------------------
  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  ------------------
  |  |  468|      0|            X          = H5FL_FREE(H5SL_node_t, X);                                                          \
  |  |  ------------------
  |  |  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  |  |  ------------------
  |  |  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  469|      0|                                                                                                             \
  |  |  470|      0|            HGOTO_DONE(tmp);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  471|      0|        }                                                                                                    \
  |  |  472|      0|    }
  ------------------
 1156|      0|            break;
 1157|       |
 1158|      0|        case H5SL_TYPE_HID:
  ------------------
  |  Branch (1158:9): [True: 0, False: 286]
  ------------------
 1159|      0|            H5SL_REMOVE(SCALAR, slist, x, const hid_t, key, -)
  ------------------
  |  |  310|      0|    {                                                                                                        \
  |  |  311|      0|        H5SL_node_t *_last  = X;             /* Lowest node in the current gap */                            \
  |  |  312|      0|        H5SL_node_t *_llast = X;             /* Lowest node in the previous gap */                           \
  |  |  313|      0|        H5SL_node_t *_next  = NULL;          /* Highest node in the current gap */                           \
  |  |  314|      0|        H5SL_node_t *_drop  = NULL;          /* Low node of the gap to drop into */                          \
  |  |  315|      0|        H5SL_node_t *_ldrop = NULL;          /* Low node of gap before the one to drop into */               \
  |  |  316|      0|        H5SL_node_t *_head  = SLIST->header; /* Head of the skip list */                                     \
  |  |  317|      0|        int          _count;                 /* Number of nodes in the current gap */                        \
  |  |  318|      0|        int          _i = (int)SLIST->curr_level;                                                            \
  |  |  319|      0|                                                                                                             \
  |  |  320|      0|        if (_i < 0)                                                                                          \
  |  |  ------------------
  |  |  |  Branch (320:13): [True: 0, False: 0]
  |  |  ------------------
  |  |  321|      0|            HGOTO_DONE(NULL);                                                                                \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  322|      0|                                                                                                             \
  |  |  323|      0|        H5_GLUE3(H5SL_LOCATE_, CMP, _HASHINIT)                                                               \
  |  |  324|      0|        (KEY, HASHVAL)                                                                                       \
  |  |  325|      0|                                                                                                             \
  |  |  326|      0|            /* Find the gap to drop in to at the highest level */                                            \
  |  |  327|      0|            while (X && (!X->key || H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, X, KEY, HASHVAL)))        \
  |  |  ------------------
  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (327:20): [True: 0, False: 0]
  |  |  |  Branch (327:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  328|      0|        {                                                                                                    \
  |  |  329|      0|            _llast = _last;                                                                                  \
  |  |  330|      0|            _last  = X;                                                                                      \
  |  |  331|      0|            X      = X->forward[_i];                                                                         \
  |  |  332|      0|        }                                                                                                    \
  |  |  333|      0|        _next = X;                                                                                           \
  |  |  334|      0|                                                                                                             \
  |  |  335|      0|        /* Main loop */                                                                                      \
  |  |  336|      0|        for (_i--; _i >= 0; _i--) {                                                                          \
  |  |  ------------------
  |  |  |  Branch (336:20): [True: 0, False: 0]
  |  |  ------------------
  |  |  337|      0|            /* Search for the node to drop into, also count the number of */                                 \
  |  |  338|      0|            /* nodes of height _i in this gap and keep track of of the node */                               \
  |  |  339|      0|            /* before the one to drop into (_ldrop will become _llast, */                                    \
  |  |  340|      0|            /* _drop will become _last). */                                                                  \
  |  |  341|      0|            X = _ldrop = _last;                                                                              \
  |  |  342|      0|            _drop      = NULL;                                                                               \
  |  |  343|      0|            for (_count = 0;; _count++) {                                                                    \
  |  |  344|      0|                /* Terminate if this is the last node in the gap */                                          \
  |  |  345|      0|                if (X->forward[_i] == _next) {                                                               \
  |  |  ------------------
  |  |  |  Branch (345:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  346|      0|                    if (!_drop)                                                                              \
  |  |  ------------------
  |  |  |  Branch (346:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  347|      0|                        _drop = X;                                                                           \
  |  |  348|      0|                    break;                                                                                   \
  |  |  349|      0|                }                                                                                            \
  |  |  350|      0|                                                                                                             \
  |  |  351|      0|                /* If we have already found the node to drop into and there */                               \
  |  |  352|      0|                /* is more than one node in this gap, we can stop searching */                               \
  |  |  353|      0|                if (_drop) {                                                                                 \
  |  |  ------------------
  |  |  |  Branch (353:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|                    assert(_count >= 1);                                                                     \
  |  |  355|      0|                    _count = 2;                                                                              \
  |  |  356|      0|                    break;                                                                                   \
  |  |  357|      0|                }                                                                                            \
  |  |  358|      0|                else { /* !_drop */                                                                          \
  |  |  359|      0|                    /* Check if this node is the start of the next gap */                                    \
  |  |  360|      0|                    if (!H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, X->forward[_i], KEY, HASHVAL)) {     \
  |  |  ------------------
  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (360:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  361|      0|                        _drop = X;                                                                           \
  |  |  362|      0|                        /* Again check if we can stop searching */                                           \
  |  |  363|      0|                        if (_count) {                                                                        \
  |  |  ------------------
  |  |  |  Branch (363:29): [True: 0, False: 0]
  |  |  ------------------
  |  |  364|      0|                            _count = 2;                                                                      \
  |  |  365|      0|                            break;                                                                           \
  |  |  366|      0|                        }                                                                                    \
  |  |  367|      0|                    }                                                                                        \
  |  |  368|      0|                    else                                                                                     \
  |  |  369|      0|                        _ldrop = X;                                                                          \
  |  |  370|      0|                }                                                                                            \
  |  |  371|      0|                                                                                                             \
  |  |  372|      0|                /* No need to check the last node in the gap if there are */                                 \
  |  |  373|      0|                /* 3, as there cannot be a fourth */                                                         \
  |  |  374|      0|                if (_count == 2) {                                                                           \
  |  |  ------------------
  |  |  |  Branch (374:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  375|      0|                    if (!_drop)                                                                              \
  |  |  ------------------
  |  |  |  Branch (375:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  376|      0|                        _drop = X->forward[_i];                                                              \
  |  |  377|      0|                    break;                                                                                   \
  |  |  378|      0|                }                                                                                            \
  |  |  379|      0|                X = X->forward[_i];                                                                          \
  |  |  380|      0|            }                                                                                                \
  |  |  381|      0|            assert(_count >= 1 && _count <= 3);                                                              \
  |  |  382|      0|            assert(!_drop->forward[_i] ||                                                                    \
  |  |  383|      0|                   !H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, _drop->forward[_i], KEY, HASHVAL));       \
  |  |  384|      0|                                                                                                             \
  |  |  385|      0|            /* Check if we need to adjust node heights */                                                    \
  |  |  386|      0|            if (_count == 1) {                                                                               \
  |  |  ------------------
  |  |  |  Branch (386:17): [True: 0, False: 0]
  |  |  ------------------
  |  |  387|      0|                /* Check if we are in the first gap */                                                       \
  |  |  388|      0|                if (_llast == _last) {                                                                       \
  |  |  ------------------
  |  |  |  Branch (388:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  389|      0|                    /* We are in the first gap, count the number of nodes */                                 \
  |  |  390|      0|                    /* of height _i in the next gap.  We need only check */                                  \
  |  |  391|      0|                    /* onenode to see if we should promote the first node */                                 \
  |  |  392|      0|                    /* in the next gap */                                                                    \
  |  |  393|      0|                    _llast = _next->forward[_i + 1];                                                         \
  |  |  394|      0|                                                                                                             \
  |  |  395|      0|                    /* Demote the separator node */                                                          \
  |  |  396|      0|                    H5SL_DEMOTE(_next, _last)                                                                \
  |  |  ------------------
  |  |  |  |  243|      0|    {                                                                                                        \
  |  |  |  |  244|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  245|      0|                                                                                                             \
  |  |  |  |  246|      0|        assert(PREV->forward[_lvl] == X);                                                                    \
  |  |  |  |  247|      0|        PREV->forward[_lvl] = X->forward[_lvl];                                                              \
  |  |  |  |  248|      0|        H5SL_SHRINK(X, _lvl);                                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  199|      0|    {                                                                                                        \
  |  |  |  |  |  |  200|      0|        /* Check if we can reduce the allocation of forward pointers */                                      \
  |  |  |  |  |  |  201|      0|        if (LVL <= ((size_t)1) << (X->log_nalloc - 1)) {                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (201:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  202|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  203|      0|            assert(LVL == ((size_t)1) << (X->log_nalloc - 1));                                               \
  |  |  |  |  |  |  204|      0|            X->log_nalloc--;                                                                                 \
  |  |  |  |  |  |  205|      0|                                                                                                             \
  |  |  |  |  |  |  206|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  207|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (207:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  208|      0|                HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "memory allocation failed");                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  209|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL) * sizeof(H5SL_node_t *));              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  210|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc + 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  211|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  212|      0|        }                                                                                                    \
  |  |  |  |  |  |  213|      0|                                                                                                             \
  |  |  |  |  |  |  214|      0|        X->level--;                                                                                          \
  |  |  |  |  |  |  215|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  249|      0|    }
  |  |  ------------------
  |  |  397|      0|                                                                                                             \
  |  |  398|      0|                    /* If there are 2 or more nodes, promote the first */                                    \
  |  |  399|      0|                    if (_next->forward[_i]->forward[_i] != _llast) {                                         \
  |  |  ------------------
  |  |  |  Branch (399:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  400|      0|                        X = _next->forward[_i];                                                              \
  |  |  401|      0|                        H5SL_PROMOTE(SLIST, X, _last, NULL);                                                 \
  |  |  ------------------
  |  |  |  |  221|      0|    do {                                                                                                     \
  |  |  |  |  222|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  223|      0|                                                                                                             \
  |  |  |  |  224|      0|        H5SL_GROW(X, _lvl, ERR);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  225|      0|                                                                                                             \
  |  |  |  |  226|      0|        if (_lvl == (size_t)SLIST->curr_level) {                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (226:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  227|      0|            assert(PREV == SLIST->header);                                                                   \
  |  |  |  |  228|      0|            /* Grow the head */                                                                              \
  |  |  |  |  229|      0|            H5SL_GROW(PREV, _lvl, ERR)                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  230|      0|            SLIST->curr_level++;                                                                             \
  |  |  |  |  231|      0|            X->forward[_lvl + 1] = NULL;                                                                     \
  |  |  |  |  232|      0|        }                                                                                                    \
  |  |  |  |  233|      0|        else {                                                                                               \
  |  |  |  |  234|      0|            assert(_lvl < (size_t)SLIST->curr_level);                                                        \
  |  |  |  |  235|      0|            X->forward[_lvl + 1] = PREV->forward[_lvl + 1];                                                  \
  |  |  |  |  236|      0|        }                                                                                                    \
  |  |  |  |  237|      0|        PREV->forward[_lvl + 1] = X;                                                                         \
  |  |  |  |  238|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (238:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  402|      0|                    }                                                                                        \
  |  |  403|      0|                    else if (!_head->forward[_i + 1]) {                                                      \
  |  |  ------------------
  |  |  |  Branch (403:30): [True: 0, False: 0]
  |  |  ------------------
  |  |  404|      0|                        /* shrink the header */                                                              \
  |  |  405|      0|                        assert(_i == SLIST->curr_level - 1);                                                 \
  |  |  406|      0|                        assert((size_t)SLIST->curr_level == _head->level);                                   \
  |  |  407|      0|                                                                                                             \
  |  |  408|      0|                        H5SL_SHRINK(_head, (size_t)(_i + 1))                                                 \
  |  |  ------------------
  |  |  |  |  199|      0|    {                                                                                                        \
  |  |  |  |  200|      0|        /* Check if we can reduce the allocation of forward pointers */                                      \
  |  |  |  |  201|      0|        if (LVL <= ((size_t)1) << (X->log_nalloc - 1)) {                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (201:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  202|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  203|      0|            assert(LVL == ((size_t)1) << (X->log_nalloc - 1));                                               \
  |  |  |  |  204|      0|            X->log_nalloc--;                                                                                 \
  |  |  |  |  205|      0|                                                                                                             \
  |  |  |  |  206|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  207|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (207:17): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  208|      0|                HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "memory allocation failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  209|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL) * sizeof(H5SL_node_t *));              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  ------------------
  |  |  |  |  210|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc + 1], (void *)X->forward);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  ------------------
  |  |  |  |  211|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  212|      0|        }                                                                                                    \
  |  |  |  |  213|      0|                                                                                                             \
  |  |  |  |  214|      0|        X->level--;                                                                                          \
  |  |  |  |  215|      0|    }
  |  |  ------------------
  |  |  409|      0|                        SLIST->curr_level--;                                                                 \
  |  |  410|      0|                    }                                                                                        \
  |  |  411|      0|                }                                                                                            \
  |  |  412|      0|                else {                                                                                       \
  |  |  413|      0|                    /* We are not in the first gap, count the number of */                                   \
  |  |  414|      0|                    /* nodes of height _i in the previous gap.  Note we */                                   \
  |  |  415|      0|                    /* "look ahead" in this loop so X has the value of the */                                \
  |  |  416|      0|                    /* last node in the previous gap. */                                                     \
  |  |  417|      0|                    X = _llast->forward[_i];                                                                 \
  |  |  418|      0|                    for (_count = 1; _count < 3 && X->forward[_i] != _last; _count++)                        \
  |  |  ------------------
  |  |  |  Branch (418:38): [True: 0, False: 0]
  |  |  |  Branch (418:52): [True: 0, False: 0]
  |  |  ------------------
  |  |  419|      0|                        X = X->forward[_i];                                                                  \
  |  |  420|      0|                    assert(X->forward[_i] == _last);                                                         \
  |  |  421|      0|                                                                                                             \
  |  |  422|      0|                    /* Demote the separator node */                                                          \
  |  |  423|      0|                    H5SL_DEMOTE(_last, _llast)                                                               \
  |  |  ------------------
  |  |  |  |  243|      0|    {                                                                                                        \
  |  |  |  |  244|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  245|      0|                                                                                                             \
  |  |  |  |  246|      0|        assert(PREV->forward[_lvl] == X);                                                                    \
  |  |  |  |  247|      0|        PREV->forward[_lvl] = X->forward[_lvl];                                                              \
  |  |  |  |  248|      0|        H5SL_SHRINK(X, _lvl);                                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  199|      0|    {                                                                                                        \
  |  |  |  |  |  |  200|      0|        /* Check if we can reduce the allocation of forward pointers */                                      \
  |  |  |  |  |  |  201|      0|        if (LVL <= ((size_t)1) << (X->log_nalloc - 1)) {                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (201:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  202|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  203|      0|            assert(LVL == ((size_t)1) << (X->log_nalloc - 1));                                               \
  |  |  |  |  |  |  204|      0|            X->log_nalloc--;                                                                                 \
  |  |  |  |  |  |  205|      0|                                                                                                             \
  |  |  |  |  |  |  206|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  207|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (207:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  208|      0|                HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "memory allocation failed");                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  209|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL) * sizeof(H5SL_node_t *));              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  210|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc + 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  211|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  212|      0|        }                                                                                                    \
  |  |  |  |  |  |  213|      0|                                                                                                             \
  |  |  |  |  |  |  214|      0|        X->level--;                                                                                          \
  |  |  |  |  |  |  215|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  249|      0|    }
  |  |  ------------------
  |  |  424|      0|                                                                                                             \
  |  |  425|      0|                    /* If there are 2 or more nodes, promote the last */                                     \
  |  |  426|      0|                    if (_count >= 2)                                                                         \
  |  |  ------------------
  |  |  |  Branch (426:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  427|      0|                        H5SL_PROMOTE(SLIST, X, _llast, NULL);                                                \
  |  |  ------------------
  |  |  |  |  221|      0|    do {                                                                                                     \
  |  |  |  |  222|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  223|      0|                                                                                                             \
  |  |  |  |  224|      0|        H5SL_GROW(X, _lvl, ERR);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  225|      0|                                                                                                             \
  |  |  |  |  226|      0|        if (_lvl == (size_t)SLIST->curr_level) {                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (226:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  227|      0|            assert(PREV == SLIST->header);                                                                   \
  |  |  |  |  228|      0|            /* Grow the head */                                                                              \
  |  |  |  |  229|      0|            H5SL_GROW(PREV, _lvl, ERR)                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  230|      0|            SLIST->curr_level++;                                                                             \
  |  |  |  |  231|      0|            X->forward[_lvl + 1] = NULL;                                                                     \
  |  |  |  |  232|      0|        }                                                                                                    \
  |  |  |  |  233|      0|        else {                                                                                               \
  |  |  |  |  234|      0|            assert(_lvl < (size_t)SLIST->curr_level);                                                        \
  |  |  |  |  235|      0|            X->forward[_lvl + 1] = PREV->forward[_lvl + 1];                                                  \
  |  |  |  |  236|      0|        }                                                                                                    \
  |  |  |  |  237|      0|        PREV->forward[_lvl + 1] = X;                                                                         \
  |  |  |  |  238|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (238:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  428|      0|                    else if (!_head->forward[_i + 1]) {                                                      \
  |  |  ------------------
  |  |  |  Branch (428:30): [True: 0, False: 0]
  |  |  ------------------
  |  |  429|      0|                        /* shrink the header */                                                              \
  |  |  430|      0|                        assert(_i == SLIST->curr_level - 1);                                                 \
  |  |  431|      0|                        assert((size_t)SLIST->curr_level == _head->level);                                   \
  |  |  432|      0|                                                                                                             \
  |  |  433|      0|                        H5SL_SHRINK(_head, (size_t)(_i + 1))                                                 \
  |  |  ------------------
  |  |  |  |  199|      0|    {                                                                                                        \
  |  |  |  |  200|      0|        /* Check if we can reduce the allocation of forward pointers */                                      \
  |  |  |  |  201|      0|        if (LVL <= ((size_t)1) << (X->log_nalloc - 1)) {                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (201:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  202|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  203|      0|            assert(LVL == ((size_t)1) << (X->log_nalloc - 1));                                               \
  |  |  |  |  204|      0|            X->log_nalloc--;                                                                                 \
  |  |  |  |  205|      0|                                                                                                             \
  |  |  |  |  206|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  207|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (207:17): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  208|      0|                HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "memory allocation failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  209|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL) * sizeof(H5SL_node_t *));              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  ------------------
  |  |  |  |  210|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc + 1], (void *)X->forward);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  ------------------
  |  |  |  |  211|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  212|      0|        }                                                                                                    \
  |  |  |  |  213|      0|                                                                                                             \
  |  |  |  |  214|      0|        X->level--;                                                                                          \
  |  |  |  |  215|      0|    }
  |  |  ------------------
  |  |  434|      0|                        SLIST->curr_level--;                                                                 \
  |  |  435|      0|                    }                                                                                        \
  |  |  436|      0|                }                                                                                            \
  |  |  437|      0|            }                                                                                                \
  |  |  438|      0|                                                                                                             \
  |  |  439|      0|            /* Prepare to drop down */                                                                       \
  |  |  440|      0|            _llast = _ldrop;                                                                                 \
  |  |  441|      0|            _last  = _drop;                                                                                  \
  |  |  442|      0|            _next  = _drop->forward[_i];                                                                     \
  |  |  443|      0|        }                                                                                                    \
  |  |  444|      0|                                                                                                             \
  |  |  445|      0|        /* Check if we've found the node */                                                                  \
  |  |  446|      0|        if (_next && H5_GLUE3(H5SL_LOCATE_, CMP, _EQ)(SLIST, TYPE, _next, KEY, HASHVAL)) {                   \
  |  |  ------------------
  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (446:13): [True: 0, False: 0]
  |  |  ------------------
  |  |  447|      0|            void *tmp = _next->item;                                                                         \
  |  |  448|      0|            X         = _next;                                                                               \
  |  |  449|      0|                                                                                                             \
  |  |  450|      0|            /* If the node has a height > 0, swap it with its (lower) */                                     \
  |  |  451|      0|            /* neighbor */                                                                                   \
  |  |  452|      0|            if (X->level) {                                                                                  \
  |  |  ------------------
  |  |  |  Branch (452:17): [True: 0, False: 0]
  |  |  ------------------
  |  |  453|      0|                X              = X->backward;                                                                \
  |  |  454|      0|                _next->key     = X->key;                                                                     \
  |  |  455|      0|                _next->item    = X->item;                                                                    \
  |  |  456|      0|                _next->hashval = X->hashval;                                                                 \
  |  |  457|      0|            }                                                                                                \
  |  |  458|      0|            assert(!X->level);                                                                               \
  |  |  459|      0|                                                                                                             \
  |  |  460|      0|            /* Remove the node */                                                                            \
  |  |  461|      0|            X->backward->forward[0] = X->forward[0];                                                         \
  |  |  462|      0|            if (SLIST->last == X)                                                                            \
  |  |  ------------------
  |  |  |  Branch (462:17): [True: 0, False: 0]
  |  |  ------------------
  |  |  463|      0|                SLIST->last = X->backward;                                                                   \
  |  |  464|      0|            else                                                                                             \
  |  |  465|      0|                X->forward[0]->backward = X->backward;                                                       \
  |  |  466|      0|            SLIST->nobjs--;                                                                                  \
  |  |  467|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[0], X->forward);                           \
  |  |  ------------------
  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  ------------------
  |  |  468|      0|            X          = H5FL_FREE(H5SL_node_t, X);                                                          \
  |  |  ------------------
  |  |  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  |  |  ------------------
  |  |  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  469|      0|                                                                                                             \
  |  |  470|      0|            HGOTO_DONE(tmp);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  471|      0|        }                                                                                                    \
  |  |  472|      0|    }
  ------------------
 1160|      0|            break;
 1161|       |
 1162|      0|        case H5SL_TYPE_GENERIC:
  ------------------
  |  Branch (1162:9): [True: 0, False: 286]
  ------------------
 1163|      0|            H5SL_REMOVE(GENERIC, slist, x, const void, key, -)
  ------------------
  |  |  310|      0|    {                                                                                                        \
  |  |  311|      0|        H5SL_node_t *_last  = X;             /* Lowest node in the current gap */                            \
  |  |  312|      0|        H5SL_node_t *_llast = X;             /* Lowest node in the previous gap */                           \
  |  |  313|      0|        H5SL_node_t *_next  = NULL;          /* Highest node in the current gap */                           \
  |  |  314|      0|        H5SL_node_t *_drop  = NULL;          /* Low node of the gap to drop into */                          \
  |  |  315|      0|        H5SL_node_t *_ldrop = NULL;          /* Low node of gap before the one to drop into */               \
  |  |  316|      0|        H5SL_node_t *_head  = SLIST->header; /* Head of the skip list */                                     \
  |  |  317|      0|        int          _count;                 /* Number of nodes in the current gap */                        \
  |  |  318|      0|        int          _i = (int)SLIST->curr_level;                                                            \
  |  |  319|      0|                                                                                                             \
  |  |  320|      0|        if (_i < 0)                                                                                          \
  |  |  ------------------
  |  |  |  Branch (320:13): [True: 0, False: 0]
  |  |  ------------------
  |  |  321|      0|            HGOTO_DONE(NULL);                                                                                \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  322|      0|                                                                                                             \
  |  |  323|      0|        H5_GLUE3(H5SL_LOCATE_, CMP, _HASHINIT)                                                               \
  |  |  324|      0|        (KEY, HASHVAL)                                                                                       \
  |  |  325|      0|                                                                                                             \
  |  |  326|      0|            /* Find the gap to drop in to at the highest level */                                            \
  |  |  327|      0|            while (X && (!X->key || H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, X, KEY, HASHVAL)))        \
  |  |  ------------------
  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (327:20): [True: 0, False: 0]
  |  |  |  Branch (327:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  328|      0|        {                                                                                                    \
  |  |  329|      0|            _llast = _last;                                                                                  \
  |  |  330|      0|            _last  = X;                                                                                      \
  |  |  331|      0|            X      = X->forward[_i];                                                                         \
  |  |  332|      0|        }                                                                                                    \
  |  |  333|      0|        _next = X;                                                                                           \
  |  |  334|      0|                                                                                                             \
  |  |  335|      0|        /* Main loop */                                                                                      \
  |  |  336|      0|        for (_i--; _i >= 0; _i--) {                                                                          \
  |  |  ------------------
  |  |  |  Branch (336:20): [True: 0, False: 0]
  |  |  ------------------
  |  |  337|      0|            /* Search for the node to drop into, also count the number of */                                 \
  |  |  338|      0|            /* nodes of height _i in this gap and keep track of of the node */                               \
  |  |  339|      0|            /* before the one to drop into (_ldrop will become _llast, */                                    \
  |  |  340|      0|            /* _drop will become _last). */                                                                  \
  |  |  341|      0|            X = _ldrop = _last;                                                                              \
  |  |  342|      0|            _drop      = NULL;                                                                               \
  |  |  343|      0|            for (_count = 0;; _count++) {                                                                    \
  |  |  344|      0|                /* Terminate if this is the last node in the gap */                                          \
  |  |  345|      0|                if (X->forward[_i] == _next) {                                                               \
  |  |  ------------------
  |  |  |  Branch (345:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  346|      0|                    if (!_drop)                                                                              \
  |  |  ------------------
  |  |  |  Branch (346:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  347|      0|                        _drop = X;                                                                           \
  |  |  348|      0|                    break;                                                                                   \
  |  |  349|      0|                }                                                                                            \
  |  |  350|      0|                                                                                                             \
  |  |  351|      0|                /* If we have already found the node to drop into and there */                               \
  |  |  352|      0|                /* is more than one node in this gap, we can stop searching */                               \
  |  |  353|      0|                if (_drop) {                                                                                 \
  |  |  ------------------
  |  |  |  Branch (353:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  354|      0|                    assert(_count >= 1);                                                                     \
  |  |  355|      0|                    _count = 2;                                                                              \
  |  |  356|      0|                    break;                                                                                   \
  |  |  357|      0|                }                                                                                            \
  |  |  358|      0|                else { /* !_drop */                                                                          \
  |  |  359|      0|                    /* Check if this node is the start of the next gap */                                    \
  |  |  360|      0|                    if (!H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, X->forward[_i], KEY, HASHVAL)) {     \
  |  |  ------------------
  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (360:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  361|      0|                        _drop = X;                                                                           \
  |  |  362|      0|                        /* Again check if we can stop searching */                                           \
  |  |  363|      0|                        if (_count) {                                                                        \
  |  |  ------------------
  |  |  |  Branch (363:29): [True: 0, False: 0]
  |  |  ------------------
  |  |  364|      0|                            _count = 2;                                                                      \
  |  |  365|      0|                            break;                                                                           \
  |  |  366|      0|                        }                                                                                    \
  |  |  367|      0|                    }                                                                                        \
  |  |  368|      0|                    else                                                                                     \
  |  |  369|      0|                        _ldrop = X;                                                                          \
  |  |  370|      0|                }                                                                                            \
  |  |  371|      0|                                                                                                             \
  |  |  372|      0|                /* No need to check the last node in the gap if there are */                                 \
  |  |  373|      0|                /* 3, as there cannot be a fourth */                                                         \
  |  |  374|      0|                if (_count == 2) {                                                                           \
  |  |  ------------------
  |  |  |  Branch (374:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  375|      0|                    if (!_drop)                                                                              \
  |  |  ------------------
  |  |  |  Branch (375:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  376|      0|                        _drop = X->forward[_i];                                                              \
  |  |  377|      0|                    break;                                                                                   \
  |  |  378|      0|                }                                                                                            \
  |  |  379|      0|                X = X->forward[_i];                                                                          \
  |  |  380|      0|            }                                                                                                \
  |  |  381|      0|            assert(_count >= 1 && _count <= 3);                                                              \
  |  |  382|      0|            assert(!_drop->forward[_i] ||                                                                    \
  |  |  383|      0|                   !H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, _drop->forward[_i], KEY, HASHVAL));       \
  |  |  384|      0|                                                                                                             \
  |  |  385|      0|            /* Check if we need to adjust node heights */                                                    \
  |  |  386|      0|            if (_count == 1) {                                                                               \
  |  |  ------------------
  |  |  |  Branch (386:17): [True: 0, False: 0]
  |  |  ------------------
  |  |  387|      0|                /* Check if we are in the first gap */                                                       \
  |  |  388|      0|                if (_llast == _last) {                                                                       \
  |  |  ------------------
  |  |  |  Branch (388:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  389|      0|                    /* We are in the first gap, count the number of nodes */                                 \
  |  |  390|      0|                    /* of height _i in the next gap.  We need only check */                                  \
  |  |  391|      0|                    /* onenode to see if we should promote the first node */                                 \
  |  |  392|      0|                    /* in the next gap */                                                                    \
  |  |  393|      0|                    _llast = _next->forward[_i + 1];                                                         \
  |  |  394|      0|                                                                                                             \
  |  |  395|      0|                    /* Demote the separator node */                                                          \
  |  |  396|      0|                    H5SL_DEMOTE(_next, _last)                                                                \
  |  |  ------------------
  |  |  |  |  243|      0|    {                                                                                                        \
  |  |  |  |  244|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  245|      0|                                                                                                             \
  |  |  |  |  246|      0|        assert(PREV->forward[_lvl] == X);                                                                    \
  |  |  |  |  247|      0|        PREV->forward[_lvl] = X->forward[_lvl];                                                              \
  |  |  |  |  248|      0|        H5SL_SHRINK(X, _lvl);                                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  199|      0|    {                                                                                                        \
  |  |  |  |  |  |  200|      0|        /* Check if we can reduce the allocation of forward pointers */                                      \
  |  |  |  |  |  |  201|      0|        if (LVL <= ((size_t)1) << (X->log_nalloc - 1)) {                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (201:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  202|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  203|      0|            assert(LVL == ((size_t)1) << (X->log_nalloc - 1));                                               \
  |  |  |  |  |  |  204|      0|            X->log_nalloc--;                                                                                 \
  |  |  |  |  |  |  205|      0|                                                                                                             \
  |  |  |  |  |  |  206|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  207|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (207:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  208|      0|                HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "memory allocation failed");                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  209|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL) * sizeof(H5SL_node_t *));              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  210|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc + 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  211|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  212|      0|        }                                                                                                    \
  |  |  |  |  |  |  213|      0|                                                                                                             \
  |  |  |  |  |  |  214|      0|        X->level--;                                                                                          \
  |  |  |  |  |  |  215|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  249|      0|    }
  |  |  ------------------
  |  |  397|      0|                                                                                                             \
  |  |  398|      0|                    /* If there are 2 or more nodes, promote the first */                                    \
  |  |  399|      0|                    if (_next->forward[_i]->forward[_i] != _llast) {                                         \
  |  |  ------------------
  |  |  |  Branch (399:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  400|      0|                        X = _next->forward[_i];                                                              \
  |  |  401|      0|                        H5SL_PROMOTE(SLIST, X, _last, NULL);                                                 \
  |  |  ------------------
  |  |  |  |  221|      0|    do {                                                                                                     \
  |  |  |  |  222|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  223|      0|                                                                                                             \
  |  |  |  |  224|      0|        H5SL_GROW(X, _lvl, ERR);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  225|      0|                                                                                                             \
  |  |  |  |  226|      0|        if (_lvl == (size_t)SLIST->curr_level) {                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (226:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  227|      0|            assert(PREV == SLIST->header);                                                                   \
  |  |  |  |  228|      0|            /* Grow the head */                                                                              \
  |  |  |  |  229|      0|            H5SL_GROW(PREV, _lvl, ERR)                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  230|      0|            SLIST->curr_level++;                                                                             \
  |  |  |  |  231|      0|            X->forward[_lvl + 1] = NULL;                                                                     \
  |  |  |  |  232|      0|        }                                                                                                    \
  |  |  |  |  233|      0|        else {                                                                                               \
  |  |  |  |  234|      0|            assert(_lvl < (size_t)SLIST->curr_level);                                                        \
  |  |  |  |  235|      0|            X->forward[_lvl + 1] = PREV->forward[_lvl + 1];                                                  \
  |  |  |  |  236|      0|        }                                                                                                    \
  |  |  |  |  237|      0|        PREV->forward[_lvl + 1] = X;                                                                         \
  |  |  |  |  238|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (238:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  402|      0|                    }                                                                                        \
  |  |  403|      0|                    else if (!_head->forward[_i + 1]) {                                                      \
  |  |  ------------------
  |  |  |  Branch (403:30): [True: 0, False: 0]
  |  |  ------------------
  |  |  404|      0|                        /* shrink the header */                                                              \
  |  |  405|      0|                        assert(_i == SLIST->curr_level - 1);                                                 \
  |  |  406|      0|                        assert((size_t)SLIST->curr_level == _head->level);                                   \
  |  |  407|      0|                                                                                                             \
  |  |  408|      0|                        H5SL_SHRINK(_head, (size_t)(_i + 1))                                                 \
  |  |  ------------------
  |  |  |  |  199|      0|    {                                                                                                        \
  |  |  |  |  200|      0|        /* Check if we can reduce the allocation of forward pointers */                                      \
  |  |  |  |  201|      0|        if (LVL <= ((size_t)1) << (X->log_nalloc - 1)) {                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (201:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  202|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  203|      0|            assert(LVL == ((size_t)1) << (X->log_nalloc - 1));                                               \
  |  |  |  |  204|      0|            X->log_nalloc--;                                                                                 \
  |  |  |  |  205|      0|                                                                                                             \
  |  |  |  |  206|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  207|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (207:17): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  208|      0|                HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "memory allocation failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  209|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL) * sizeof(H5SL_node_t *));              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  ------------------
  |  |  |  |  210|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc + 1], (void *)X->forward);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  ------------------
  |  |  |  |  211|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  212|      0|        }                                                                                                    \
  |  |  |  |  213|      0|                                                                                                             \
  |  |  |  |  214|      0|        X->level--;                                                                                          \
  |  |  |  |  215|      0|    }
  |  |  ------------------
  |  |  409|      0|                        SLIST->curr_level--;                                                                 \
  |  |  410|      0|                    }                                                                                        \
  |  |  411|      0|                }                                                                                            \
  |  |  412|      0|                else {                                                                                       \
  |  |  413|      0|                    /* We are not in the first gap, count the number of */                                   \
  |  |  414|      0|                    /* nodes of height _i in the previous gap.  Note we */                                   \
  |  |  415|      0|                    /* "look ahead" in this loop so X has the value of the */                                \
  |  |  416|      0|                    /* last node in the previous gap. */                                                     \
  |  |  417|      0|                    X = _llast->forward[_i];                                                                 \
  |  |  418|      0|                    for (_count = 1; _count < 3 && X->forward[_i] != _last; _count++)                        \
  |  |  ------------------
  |  |  |  Branch (418:38): [True: 0, False: 0]
  |  |  |  Branch (418:52): [True: 0, False: 0]
  |  |  ------------------
  |  |  419|      0|                        X = X->forward[_i];                                                                  \
  |  |  420|      0|                    assert(X->forward[_i] == _last);                                                         \
  |  |  421|      0|                                                                                                             \
  |  |  422|      0|                    /* Demote the separator node */                                                          \
  |  |  423|      0|                    H5SL_DEMOTE(_last, _llast)                                                               \
  |  |  ------------------
  |  |  |  |  243|      0|    {                                                                                                        \
  |  |  |  |  244|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  245|      0|                                                                                                             \
  |  |  |  |  246|      0|        assert(PREV->forward[_lvl] == X);                                                                    \
  |  |  |  |  247|      0|        PREV->forward[_lvl] = X->forward[_lvl];                                                              \
  |  |  |  |  248|      0|        H5SL_SHRINK(X, _lvl);                                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |  199|      0|    {                                                                                                        \
  |  |  |  |  |  |  200|      0|        /* Check if we can reduce the allocation of forward pointers */                                      \
  |  |  |  |  |  |  201|      0|        if (LVL <= ((size_t)1) << (X->log_nalloc - 1)) {                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (201:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  202|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  203|      0|            assert(LVL == ((size_t)1) << (X->log_nalloc - 1));                                               \
  |  |  |  |  |  |  204|      0|            X->log_nalloc--;                                                                                 \
  |  |  |  |  |  |  205|      0|                                                                                                             \
  |  |  |  |  |  |  206|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  207|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (207:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  208|      0|                HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "memory allocation failed");                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  209|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL) * sizeof(H5SL_node_t *));              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  210|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc + 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  211|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  212|      0|        }                                                                                                    \
  |  |  |  |  |  |  213|      0|                                                                                                             \
  |  |  |  |  |  |  214|      0|        X->level--;                                                                                          \
  |  |  |  |  |  |  215|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  249|      0|    }
  |  |  ------------------
  |  |  424|      0|                                                                                                             \
  |  |  425|      0|                    /* If there are 2 or more nodes, promote the last */                                     \
  |  |  426|      0|                    if (_count >= 2)                                                                         \
  |  |  ------------------
  |  |  |  Branch (426:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  427|      0|                        H5SL_PROMOTE(SLIST, X, _llast, NULL);                                                \
  |  |  ------------------
  |  |  |  |  221|      0|    do {                                                                                                     \
  |  |  |  |  222|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  223|      0|                                                                                                             \
  |  |  |  |  224|      0|        H5SL_GROW(X, _lvl, ERR);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  225|      0|                                                                                                             \
  |  |  |  |  226|      0|        if (_lvl == (size_t)SLIST->curr_level) {                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (226:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  227|      0|            assert(PREV == SLIST->header);                                                                   \
  |  |  |  |  228|      0|            /* Grow the head */                                                                              \
  |  |  |  |  229|      0|            H5SL_GROW(PREV, _lvl, ERR)                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  230|      0|            SLIST->curr_level++;                                                                             \
  |  |  |  |  231|      0|            X->forward[_lvl + 1] = NULL;                                                                     \
  |  |  |  |  232|      0|        }                                                                                                    \
  |  |  |  |  233|      0|        else {                                                                                               \
  |  |  |  |  234|      0|            assert(_lvl < (size_t)SLIST->curr_level);                                                        \
  |  |  |  |  235|      0|            X->forward[_lvl + 1] = PREV->forward[_lvl + 1];                                                  \
  |  |  |  |  236|      0|        }                                                                                                    \
  |  |  |  |  237|      0|        PREV->forward[_lvl + 1] = X;                                                                         \
  |  |  |  |  238|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (238:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  428|      0|                    else if (!_head->forward[_i + 1]) {                                                      \
  |  |  ------------------
  |  |  |  Branch (428:30): [True: 0, False: 0]
  |  |  ------------------
  |  |  429|      0|                        /* shrink the header */                                                              \
  |  |  430|      0|                        assert(_i == SLIST->curr_level - 1);                                                 \
  |  |  431|      0|                        assert((size_t)SLIST->curr_level == _head->level);                                   \
  |  |  432|      0|                                                                                                             \
  |  |  433|      0|                        H5SL_SHRINK(_head, (size_t)(_i + 1))                                                 \
  |  |  ------------------
  |  |  |  |  199|      0|    {                                                                                                        \
  |  |  |  |  200|      0|        /* Check if we can reduce the allocation of forward pointers */                                      \
  |  |  |  |  201|      0|        if (LVL <= ((size_t)1) << (X->log_nalloc - 1)) {                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (201:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  202|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  203|      0|            assert(LVL == ((size_t)1) << (X->log_nalloc - 1));                                               \
  |  |  |  |  204|      0|            X->log_nalloc--;                                                                                 \
  |  |  |  |  205|      0|                                                                                                             \
  |  |  |  |  206|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  207|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (207:17): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  208|      0|                HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "memory allocation failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  209|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL) * sizeof(H5SL_node_t *));              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  ------------------
  |  |  |  |  210|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc + 1], (void *)X->forward);   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  ------------------
  |  |  |  |  211|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  212|      0|        }                                                                                                    \
  |  |  |  |  213|      0|                                                                                                             \
  |  |  |  |  214|      0|        X->level--;                                                                                          \
  |  |  |  |  215|      0|    }
  |  |  ------------------
  |  |  434|      0|                        SLIST->curr_level--;                                                                 \
  |  |  435|      0|                    }                                                                                        \
  |  |  436|      0|                }                                                                                            \
  |  |  437|      0|            }                                                                                                \
  |  |  438|      0|                                                                                                             \
  |  |  439|      0|            /* Prepare to drop down */                                                                       \
  |  |  440|      0|            _llast = _ldrop;                                                                                 \
  |  |  441|      0|            _last  = _drop;                                                                                  \
  |  |  442|      0|            _next  = _drop->forward[_i];                                                                     \
  |  |  443|      0|        }                                                                                                    \
  |  |  444|      0|                                                                                                             \
  |  |  445|      0|        /* Check if we've found the node */                                                                  \
  |  |  446|      0|        if (_next && H5_GLUE3(H5SL_LOCATE_, CMP, _EQ)(SLIST, TYPE, _next, KEY, HASHVAL)) {                   \
  |  |  ------------------
  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (446:13): [True: 0, False: 0]
  |  |  ------------------
  |  |  447|      0|            void *tmp = _next->item;                                                                         \
  |  |  448|      0|            X         = _next;                                                                               \
  |  |  449|      0|                                                                                                             \
  |  |  450|      0|            /* If the node has a height > 0, swap it with its (lower) */                                     \
  |  |  451|      0|            /* neighbor */                                                                                   \
  |  |  452|      0|            if (X->level) {                                                                                  \
  |  |  ------------------
  |  |  |  Branch (452:17): [True: 0, False: 0]
  |  |  ------------------
  |  |  453|      0|                X              = X->backward;                                                                \
  |  |  454|      0|                _next->key     = X->key;                                                                     \
  |  |  455|      0|                _next->item    = X->item;                                                                    \
  |  |  456|      0|                _next->hashval = X->hashval;                                                                 \
  |  |  457|      0|            }                                                                                                \
  |  |  458|      0|            assert(!X->level);                                                                               \
  |  |  459|      0|                                                                                                             \
  |  |  460|      0|            /* Remove the node */                                                                            \
  |  |  461|      0|            X->backward->forward[0] = X->forward[0];                                                         \
  |  |  462|      0|            if (SLIST->last == X)                                                                            \
  |  |  ------------------
  |  |  |  Branch (462:17): [True: 0, False: 0]
  |  |  ------------------
  |  |  463|      0|                SLIST->last = X->backward;                                                                   \
  |  |  464|      0|            else                                                                                             \
  |  |  465|      0|                X->forward[0]->backward = X->backward;                                                       \
  |  |  466|      0|            SLIST->nobjs--;                                                                                  \
  |  |  467|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[0], X->forward);                           \
  |  |  ------------------
  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  ------------------
  |  |  468|      0|            X          = H5FL_FREE(H5SL_node_t, X);                                                          \
  |  |  ------------------
  |  |  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  |  |  ------------------
  |  |  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  469|      0|                                                                                                             \
  |  |  470|      0|            HGOTO_DONE(tmp);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  471|      0|        }                                                                                                    \
  |  |  472|      0|    }
  ------------------
 1164|      0|            break;
 1165|       |
 1166|      0|        default:
  ------------------
  |  Branch (1166:9): [True: 0, False: 286]
  ------------------
 1167|      0|            assert(0 && "Unknown skiplist type!");
 1168|    286|    }
 1169|       |
 1170|    286|done:
 1171|    286|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    286|    ;                                                                                                        \
  |  | 1573|    286|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    286|    return (ret_value);                                                                                      \
  |  | 1575|    286|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1172|    286|} /* end H5SL_remove() */
H5SL_search:
 1300|  6.61k|{
 1301|  6.61k|    H5SL_node_t *x;                /* Current node to examine */
 1302|  6.61k|    uint32_t     hashval   = 0;    /* Hash value for key */
 1303|  6.61k|    void        *ret_value = NULL; /* Return value */
 1304|       |
 1305|  6.61k|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|  6.61k|    {                                                                                                        \
  |  | 1425|  6.61k|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|  6.61k|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|  6.61k|        {
  ------------------
 1306|       |
 1307|       |    /* Check args */
 1308|  6.61k|    assert(slist);
 1309|  6.61k|    assert(key);
 1310|       |
 1311|       |    /* Check internal consistency */
 1312|       |    /* (Pre-condition) */
 1313|       |
 1314|       |    /* Insert item into skip list */
 1315|       |
 1316|       |    /* Work through the forward pointers for a node, finding the node at each
 1317|       |     * level that is before the location to insert
 1318|       |     */
 1319|  6.61k|    x = slist->header;
 1320|  6.61k|    switch (slist->type) {
 1321|      0|        case H5SL_TYPE_INT:
  ------------------
  |  Branch (1321:9): [True: 0, False: 6.61k]
  ------------------
 1322|      0|            H5SL_SEARCH(SCALAR, slist, x, const int, key, -)
  ------------------
  |  |  475|      0|#define H5SL_SEARCH(CMP, SLIST, X, TYPE, KEY, HASHVAL) H5SL_LOCATE(SEARCH, CMP, SLIST, X, TYPE, KEY, HASHVAL)
  |  |  ------------------
  |  |  |  |  150|      0|    {                                                                                                        \
  |  |  |  |  151|      0|        H5SL_LOCATE_OPT(OP, CMP, SLIST, X, TYPE, KEY, HASHVAL)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  127|      0|    {                                                                                                        \
  |  |  |  |  |  |  128|      0|        int      _i;     /* Local index variable */                                                          \
  |  |  |  |  |  |  129|      0|        unsigned _count; /* Num nodes searched at this height */                                             \
  |  |  |  |  |  |  130|      0|                                                                                                             \
  |  |  |  |  |  |  131|      0|        H5_GLUE3(H5SL_LOCATE_, CMP, _HASHINIT)                                                               \
  |  |  |  |  |  |  132|      0|        (KEY, HASHVAL) for (_i = (int)SLIST->curr_level; _i >= 0; _i--)                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (132:58): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  133|      0|        {                                                                                                    \
  |  |  |  |  |  |  134|      0|            _count = 0;                                                                                      \
  |  |  |  |  |  |  135|      0|            while (_count < 3 && X->forward[_i] &&                                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (135:20): [True: 0, False: 0]
  |  |  |  |  |  |  |  Branch (135:34): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  136|      0|                   H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, X->forward[_i], KEY, HASHVAL)) {           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  137|      0|                X = X->forward[_i];                                                                          \
  |  |  |  |  |  |  138|      0|                _count++;                                                                                    \
  |  |  |  |  |  |  139|      0|            }                                                                                                \
  |  |  |  |  |  |  140|      0|        }                                                                                                    \
  |  |  |  |  |  |  141|      0|        X = X->forward[0];                                                                                   \
  |  |  |  |  |  |  142|      0|        if (X != NULL && H5_GLUE3(H5SL_LOCATE_, CMP, _EQ)(SLIST, TYPE, X, KEY, HASHVAL)) {                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (142:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  143|      0|            /* What to do when a node is found */                                                            \
  |  |  |  |  |  |  144|      0|            H5_GLUE3(H5SL_LOCATE_, OP, _FOUND)(SLIST, X, _i)                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  145|      0|        }                                                                                                    \
  |  |  |  |  |  |  146|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  152|      0|    }
  |  |  ------------------
  ------------------
 1323|      0|            break;
 1324|       |
 1325|    432|        case H5SL_TYPE_HADDR:
  ------------------
  |  Branch (1325:9): [True: 432, False: 6.18k]
  ------------------
 1326|    432|            H5SL_SEARCH(SCALAR, slist, x, const haddr_t, key, -)
  ------------------
  |  |  475|    432|#define H5SL_SEARCH(CMP, SLIST, X, TYPE, KEY, HASHVAL) H5SL_LOCATE(SEARCH, CMP, SLIST, X, TYPE, KEY, HASHVAL)
  |  |  ------------------
  |  |  |  |  150|    432|    {                                                                                                        \
  |  |  |  |  151|    432|        H5SL_LOCATE_OPT(OP, CMP, SLIST, X, TYPE, KEY, HASHVAL)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  127|    432|    {                                                                                                        \
  |  |  |  |  |  |  128|    432|        int      _i;     /* Local index variable */                                                          \
  |  |  |  |  |  |  129|    432|        unsigned _count; /* Num nodes searched at this height */                                             \
  |  |  |  |  |  |  130|    432|                                                                                                             \
  |  |  |  |  |  |  131|    432|        H5_GLUE3(H5SL_LOCATE_, CMP, _HASHINIT)                                                               \
  |  |  |  |  |  |  132|    865|        (KEY, HASHVAL) for (_i = (int)SLIST->curr_level; _i >= 0; _i--)                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (132:58): [True: 433, False: 432]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  133|    433|        {                                                                                                    \
  |  |  |  |  |  |  134|    433|            _count = 0;                                                                                      \
  |  |  |  |  |  |  135|    630|            while (_count < 3 && X->forward[_i] &&                                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (135:20): [True: 624, False: 6]
  |  |  |  |  |  |  |  Branch (135:34): [True: 340, False: 284]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  136|    630|                   H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, X->forward[_i], KEY, HASHVAL)) {           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  894|    630|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  137|    197|                X = X->forward[_i];                                                                          \
  |  |  |  |  |  |  138|    197|                _count++;                                                                                    \
  |  |  |  |  |  |  139|    197|            }                                                                                                \
  |  |  |  |  |  |  140|    433|        }                                                                                                    \
  |  |  |  |  |  |  141|    432|        X = X->forward[0];                                                                                   \
  |  |  |  |  |  |  142|    432|        if (X != NULL && H5_GLUE3(H5SL_LOCATE_, CMP, _EQ)(SLIST, TYPE, X, KEY, HASHVAL)) {                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  894|    432|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (142:13): [True: 143, False: 289]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  143|    143|            /* What to do when a node is found */                                                            \
  |  |  |  |  |  |  144|    143|            H5_GLUE3(H5SL_LOCATE_, OP, _FOUND)(SLIST, X, _i)                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  894|    143|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  145|    143|        }                                                                                                    \
  |  |  |  |  |  |  146|    432|    }
  |  |  |  |  ------------------
  |  |  |  |  152|    432|    }
  |  |  ------------------
  ------------------
 1327|    289|            break;
 1328|       |
 1329|  6.18k|        case H5SL_TYPE_STR:
  ------------------
  |  Branch (1329:9): [True: 6.18k, False: 432]
  ------------------
 1330|  6.18k|            H5SL_SEARCH(STRING, slist, x, char *, key, hashval)
  ------------------
  |  |  475|  6.18k|#define H5SL_SEARCH(CMP, SLIST, X, TYPE, KEY, HASHVAL) H5SL_LOCATE(SEARCH, CMP, SLIST, X, TYPE, KEY, HASHVAL)
  |  |  ------------------
  |  |  |  |  150|  6.18k|    {                                                                                                        \
  |  |  |  |  151|  6.18k|        H5SL_LOCATE_OPT(OP, CMP, SLIST, X, TYPE, KEY, HASHVAL)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  127|  6.18k|    {                                                                                                        \
  |  |  |  |  |  |  128|  6.18k|        int      _i;     /* Local index variable */                                                          \
  |  |  |  |  |  |  129|  6.18k|        unsigned _count; /* Num nodes searched at this height */                                             \
  |  |  |  |  |  |  130|  6.18k|                                                                                                             \
  |  |  |  |  |  |  131|  6.18k|        H5_GLUE3(H5SL_LOCATE_, CMP, _HASHINIT)                                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  894|  6.18k|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  132|  17.4k|        (KEY, HASHVAL) for (_i = (int)SLIST->curr_level; _i >= 0; _i--)                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (132:58): [True: 11.2k, False: 6.18k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  133|  11.2k|        {                                                                                                    \
  |  |  |  |  |  |  134|  11.2k|            _count = 0;                                                                                      \
  |  |  |  |  |  |  135|  24.1k|            while (_count < 3 && X->forward[_i] &&                                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (135:20): [True: 23.0k, False: 1.13k]
  |  |  |  |  |  |  |  Branch (135:34): [True: 19.3k, False: 3.67k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  136|  24.1k|                   H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, X->forward[_i], KEY, HASHVAL)) {           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  894|  24.1k|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  137|  12.9k|                X = X->forward[_i];                                                                          \
  |  |  |  |  |  |  138|  12.9k|                _count++;                                                                                    \
  |  |  |  |  |  |  139|  12.9k|            }                                                                                                \
  |  |  |  |  |  |  140|  11.2k|        }                                                                                                    \
  |  |  |  |  |  |  141|  6.18k|        X = X->forward[0];                                                                                   \
  |  |  |  |  |  |  142|  6.18k|        if (X != NULL && H5_GLUE3(H5SL_LOCATE_, CMP, _EQ)(SLIST, TYPE, X, KEY, HASHVAL)) {                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  894|  6.18k|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (142:13): [True: 3.69k, False: 2.48k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  143|  1.83k|            /* What to do when a node is found */                                                            \
  |  |  |  |  |  |  144|  1.83k|            H5_GLUE3(H5SL_LOCATE_, OP, _FOUND)(SLIST, X, _i)                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  894|  1.83k|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  145|  1.83k|        }                                                                                                    \
  |  |  |  |  |  |  146|  6.18k|    }
  |  |  |  |  ------------------
  |  |  |  |  152|  6.18k|    }
  |  |  ------------------
  ------------------
 1331|  4.35k|            break;
 1332|       |
 1333|  4.35k|        case H5SL_TYPE_HSIZE:
  ------------------
  |  Branch (1333:9): [True: 0, False: 6.61k]
  ------------------
 1334|      0|            H5SL_SEARCH(SCALAR, slist, x, const hsize_t, key, -)
  ------------------
  |  |  475|      0|#define H5SL_SEARCH(CMP, SLIST, X, TYPE, KEY, HASHVAL) H5SL_LOCATE(SEARCH, CMP, SLIST, X, TYPE, KEY, HASHVAL)
  |  |  ------------------
  |  |  |  |  150|      0|    {                                                                                                        \
  |  |  |  |  151|      0|        H5SL_LOCATE_OPT(OP, CMP, SLIST, X, TYPE, KEY, HASHVAL)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  127|      0|    {                                                                                                        \
  |  |  |  |  |  |  128|      0|        int      _i;     /* Local index variable */                                                          \
  |  |  |  |  |  |  129|      0|        unsigned _count; /* Num nodes searched at this height */                                             \
  |  |  |  |  |  |  130|      0|                                                                                                             \
  |  |  |  |  |  |  131|      0|        H5_GLUE3(H5SL_LOCATE_, CMP, _HASHINIT)                                                               \
  |  |  |  |  |  |  132|      0|        (KEY, HASHVAL) for (_i = (int)SLIST->curr_level; _i >= 0; _i--)                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (132:58): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  133|      0|        {                                                                                                    \
  |  |  |  |  |  |  134|      0|            _count = 0;                                                                                      \
  |  |  |  |  |  |  135|      0|            while (_count < 3 && X->forward[_i] &&                                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (135:20): [True: 0, False: 0]
  |  |  |  |  |  |  |  Branch (135:34): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  136|      0|                   H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, X->forward[_i], KEY, HASHVAL)) {           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  137|      0|                X = X->forward[_i];                                                                          \
  |  |  |  |  |  |  138|      0|                _count++;                                                                                    \
  |  |  |  |  |  |  139|      0|            }                                                                                                \
  |  |  |  |  |  |  140|      0|        }                                                                                                    \
  |  |  |  |  |  |  141|      0|        X = X->forward[0];                                                                                   \
  |  |  |  |  |  |  142|      0|        if (X != NULL && H5_GLUE3(H5SL_LOCATE_, CMP, _EQ)(SLIST, TYPE, X, KEY, HASHVAL)) {                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (142:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  143|      0|            /* What to do when a node is found */                                                            \
  |  |  |  |  |  |  144|      0|            H5_GLUE3(H5SL_LOCATE_, OP, _FOUND)(SLIST, X, _i)                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  145|      0|        }                                                                                                    \
  |  |  |  |  |  |  146|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  152|      0|    }
  |  |  ------------------
  ------------------
 1335|      0|            break;
 1336|       |
 1337|      0|        case H5SL_TYPE_UNSIGNED:
  ------------------
  |  Branch (1337:9): [True: 0, False: 6.61k]
  ------------------
 1338|      0|            H5SL_SEARCH(SCALAR, slist, x, const unsigned, key, -)
  ------------------
  |  |  475|      0|#define H5SL_SEARCH(CMP, SLIST, X, TYPE, KEY, HASHVAL) H5SL_LOCATE(SEARCH, CMP, SLIST, X, TYPE, KEY, HASHVAL)
  |  |  ------------------
  |  |  |  |  150|      0|    {                                                                                                        \
  |  |  |  |  151|      0|        H5SL_LOCATE_OPT(OP, CMP, SLIST, X, TYPE, KEY, HASHVAL)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  127|      0|    {                                                                                                        \
  |  |  |  |  |  |  128|      0|        int      _i;     /* Local index variable */                                                          \
  |  |  |  |  |  |  129|      0|        unsigned _count; /* Num nodes searched at this height */                                             \
  |  |  |  |  |  |  130|      0|                                                                                                             \
  |  |  |  |  |  |  131|      0|        H5_GLUE3(H5SL_LOCATE_, CMP, _HASHINIT)                                                               \
  |  |  |  |  |  |  132|      0|        (KEY, HASHVAL) for (_i = (int)SLIST->curr_level; _i >= 0; _i--)                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (132:58): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  133|      0|        {                                                                                                    \
  |  |  |  |  |  |  134|      0|            _count = 0;                                                                                      \
  |  |  |  |  |  |  135|      0|            while (_count < 3 && X->forward[_i] &&                                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (135:20): [True: 0, False: 0]
  |  |  |  |  |  |  |  Branch (135:34): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  136|      0|                   H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, X->forward[_i], KEY, HASHVAL)) {           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  137|      0|                X = X->forward[_i];                                                                          \
  |  |  |  |  |  |  138|      0|                _count++;                                                                                    \
  |  |  |  |  |  |  139|      0|            }                                                                                                \
  |  |  |  |  |  |  140|      0|        }                                                                                                    \
  |  |  |  |  |  |  141|      0|        X = X->forward[0];                                                                                   \
  |  |  |  |  |  |  142|      0|        if (X != NULL && H5_GLUE3(H5SL_LOCATE_, CMP, _EQ)(SLIST, TYPE, X, KEY, HASHVAL)) {                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (142:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  143|      0|            /* What to do when a node is found */                                                            \
  |  |  |  |  |  |  144|      0|            H5_GLUE3(H5SL_LOCATE_, OP, _FOUND)(SLIST, X, _i)                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  145|      0|        }                                                                                                    \
  |  |  |  |  |  |  146|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  152|      0|    }
  |  |  ------------------
  ------------------
 1339|      0|            break;
 1340|       |
 1341|      0|        case H5SL_TYPE_SIZE:
  ------------------
  |  Branch (1341:9): [True: 0, False: 6.61k]
  ------------------
 1342|      0|            H5SL_SEARCH(SCALAR, slist, x, const size_t, key, -)
  ------------------
  |  |  475|      0|#define H5SL_SEARCH(CMP, SLIST, X, TYPE, KEY, HASHVAL) H5SL_LOCATE(SEARCH, CMP, SLIST, X, TYPE, KEY, HASHVAL)
  |  |  ------------------
  |  |  |  |  150|      0|    {                                                                                                        \
  |  |  |  |  151|      0|        H5SL_LOCATE_OPT(OP, CMP, SLIST, X, TYPE, KEY, HASHVAL)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  127|      0|    {                                                                                                        \
  |  |  |  |  |  |  128|      0|        int      _i;     /* Local index variable */                                                          \
  |  |  |  |  |  |  129|      0|        unsigned _count; /* Num nodes searched at this height */                                             \
  |  |  |  |  |  |  130|      0|                                                                                                             \
  |  |  |  |  |  |  131|      0|        H5_GLUE3(H5SL_LOCATE_, CMP, _HASHINIT)                                                               \
  |  |  |  |  |  |  132|      0|        (KEY, HASHVAL) for (_i = (int)SLIST->curr_level; _i >= 0; _i--)                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (132:58): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  133|      0|        {                                                                                                    \
  |  |  |  |  |  |  134|      0|            _count = 0;                                                                                      \
  |  |  |  |  |  |  135|      0|            while (_count < 3 && X->forward[_i] &&                                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (135:20): [True: 0, False: 0]
  |  |  |  |  |  |  |  Branch (135:34): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  136|      0|                   H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, X->forward[_i], KEY, HASHVAL)) {           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  137|      0|                X = X->forward[_i];                                                                          \
  |  |  |  |  |  |  138|      0|                _count++;                                                                                    \
  |  |  |  |  |  |  139|      0|            }                                                                                                \
  |  |  |  |  |  |  140|      0|        }                                                                                                    \
  |  |  |  |  |  |  141|      0|        X = X->forward[0];                                                                                   \
  |  |  |  |  |  |  142|      0|        if (X != NULL && H5_GLUE3(H5SL_LOCATE_, CMP, _EQ)(SLIST, TYPE, X, KEY, HASHVAL)) {                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (142:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  143|      0|            /* What to do when a node is found */                                                            \
  |  |  |  |  |  |  144|      0|            H5_GLUE3(H5SL_LOCATE_, OP, _FOUND)(SLIST, X, _i)                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  145|      0|        }                                                                                                    \
  |  |  |  |  |  |  146|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  152|      0|    }
  |  |  ------------------
  ------------------
 1343|      0|            break;
 1344|       |
 1345|      0|        case H5SL_TYPE_OBJ:
  ------------------
  |  Branch (1345:9): [True: 0, False: 6.61k]
  ------------------
 1346|      0|            H5SL_SEARCH(OBJ, slist, x, const H5_obj_t, key, -)
  ------------------
  |  |  475|      0|#define H5SL_SEARCH(CMP, SLIST, X, TYPE, KEY, HASHVAL) H5SL_LOCATE(SEARCH, CMP, SLIST, X, TYPE, KEY, HASHVAL)
  |  |  ------------------
  |  |  |  |  150|      0|    {                                                                                                        \
  |  |  |  |  151|      0|        H5SL_LOCATE_OPT(OP, CMP, SLIST, X, TYPE, KEY, HASHVAL)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  127|      0|    {                                                                                                        \
  |  |  |  |  |  |  128|      0|        int      _i;     /* Local index variable */                                                          \
  |  |  |  |  |  |  129|      0|        unsigned _count; /* Num nodes searched at this height */                                             \
  |  |  |  |  |  |  130|      0|                                                                                                             \
  |  |  |  |  |  |  131|      0|        H5_GLUE3(H5SL_LOCATE_, CMP, _HASHINIT)                                                               \
  |  |  |  |  |  |  132|      0|        (KEY, HASHVAL) for (_i = (int)SLIST->curr_level; _i >= 0; _i--)                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (132:58): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  133|      0|        {                                                                                                    \
  |  |  |  |  |  |  134|      0|            _count = 0;                                                                                      \
  |  |  |  |  |  |  135|      0|            while (_count < 3 && X->forward[_i] &&                                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (135:20): [True: 0, False: 0]
  |  |  |  |  |  |  |  Branch (135:34): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  136|      0|                   H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, X->forward[_i], KEY, HASHVAL)) {           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  137|      0|                X = X->forward[_i];                                                                          \
  |  |  |  |  |  |  138|      0|                _count++;                                                                                    \
  |  |  |  |  |  |  139|      0|            }                                                                                                \
  |  |  |  |  |  |  140|      0|        }                                                                                                    \
  |  |  |  |  |  |  141|      0|        X = X->forward[0];                                                                                   \
  |  |  |  |  |  |  142|      0|        if (X != NULL && H5_GLUE3(H5SL_LOCATE_, CMP, _EQ)(SLIST, TYPE, X, KEY, HASHVAL)) {                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (142:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  143|      0|            /* What to do when a node is found */                                                            \
  |  |  |  |  |  |  144|      0|            H5_GLUE3(H5SL_LOCATE_, OP, _FOUND)(SLIST, X, _i)                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  145|      0|        }                                                                                                    \
  |  |  |  |  |  |  146|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  152|      0|    }
  |  |  ------------------
  ------------------
 1347|      0|            break;
 1348|       |
 1349|      0|        case H5SL_TYPE_HID:
  ------------------
  |  Branch (1349:9): [True: 0, False: 6.61k]
  ------------------
 1350|      0|            H5SL_SEARCH(SCALAR, slist, x, const hid_t, key, -)
  ------------------
  |  |  475|      0|#define H5SL_SEARCH(CMP, SLIST, X, TYPE, KEY, HASHVAL) H5SL_LOCATE(SEARCH, CMP, SLIST, X, TYPE, KEY, HASHVAL)
  |  |  ------------------
  |  |  |  |  150|      0|    {                                                                                                        \
  |  |  |  |  151|      0|        H5SL_LOCATE_OPT(OP, CMP, SLIST, X, TYPE, KEY, HASHVAL)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  127|      0|    {                                                                                                        \
  |  |  |  |  |  |  128|      0|        int      _i;     /* Local index variable */                                                          \
  |  |  |  |  |  |  129|      0|        unsigned _count; /* Num nodes searched at this height */                                             \
  |  |  |  |  |  |  130|      0|                                                                                                             \
  |  |  |  |  |  |  131|      0|        H5_GLUE3(H5SL_LOCATE_, CMP, _HASHINIT)                                                               \
  |  |  |  |  |  |  132|      0|        (KEY, HASHVAL) for (_i = (int)SLIST->curr_level; _i >= 0; _i--)                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (132:58): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  133|      0|        {                                                                                                    \
  |  |  |  |  |  |  134|      0|            _count = 0;                                                                                      \
  |  |  |  |  |  |  135|      0|            while (_count < 3 && X->forward[_i] &&                                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (135:20): [True: 0, False: 0]
  |  |  |  |  |  |  |  Branch (135:34): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  136|      0|                   H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, X->forward[_i], KEY, HASHVAL)) {           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  137|      0|                X = X->forward[_i];                                                                          \
  |  |  |  |  |  |  138|      0|                _count++;                                                                                    \
  |  |  |  |  |  |  139|      0|            }                                                                                                \
  |  |  |  |  |  |  140|      0|        }                                                                                                    \
  |  |  |  |  |  |  141|      0|        X = X->forward[0];                                                                                   \
  |  |  |  |  |  |  142|      0|        if (X != NULL && H5_GLUE3(H5SL_LOCATE_, CMP, _EQ)(SLIST, TYPE, X, KEY, HASHVAL)) {                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (142:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  143|      0|            /* What to do when a node is found */                                                            \
  |  |  |  |  |  |  144|      0|            H5_GLUE3(H5SL_LOCATE_, OP, _FOUND)(SLIST, X, _i)                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  145|      0|        }                                                                                                    \
  |  |  |  |  |  |  146|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  152|      0|    }
  |  |  ------------------
  ------------------
 1351|      0|            break;
 1352|       |
 1353|      0|        case H5SL_TYPE_GENERIC:
  ------------------
  |  Branch (1353:9): [True: 0, False: 6.61k]
  ------------------
 1354|      0|            H5SL_SEARCH(GENERIC, slist, x, const void, key, -)
  ------------------
  |  |  475|      0|#define H5SL_SEARCH(CMP, SLIST, X, TYPE, KEY, HASHVAL) H5SL_LOCATE(SEARCH, CMP, SLIST, X, TYPE, KEY, HASHVAL)
  |  |  ------------------
  |  |  |  |  150|      0|    {                                                                                                        \
  |  |  |  |  151|      0|        H5SL_LOCATE_OPT(OP, CMP, SLIST, X, TYPE, KEY, HASHVAL)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  127|      0|    {                                                                                                        \
  |  |  |  |  |  |  128|      0|        int      _i;     /* Local index variable */                                                          \
  |  |  |  |  |  |  129|      0|        unsigned _count; /* Num nodes searched at this height */                                             \
  |  |  |  |  |  |  130|      0|                                                                                                             \
  |  |  |  |  |  |  131|      0|        H5_GLUE3(H5SL_LOCATE_, CMP, _HASHINIT)                                                               \
  |  |  |  |  |  |  132|      0|        (KEY, HASHVAL) for (_i = (int)SLIST->curr_level; _i >= 0; _i--)                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (132:58): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  133|      0|        {                                                                                                    \
  |  |  |  |  |  |  134|      0|            _count = 0;                                                                                      \
  |  |  |  |  |  |  135|      0|            while (_count < 3 && X->forward[_i] &&                                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (135:20): [True: 0, False: 0]
  |  |  |  |  |  |  |  Branch (135:34): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  136|      0|                   H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, X->forward[_i], KEY, HASHVAL)) {           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  137|      0|                X = X->forward[_i];                                                                          \
  |  |  |  |  |  |  138|      0|                _count++;                                                                                    \
  |  |  |  |  |  |  139|      0|            }                                                                                                \
  |  |  |  |  |  |  140|      0|        }                                                                                                    \
  |  |  |  |  |  |  141|      0|        X = X->forward[0];                                                                                   \
  |  |  |  |  |  |  142|      0|        if (X != NULL && H5_GLUE3(H5SL_LOCATE_, CMP, _EQ)(SLIST, TYPE, X, KEY, HASHVAL)) {                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (142:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  143|      0|            /* What to do when a node is found */                                                            \
  |  |  |  |  |  |  144|      0|            H5_GLUE3(H5SL_LOCATE_, OP, _FOUND)(SLIST, X, _i)                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  145|      0|        }                                                                                                    \
  |  |  |  |  |  |  146|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  152|      0|    }
  |  |  ------------------
  ------------------
 1355|      0|            break;
 1356|       |
 1357|      0|        default:
  ------------------
  |  Branch (1357:9): [True: 0, False: 6.61k]
  ------------------
 1358|      0|            assert(0 && "Unknown skiplist type!");
 1359|  6.61k|    }
 1360|       |
 1361|       |    /* 'key' must not have been found in list, if we get here */
 1362|  4.64k|    ret_value = NULL;
 1363|       |
 1364|  6.61k|done:
 1365|  6.61k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  6.61k|    ;                                                                                                        \
  |  | 1573|  6.61k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  6.61k|    return (ret_value);                                                                                      \
  |  | 1575|  6.61k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1366|  4.64k|} /* end H5SL_search() */
H5SL_first:
 1882|    914|{
 1883|    914|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|    914|    {                                                                                                        \
  |  | 1425|    914|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    914|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|    914|        {
  ------------------
 1884|       |
 1885|       |    /* Check args */
 1886|    914|    assert(slist);
 1887|       |
 1888|       |    /* Check internal consistency */
 1889|       |    /* (Pre-condition) */
 1890|       |
 1891|    914|    FUNC_LEAVE_NOAPI(slist->header->forward[0])
  ------------------
  |  | 1572|    914|    ;                                                                                                        \
  |  | 1573|    914|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    914|    return (ret_value);                                                                                      \
  |  | 1575|    914|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1892|    914|} /* end H5SL_first() */
H5SL_next:
 1915|  4.81k|{
 1916|  4.81k|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|  4.81k|    {                                                                                                        \
  |  | 1425|  4.81k|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|  4.81k|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|  4.81k|        {
  ------------------
 1917|       |
 1918|       |    /* Check args */
 1919|  4.81k|    assert(slist_node);
 1920|       |
 1921|       |    /* Check internal consistency */
 1922|       |    /* (Pre-condition) */
 1923|       |
 1924|  4.81k|    FUNC_LEAVE_NOAPI(slist_node->forward[0])
  ------------------
  |  | 1572|  4.81k|    ;                                                                                                        \
  |  | 1573|  4.81k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  4.81k|    return (ret_value);                                                                                      \
  |  | 1575|  4.81k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1925|  4.81k|} /* end H5SL_next() */
H5SL_item:
 2015|  4.81k|{
 2016|  4.81k|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|  4.81k|    {                                                                                                        \
  |  | 1425|  4.81k|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|  4.81k|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|  4.81k|        {
  ------------------
 2017|       |
 2018|       |    /* Check args */
 2019|  4.81k|    assert(slist_node);
 2020|       |
 2021|       |    /* Check internal consistency */
 2022|       |    /* (Pre-condition) */
 2023|       |
 2024|  4.81k|    FUNC_LEAVE_NOAPI(slist_node->item)
  ------------------
  |  | 1572|  4.81k|    ;                                                                                                        \
  |  | 1573|  4.81k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  4.81k|    return (ret_value);                                                                                      \
  |  | 1575|  4.81k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2025|  4.81k|} /* end H5SL_item() */
H5SL_destroy:
 2218|    374|{
 2219|    374|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    374|#define SUCCEED 0
  ------------------
 2220|       |
 2221|    374|    FUNC_ENTER_NOAPI_NOINIT
  ------------------
  |  | 1410|    374|    {                                                                                                        \
  |  | 1411|    374|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    374|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    374|                                                                                                             \
  |  |  |  | 1267|    374|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1412|    374|        {
  ------------------
 2222|       |
 2223|       |    /* Check args */
 2224|    374|    assert(slist);
 2225|       |
 2226|       |    /* Check internal consistency */
 2227|       |    /* (Pre-condition) */
 2228|       |
 2229|       |    /* Close skip list */
 2230|    374|    if (H5SL__close_common(slist, op, op_data) < 0)
  ------------------
  |  Branch (2230:9): [True: 0, False: 374]
  ------------------
 2231|      0|        HGOTO_ERROR(H5E_SLIST, H5E_CANTCLOSEOBJ, FAIL, "can't close skip list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2232|       |
 2233|    374|done:
 2234|    374|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    374|    ;                                                                                                        \
  |  | 1573|    374|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    374|    return (ret_value);                                                                                      \
  |  | 1575|    374|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2235|    374|} /* end H5SL_destroy() */
H5SL_close:
 2258|    382|{
 2259|    382|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    382|#define SUCCEED 0
  ------------------
 2260|       |
 2261|    382|    FUNC_ENTER_NOAPI_NOINIT
  ------------------
  |  | 1410|    382|    {                                                                                                        \
  |  | 1411|    382|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    382|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    382|                                                                                                             \
  |  |  |  | 1267|    382|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1412|    382|        {
  ------------------
 2262|       |
 2263|       |    /* Check args */
 2264|    382|    assert(slist);
 2265|       |
 2266|       |    /* Check internal consistency */
 2267|       |    /* (Pre-condition) */
 2268|       |
 2269|       |    /* Close skip list */
 2270|    382|    if (H5SL__close_common(slist, NULL, NULL) < 0)
  ------------------
  |  Branch (2270:9): [True: 0, False: 382]
  ------------------
 2271|      0|        HGOTO_ERROR(H5E_SLIST, H5E_CANTCLOSEOBJ, FAIL, "can't close skip list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2272|       |
 2273|    382|done:
 2274|    382|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    382|    ;                                                                                                        \
  |  | 1573|    382|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    382|    return (ret_value);                                                                                      \
  |  | 1575|    382|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2275|    382|} /* end H5SL_close() */
H5SL.c:H5SL__new_node:
  627|  5.71k|{
  628|  5.71k|    H5SL_node_t *ret_value = NULL; /* New skip list node */
  629|       |
  630|  5.71k|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|  5.71k|    {                                                                                                        \
  |  | 1461|  5.71k|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|  5.71k|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|  5.71k|                                                                                                             \
  |  |  |  | 1267|  5.71k|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|  5.71k|        {
  ------------------
  631|       |
  632|       |    /* Allocate the node */
  633|  5.71k|    if (NULL == (ret_value = (H5SL_node_t *)H5FL_MALLOC(H5SL_node_t)))
  ------------------
  |  |   75|  5.71k|#define H5FL_MALLOC(t) (t *)H5FL_reg_malloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|  5.71k|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (633:9): [True: 0, False: 5.71k]
  ------------------
  634|      0|        HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  635|       |
  636|       |    /* Initialize node */
  637|  5.71k|    ret_value->key     = key;
  638|  5.71k|    ret_value->item    = item;
  639|  5.71k|    ret_value->level   = 0;
  640|  5.71k|    ret_value->hashval = hashval;
  641|  5.71k|    if (NULL == (ret_value->forward = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[0]))) {
  ------------------
  |  |  329|  5.71k|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  ------------------
  |  Branch (641:9): [True: 0, False: 5.71k]
  ------------------
  642|      0|        ret_value = H5FL_FREE(H5SL_node_t, ret_value);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  643|      0|        HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  644|      0|    }
  645|  5.71k|    ret_value->log_nalloc = 0;
  646|       |
  647|  5.71k|done:
  648|  5.71k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  5.71k|    ;                                                                                                        \
  |  | 1573|  5.71k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  5.71k|    return (ret_value);                                                                                      \
  |  | 1575|  5.71k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  649|  5.71k|} /* end H5SL__new_node() */
H5SL.c:H5SL__insert_common:
  674|  4.95k|{
  675|  4.95k|    H5SL_node_t *x;                /* Current node to examine */
  676|  4.95k|    H5SL_node_t *prev;             /* Node before the new node */
  677|  4.95k|    uint32_t     hashval   = 0;    /* Hash value for key */
  678|  4.95k|    H5SL_node_t *ret_value = NULL; /* Return value */
  679|       |
  680|  4.95k|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|  4.95k|    {                                                                                                        \
  |  | 1461|  4.95k|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|  4.95k|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|  4.95k|                                                                                                             \
  |  |  |  | 1267|  4.95k|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|  4.95k|        {
  ------------------
  681|       |
  682|       |    /* Check args */
  683|  4.95k|    assert(slist);
  684|  4.95k|    assert(key);
  685|       |
  686|       |    /* Check internal consistency */
  687|       |    /* (Pre-condition) */
  688|       |
  689|       |    /* Insert item into skip list */
  690|       |
  691|       |    /* Work through the forward pointers for a node, finding the node at each
  692|       |     * level that is before the location to insert
  693|       |     */
  694|  4.95k|    prev = slist->header;
  695|  4.95k|    switch (slist->type) {
  696|      0|        case H5SL_TYPE_INT:
  ------------------
  |  Branch (696:9): [True: 0, False: 4.95k]
  ------------------
  697|      0|            H5SL_INSERT(SCALAR, slist, prev, const int, key, -)
  ------------------
  |  |  255|      0|    {                                                                                                        \
  |  |  256|      0|        H5SL_node_t *_last = X;    /* Lowest node in the current gap */                                      \
  |  |  257|      0|        H5SL_node_t *_next = NULL; /* Highest node in the current gap */                                     \
  |  |  258|      0|        H5SL_node_t *_drop;        /* Low node of the gap to drop into */                                    \
  |  |  259|      0|        int          _count;       /* Number of nodes in the current gap */                                  \
  |  |  260|      0|        int          _i;                                                                                     \
  |  |  261|      0|                                                                                                             \
  |  |  262|      0|        H5_GLUE3(H5SL_LOCATE_, CMP, _HASHINIT)                                                               \
  |  |  263|      0|        (KEY, HASHVAL) for (_i = (int)SLIST->curr_level; _i >= 0; _i--)                                      \
  |  |  ------------------
  |  |  |  Branch (263:58): [True: 0, False: 0]
  |  |  ------------------
  |  |  264|      0|        {                                                                                                    \
  |  |  265|      0|            /* Search for the node to drop into, also count the number of nodes */                           \
  |  |  266|      0|            /* of height _i in this gap */                                                                   \
  |  |  267|      0|            _drop = NULL;                                                                                    \
  |  |  268|      0|            for (_count = 0;; _count++) {                                                                    \
  |  |  269|      0|                /* Terminate if this is the last node in the gap */                                          \
  |  |  270|      0|                if (X->forward[_i] == _next) {                                                               \
  |  |  ------------------
  |  |  |  Branch (270:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  271|      0|                    if (!_drop)                                                                              \
  |  |  ------------------
  |  |  |  Branch (271:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  272|      0|                        _drop = X;                                                                           \
  |  |  273|      0|                    break;                                                                                   \
  |  |  274|      0|                }                                                                                            \
  |  |  275|      0|                                                                                                             \
  |  |  276|      0|                /* Check if this node is the start of the next gap */                                        \
  |  |  277|      0|                if (!_drop && !H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, X->forward[_i], KEY, HASHVAL)) \
  |  |  ------------------
  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (277:21): [True: 0, False: 0]
  |  |  |  Branch (277:31): [True: 0, False: 0]
  |  |  ------------------
  |  |  278|      0|                    _drop = X;                                                                               \
  |  |  279|      0|                                                                                                             \
  |  |  280|      0|                /* No need to check the last node in the gap if there are 3, as */                           \
  |  |  281|      0|                /* there cannot be a fourth */                                                               \
  |  |  282|      0|                if (_count == 2) {                                                                           \
  |  |  ------------------
  |  |  |  Branch (282:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  283|      0|                    if (!_drop)                                                                              \
  |  |  ------------------
  |  |  |  Branch (283:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  284|      0|                        _drop = X->forward[_i];                                                              \
  |  |  285|      0|                    _count = 3;                                                                              \
  |  |  286|      0|                    break;                                                                                   \
  |  |  287|      0|                }                                                                                            \
  |  |  288|      0|                X = X->forward[_i];                                                                          \
  |  |  289|      0|            }                                                                                                \
  |  |  290|      0|            assert(!_drop->forward[_i] ||                                                                    \
  |  |  291|      0|                   !H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, _drop->forward[_i], KEY, HASHVAL));       \
  |  |  292|      0|                                                                                                             \
  |  |  293|      0|            /* Promote the middle node if necessary */                                                       \
  |  |  294|      0|            if (_count == 3) {                                                                               \
  |  |  ------------------
  |  |  |  Branch (294:17): [True: 0, False: 0]
  |  |  ------------------
  |  |  295|      0|                assert(X == _last->forward[_i]->forward[_i]);                                                \
  |  |  296|      0|                H5SL_PROMOTE(SLIST, X, _last, NULL);                                                         \
  |  |  ------------------
  |  |  |  |  221|      0|    do {                                                                                                     \
  |  |  |  |  222|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  223|      0|                                                                                                             \
  |  |  |  |  224|      0|        H5SL_GROW(X, _lvl, ERR);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  225|      0|                                                                                                             \
  |  |  |  |  226|      0|        if (_lvl == (size_t)SLIST->curr_level) {                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (226:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  227|      0|            assert(PREV == SLIST->header);                                                                   \
  |  |  |  |  228|      0|            /* Grow the head */                                                                              \
  |  |  |  |  229|      0|            H5SL_GROW(PREV, _lvl, ERR)                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  230|      0|            SLIST->curr_level++;                                                                             \
  |  |  |  |  231|      0|            X->forward[_lvl + 1] = NULL;                                                                     \
  |  |  |  |  232|      0|        }                                                                                                    \
  |  |  |  |  233|      0|        else {                                                                                               \
  |  |  |  |  234|      0|            assert(_lvl < (size_t)SLIST->curr_level);                                                        \
  |  |  |  |  235|      0|            X->forward[_lvl + 1] = PREV->forward[_lvl + 1];                                                  \
  |  |  |  |  236|      0|        }                                                                                                    \
  |  |  |  |  237|      0|        PREV->forward[_lvl + 1] = X;                                                                         \
  |  |  |  |  238|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (238:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  297|      0|            }                                                                                                \
  |  |  298|      0|                                                                                                             \
  |  |  299|      0|            /* Prepare to drop down */                                                                       \
  |  |  300|      0|            X = _last = _drop;                                                                               \
  |  |  301|      0|            _next     = _drop->forward[_i];                                                                  \
  |  |  302|      0|        }                                                                                                    \
  |  |  303|      0|                                                                                                             \
  |  |  304|      0|        if (_next && H5_GLUE3(H5SL_LOCATE_, CMP, _EQ)(SLIST, TYPE, _next, KEY, HASHVAL))                     \
  |  |  ------------------
  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (304:13): [True: 0, False: 0]
  |  |  ------------------
  |  |  305|      0|            HGOTO_ERROR(H5E_SLIST, H5E_CANTINSERT, NULL, "can't insert duplicate key");                      \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  306|      0|    }
  ------------------
  698|      0|            break;
  699|       |
  700|    286|        case H5SL_TYPE_HADDR:
  ------------------
  |  Branch (700:9): [True: 286, False: 4.66k]
  ------------------
  701|    286|            H5SL_INSERT(SCALAR, slist, prev, const haddr_t, key, -)
  ------------------
  |  |  255|    286|    {                                                                                                        \
  |  |  256|    286|        H5SL_node_t *_last = X;    /* Lowest node in the current gap */                                      \
  |  |  257|    286|        H5SL_node_t *_next = NULL; /* Highest node in the current gap */                                     \
  |  |  258|    286|        H5SL_node_t *_drop;        /* Low node of the gap to drop into */                                    \
  |  |  259|    286|        int          _count;       /* Number of nodes in the current gap */                                  \
  |  |  260|    286|        int          _i;                                                                                     \
  |  |  261|    286|                                                                                                             \
  |  |  262|    286|        H5_GLUE3(H5SL_LOCATE_, CMP, _HASHINIT)                                                               \
  |  |  263|    564|        (KEY, HASHVAL) for (_i = (int)SLIST->curr_level; _i >= 0; _i--)                                      \
  |  |  ------------------
  |  |  |  Branch (263:58): [True: 278, False: 286]
  |  |  ------------------
  |  |  264|    286|        {                                                                                                    \
  |  |  265|    278|            /* Search for the node to drop into, also count the number of nodes */                           \
  |  |  266|    278|            /* of height _i in this gap */                                                                   \
  |  |  267|    278|            _drop = NULL;                                                                                    \
  |  |  268|    428|            for (_count = 0;; _count++) {                                                                    \
  |  |  269|    428|                /* Terminate if this is the last node in the gap */                                          \
  |  |  270|    428|                if (X->forward[_i] == _next) {                                                               \
  |  |  ------------------
  |  |  |  Branch (270:21): [True: 272, False: 156]
  |  |  ------------------
  |  |  271|    272|                    if (!_drop)                                                                              \
  |  |  ------------------
  |  |  |  Branch (271:25): [True: 272, False: 0]
  |  |  ------------------
  |  |  272|    272|                        _drop = X;                                                                           \
  |  |  273|    272|                    break;                                                                                   \
  |  |  274|    272|                }                                                                                            \
  |  |  275|    428|                                                                                                             \
  |  |  276|    428|                /* Check if this node is the start of the next gap */                                        \
  |  |  277|    428|                if (!_drop && !H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, X->forward[_i], KEY, HASHVAL)) \
  |  |  ------------------
  |  |  |  |  894|    156|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (277:21): [True: 156, False: 0]
  |  |  |  Branch (277:31): [True: 0, False: 156]
  |  |  ------------------
  |  |  278|    156|                    _drop = X;                                                                               \
  |  |  279|    156|                                                                                                             \
  |  |  280|    156|                /* No need to check the last node in the gap if there are 3, as */                           \
  |  |  281|    156|                /* there cannot be a fourth */                                                               \
  |  |  282|    156|                if (_count == 2) {                                                                           \
  |  |  ------------------
  |  |  |  Branch (282:21): [True: 6, False: 150]
  |  |  ------------------
  |  |  283|      6|                    if (!_drop)                                                                              \
  |  |  ------------------
  |  |  |  Branch (283:25): [True: 6, False: 0]
  |  |  ------------------
  |  |  284|      6|                        _drop = X->forward[_i];                                                              \
  |  |  285|      6|                    _count = 3;                                                                              \
  |  |  286|      6|                    break;                                                                                   \
  |  |  287|      6|                }                                                                                            \
  |  |  288|    156|                X = X->forward[_i];                                                                          \
  |  |  289|    150|            }                                                                                                \
  |  |  290|    278|            assert(!_drop->forward[_i] ||                                                                    \
  |  |  291|    278|                   !H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, _drop->forward[_i], KEY, HASHVAL));       \
  |  |  292|    278|                                                                                                             \
  |  |  293|    278|            /* Promote the middle node if necessary */                                                       \
  |  |  294|    278|            if (_count == 3) {                                                                               \
  |  |  ------------------
  |  |  |  Branch (294:17): [True: 6, False: 272]
  |  |  ------------------
  |  |  295|      6|                assert(X == _last->forward[_i]->forward[_i]);                                                \
  |  |  296|      6|                H5SL_PROMOTE(SLIST, X, _last, NULL);                                                         \
  |  |  ------------------
  |  |  |  |  221|      6|    do {                                                                                                     \
  |  |  |  |  222|      6|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  223|      6|                                                                                                             \
  |  |  |  |  224|      6|        H5SL_GROW(X, _lvl, ERR);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      6|    {                                                                                                        \
  |  |  |  |  |  |  158|      6|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      6|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 6, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      6|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      6|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      6|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      6|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      6|                                                                                                             \
  |  |  |  |  |  |  165|      6|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      6|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 6]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      6|                                                                                                             \
  |  |  |  |  |  |  185|      6|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      6|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      6|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 6]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      6|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      6|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      6|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      6|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      6|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      6|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      6|        }                                                                                                    \
  |  |  |  |  |  |  192|      6|                                                                                                             \
  |  |  |  |  |  |  193|      6|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      6|    }
  |  |  |  |  ------------------
  |  |  |  |  225|      6|                                                                                                             \
  |  |  |  |  226|      6|        if (_lvl == (size_t)SLIST->curr_level) {                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (226:13): [True: 6, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  227|      6|            assert(PREV == SLIST->header);                                                                   \
  |  |  |  |  228|      6|            /* Grow the head */                                                                              \
  |  |  |  |  229|      6|            H5SL_GROW(PREV, _lvl, ERR)                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      6|    {                                                                                                        \
  |  |  |  |  |  |  158|      6|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      6|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 6, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      6|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      6|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      6|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      6|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      6|                                                                                                             \
  |  |  |  |  |  |  165|      6|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      6|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 6]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      6|                                                                                                             \
  |  |  |  |  |  |  185|      6|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      6|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      6|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 6]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      6|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      6|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      6|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      6|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      6|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      6|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      6|        }                                                                                                    \
  |  |  |  |  |  |  192|      6|                                                                                                             \
  |  |  |  |  |  |  193|      6|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      6|    }
  |  |  |  |  ------------------
  |  |  |  |  230|      6|            SLIST->curr_level++;                                                                             \
  |  |  |  |  231|      6|            X->forward[_lvl + 1] = NULL;                                                                     \
  |  |  |  |  232|      6|        }                                                                                                    \
  |  |  |  |  233|      6|        else {                                                                                               \
  |  |  |  |  234|      0|            assert(_lvl < (size_t)SLIST->curr_level);                                                        \
  |  |  |  |  235|      0|            X->forward[_lvl + 1] = PREV->forward[_lvl + 1];                                                  \
  |  |  |  |  236|      0|        }                                                                                                    \
  |  |  |  |  237|      6|        PREV->forward[_lvl + 1] = X;                                                                         \
  |  |  |  |  238|      6|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (238:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  297|      6|            }                                                                                                \
  |  |  298|    278|                                                                                                             \
  |  |  299|    278|            /* Prepare to drop down */                                                                       \
  |  |  300|    278|            X = _last = _drop;                                                                               \
  |  |  301|    278|            _next     = _drop->forward[_i];                                                                  \
  |  |  302|    278|        }                                                                                                    \
  |  |  303|    286|                                                                                                             \
  |  |  304|    286|        if (_next && H5_GLUE3(H5SL_LOCATE_, CMP, _EQ)(SLIST, TYPE, _next, KEY, HASHVAL))                     \
  |  |  ------------------
  |  |  |  |  894|    286|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (304:13): [True: 0, False: 286]
  |  |  ------------------
  |  |  305|    286|            HGOTO_ERROR(H5E_SLIST, H5E_CANTINSERT, NULL, "can't insert duplicate key");                      \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  306|    286|    }
  ------------------
  702|    286|            break;
  703|       |
  704|  4.66k|        case H5SL_TYPE_STR:
  ------------------
  |  Branch (704:9): [True: 4.66k, False: 286]
  ------------------
  705|  4.66k|            H5SL_INSERT(STRING, slist, prev, char *, key, hashval)
  ------------------
  |  |  255|  4.66k|    {                                                                                                        \
  |  |  256|  4.66k|        H5SL_node_t *_last = X;    /* Lowest node in the current gap */                                      \
  |  |  257|  4.66k|        H5SL_node_t *_next = NULL; /* Highest node in the current gap */                                     \
  |  |  258|  4.66k|        H5SL_node_t *_drop;        /* Low node of the gap to drop into */                                    \
  |  |  259|  4.66k|        int          _count;       /* Number of nodes in the current gap */                                  \
  |  |  260|  4.66k|        int          _i;                                                                                     \
  |  |  261|  4.66k|                                                                                                             \
  |  |  262|  4.66k|        H5_GLUE3(H5SL_LOCATE_, CMP, _HASHINIT)                                                               \
  |  |  ------------------
  |  |  |  |  894|  4.66k|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  263|  12.3k|        (KEY, HASHVAL) for (_i = (int)SLIST->curr_level; _i >= 0; _i--)                                      \
  |  |  ------------------
  |  |  |  Branch (263:58): [True: 7.69k, False: 4.66k]
  |  |  ------------------
  |  |  264|  7.69k|        {                                                                                                    \
  |  |  265|  7.69k|            /* Search for the node to drop into, also count the number of nodes */                           \
  |  |  266|  7.69k|            /* of height _i in this gap */                                                                   \
  |  |  267|  7.69k|            _drop = NULL;                                                                                    \
  |  |  268|  20.1k|            for (_count = 0;; _count++) {                                                                    \
  |  |  269|  20.1k|                /* Terminate if this is the last node in the gap */                                          \
  |  |  270|  20.1k|                if (X->forward[_i] == _next) {                                                               \
  |  |  ------------------
  |  |  |  Branch (270:21): [True: 5.80k, False: 14.3k]
  |  |  ------------------
  |  |  271|  5.80k|                    if (!_drop)                                                                              \
  |  |  ------------------
  |  |  |  Branch (271:25): [True: 4.23k, False: 1.56k]
  |  |  ------------------
  |  |  272|  5.80k|                        _drop = X;                                                                           \
  |  |  273|  5.80k|                    break;                                                                                   \
  |  |  274|  5.80k|                }                                                                                            \
  |  |  275|  20.1k|                                                                                                             \
  |  |  276|  20.1k|                /* Check if this node is the start of the next gap */                                        \
  |  |  277|  20.1k|                if (!_drop && !H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, X->forward[_i], KEY, HASHVAL)) \
  |  |  ------------------
  |  |  |  |  894|  13.7k|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (277:21): [True: 13.7k, False: 641]
  |  |  |  Branch (277:31): [True: 2.12k, False: 11.5k]
  |  |  ------------------
  |  |  278|  14.3k|                    _drop = X;                                                                               \
  |  |  279|  14.3k|                                                                                                             \
  |  |  280|  14.3k|                /* No need to check the last node in the gap if there are 3, as */                           \
  |  |  281|  14.3k|                /* there cannot be a fourth */                                                               \
  |  |  282|  14.3k|                if (_count == 2) {                                                                           \
  |  |  ------------------
  |  |  |  Branch (282:21): [True: 1.89k, False: 12.4k]
  |  |  ------------------
  |  |  283|  1.89k|                    if (!_drop)                                                                              \
  |  |  ------------------
  |  |  |  Branch (283:25): [True: 1.32k, False: 568]
  |  |  ------------------
  |  |  284|  1.89k|                        _drop = X->forward[_i];                                                              \
  |  |  285|  1.89k|                    _count = 3;                                                                              \
  |  |  286|  1.89k|                    break;                                                                                   \
  |  |  287|  1.89k|                }                                                                                            \
  |  |  288|  14.3k|                X = X->forward[_i];                                                                          \
  |  |  289|  12.4k|            }                                                                                                \
  |  |  290|  7.69k|            assert(!_drop->forward[_i] ||                                                                    \
  |  |  291|  7.69k|                   !H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, _drop->forward[_i], KEY, HASHVAL));       \
  |  |  292|  7.69k|                                                                                                             \
  |  |  293|  7.69k|            /* Promote the middle node if necessary */                                                       \
  |  |  294|  7.69k|            if (_count == 3) {                                                                               \
  |  |  ------------------
  |  |  |  Branch (294:17): [True: 1.89k, False: 5.80k]
  |  |  ------------------
  |  |  295|  1.89k|                assert(X == _last->forward[_i]->forward[_i]);                                                \
  |  |  296|  1.89k|                H5SL_PROMOTE(SLIST, X, _last, NULL);                                                         \
  |  |  ------------------
  |  |  |  |  221|  1.89k|    do {                                                                                                     \
  |  |  |  |  222|  1.89k|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  223|  1.89k|                                                                                                             \
  |  |  |  |  224|  1.89k|        H5SL_GROW(X, _lvl, ERR);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|  1.89k|    {                                                                                                        \
  |  |  |  |  |  |  158|  1.89k|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|  1.89k|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 1.87k, False: 16]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|  1.87k|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|  1.87k|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|  1.87k|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|  1.87k|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|  1.87k|                                                                                                             \
  |  |  |  |  |  |  165|  1.87k|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|  1.87k|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 3, False: 1.87k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      3|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      3|                                                                                                             \
  |  |  |  |  |  |  169|      3|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      3|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 2, False: 1]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      2|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      2|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      2|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      2|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 2]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      2|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      2|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      2|                }                                                                                            \
  |  |  |  |  |  |  178|      3|                                                                                                             \
  |  |  |  |  |  |  179|      3|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      3|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      3|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      3|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      3|            }                                                                                                \
  |  |  |  |  |  |  184|  1.87k|                                                                                                             \
  |  |  |  |  |  |  185|  1.87k|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|  1.87k|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|  1.87k|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 1.87k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|  1.87k|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|  1.87k|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|  1.87k|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|  1.87k|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|  1.87k|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|  1.87k|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|  1.87k|        }                                                                                                    \
  |  |  |  |  |  |  192|  1.89k|                                                                                                             \
  |  |  |  |  |  |  193|  1.89k|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|  1.89k|    }
  |  |  |  |  ------------------
  |  |  |  |  225|  1.89k|                                                                                                             \
  |  |  |  |  226|  1.89k|        if (_lvl == (size_t)SLIST->curr_level) {                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (226:13): [True: 836, False: 1.05k]
  |  |  |  |  ------------------
  |  |  |  |  227|    836|            assert(PREV == SLIST->header);                                                                   \
  |  |  |  |  228|    836|            /* Grow the head */                                                                              \
  |  |  |  |  229|    836|            H5SL_GROW(PREV, _lvl, ERR)                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|    836|    {                                                                                                        \
  |  |  |  |  |  |  158|    836|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|    836|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 827, False: 9]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|    827|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|    827|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|    827|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|    827|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|    827|                                                                                                             \
  |  |  |  |  |  |  165|    827|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|    827|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 827]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|    827|                                                                                                             \
  |  |  |  |  |  |  185|    827|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|    827|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|    827|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 827]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|    827|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|    827|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|    827|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|    827|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|    827|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|    827|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|    827|        }                                                                                                    \
  |  |  |  |  |  |  192|    836|                                                                                                             \
  |  |  |  |  |  |  193|    836|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|    836|    }
  |  |  |  |  ------------------
  |  |  |  |  230|    836|            SLIST->curr_level++;                                                                             \
  |  |  |  |  231|    836|            X->forward[_lvl + 1] = NULL;                                                                     \
  |  |  |  |  232|    836|        }                                                                                                    \
  |  |  |  |  233|  1.89k|        else {                                                                                               \
  |  |  |  |  234|  1.05k|            assert(_lvl < (size_t)SLIST->curr_level);                                                        \
  |  |  |  |  235|  1.05k|            X->forward[_lvl + 1] = PREV->forward[_lvl + 1];                                                  \
  |  |  |  |  236|  1.05k|        }                                                                                                    \
  |  |  |  |  237|  1.89k|        PREV->forward[_lvl + 1] = X;                                                                         \
  |  |  |  |  238|  1.89k|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (238:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  297|  1.89k|            }                                                                                                \
  |  |  298|  7.69k|                                                                                                             \
  |  |  299|  7.69k|            /* Prepare to drop down */                                                                       \
  |  |  300|  7.69k|            X = _last = _drop;                                                                               \
  |  |  301|  7.69k|            _next     = _drop->forward[_i];                                                                  \
  |  |  302|  7.69k|        }                                                                                                    \
  |  |  303|  4.66k|                                                                                                             \
  |  |  304|  4.66k|        if (_next && H5_GLUE3(H5SL_LOCATE_, CMP, _EQ)(SLIST, TYPE, _next, KEY, HASHVAL))                     \
  |  |  ------------------
  |  |  |  |  894|  4.66k|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (304:13): [True: 1.59k, False: 3.07k]
  |  |  ------------------
  |  |  305|  4.66k|            HGOTO_ERROR(H5E_SLIST, H5E_CANTINSERT, NULL, "can't insert duplicate key");                      \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  306|  4.66k|    }
  ------------------
  706|  4.66k|            break;
  707|       |
  708|  4.66k|        case H5SL_TYPE_HSIZE:
  ------------------
  |  Branch (708:9): [True: 0, False: 4.95k]
  ------------------
  709|      0|            H5SL_INSERT(SCALAR, slist, prev, const hsize_t, key, -)
  ------------------
  |  |  255|      0|    {                                                                                                        \
  |  |  256|      0|        H5SL_node_t *_last = X;    /* Lowest node in the current gap */                                      \
  |  |  257|      0|        H5SL_node_t *_next = NULL; /* Highest node in the current gap */                                     \
  |  |  258|      0|        H5SL_node_t *_drop;        /* Low node of the gap to drop into */                                    \
  |  |  259|      0|        int          _count;       /* Number of nodes in the current gap */                                  \
  |  |  260|      0|        int          _i;                                                                                     \
  |  |  261|      0|                                                                                                             \
  |  |  262|      0|        H5_GLUE3(H5SL_LOCATE_, CMP, _HASHINIT)                                                               \
  |  |  263|      0|        (KEY, HASHVAL) for (_i = (int)SLIST->curr_level; _i >= 0; _i--)                                      \
  |  |  ------------------
  |  |  |  Branch (263:58): [True: 0, False: 0]
  |  |  ------------------
  |  |  264|      0|        {                                                                                                    \
  |  |  265|      0|            /* Search for the node to drop into, also count the number of nodes */                           \
  |  |  266|      0|            /* of height _i in this gap */                                                                   \
  |  |  267|      0|            _drop = NULL;                                                                                    \
  |  |  268|      0|            for (_count = 0;; _count++) {                                                                    \
  |  |  269|      0|                /* Terminate if this is the last node in the gap */                                          \
  |  |  270|      0|                if (X->forward[_i] == _next) {                                                               \
  |  |  ------------------
  |  |  |  Branch (270:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  271|      0|                    if (!_drop)                                                                              \
  |  |  ------------------
  |  |  |  Branch (271:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  272|      0|                        _drop = X;                                                                           \
  |  |  273|      0|                    break;                                                                                   \
  |  |  274|      0|                }                                                                                            \
  |  |  275|      0|                                                                                                             \
  |  |  276|      0|                /* Check if this node is the start of the next gap */                                        \
  |  |  277|      0|                if (!_drop && !H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, X->forward[_i], KEY, HASHVAL)) \
  |  |  ------------------
  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (277:21): [True: 0, False: 0]
  |  |  |  Branch (277:31): [True: 0, False: 0]
  |  |  ------------------
  |  |  278|      0|                    _drop = X;                                                                               \
  |  |  279|      0|                                                                                                             \
  |  |  280|      0|                /* No need to check the last node in the gap if there are 3, as */                           \
  |  |  281|      0|                /* there cannot be a fourth */                                                               \
  |  |  282|      0|                if (_count == 2) {                                                                           \
  |  |  ------------------
  |  |  |  Branch (282:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  283|      0|                    if (!_drop)                                                                              \
  |  |  ------------------
  |  |  |  Branch (283:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  284|      0|                        _drop = X->forward[_i];                                                              \
  |  |  285|      0|                    _count = 3;                                                                              \
  |  |  286|      0|                    break;                                                                                   \
  |  |  287|      0|                }                                                                                            \
  |  |  288|      0|                X = X->forward[_i];                                                                          \
  |  |  289|      0|            }                                                                                                \
  |  |  290|      0|            assert(!_drop->forward[_i] ||                                                                    \
  |  |  291|      0|                   !H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, _drop->forward[_i], KEY, HASHVAL));       \
  |  |  292|      0|                                                                                                             \
  |  |  293|      0|            /* Promote the middle node if necessary */                                                       \
  |  |  294|      0|            if (_count == 3) {                                                                               \
  |  |  ------------------
  |  |  |  Branch (294:17): [True: 0, False: 0]
  |  |  ------------------
  |  |  295|      0|                assert(X == _last->forward[_i]->forward[_i]);                                                \
  |  |  296|      0|                H5SL_PROMOTE(SLIST, X, _last, NULL);                                                         \
  |  |  ------------------
  |  |  |  |  221|      0|    do {                                                                                                     \
  |  |  |  |  222|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  223|      0|                                                                                                             \
  |  |  |  |  224|      0|        H5SL_GROW(X, _lvl, ERR);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  225|      0|                                                                                                             \
  |  |  |  |  226|      0|        if (_lvl == (size_t)SLIST->curr_level) {                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (226:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  227|      0|            assert(PREV == SLIST->header);                                                                   \
  |  |  |  |  228|      0|            /* Grow the head */                                                                              \
  |  |  |  |  229|      0|            H5SL_GROW(PREV, _lvl, ERR)                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  230|      0|            SLIST->curr_level++;                                                                             \
  |  |  |  |  231|      0|            X->forward[_lvl + 1] = NULL;                                                                     \
  |  |  |  |  232|      0|        }                                                                                                    \
  |  |  |  |  233|      0|        else {                                                                                               \
  |  |  |  |  234|      0|            assert(_lvl < (size_t)SLIST->curr_level);                                                        \
  |  |  |  |  235|      0|            X->forward[_lvl + 1] = PREV->forward[_lvl + 1];                                                  \
  |  |  |  |  236|      0|        }                                                                                                    \
  |  |  |  |  237|      0|        PREV->forward[_lvl + 1] = X;                                                                         \
  |  |  |  |  238|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (238:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  297|      0|            }                                                                                                \
  |  |  298|      0|                                                                                                             \
  |  |  299|      0|            /* Prepare to drop down */                                                                       \
  |  |  300|      0|            X = _last = _drop;                                                                               \
  |  |  301|      0|            _next     = _drop->forward[_i];                                                                  \
  |  |  302|      0|        }                                                                                                    \
  |  |  303|      0|                                                                                                             \
  |  |  304|      0|        if (_next && H5_GLUE3(H5SL_LOCATE_, CMP, _EQ)(SLIST, TYPE, _next, KEY, HASHVAL))                     \
  |  |  ------------------
  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (304:13): [True: 0, False: 0]
  |  |  ------------------
  |  |  305|      0|            HGOTO_ERROR(H5E_SLIST, H5E_CANTINSERT, NULL, "can't insert duplicate key");                      \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  306|      0|    }
  ------------------
  710|      0|            break;
  711|       |
  712|      0|        case H5SL_TYPE_UNSIGNED:
  ------------------
  |  Branch (712:9): [True: 0, False: 4.95k]
  ------------------
  713|      0|            H5SL_INSERT(SCALAR, slist, prev, const unsigned, key, -)
  ------------------
  |  |  255|      0|    {                                                                                                        \
  |  |  256|      0|        H5SL_node_t *_last = X;    /* Lowest node in the current gap */                                      \
  |  |  257|      0|        H5SL_node_t *_next = NULL; /* Highest node in the current gap */                                     \
  |  |  258|      0|        H5SL_node_t *_drop;        /* Low node of the gap to drop into */                                    \
  |  |  259|      0|        int          _count;       /* Number of nodes in the current gap */                                  \
  |  |  260|      0|        int          _i;                                                                                     \
  |  |  261|      0|                                                                                                             \
  |  |  262|      0|        H5_GLUE3(H5SL_LOCATE_, CMP, _HASHINIT)                                                               \
  |  |  263|      0|        (KEY, HASHVAL) for (_i = (int)SLIST->curr_level; _i >= 0; _i--)                                      \
  |  |  ------------------
  |  |  |  Branch (263:58): [True: 0, False: 0]
  |  |  ------------------
  |  |  264|      0|        {                                                                                                    \
  |  |  265|      0|            /* Search for the node to drop into, also count the number of nodes */                           \
  |  |  266|      0|            /* of height _i in this gap */                                                                   \
  |  |  267|      0|            _drop = NULL;                                                                                    \
  |  |  268|      0|            for (_count = 0;; _count++) {                                                                    \
  |  |  269|      0|                /* Terminate if this is the last node in the gap */                                          \
  |  |  270|      0|                if (X->forward[_i] == _next) {                                                               \
  |  |  ------------------
  |  |  |  Branch (270:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  271|      0|                    if (!_drop)                                                                              \
  |  |  ------------------
  |  |  |  Branch (271:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  272|      0|                        _drop = X;                                                                           \
  |  |  273|      0|                    break;                                                                                   \
  |  |  274|      0|                }                                                                                            \
  |  |  275|      0|                                                                                                             \
  |  |  276|      0|                /* Check if this node is the start of the next gap */                                        \
  |  |  277|      0|                if (!_drop && !H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, X->forward[_i], KEY, HASHVAL)) \
  |  |  ------------------
  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (277:21): [True: 0, False: 0]
  |  |  |  Branch (277:31): [True: 0, False: 0]
  |  |  ------------------
  |  |  278|      0|                    _drop = X;                                                                               \
  |  |  279|      0|                                                                                                             \
  |  |  280|      0|                /* No need to check the last node in the gap if there are 3, as */                           \
  |  |  281|      0|                /* there cannot be a fourth */                                                               \
  |  |  282|      0|                if (_count == 2) {                                                                           \
  |  |  ------------------
  |  |  |  Branch (282:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  283|      0|                    if (!_drop)                                                                              \
  |  |  ------------------
  |  |  |  Branch (283:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  284|      0|                        _drop = X->forward[_i];                                                              \
  |  |  285|      0|                    _count = 3;                                                                              \
  |  |  286|      0|                    break;                                                                                   \
  |  |  287|      0|                }                                                                                            \
  |  |  288|      0|                X = X->forward[_i];                                                                          \
  |  |  289|      0|            }                                                                                                \
  |  |  290|      0|            assert(!_drop->forward[_i] ||                                                                    \
  |  |  291|      0|                   !H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, _drop->forward[_i], KEY, HASHVAL));       \
  |  |  292|      0|                                                                                                             \
  |  |  293|      0|            /* Promote the middle node if necessary */                                                       \
  |  |  294|      0|            if (_count == 3) {                                                                               \
  |  |  ------------------
  |  |  |  Branch (294:17): [True: 0, False: 0]
  |  |  ------------------
  |  |  295|      0|                assert(X == _last->forward[_i]->forward[_i]);                                                \
  |  |  296|      0|                H5SL_PROMOTE(SLIST, X, _last, NULL);                                                         \
  |  |  ------------------
  |  |  |  |  221|      0|    do {                                                                                                     \
  |  |  |  |  222|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  223|      0|                                                                                                             \
  |  |  |  |  224|      0|        H5SL_GROW(X, _lvl, ERR);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  225|      0|                                                                                                             \
  |  |  |  |  226|      0|        if (_lvl == (size_t)SLIST->curr_level) {                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (226:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  227|      0|            assert(PREV == SLIST->header);                                                                   \
  |  |  |  |  228|      0|            /* Grow the head */                                                                              \
  |  |  |  |  229|      0|            H5SL_GROW(PREV, _lvl, ERR)                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  230|      0|            SLIST->curr_level++;                                                                             \
  |  |  |  |  231|      0|            X->forward[_lvl + 1] = NULL;                                                                     \
  |  |  |  |  232|      0|        }                                                                                                    \
  |  |  |  |  233|      0|        else {                                                                                               \
  |  |  |  |  234|      0|            assert(_lvl < (size_t)SLIST->curr_level);                                                        \
  |  |  |  |  235|      0|            X->forward[_lvl + 1] = PREV->forward[_lvl + 1];                                                  \
  |  |  |  |  236|      0|        }                                                                                                    \
  |  |  |  |  237|      0|        PREV->forward[_lvl + 1] = X;                                                                         \
  |  |  |  |  238|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (238:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  297|      0|            }                                                                                                \
  |  |  298|      0|                                                                                                             \
  |  |  299|      0|            /* Prepare to drop down */                                                                       \
  |  |  300|      0|            X = _last = _drop;                                                                               \
  |  |  301|      0|            _next     = _drop->forward[_i];                                                                  \
  |  |  302|      0|        }                                                                                                    \
  |  |  303|      0|                                                                                                             \
  |  |  304|      0|        if (_next && H5_GLUE3(H5SL_LOCATE_, CMP, _EQ)(SLIST, TYPE, _next, KEY, HASHVAL))                     \
  |  |  ------------------
  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (304:13): [True: 0, False: 0]
  |  |  ------------------
  |  |  305|      0|            HGOTO_ERROR(H5E_SLIST, H5E_CANTINSERT, NULL, "can't insert duplicate key");                      \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  306|      0|    }
  ------------------
  714|      0|            break;
  715|       |
  716|      0|        case H5SL_TYPE_SIZE:
  ------------------
  |  Branch (716:9): [True: 0, False: 4.95k]
  ------------------
  717|      0|            H5SL_INSERT(SCALAR, slist, prev, const size_t, key, -)
  ------------------
  |  |  255|      0|    {                                                                                                        \
  |  |  256|      0|        H5SL_node_t *_last = X;    /* Lowest node in the current gap */                                      \
  |  |  257|      0|        H5SL_node_t *_next = NULL; /* Highest node in the current gap */                                     \
  |  |  258|      0|        H5SL_node_t *_drop;        /* Low node of the gap to drop into */                                    \
  |  |  259|      0|        int          _count;       /* Number of nodes in the current gap */                                  \
  |  |  260|      0|        int          _i;                                                                                     \
  |  |  261|      0|                                                                                                             \
  |  |  262|      0|        H5_GLUE3(H5SL_LOCATE_, CMP, _HASHINIT)                                                               \
  |  |  263|      0|        (KEY, HASHVAL) for (_i = (int)SLIST->curr_level; _i >= 0; _i--)                                      \
  |  |  ------------------
  |  |  |  Branch (263:58): [True: 0, False: 0]
  |  |  ------------------
  |  |  264|      0|        {                                                                                                    \
  |  |  265|      0|            /* Search for the node to drop into, also count the number of nodes */                           \
  |  |  266|      0|            /* of height _i in this gap */                                                                   \
  |  |  267|      0|            _drop = NULL;                                                                                    \
  |  |  268|      0|            for (_count = 0;; _count++) {                                                                    \
  |  |  269|      0|                /* Terminate if this is the last node in the gap */                                          \
  |  |  270|      0|                if (X->forward[_i] == _next) {                                                               \
  |  |  ------------------
  |  |  |  Branch (270:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  271|      0|                    if (!_drop)                                                                              \
  |  |  ------------------
  |  |  |  Branch (271:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  272|      0|                        _drop = X;                                                                           \
  |  |  273|      0|                    break;                                                                                   \
  |  |  274|      0|                }                                                                                            \
  |  |  275|      0|                                                                                                             \
  |  |  276|      0|                /* Check if this node is the start of the next gap */                                        \
  |  |  277|      0|                if (!_drop && !H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, X->forward[_i], KEY, HASHVAL)) \
  |  |  ------------------
  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (277:21): [True: 0, False: 0]
  |  |  |  Branch (277:31): [True: 0, False: 0]
  |  |  ------------------
  |  |  278|      0|                    _drop = X;                                                                               \
  |  |  279|      0|                                                                                                             \
  |  |  280|      0|                /* No need to check the last node in the gap if there are 3, as */                           \
  |  |  281|      0|                /* there cannot be a fourth */                                                               \
  |  |  282|      0|                if (_count == 2) {                                                                           \
  |  |  ------------------
  |  |  |  Branch (282:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  283|      0|                    if (!_drop)                                                                              \
  |  |  ------------------
  |  |  |  Branch (283:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  284|      0|                        _drop = X->forward[_i];                                                              \
  |  |  285|      0|                    _count = 3;                                                                              \
  |  |  286|      0|                    break;                                                                                   \
  |  |  287|      0|                }                                                                                            \
  |  |  288|      0|                X = X->forward[_i];                                                                          \
  |  |  289|      0|            }                                                                                                \
  |  |  290|      0|            assert(!_drop->forward[_i] ||                                                                    \
  |  |  291|      0|                   !H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, _drop->forward[_i], KEY, HASHVAL));       \
  |  |  292|      0|                                                                                                             \
  |  |  293|      0|            /* Promote the middle node if necessary */                                                       \
  |  |  294|      0|            if (_count == 3) {                                                                               \
  |  |  ------------------
  |  |  |  Branch (294:17): [True: 0, False: 0]
  |  |  ------------------
  |  |  295|      0|                assert(X == _last->forward[_i]->forward[_i]);                                                \
  |  |  296|      0|                H5SL_PROMOTE(SLIST, X, _last, NULL);                                                         \
  |  |  ------------------
  |  |  |  |  221|      0|    do {                                                                                                     \
  |  |  |  |  222|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  223|      0|                                                                                                             \
  |  |  |  |  224|      0|        H5SL_GROW(X, _lvl, ERR);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  225|      0|                                                                                                             \
  |  |  |  |  226|      0|        if (_lvl == (size_t)SLIST->curr_level) {                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (226:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  227|      0|            assert(PREV == SLIST->header);                                                                   \
  |  |  |  |  228|      0|            /* Grow the head */                                                                              \
  |  |  |  |  229|      0|            H5SL_GROW(PREV, _lvl, ERR)                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  230|      0|            SLIST->curr_level++;                                                                             \
  |  |  |  |  231|      0|            X->forward[_lvl + 1] = NULL;                                                                     \
  |  |  |  |  232|      0|        }                                                                                                    \
  |  |  |  |  233|      0|        else {                                                                                               \
  |  |  |  |  234|      0|            assert(_lvl < (size_t)SLIST->curr_level);                                                        \
  |  |  |  |  235|      0|            X->forward[_lvl + 1] = PREV->forward[_lvl + 1];                                                  \
  |  |  |  |  236|      0|        }                                                                                                    \
  |  |  |  |  237|      0|        PREV->forward[_lvl + 1] = X;                                                                         \
  |  |  |  |  238|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (238:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  297|      0|            }                                                                                                \
  |  |  298|      0|                                                                                                             \
  |  |  299|      0|            /* Prepare to drop down */                                                                       \
  |  |  300|      0|            X = _last = _drop;                                                                               \
  |  |  301|      0|            _next     = _drop->forward[_i];                                                                  \
  |  |  302|      0|        }                                                                                                    \
  |  |  303|      0|                                                                                                             \
  |  |  304|      0|        if (_next && H5_GLUE3(H5SL_LOCATE_, CMP, _EQ)(SLIST, TYPE, _next, KEY, HASHVAL))                     \
  |  |  ------------------
  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (304:13): [True: 0, False: 0]
  |  |  ------------------
  |  |  305|      0|            HGOTO_ERROR(H5E_SLIST, H5E_CANTINSERT, NULL, "can't insert duplicate key");                      \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  306|      0|    }
  ------------------
  718|      0|            break;
  719|       |
  720|      0|        case H5SL_TYPE_OBJ:
  ------------------
  |  Branch (720:9): [True: 0, False: 4.95k]
  ------------------
  721|      0|            H5SL_INSERT(OBJ, slist, prev, const H5_obj_t, key, -)
  ------------------
  |  |  255|      0|    {                                                                                                        \
  |  |  256|      0|        H5SL_node_t *_last = X;    /* Lowest node in the current gap */                                      \
  |  |  257|      0|        H5SL_node_t *_next = NULL; /* Highest node in the current gap */                                     \
  |  |  258|      0|        H5SL_node_t *_drop;        /* Low node of the gap to drop into */                                    \
  |  |  259|      0|        int          _count;       /* Number of nodes in the current gap */                                  \
  |  |  260|      0|        int          _i;                                                                                     \
  |  |  261|      0|                                                                                                             \
  |  |  262|      0|        H5_GLUE3(H5SL_LOCATE_, CMP, _HASHINIT)                                                               \
  |  |  263|      0|        (KEY, HASHVAL) for (_i = (int)SLIST->curr_level; _i >= 0; _i--)                                      \
  |  |  ------------------
  |  |  |  Branch (263:58): [True: 0, False: 0]
  |  |  ------------------
  |  |  264|      0|        {                                                                                                    \
  |  |  265|      0|            /* Search for the node to drop into, also count the number of nodes */                           \
  |  |  266|      0|            /* of height _i in this gap */                                                                   \
  |  |  267|      0|            _drop = NULL;                                                                                    \
  |  |  268|      0|            for (_count = 0;; _count++) {                                                                    \
  |  |  269|      0|                /* Terminate if this is the last node in the gap */                                          \
  |  |  270|      0|                if (X->forward[_i] == _next) {                                                               \
  |  |  ------------------
  |  |  |  Branch (270:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  271|      0|                    if (!_drop)                                                                              \
  |  |  ------------------
  |  |  |  Branch (271:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  272|      0|                        _drop = X;                                                                           \
  |  |  273|      0|                    break;                                                                                   \
  |  |  274|      0|                }                                                                                            \
  |  |  275|      0|                                                                                                             \
  |  |  276|      0|                /* Check if this node is the start of the next gap */                                        \
  |  |  277|      0|                if (!_drop && !H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, X->forward[_i], KEY, HASHVAL)) \
  |  |  ------------------
  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (277:21): [True: 0, False: 0]
  |  |  |  Branch (277:31): [True: 0, False: 0]
  |  |  ------------------
  |  |  278|      0|                    _drop = X;                                                                               \
  |  |  279|      0|                                                                                                             \
  |  |  280|      0|                /* No need to check the last node in the gap if there are 3, as */                           \
  |  |  281|      0|                /* there cannot be a fourth */                                                               \
  |  |  282|      0|                if (_count == 2) {                                                                           \
  |  |  ------------------
  |  |  |  Branch (282:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  283|      0|                    if (!_drop)                                                                              \
  |  |  ------------------
  |  |  |  Branch (283:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  284|      0|                        _drop = X->forward[_i];                                                              \
  |  |  285|      0|                    _count = 3;                                                                              \
  |  |  286|      0|                    break;                                                                                   \
  |  |  287|      0|                }                                                                                            \
  |  |  288|      0|                X = X->forward[_i];                                                                          \
  |  |  289|      0|            }                                                                                                \
  |  |  290|      0|            assert(!_drop->forward[_i] ||                                                                    \
  |  |  291|      0|                   !H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, _drop->forward[_i], KEY, HASHVAL));       \
  |  |  292|      0|                                                                                                             \
  |  |  293|      0|            /* Promote the middle node if necessary */                                                       \
  |  |  294|      0|            if (_count == 3) {                                                                               \
  |  |  ------------------
  |  |  |  Branch (294:17): [True: 0, False: 0]
  |  |  ------------------
  |  |  295|      0|                assert(X == _last->forward[_i]->forward[_i]);                                                \
  |  |  296|      0|                H5SL_PROMOTE(SLIST, X, _last, NULL);                                                         \
  |  |  ------------------
  |  |  |  |  221|      0|    do {                                                                                                     \
  |  |  |  |  222|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  223|      0|                                                                                                             \
  |  |  |  |  224|      0|        H5SL_GROW(X, _lvl, ERR);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  225|      0|                                                                                                             \
  |  |  |  |  226|      0|        if (_lvl == (size_t)SLIST->curr_level) {                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (226:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  227|      0|            assert(PREV == SLIST->header);                                                                   \
  |  |  |  |  228|      0|            /* Grow the head */                                                                              \
  |  |  |  |  229|      0|            H5SL_GROW(PREV, _lvl, ERR)                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  230|      0|            SLIST->curr_level++;                                                                             \
  |  |  |  |  231|      0|            X->forward[_lvl + 1] = NULL;                                                                     \
  |  |  |  |  232|      0|        }                                                                                                    \
  |  |  |  |  233|      0|        else {                                                                                               \
  |  |  |  |  234|      0|            assert(_lvl < (size_t)SLIST->curr_level);                                                        \
  |  |  |  |  235|      0|            X->forward[_lvl + 1] = PREV->forward[_lvl + 1];                                                  \
  |  |  |  |  236|      0|        }                                                                                                    \
  |  |  |  |  237|      0|        PREV->forward[_lvl + 1] = X;                                                                         \
  |  |  |  |  238|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (238:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  297|      0|            }                                                                                                \
  |  |  298|      0|                                                                                                             \
  |  |  299|      0|            /* Prepare to drop down */                                                                       \
  |  |  300|      0|            X = _last = _drop;                                                                               \
  |  |  301|      0|            _next     = _drop->forward[_i];                                                                  \
  |  |  302|      0|        }                                                                                                    \
  |  |  303|      0|                                                                                                             \
  |  |  304|      0|        if (_next && H5_GLUE3(H5SL_LOCATE_, CMP, _EQ)(SLIST, TYPE, _next, KEY, HASHVAL))                     \
  |  |  ------------------
  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (304:13): [True: 0, False: 0]
  |  |  ------------------
  |  |  305|      0|            HGOTO_ERROR(H5E_SLIST, H5E_CANTINSERT, NULL, "can't insert duplicate key");                      \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  306|      0|    }
  ------------------
  722|      0|            break;
  723|       |
  724|      0|        case H5SL_TYPE_HID:
  ------------------
  |  Branch (724:9): [True: 0, False: 4.95k]
  ------------------
  725|      0|            H5SL_INSERT(SCALAR, slist, prev, const hid_t, key, -)
  ------------------
  |  |  255|      0|    {                                                                                                        \
  |  |  256|      0|        H5SL_node_t *_last = X;    /* Lowest node in the current gap */                                      \
  |  |  257|      0|        H5SL_node_t *_next = NULL; /* Highest node in the current gap */                                     \
  |  |  258|      0|        H5SL_node_t *_drop;        /* Low node of the gap to drop into */                                    \
  |  |  259|      0|        int          _count;       /* Number of nodes in the current gap */                                  \
  |  |  260|      0|        int          _i;                                                                                     \
  |  |  261|      0|                                                                                                             \
  |  |  262|      0|        H5_GLUE3(H5SL_LOCATE_, CMP, _HASHINIT)                                                               \
  |  |  263|      0|        (KEY, HASHVAL) for (_i = (int)SLIST->curr_level; _i >= 0; _i--)                                      \
  |  |  ------------------
  |  |  |  Branch (263:58): [True: 0, False: 0]
  |  |  ------------------
  |  |  264|      0|        {                                                                                                    \
  |  |  265|      0|            /* Search for the node to drop into, also count the number of nodes */                           \
  |  |  266|      0|            /* of height _i in this gap */                                                                   \
  |  |  267|      0|            _drop = NULL;                                                                                    \
  |  |  268|      0|            for (_count = 0;; _count++) {                                                                    \
  |  |  269|      0|                /* Terminate if this is the last node in the gap */                                          \
  |  |  270|      0|                if (X->forward[_i] == _next) {                                                               \
  |  |  ------------------
  |  |  |  Branch (270:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  271|      0|                    if (!_drop)                                                                              \
  |  |  ------------------
  |  |  |  Branch (271:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  272|      0|                        _drop = X;                                                                           \
  |  |  273|      0|                    break;                                                                                   \
  |  |  274|      0|                }                                                                                            \
  |  |  275|      0|                                                                                                             \
  |  |  276|      0|                /* Check if this node is the start of the next gap */                                        \
  |  |  277|      0|                if (!_drop && !H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, X->forward[_i], KEY, HASHVAL)) \
  |  |  ------------------
  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (277:21): [True: 0, False: 0]
  |  |  |  Branch (277:31): [True: 0, False: 0]
  |  |  ------------------
  |  |  278|      0|                    _drop = X;                                                                               \
  |  |  279|      0|                                                                                                             \
  |  |  280|      0|                /* No need to check the last node in the gap if there are 3, as */                           \
  |  |  281|      0|                /* there cannot be a fourth */                                                               \
  |  |  282|      0|                if (_count == 2) {                                                                           \
  |  |  ------------------
  |  |  |  Branch (282:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  283|      0|                    if (!_drop)                                                                              \
  |  |  ------------------
  |  |  |  Branch (283:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  284|      0|                        _drop = X->forward[_i];                                                              \
  |  |  285|      0|                    _count = 3;                                                                              \
  |  |  286|      0|                    break;                                                                                   \
  |  |  287|      0|                }                                                                                            \
  |  |  288|      0|                X = X->forward[_i];                                                                          \
  |  |  289|      0|            }                                                                                                \
  |  |  290|      0|            assert(!_drop->forward[_i] ||                                                                    \
  |  |  291|      0|                   !H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, _drop->forward[_i], KEY, HASHVAL));       \
  |  |  292|      0|                                                                                                             \
  |  |  293|      0|            /* Promote the middle node if necessary */                                                       \
  |  |  294|      0|            if (_count == 3) {                                                                               \
  |  |  ------------------
  |  |  |  Branch (294:17): [True: 0, False: 0]
  |  |  ------------------
  |  |  295|      0|                assert(X == _last->forward[_i]->forward[_i]);                                                \
  |  |  296|      0|                H5SL_PROMOTE(SLIST, X, _last, NULL);                                                         \
  |  |  ------------------
  |  |  |  |  221|      0|    do {                                                                                                     \
  |  |  |  |  222|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  223|      0|                                                                                                             \
  |  |  |  |  224|      0|        H5SL_GROW(X, _lvl, ERR);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  225|      0|                                                                                                             \
  |  |  |  |  226|      0|        if (_lvl == (size_t)SLIST->curr_level) {                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (226:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  227|      0|            assert(PREV == SLIST->header);                                                                   \
  |  |  |  |  228|      0|            /* Grow the head */                                                                              \
  |  |  |  |  229|      0|            H5SL_GROW(PREV, _lvl, ERR)                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  230|      0|            SLIST->curr_level++;                                                                             \
  |  |  |  |  231|      0|            X->forward[_lvl + 1] = NULL;                                                                     \
  |  |  |  |  232|      0|        }                                                                                                    \
  |  |  |  |  233|      0|        else {                                                                                               \
  |  |  |  |  234|      0|            assert(_lvl < (size_t)SLIST->curr_level);                                                        \
  |  |  |  |  235|      0|            X->forward[_lvl + 1] = PREV->forward[_lvl + 1];                                                  \
  |  |  |  |  236|      0|        }                                                                                                    \
  |  |  |  |  237|      0|        PREV->forward[_lvl + 1] = X;                                                                         \
  |  |  |  |  238|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (238:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  297|      0|            }                                                                                                \
  |  |  298|      0|                                                                                                             \
  |  |  299|      0|            /* Prepare to drop down */                                                                       \
  |  |  300|      0|            X = _last = _drop;                                                                               \
  |  |  301|      0|            _next     = _drop->forward[_i];                                                                  \
  |  |  302|      0|        }                                                                                                    \
  |  |  303|      0|                                                                                                             \
  |  |  304|      0|        if (_next && H5_GLUE3(H5SL_LOCATE_, CMP, _EQ)(SLIST, TYPE, _next, KEY, HASHVAL))                     \
  |  |  ------------------
  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (304:13): [True: 0, False: 0]
  |  |  ------------------
  |  |  305|      0|            HGOTO_ERROR(H5E_SLIST, H5E_CANTINSERT, NULL, "can't insert duplicate key");                      \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  306|      0|    }
  ------------------
  726|      0|            break;
  727|       |
  728|      0|        case H5SL_TYPE_GENERIC:
  ------------------
  |  Branch (728:9): [True: 0, False: 4.95k]
  ------------------
  729|      0|            H5SL_INSERT(GENERIC, slist, prev, const void, key, -)
  ------------------
  |  |  255|      0|    {                                                                                                        \
  |  |  256|      0|        H5SL_node_t *_last = X;    /* Lowest node in the current gap */                                      \
  |  |  257|      0|        H5SL_node_t *_next = NULL; /* Highest node in the current gap */                                     \
  |  |  258|      0|        H5SL_node_t *_drop;        /* Low node of the gap to drop into */                                    \
  |  |  259|      0|        int          _count;       /* Number of nodes in the current gap */                                  \
  |  |  260|      0|        int          _i;                                                                                     \
  |  |  261|      0|                                                                                                             \
  |  |  262|      0|        H5_GLUE3(H5SL_LOCATE_, CMP, _HASHINIT)                                                               \
  |  |  263|      0|        (KEY, HASHVAL) for (_i = (int)SLIST->curr_level; _i >= 0; _i--)                                      \
  |  |  ------------------
  |  |  |  Branch (263:58): [True: 0, False: 0]
  |  |  ------------------
  |  |  264|      0|        {                                                                                                    \
  |  |  265|      0|            /* Search for the node to drop into, also count the number of nodes */                           \
  |  |  266|      0|            /* of height _i in this gap */                                                                   \
  |  |  267|      0|            _drop = NULL;                                                                                    \
  |  |  268|      0|            for (_count = 0;; _count++) {                                                                    \
  |  |  269|      0|                /* Terminate if this is the last node in the gap */                                          \
  |  |  270|      0|                if (X->forward[_i] == _next) {                                                               \
  |  |  ------------------
  |  |  |  Branch (270:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  271|      0|                    if (!_drop)                                                                              \
  |  |  ------------------
  |  |  |  Branch (271:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  272|      0|                        _drop = X;                                                                           \
  |  |  273|      0|                    break;                                                                                   \
  |  |  274|      0|                }                                                                                            \
  |  |  275|      0|                                                                                                             \
  |  |  276|      0|                /* Check if this node is the start of the next gap */                                        \
  |  |  277|      0|                if (!_drop && !H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, X->forward[_i], KEY, HASHVAL)) \
  |  |  ------------------
  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (277:21): [True: 0, False: 0]
  |  |  |  Branch (277:31): [True: 0, False: 0]
  |  |  ------------------
  |  |  278|      0|                    _drop = X;                                                                               \
  |  |  279|      0|                                                                                                             \
  |  |  280|      0|                /* No need to check the last node in the gap if there are 3, as */                           \
  |  |  281|      0|                /* there cannot be a fourth */                                                               \
  |  |  282|      0|                if (_count == 2) {                                                                           \
  |  |  ------------------
  |  |  |  Branch (282:21): [True: 0, False: 0]
  |  |  ------------------
  |  |  283|      0|                    if (!_drop)                                                                              \
  |  |  ------------------
  |  |  |  Branch (283:25): [True: 0, False: 0]
  |  |  ------------------
  |  |  284|      0|                        _drop = X->forward[_i];                                                              \
  |  |  285|      0|                    _count = 3;                                                                              \
  |  |  286|      0|                    break;                                                                                   \
  |  |  287|      0|                }                                                                                            \
  |  |  288|      0|                X = X->forward[_i];                                                                          \
  |  |  289|      0|            }                                                                                                \
  |  |  290|      0|            assert(!_drop->forward[_i] ||                                                                    \
  |  |  291|      0|                   !H5_GLUE3(H5SL_LOCATE_, CMP, _CMP)(SLIST, TYPE, _drop->forward[_i], KEY, HASHVAL));       \
  |  |  292|      0|                                                                                                             \
  |  |  293|      0|            /* Promote the middle node if necessary */                                                       \
  |  |  294|      0|            if (_count == 3) {                                                                               \
  |  |  ------------------
  |  |  |  Branch (294:17): [True: 0, False: 0]
  |  |  ------------------
  |  |  295|      0|                assert(X == _last->forward[_i]->forward[_i]);                                                \
  |  |  296|      0|                H5SL_PROMOTE(SLIST, X, _last, NULL);                                                         \
  |  |  ------------------
  |  |  |  |  221|      0|    do {                                                                                                     \
  |  |  |  |  222|      0|        size_t _lvl = X->level;                                                                              \
  |  |  |  |  223|      0|                                                                                                             \
  |  |  |  |  224|      0|        H5SL_GROW(X, _lvl, ERR);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  225|      0|                                                                                                             \
  |  |  |  |  226|      0|        if (_lvl == (size_t)SLIST->curr_level) {                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (226:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  227|      0|            assert(PREV == SLIST->header);                                                                   \
  |  |  |  |  228|      0|            /* Grow the head */                                                                              \
  |  |  |  |  229|      0|            H5SL_GROW(PREV, _lvl, ERR)                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |  157|      0|    {                                                                                                        \
  |  |  |  |  |  |  158|      0|        /* Check if we need to increase allocation of forward pointers */                                    \
  |  |  |  |  |  |  159|      0|        if (LVL + 1 >= ((size_t)1) << X->log_nalloc) {                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (159:13): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  160|      0|            H5SL_node_t **_tmp;                                                                              \
  |  |  |  |  |  |  161|      0|            assert(LVL + 1 == ((size_t)1) << X->log_nalloc);                                                 \
  |  |  |  |  |  |  162|      0|            /* Double the amount of allocated space */                                                       \
  |  |  |  |  |  |  163|      0|            X->log_nalloc++;                                                                                 \
  |  |  |  |  |  |  164|      0|                                                                                                             \
  |  |  |  |  |  |  165|      0|            /* Check if we need to create a new factory */                                                   \
  |  |  |  |  |  |  166|      0|            if (X->log_nalloc >= H5SL_fac_nused_g) {                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (166:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  167|      0|                assert(X->log_nalloc == H5SL_fac_nused_g);                                                   \
  |  |  |  |  |  |  168|      0|                                                                                                             \
  |  |  |  |  |  |  169|      0|                /* Check if we need to allocate space for the factory pointer*/                              \
  |  |  |  |  |  |  170|      0|                if (H5SL_fac_nused_g >= H5SL_fac_nalloc_g) {                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (170:21): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  171|      0|                    assert(H5SL_fac_nused_g == H5SL_fac_nalloc_g);                                           \
  |  |  |  |  |  |  172|      0|                    /* Double the size of the array of factory pointers */                                   \
  |  |  |  |  |  |  173|      0|                    H5SL_fac_nalloc_g *= 2;                                                                  \
  |  |  |  |  |  |  174|      0|                    if (NULL == (H5SL_fac_g = (H5FL_fac_head_t **)H5MM_realloc(                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (174:25): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  175|      0|                                     (void *)H5SL_fac_g, H5SL_fac_nalloc_g * sizeof(H5FL_fac_head_t *))))    \
  |  |  |  |  |  |  176|      0|                        HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  177|      0|                }                                                                                            \
  |  |  |  |  |  |  178|      0|                                                                                                             \
  |  |  |  |  |  |  179|      0|                /* Create the new factory */                                                                 \
  |  |  |  |  |  |  180|      0|                H5SL_fac_g[H5SL_fac_nused_g] =                                                               \
  |  |  |  |  |  |  181|      0|                    H5FL_fac_init((((size_t)1) << H5SL_fac_nused_g) * sizeof(H5SL_node_t *));                \
  |  |  |  |  |  |  182|      0|                H5SL_fac_nused_g++;                                                                          \
  |  |  |  |  |  |  183|      0|            }                                                                                                \
  |  |  |  |  |  |  184|      0|                                                                                                             \
  |  |  |  |  |  |  185|      0|            /* Allocate space for new forward pointers */                                                    \
  |  |  |  |  |  |  186|      0|            if (NULL == (_tmp = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[X->log_nalloc])))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  329|      0|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (186:17): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  187|      0|                HGOTO_ERROR(H5E_SLIST, H5E_CANTALLOC, ERR, "memory allocation failed");                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  188|      0|            H5MM_memcpy((void *)_tmp, (const void *)X->forward, (LVL + 1) * sizeof(H5SL_node_t *));          \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  189|      0|            X->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[X->log_nalloc - 1], (void *)X->forward);   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  335|      0|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  190|      0|            X->forward = _tmp;                                                                               \
  |  |  |  |  |  |  191|      0|        }                                                                                                    \
  |  |  |  |  |  |  192|      0|                                                                                                             \
  |  |  |  |  |  |  193|      0|        X->level++;                                                                                          \
  |  |  |  |  |  |  194|      0|    }
  |  |  |  |  ------------------
  |  |  |  |  230|      0|            SLIST->curr_level++;                                                                             \
  |  |  |  |  231|      0|            X->forward[_lvl + 1] = NULL;                                                                     \
  |  |  |  |  232|      0|        }                                                                                                    \
  |  |  |  |  233|      0|        else {                                                                                               \
  |  |  |  |  234|      0|            assert(_lvl < (size_t)SLIST->curr_level);                                                        \
  |  |  |  |  235|      0|            X->forward[_lvl + 1] = PREV->forward[_lvl + 1];                                                  \
  |  |  |  |  236|      0|        }                                                                                                    \
  |  |  |  |  237|      0|        PREV->forward[_lvl + 1] = X;                                                                         \
  |  |  |  |  238|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (238:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  297|      0|            }                                                                                                \
  |  |  298|      0|                                                                                                             \
  |  |  299|      0|            /* Prepare to drop down */                                                                       \
  |  |  300|      0|            X = _last = _drop;                                                                               \
  |  |  301|      0|            _next     = _drop->forward[_i];                                                                  \
  |  |  302|      0|        }                                                                                                    \
  |  |  303|      0|                                                                                                             \
  |  |  304|      0|        if (_next && H5_GLUE3(H5SL_LOCATE_, CMP, _EQ)(SLIST, TYPE, _next, KEY, HASHVAL))                     \
  |  |  ------------------
  |  |  |  |  894|      0|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  |  Branch (304:13): [True: 0, False: 0]
  |  |  ------------------
  |  |  305|      0|            HGOTO_ERROR(H5E_SLIST, H5E_CANTINSERT, NULL, "can't insert duplicate key");                      \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  306|      0|    }
  ------------------
  730|      0|            break;
  731|       |
  732|      0|        default:
  ------------------
  |  Branch (732:9): [True: 0, False: 4.95k]
  ------------------
  733|      0|            assert(0 && "Unknown skiplist type!");
  734|  4.95k|    }
  735|       |
  736|       |    /* 'key' must not have been found in existing list, if we get here */
  737|       |
  738|  4.95k|    if (slist->curr_level < 0)
  ------------------
  |  Branch (738:9): [True: 532, False: 4.42k]
  ------------------
  739|    532|        slist->curr_level = 0;
  740|       |
  741|       |    /* Create new node of level 0 */
  742|  4.95k|    if (NULL == (x = H5SL__new_node(item, key, hashval)))
  ------------------
  |  Branch (742:9): [True: 0, False: 4.95k]
  ------------------
  743|      0|        HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, NULL, "can't create new skip list node");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  744|       |
  745|       |    /* Update the links */
  746|  4.95k|    x->backward      = prev;
  747|  4.95k|    x->forward[0]    = prev->forward[0];
  748|  4.95k|    prev->forward[0] = x;
  749|  4.95k|    if (x->forward[0])
  ------------------
  |  Branch (749:9): [True: 1.59k, False: 3.36k]
  ------------------
  750|  1.59k|        x->forward[0]->backward = x;
  751|  3.36k|    else {
  752|  3.36k|        assert(slist->last == prev);
  753|  3.36k|        slist->last = x;
  754|  3.36k|    }
  755|       |
  756|       |    /* Increment the number of nodes in the skip list */
  757|  4.95k|    slist->nobjs++;
  758|       |
  759|       |    /* Set return value */
  760|  4.95k|    ret_value = x;
  761|       |
  762|  4.95k|done:
  763|  4.95k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  4.95k|    ;                                                                                                        \
  |  | 1573|  4.95k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  4.95k|    return (ret_value);                                                                                      \
  |  | 1575|  4.95k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  764|  4.95k|} /* end H5SL__insert_common() */
H5SL.c:H5SL__release_common:
  792|    756|{
  793|    756|    H5SL_node_t *node, *next_node; /* Pointers to skip list nodes */
  794|    756|    herr_t       ret_value = SUCCEED;
  ------------------
  |  |  283|    756|#define SUCCEED 0
  ------------------
  795|       |
  796|    756|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    756|    {                                                                                                        \
  |  | 1461|    756|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    756|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    756|                                                                                                             \
  |  |  |  | 1267|    756|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    756|        {
  ------------------
  797|       |
  798|       |    /* Check args */
  799|    756|    assert(slist);
  800|       |
  801|       |    /* Check internal consistency */
  802|       |    /* (Pre-condition) */
  803|       |
  804|       |    /* Free skip list nodes */
  805|    756|    node = slist->header->forward[0];
  806|  5.42k|    while (node) {
  ------------------
  |  Branch (806:12): [True: 4.66k, False: 756]
  ------------------
  807|  4.66k|        next_node = node->forward[0];
  808|       |
  809|       |        /* Call callback, if one is given.
  810|       |         *
  811|       |         * Ignoring const here is fine as we only need the value to be const
  812|       |         * with respect to the list code, which should never modify the
  813|       |         * elements. The library code that is making use of the skip list
  814|       |         * container can do what it likes with the elements.
  815|       |         */
  816|  4.66k|        H5_GCC_CLANG_DIAG_OFF("cast-qual")
  817|  4.66k|        if (op)
  ------------------
  |  Branch (817:13): [True: 846, False: 3.82k]
  ------------------
  818|    846|            (void)(op)(node->item, (void *)node->key, op_data);
  819|  4.66k|        H5_GCC_CLANG_DIAG_ON("cast-qual")
  820|       |
  821|  4.66k|        node->forward = (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[node->log_nalloc], node->forward);
  ------------------
  |  |  335|  4.66k|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  ------------------
  822|  4.66k|        node          = H5FL_FREE(H5SL_node_t, node);
  ------------------
  |  |   81|  4.66k|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|  4.66k|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  823|  4.66k|        node          = next_node;
  824|  4.66k|    }
  825|       |
  826|       |    /* Reset the header pointers */
  827|    756|    slist->header->forward =
  828|    756|        (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[slist->header->log_nalloc], slist->header->forward);
  ------------------
  |  |  335|    756|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  ------------------
  829|    756|    if (NULL == (slist->header->forward = (H5SL_node_t **)H5FL_FAC_MALLOC(H5SL_fac_g[0])))
  ------------------
  |  |  329|    756|#define H5FL_FAC_MALLOC(f) H5FL_fac_malloc(f)
  ------------------
  |  Branch (829:9): [True: 0, False: 756]
  ------------------
  830|      0|        HGOTO_ERROR(H5E_SLIST, H5E_NOSPACE, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  831|    756|    slist->header->forward[0] = NULL;
  832|    756|    slist->header->log_nalloc = 0;
  833|    756|    slist->header->level      = 0;
  834|       |
  835|       |    /* Reset the last pointer */
  836|    756|    slist->last = slist->header;
  837|       |
  838|       |    /* Reset the dynamic internal fields */
  839|    756|    slist->curr_level = -1;
  840|    756|    slist->nobjs      = 0;
  841|       |
  842|    756|done:
  843|    756|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    756|    ;                                                                                                        \
  |  | 1573|    756|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    756|    return (ret_value);                                                                                      \
  |  | 1575|    756|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  844|    756|} /* end H5SL__release_common() */
H5SL.c:H5SL__close_common:
  871|    756|{
  872|    756|    herr_t ret_value = SUCCEED;
  ------------------
  |  |  283|    756|#define SUCCEED 0
  ------------------
  873|       |
  874|    756|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    756|    {                                                                                                        \
  |  | 1461|    756|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    756|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    756|                                                                                                             \
  |  |  |  | 1267|    756|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    756|        {
  ------------------
  875|       |
  876|       |    /* Check args */
  877|    756|    assert(slist);
  878|       |
  879|       |    /* Check internal consistency */
  880|       |    /* (Pre-condition) */
  881|       |
  882|       |    /* Free skip list nodes */
  883|    756|    if (H5SL__release_common(slist, op, op_data) < 0)
  ------------------
  |  Branch (883:9): [True: 0, False: 756]
  ------------------
  884|      0|        HGOTO_ERROR(H5E_SLIST, H5E_CANTFREE, FAIL, "can't release skip list nodes");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  885|       |
  886|       |    /* Release header node */
  887|    756|    slist->header->forward =
  888|    756|        (H5SL_node_t **)H5FL_FAC_FREE(H5SL_fac_g[slist->header->log_nalloc], slist->header->forward);
  ------------------
  |  |  335|    756|#define H5FL_FAC_FREE(f, obj) H5FL_fac_free(f, obj)
  ------------------
  889|    756|    slist->header = H5FL_FREE(H5SL_node_t, slist->header);
  ------------------
  |  |   81|    756|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|    756|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  890|       |
  891|       |    /* Free skip list object */
  892|    756|    slist = H5FL_FREE(H5SL_t, slist);
  ------------------
  |  |   81|    756|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|    756|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  893|       |
  894|    756|done:
  895|    756|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    756|    ;                                                                                                        \
  |  | 1573|    756|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    756|    return (ret_value);                                                                                      \
  |  | 1575|    756|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  896|    756|} /* end H5SL__close_common() */

H5S_select_all:
 1111|    104|{
 1112|    104|    herr_t ret_value = SUCCEED; /* return value */
  ------------------
  |  |  283|    104|#define SUCCEED 0
  ------------------
 1113|       |
 1114|    104|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    104|    {                                                                                                        \
  |  | 1392|    104|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    104|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    104|                                                                                                             \
  |  |  |  | 1267|    104|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    104|        {
  ------------------
 1115|       |
 1116|       |    /* Check args */
 1117|    104|    assert(space);
 1118|       |
 1119|       |    /* Remove current selection first */
 1120|    104|    if (rel_prev)
  ------------------
  |  Branch (1120:9): [True: 0, False: 104]
  ------------------
 1121|      0|        if (H5S_SELECT_RELEASE(space) < 0)
  ------------------
  |  |  194|      0|#define H5S_SELECT_RELEASE(S)                     (H5S_select_release(S))
  ------------------
  |  Branch (1121:13): [True: 0, False: 0]
  ------------------
 1122|      0|            HGOTO_ERROR(H5E_DATASPACE, H5E_CANTDELETE, FAIL, "can't release selection");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1123|       |
 1124|       |    /* Set number of elements in selection */
 1125|    104|    space->select.num_elem = (hsize_t)H5S_GET_EXTENT_NPOINTS(space);
  ------------------
  |  |  136|    104|#define H5S_GET_EXTENT_NPOINTS(S)               ((S)->extent.nelem)
  ------------------
 1126|       |
 1127|       |    /* Set selection type */
 1128|    104|    space->select.type = H5S_sel_all;
 1129|       |
 1130|    104|done:
 1131|    104|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    104|    ;                                                                                                        \
  |  | 1573|    104|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    104|    return (ret_value);                                                                                      \
  |  | 1575|    104|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1132|    104|} /* end H5S_select_all() */
H5Sall.c:H5S__all_iter_init:
  141|     71|{
  142|     71|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     71|    {                                                                                                        \
  |  | 1467|     71|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     71|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     71|        {
  ------------------
  143|       |
  144|       |    /* Check args */
  145|     71|    assert(space && H5S_SEL_ALL == H5S_GET_SELECT_TYPE(space));
  146|     71|    assert(iter);
  147|       |
  148|       |    /* Start at the upper left location */
  149|     71|    iter->u.all.elmt_offset = 0;
  150|     71|    iter->u.all.byte_offset = 0;
  151|       |
  152|       |    /* Initialize type of selection iterator */
  153|     71|    iter->type = H5S_sel_iter_all;
  154|       |
  155|     71|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     71|    ;                                                                                                        \
  |  | 1573|     71|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     71|    return (ret_value);                                                                                      \
  |  | 1575|     71|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  156|     71|} /* end H5S__all_iter_init() */
H5Sall.c:H5S__all_iter_get_seq_list:
  364|     62|{
  365|     62|    size_t elem_used; /* The number of elements used */
  366|       |
  367|     62|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     62|    {                                                                                                        \
  |  | 1467|     62|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     62|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     62|        {
  ------------------
  368|       |
  369|       |    /* Check args */
  370|     62|    assert(iter);
  371|     62|    assert(maxseq > 0);
  372|     62|    assert(maxelem > 0);
  373|     62|    assert(nseq);
  374|     62|    assert(nelem);
  375|     62|    assert(off);
  376|     62|    assert(len);
  377|       |
  378|       |    /* Determine the actual number of elements to use */
  379|     62|    H5_CHECK_OVERFLOW(iter->elmt_left, hsize_t, size_t);
  380|     62|    elem_used = MIN(maxelem, (size_t)iter->elmt_left);
  ------------------
  |  |  293|     62|#define MIN(a, b)        (((a) < (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (293:27): [True: 0, False: 62]
  |  |  ------------------
  ------------------
  381|     62|    assert(elem_used > 0);
  382|       |
  383|       |    /* Compute the offset in the dataset */
  384|     62|    off[0] = iter->u.all.byte_offset;
  385|     62|    len[0] = elem_used * iter->elmt_size;
  386|       |
  387|       |    /* Should only need one sequence for 'all' selections */
  388|     62|    *nseq = 1;
  389|       |
  390|       |    /* Set the number of elements used */
  391|     62|    *nelem = elem_used;
  392|       |
  393|       |    /* Update the iterator */
  394|     62|    iter->elmt_left -= elem_used;
  395|     62|    iter->u.all.elmt_offset += elem_used;
  396|     62|    iter->u.all.byte_offset += len[0];
  397|       |
  398|     62|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     62|    ;                                                                                                        \
  |  | 1573|     62|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     62|    return (ret_value);                                                                                      \
  |  | 1575|     62|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  399|     62|} /* end H5S__all_iter_get_seq_list() */
H5Sall.c:H5S__all_iter_release:
  420|     71|{
  421|     71|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     71|    {                                                                                                        \
  |  | 1467|     71|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     71|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     71|        {
  ------------------
  422|       |
  423|       |    /* Check args */
  424|     71|    assert(iter);
  425|       |
  426|     71|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     71|    ;                                                                                                        \
  |  | 1573|     71|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     71|    return (ret_value);                                                                                      \
  |  | 1575|     71|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  427|     71|} /* end H5S__all_iter_release() */
H5Sall.c:H5S__all_release:
  448|    147|{
  449|    147|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|    147|    {                                                                                                        \
  |  | 1467|    147|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|    147|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|    147|        {
  ------------------
  450|       |
  451|       |    /* Check args */
  452|    147|    assert(space);
  453|       |
  454|       |    /* Reset the number of elements in the selection */
  455|    147|    space->select.num_elem = 0;
  456|       |
  457|    147|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|    147|    ;                                                                                                        \
  |  | 1573|    147|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    147|    return (ret_value);                                                                                      \
  |  | 1575|    147|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  458|    147|} /* end H5S__all_release() */
H5Sall.c:H5S__all_copy:
  482|     43|{
  483|     43|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     43|    {                                                                                                        \
  |  | 1467|     43|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     43|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     43|        {
  ------------------
  484|       |
  485|     43|    assert(src);
  486|     43|    assert(dst);
  487|       |
  488|       |    /* Set number of elements in selection */
  489|     43|    dst->select.num_elem = (hsize_t)H5S_GET_EXTENT_NPOINTS(dst);
  ------------------
  |  |  136|     43|#define H5S_GET_EXTENT_NPOINTS(S)               ((S)->extent.nelem)
  ------------------
  490|       |
  491|     43|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     43|    ;                                                                                                        \
  |  | 1573|     43|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     43|    return (ret_value);                                                                                      \
  |  | 1575|     43|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  492|     43|} /* end H5S__all_copy() */
H5Sall.c:H5S__all_is_valid:
  516|     62|{
  517|     62|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     62|    {                                                                                                        \
  |  | 1467|     62|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     62|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     62|        {
  ------------------
  518|       |
  519|     62|    assert(space);
  520|       |
  521|     62|    FUNC_LEAVE_NOAPI(true)
  ------------------
  |  | 1572|     62|    ;                                                                                                        \
  |  | 1573|     62|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     62|    return (ret_value);                                                                                      \
  |  | 1575|     62|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  522|     62|} /* end H5S__all_is_valid() */
H5Sall.c:H5S__all_bounds:
  707|     62|{
  708|     62|    unsigned rank; /* Dataspace rank */
  709|     62|    unsigned i;    /* index variable */
  710|       |
  711|     62|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     62|    {                                                                                                        \
  |  | 1467|     62|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     62|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     62|        {
  ------------------
  712|       |
  713|     62|    assert(space);
  714|     62|    assert(start);
  715|     62|    assert(end);
  716|       |
  717|       |    /* Get the dataspace extent rank */
  718|     62|    rank = space->extent.rank;
  719|       |
  720|       |    /* Just copy over the complete extent */
  721|    186|    for (i = 0; i < rank; i++) {
  ------------------
  |  Branch (721:17): [True: 124, False: 62]
  ------------------
  722|    124|        start[i] = 0;
  723|    124|        end[i]   = space->extent.size[i] - 1;
  724|    124|    } /* end for */
  725|       |
  726|     62|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     62|    ;                                                                                                        \
  |  | 1573|     62|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     62|    return (ret_value);                                                                                      \
  |  | 1575|     62|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  727|     62|} /* end H5S__all_bounds() */
H5Sall.c:H5S__all_is_single:
  840|     62|{
  841|     62|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     62|    {                                                                                                        \
  |  | 1467|     62|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     62|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     62|        {
  ------------------
  842|       |
  843|     62|    assert(space);
  844|       |
  845|     62|    FUNC_LEAVE_NOAPI(true)
  ------------------
  |  | 1572|     62|    ;                                                                                                        \
  |  | 1573|     62|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     62|    return (ret_value);                                                                                      \
  |  | 1575|     62|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  846|     62|} /* end H5S__all_is_single() */

H5S_select_copy:
  220|     43|{
  221|     43|    herr_t ret_value = FAIL; /* Return value */
  ------------------
  |  |  284|     43|#define FAIL    (-1)
  ------------------
  222|       |
  223|     43|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     43|    {                                                                                                        \
  |  | 1392|     43|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     43|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     43|                                                                                                             \
  |  |  |  | 1267|     43|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     43|        {
  ------------------
  224|       |
  225|       |    /* Check args */
  226|     43|    assert(dst);
  227|     43|    assert(src);
  228|       |
  229|       |    /* Release the current selection */
  230|     43|    if (H5S_SELECT_RELEASE(dst) < 0)
  ------------------
  |  |  194|     43|#define H5S_SELECT_RELEASE(S)                     (H5S_select_release(S))
  ------------------
  |  Branch (230:9): [True: 0, False: 43]
  ------------------
  231|      0|        HGOTO_ERROR(H5E_DATASPACE, H5E_CANTRELEASE, FAIL, "unable to release selection");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  232|       |
  233|       |    /* Copy regular fields */
  234|     43|    dst->select = src->select;
  235|       |
  236|       |    /* Perform correct type of copy based on the type of selection */
  237|     43|    if ((ret_value = (*src->select.type->copy)(dst, src, share_selection)) < 0)
  ------------------
  |  Branch (237:9): [True: 0, False: 43]
  ------------------
  238|      0|        HGOTO_ERROR(H5E_DATASPACE, H5E_CANTCOPY, FAIL, "can't copy selection specific information");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  239|       |
  240|     43|done:
  241|     43|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     43|    ;                                                                                                        \
  |  | 1573|     43|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     43|    return (ret_value);                                                                                      \
  |  | 1575|     43|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  242|     43|} /* end H5S_select_copy() */
H5S_select_release:
  259|    190|{
  260|    190|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    190|#define SUCCEED 0
  ------------------
  261|       |
  262|    190|    FUNC_ENTER_NOAPI_NOINIT
  ------------------
  |  | 1410|    190|    {                                                                                                        \
  |  | 1411|    190|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    190|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    190|                                                                                                             \
  |  |  |  | 1267|    190|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1412|    190|        {
  ------------------
  263|       |
  264|    190|    assert(ds);
  265|       |
  266|       |    /* Call the selection type's release function */
  267|    190|    if ((ds->select.type) && ((ret_value = (*ds->select.type->release)(ds)) < 0))
  ------------------
  |  Branch (267:9): [True: 147, False: 43]
  |  Branch (267:30): [True: 0, False: 147]
  ------------------
  268|      0|        HGOTO_ERROR(H5E_DATASPACE, H5E_CANTRELEASE, FAIL, "unable to release selection");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  269|       |
  270|    190|done:
  271|    190|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    190|    ;                                                                                                        \
  |  | 1573|    190|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    190|    return (ret_value);                                                                                      \
  |  | 1575|    190|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  272|    190|} /* end H5S_select_release() */
H5S_get_select_npoints:
  400|     62|{
  401|     62|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|     62|    {                                                                                                        \
  |  | 1425|     62|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|     62|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|     62|        {
  ------------------
  402|       |
  403|       |    /* Check args */
  404|     62|    assert(space);
  405|       |
  406|     62|    FUNC_LEAVE_NOAPI(space->select.num_elem)
  ------------------
  |  | 1572|     62|    ;                                                                                                        \
  |  | 1573|     62|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     62|    return (ret_value);                                                                                      \
  |  | 1575|     62|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  407|     62|} /* end H5S_get_select_npoints() */
H5S_select_valid:
  472|     62|{
  473|     62|    htri_t ret_value = FAIL; /* Return value */
  ------------------
  |  |  284|     62|#define FAIL    (-1)
  ------------------
  474|       |
  475|     62|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|     62|    {                                                                                                        \
  |  | 1425|     62|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|     62|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|     62|        {
  ------------------
  476|       |
  477|     62|    assert(space);
  478|       |
  479|     62|    ret_value = (*space->select.type->is_valid)(space);
  480|       |
  481|     62|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     62|    ;                                                                                                        \
  |  | 1573|     62|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     62|    return (ret_value);                                                                                      \
  |  | 1575|     62|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  482|     62|} /* end H5S_select_valid() */
H5S_select_iter_init:
 1102|     71|{
 1103|     71|    herr_t ret_value = FAIL; /* Return value */
  ------------------
  |  |  284|     71|#define FAIL    (-1)
  ------------------
 1104|       |
 1105|     71|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|     71|    {                                                                                                        \
  |  | 1425|     71|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|     71|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|     71|        {
  ------------------
 1106|       |
 1107|       |    /* Check args */
 1108|     71|    assert(sel_iter);
 1109|     71|    assert(space);
 1110|       |
 1111|       |    /* Initialize common information */
 1112|       |
 1113|       |    /* Save the dataspace's rank */
 1114|     71|    sel_iter->rank = space->extent.rank;
 1115|       |
 1116|       |    /* If dims > 0, copy the dataspace dimensions & selection offset */
 1117|     71|    if (sel_iter->rank > 0) {
  ------------------
  |  Branch (1117:9): [True: 71, False: 0]
  ------------------
 1118|     71|        H5MM_memcpy(sel_iter->dims, space->extent.size, sizeof(hsize_t) * space->extent.rank);
  ------------------
  |  |   41|     71|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
 1119|     71|        H5MM_memcpy(sel_iter->sel_off, space->select.offset, sizeof(hsize_t) * space->extent.rank);
  ------------------
  |  |   41|     71|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
 1120|     71|    }
 1121|       |
 1122|       |    /* Save the element size */
 1123|     71|    sel_iter->elmt_size = elmt_size;
 1124|       |
 1125|       |    /* Initialize the number of elements to iterate over */
 1126|     71|    sel_iter->elmt_left = space->select.num_elem;
 1127|       |
 1128|       |    /* Set the flags for the iterator */
 1129|     71|    sel_iter->flags = flags;
 1130|       |
 1131|       |    /* Call initialization routine for selection type */
 1132|     71|    ret_value = (*space->select.type->iter_init)(space, sel_iter);
 1133|     71|    assert(sel_iter->type);
 1134|       |
 1135|     71|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     71|    ;                                                                                                        \
  |  | 1573|     71|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     71|    return (ret_value);                                                                                      \
  |  | 1575|     71|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1136|     71|} /* end H5S_select_iter_init() */
H5S_select_iter_get_seq_list:
 1272|     62|{
 1273|     62|    herr_t ret_value = FAIL; /* Return value */
  ------------------
  |  |  284|     62|#define FAIL    (-1)
  ------------------
 1274|       |
 1275|     62|    FUNC_ENTER_NOAPI_NOINIT
  ------------------
  |  | 1410|     62|    {                                                                                                        \
  |  | 1411|     62|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     62|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     62|                                                                                                             \
  |  |  |  | 1267|     62|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1412|     62|        {
  ------------------
 1276|       |
 1277|       |    /* Sanity check */
 1278|     62|    assert(iter);
 1279|       |
 1280|       |    /* Call the selection type's get_seq_list function */
 1281|     62|    if ((ret_value = (*iter->type->iter_get_seq_list)(iter, maxseq, maxelmts, nseq, nelmts, off, len)) < 0)
  ------------------
  |  Branch (1281:9): [True: 0, False: 62]
  ------------------
 1282|      0|        HGOTO_ERROR(H5E_DATASPACE, H5E_CANTGET, FAIL, "unable to get selection sequence list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1283|       |
 1284|     62|done:
 1285|     62|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     62|    ;                                                                                                        \
  |  | 1573|     62|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     62|    return (ret_value);                                                                                      \
  |  | 1575|     62|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1286|     62|} /* end H5S_select_iter_get_seq_list() */
H5S_select_iter_release:
 1310|     71|{
 1311|     71|    herr_t ret_value = FAIL; /* Return value */
  ------------------
  |  |  284|     71|#define FAIL    (-1)
  ------------------
 1312|       |
 1313|     71|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|     71|    {                                                                                                        \
  |  | 1425|     71|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|     71|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|     71|        {
  ------------------
 1314|       |
 1315|       |    /* Check args */
 1316|     71|    assert(sel_iter);
 1317|       |
 1318|       |    /* Call selection type-specific release routine */
 1319|     71|    ret_value = (*sel_iter->type->iter_release)(sel_iter);
 1320|       |
 1321|     71|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     71|    ;                                                                                                        \
  |  | 1573|     71|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     71|    return (ret_value);                                                                                      \
  |  | 1575|     71|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1322|     71|} /* end H5S_select_iter_release() */
H5S_select_shape_same:
 1594|     31|{
 1595|     31|    H5S_sel_iter_t *iter_a      = NULL;  /* Selection a iteration info */
 1596|     31|    H5S_sel_iter_t *iter_b      = NULL;  /* Selection b iteration info */
 1597|     31|    bool            iter_a_init = false; /* Selection a iteration info has been initialized */
 1598|     31|    bool            iter_b_init = false; /* Selection b iteration info has been initialized */
 1599|     31|    htri_t          ret_value   = true;  /* Return value */
 1600|       |
 1601|     31|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     31|    {                                                                                                        \
  |  | 1392|     31|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     31|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     31|                                                                                                             \
  |  |  |  | 1267|     31|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     31|        {
  ------------------
 1602|       |
 1603|       |    /* Check args */
 1604|     31|    assert(space1);
 1605|     31|    assert(space2);
 1606|       |
 1607|       |    /* Check for different number of elements selected */
 1608|     31|    if (H5S_GET_SELECT_NPOINTS(space1) != H5S_GET_SELECT_NPOINTS(space2))
  ------------------
  |  |  137|     31|#define H5S_GET_SELECT_NPOINTS(S)               ((S)->select.num_elem)
  ------------------
                  if (H5S_GET_SELECT_NPOINTS(space1) != H5S_GET_SELECT_NPOINTS(space2))
  ------------------
  |  |  137|     31|#define H5S_GET_SELECT_NPOINTS(S)               ((S)->select.num_elem)
  ------------------
  |  Branch (1608:9): [True: 0, False: 31]
  ------------------
 1609|      0|        HGOTO_DONE(false);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1610|       |
 1611|       |    /* Check special cases if both dataspaces aren't scalar */
 1612|       |    /* (If only one is, the number of selected points check is sufficient) */
 1613|     31|    if (space1->extent.rank > 0 && space2->extent.rank > 0) {
  ------------------
  |  Branch (1613:9): [True: 31, False: 0]
  |  Branch (1613:36): [True: 31, False: 0]
  ------------------
 1614|     31|        H5S_t       *space_a;      /* Dataspace with larger rank */
 1615|     31|        H5S_t       *space_b;      /* Dataspace with smaller rank */
 1616|     31|        unsigned     space_a_rank; /* Number of dimensions of dataspace A */
 1617|     31|        unsigned     space_b_rank; /* Number of dimensions of dataspace B */
 1618|     31|        int          space_a_dim;  /* Current dimension in dataspace A */
 1619|     31|        int          space_b_dim;  /* Current dimension in dataspace B */
 1620|     31|        H5S_sel_type sel_a_type;   /* Selection type for dataspace A */
 1621|     31|        H5S_sel_type sel_b_type;   /* Selection type for dataspace B */
 1622|       |
 1623|       |        /* Need to be able to handle spaces of different rank:
 1624|       |         *
 1625|       |         * To simplify logic, let space_a point to the element of the set
 1626|       |         * {space1, space2} with the largest rank or space1 if the ranks
 1627|       |         * are identical.
 1628|       |         *
 1629|       |         * Similarly, let space_b point to the element of {space1, space2}
 1630|       |         * with the smallest rank, or space2 if they are identical.
 1631|       |         *
 1632|       |         * Let:  space_a_rank be the rank of space_a,
 1633|       |         *       space_b_rank be the rank of space_b,
 1634|       |         *
 1635|       |         * Set all this up here.
 1636|       |         */
 1637|     31|        if (space1->extent.rank >= space2->extent.rank) {
  ------------------
  |  Branch (1637:13): [True: 31, False: 0]
  ------------------
 1638|     31|            space_a = space1;
 1639|     31|            space_b = space2;
 1640|     31|        } /* end if */
 1641|      0|        else {
 1642|      0|            space_a = space2;
 1643|      0|            space_b = space1;
 1644|      0|        } /* end else */
 1645|     31|        space_a_rank = space_a->extent.rank;
 1646|     31|        space_b_rank = space_b->extent.rank;
 1647|     31|        assert(space_a_rank >= space_b_rank);
 1648|     31|        assert(space_b_rank > 0);
 1649|       |
 1650|       |        /* Get selection type for both dataspaces */
 1651|     31|        sel_a_type = H5S_GET_SELECT_TYPE(space_a);
  ------------------
  |  |  138|     31|#define H5S_GET_SELECT_TYPE(S)                  ((S)->select.type->type)
  ------------------
 1652|     31|        sel_b_type = H5S_GET_SELECT_TYPE(space_b);
  ------------------
  |  |  138|     31|#define H5S_GET_SELECT_TYPE(S)                  ((S)->select.type->type)
  ------------------
 1653|       |
 1654|       |        /* If selections aren't "none", compare their bounds */
 1655|     31|        if (sel_a_type != H5S_SEL_NONE && sel_b_type != H5S_SEL_NONE) {
  ------------------
  |  Branch (1655:13): [True: 31, False: 0]
  |  Branch (1655:43): [True: 31, False: 0]
  ------------------
 1656|     31|            hsize_t low_a[H5S_MAX_RANK];  /* Low bound of selection in dataspace a */
 1657|     31|            hsize_t low_b[H5S_MAX_RANK];  /* Low bound of selection in dataspace b */
 1658|     31|            hsize_t high_a[H5S_MAX_RANK]; /* High bound of selection in dataspace a */
 1659|     31|            hsize_t high_b[H5S_MAX_RANK]; /* High bound of selection in dataspace b */
 1660|       |
 1661|       |            /* Get low & high bounds for both dataspaces */
 1662|     31|            if (H5S_SELECT_BOUNDS(space_a, low_a, high_a) < 0)
  ------------------
  |  |  142|     31|#define H5S_SELECT_BOUNDS(S, START, END)        ((*(S)->select.type->bounds)(S, START, END))
  ------------------
  |  Branch (1662:17): [True: 0, False: 31]
  ------------------
 1663|      0|                HGOTO_ERROR(H5E_DATASPACE, H5E_CANTGET, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1664|     31|                            "can't get selection bounds for first dataspace");
 1665|     31|            if (H5S_SELECT_BOUNDS(space_b, low_b, high_b) < 0)
  ------------------
  |  |  142|     31|#define H5S_SELECT_BOUNDS(S, START, END)        ((*(S)->select.type->bounds)(S, START, END))
  ------------------
  |  Branch (1665:17): [True: 0, False: 31]
  ------------------
 1666|      0|                HGOTO_ERROR(H5E_DATASPACE, H5E_CANTGET, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1667|     31|                            "can't get selection bounds for second dataspace");
 1668|       |
 1669|       |            /* Check that the range between the low & high bounds are the same */
 1670|     31|            space_a_dim = (int)space_a_rank - 1;
 1671|     31|            space_b_dim = (int)space_b_rank - 1;
 1672|     93|            while (space_b_dim >= 0) {
  ------------------
  |  Branch (1672:20): [True: 62, False: 31]
  ------------------
 1673|       |                /* Sanity check */
 1674|     62|                assert(low_a[space_a_dim] <= high_a[space_a_dim]);
 1675|     62|                assert(low_a[space_b_dim] <= high_a[space_b_dim]);
 1676|       |
 1677|       |                /* Verify that the ranges are the same */
 1678|     62|                if ((high_a[space_a_dim] - low_a[space_a_dim]) != (high_b[space_b_dim] - low_b[space_b_dim]))
  ------------------
  |  Branch (1678:21): [True: 0, False: 62]
  ------------------
 1679|      0|                    HGOTO_DONE(false);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1680|       |
 1681|       |                /* Go to next dimension */
 1682|     62|                space_a_dim--;
 1683|     62|                space_b_dim--;
 1684|     62|            } /* end while */
 1685|       |
 1686|       |            /* Check that the rest of the ranges in space a are "flat" */
 1687|     31|            while (space_a_dim >= 0) {
  ------------------
  |  Branch (1687:20): [True: 0, False: 31]
  ------------------
 1688|       |                /* Sanity check */
 1689|      0|                assert(low_a[space_a_dim] <= high_a[space_a_dim]);
 1690|       |
 1691|       |                /* This range should be flat to be the same in a lower dimension */
 1692|      0|                if (low_a[space_a_dim] != high_a[space_a_dim])
  ------------------
  |  Branch (1692:21): [True: 0, False: 0]
  ------------------
 1693|      0|                    HGOTO_DONE(false);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1694|       |
 1695|      0|                space_a_dim--;
 1696|      0|            } /* end while */
 1697|       |
 1698|       |            /* Check for a single block in each selection */
 1699|     31|            if (H5S_SELECT_IS_SINGLE(space_a) && H5S_SELECT_IS_SINGLE(space_b)) {
  ------------------
  |  |  145|     62|#define H5S_SELECT_IS_SINGLE(S)                 ((*(S)->select.type->is_single)(S))
  |  |  ------------------
  |  |  |  Branch (145:49): [True: 31, False: 0]
  |  |  ------------------
  ------------------
                          if (H5S_SELECT_IS_SINGLE(space_a) && H5S_SELECT_IS_SINGLE(space_b)) {
  ------------------
  |  |  145|     31|#define H5S_SELECT_IS_SINGLE(S)                 ((*(S)->select.type->is_single)(S))
  |  |  ------------------
  |  |  |  Branch (145:49): [True: 31, False: 0]
  |  |  ------------------
  ------------------
 1700|       |                /* If both selections are a single block and their bounds are
 1701|       |                 * the same, then the selections are the same, even if the
 1702|       |                 * selection types are different.
 1703|       |                 */
 1704|     31|                HGOTO_DONE(true);
  ------------------
  |  |   91|     31|    do {                                                                                                     \
  |  |   92|     31|        ret_value = ret_val;                                                                                 \
  |  |   93|     31|        goto done;                                                                                           \
  |  |   94|     31|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1705|     31|            } /* end if */
 1706|     31|        }     /* end if */
 1707|       |
 1708|       |        /* If the dataspaces have the same selection type, use the selection's
 1709|       |         * shape_same operator.
 1710|       |         */
 1711|      0|        if (sel_a_type == sel_b_type)
  ------------------
  |  Branch (1711:13): [True: 0, False: 0]
  ------------------
 1712|      0|            ret_value = (*space_a->select.type->shape_same)(space_a, space_b);
 1713|       |        /* Otherwise, iterate through all the blocks in the selection */
 1714|      0|        else {
 1715|      0|            hsize_t  start_a[H5S_MAX_RANK]; /* Start point of selection block in dataspace a */
 1716|      0|            hsize_t  start_b[H5S_MAX_RANK]; /* Start point of selection block in dataspace b */
 1717|      0|            hsize_t  end_a[H5S_MAX_RANK];   /* End point of selection block in dataspace a */
 1718|      0|            hsize_t  end_b[H5S_MAX_RANK];   /* End point of selection block in dataspace b */
 1719|      0|            hssize_t offset[H5S_MAX_RANK];  /* Offset of selection b blocks relative to selection a blocks */
 1720|      0|            bool     first_block = true;    /* Flag to indicate the first block */
 1721|       |
 1722|       |            /* Allocate the selection iterators */
 1723|      0|            if (NULL == (iter_a = H5FL_MALLOC(H5S_sel_iter_t)))
  ------------------
  |  |   75|      0|#define H5FL_MALLOC(t) (t *)H5FL_reg_malloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (1723:17): [True: 0, False: 0]
  ------------------
 1724|      0|                HGOTO_ERROR(H5E_DATASPACE, H5E_CANTALLOC, FAIL, "can't allocate selection iterator");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1725|      0|            if (NULL == (iter_b = H5FL_MALLOC(H5S_sel_iter_t)))
  ------------------
  |  |   75|      0|#define H5FL_MALLOC(t) (t *)H5FL_reg_malloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (1725:17): [True: 0, False: 0]
  ------------------
 1726|      0|                HGOTO_ERROR(H5E_DATASPACE, H5E_CANTALLOC, FAIL, "can't allocate selection iterator");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1727|       |
 1728|       |            /* Initialize iterator for each dataspace selection
 1729|       |             * Use '0' for element size instead of actual element size to indicate
 1730|       |             * that the selection iterator shouldn't be "flattened", since we
 1731|       |             * aren't actually going to be doing I/O with the iterators.
 1732|       |             */
 1733|      0|            if (H5S_select_iter_init(iter_a, space_a, (size_t)0, 0) < 0)
  ------------------
  |  Branch (1733:17): [True: 0, False: 0]
  ------------------
 1734|      0|                HGOTO_ERROR(H5E_DATASPACE, H5E_CANTINIT, FAIL, "unable to initialize selection iterator a");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1735|      0|            iter_a_init = true;
 1736|      0|            if (H5S_select_iter_init(iter_b, space_b, (size_t)0, 0) < 0)
  ------------------
  |  Branch (1736:17): [True: 0, False: 0]
  ------------------
 1737|      0|                HGOTO_ERROR(H5E_DATASPACE, H5E_CANTINIT, FAIL, "unable to initialize selection iterator b");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1738|      0|            iter_b_init = true;
 1739|       |
 1740|       |            /* Iterate over all the blocks in each selection */
 1741|      0|            while (1) {
  ------------------
  |  Branch (1741:20): [Folded - Ignored]
  ------------------
 1742|      0|                htri_t status_a, status_b; /* Status from next block checks */
 1743|       |
 1744|       |                /* Get the current block for each selection iterator */
 1745|      0|                if (H5S_SELECT_ITER_BLOCK(iter_a, start_a, end_a) < 0)
  ------------------
  |  |  152|      0|#define H5S_SELECT_ITER_BLOCK(ITER, START, END) ((*(ITER)->type->iter_block)(ITER, START, END))
  ------------------
  |  Branch (1745:21): [True: 0, False: 0]
  ------------------
 1746|      0|                    HGOTO_ERROR(H5E_DATASPACE, H5E_CANTGET, FAIL, "unable to get iterator block a");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1747|      0|                if (H5S_SELECT_ITER_BLOCK(iter_b, start_b, end_b) < 0)
  ------------------
  |  |  152|      0|#define H5S_SELECT_ITER_BLOCK(ITER, START, END) ((*(ITER)->type->iter_block)(ITER, START, END))
  ------------------
  |  Branch (1747:21): [True: 0, False: 0]
  ------------------
 1748|      0|                    HGOTO_ERROR(H5E_DATASPACE, H5E_CANTGET, FAIL, "unable to get iterator block b");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1749|       |
 1750|      0|                space_a_dim = (int)space_a_rank - 1;
 1751|      0|                space_b_dim = (int)space_b_rank - 1;
 1752|       |
 1753|       |                /* The first block only compares the sizes and sets the
 1754|       |                 * relative offsets for later blocks
 1755|       |                 */
 1756|      0|                if (first_block) {
  ------------------
  |  Branch (1756:21): [True: 0, False: 0]
  ------------------
 1757|       |                    /* If the block sizes in the common dimensions from
 1758|       |                     * each selection don't match, get out
 1759|       |                     */
 1760|      0|                    while (space_b_dim >= 0) {
  ------------------
  |  Branch (1760:28): [True: 0, False: 0]
  ------------------
 1761|      0|                        if ((end_a[space_a_dim] - start_a[space_a_dim]) !=
  ------------------
  |  Branch (1761:29): [True: 0, False: 0]
  ------------------
 1762|      0|                            (end_b[space_b_dim] - start_b[space_b_dim]))
 1763|      0|                            HGOTO_DONE(false);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1764|       |
 1765|       |                        /* Set the relative locations of the selections */
 1766|      0|                        offset[space_a_dim] = (hssize_t)start_b[space_b_dim] - (hssize_t)start_a[space_a_dim];
 1767|       |
 1768|      0|                        space_a_dim--;
 1769|      0|                        space_b_dim--;
 1770|      0|                    } /* end while */
 1771|       |
 1772|       |                    /* Similarly, if the block size in any dimension that appears only
 1773|       |                     * in space_a is not equal to 1, get out.
 1774|       |                     */
 1775|      0|                    while (space_a_dim >= 0) {
  ------------------
  |  Branch (1775:28): [True: 0, False: 0]
  ------------------
 1776|      0|                        if (start_a[space_a_dim] != end_a[space_a_dim])
  ------------------
  |  Branch (1776:29): [True: 0, False: 0]
  ------------------
 1777|      0|                            HGOTO_DONE(false);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1778|       |
 1779|      0|                        space_a_dim--;
 1780|      0|                    } /* end while */
 1781|       |
 1782|       |                    /* Reset "first block" flag */
 1783|      0|                    first_block = false;
 1784|      0|                } /* end if */
 1785|       |                /* Check over the blocks for each selection */
 1786|      0|                else {
 1787|       |                    /* For dimensions that space_a and space_b have in common: */
 1788|      0|                    while (space_b_dim >= 0) {
  ------------------
  |  Branch (1788:28): [True: 0, False: 0]
  ------------------
 1789|       |                        /* Check if the blocks are in the same relative location */
 1790|      0|                        if ((hsize_t)((hssize_t)start_a[space_a_dim] + offset[space_a_dim]) !=
  ------------------
  |  Branch (1790:29): [True: 0, False: 0]
  ------------------
 1791|      0|                            start_b[space_b_dim])
 1792|      0|                            HGOTO_DONE(false);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1793|       |
 1794|       |                        /* If the block sizes from each selection doesn't match, get out */
 1795|      0|                        if ((end_a[space_a_dim] - start_a[space_a_dim]) !=
  ------------------
  |  Branch (1795:29): [True: 0, False: 0]
  ------------------
 1796|      0|                            (end_b[space_b_dim] - start_b[space_b_dim]))
 1797|      0|                            HGOTO_DONE(false);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1798|       |
 1799|      0|                        space_a_dim--;
 1800|      0|                        space_b_dim--;
 1801|      0|                    } /* end while */
 1802|       |
 1803|       |                    /* For dimensions that appear only in space_a: */
 1804|      0|                    while (space_a_dim >= 0) {
  ------------------
  |  Branch (1804:28): [True: 0, False: 0]
  ------------------
 1805|       |                        /* If the block size isn't 1, get out */
 1806|      0|                        if (start_a[space_a_dim] != end_a[space_a_dim])
  ------------------
  |  Branch (1806:29): [True: 0, False: 0]
  ------------------
 1807|      0|                            HGOTO_DONE(false);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1808|       |
 1809|      0|                        space_a_dim--;
 1810|      0|                    } /* end while */
 1811|      0|                }     /* end else */
 1812|       |
 1813|       |                /* Check if we are able to advance to the next selection block */
 1814|      0|                if ((status_a = H5S_SELECT_ITER_HAS_NEXT_BLOCK(iter_a)) < 0)
  ------------------
  |  |  154|      0|#define H5S_SELECT_ITER_HAS_NEXT_BLOCK(ITER)    ((*(ITER)->type->iter_has_next_block)(ITER))
  ------------------
  |  Branch (1814:21): [True: 0, False: 0]
  ------------------
 1815|      0|                    HGOTO_ERROR(H5E_DATASPACE, H5E_CANTNEXT, FAIL, "unable to check iterator block a");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1816|       |
 1817|      0|                if ((status_b = H5S_SELECT_ITER_HAS_NEXT_BLOCK(iter_b)) < 0)
  ------------------
  |  |  154|      0|#define H5S_SELECT_ITER_HAS_NEXT_BLOCK(ITER)    ((*(ITER)->type->iter_has_next_block)(ITER))
  ------------------
  |  Branch (1817:21): [True: 0, False: 0]
  ------------------
 1818|      0|                    HGOTO_ERROR(H5E_DATASPACE, H5E_CANTNEXT, FAIL, "unable to check iterator block b");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1819|       |
 1820|       |                /* Did we run out of blocks at the same time? */
 1821|      0|                if ((status_a == false) && (status_b == false))
  ------------------
  |  Branch (1821:21): [True: 0, False: 0]
  |  Branch (1821:44): [True: 0, False: 0]
  ------------------
 1822|      0|                    break;
 1823|      0|                else if (status_a != status_b)
  ------------------
  |  Branch (1823:26): [True: 0, False: 0]
  ------------------
 1824|      0|                    HGOTO_DONE(false);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1825|      0|                else {
 1826|       |                    /* Advance to next block in selection iterators */
 1827|      0|                    if (H5S_SELECT_ITER_NEXT_BLOCK(iter_a) < 0)
  ------------------
  |  |  156|      0|#define H5S_SELECT_ITER_NEXT_BLOCK(ITER)        ((*(ITER)->type->iter_next_block)(ITER))
  ------------------
  |  Branch (1827:25): [True: 0, False: 0]
  ------------------
 1828|      0|                        HGOTO_ERROR(H5E_DATASPACE, H5E_CANTNEXT, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1829|      0|                                    "unable to advance to next iterator block a");
 1830|       |
 1831|      0|                    if (H5S_SELECT_ITER_NEXT_BLOCK(iter_b) < 0)
  ------------------
  |  |  156|      0|#define H5S_SELECT_ITER_NEXT_BLOCK(ITER)        ((*(ITER)->type->iter_next_block)(ITER))
  ------------------
  |  Branch (1831:25): [True: 0, False: 0]
  ------------------
 1832|      0|                        HGOTO_ERROR(H5E_DATASPACE, H5E_CANTNEXT, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1833|      0|                                    "unable to advance to next iterator block b");
 1834|      0|                } /* end else */
 1835|      0|            }     /* end while */
 1836|      0|        }         /* end else */
 1837|      0|    }             /* end if */
 1838|       |
 1839|     31|done:
 1840|     31|    if (iter_a_init && H5S_SELECT_ITER_RELEASE(iter_a) < 0)
  ------------------
  |  |  159|      0|#define H5S_SELECT_ITER_RELEASE(ITER) ((*(ITER)->type->iter_release)(ITER))
  ------------------
  |  Branch (1840:9): [True: 0, False: 31]
  |  Branch (1840:24): [True: 0, False: 0]
  ------------------
 1841|      0|        HDONE_ERROR(H5E_DATASPACE, H5E_CANTRELEASE, FAIL, "unable to release selection iterator a");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1842|     31|    if (iter_a)
  ------------------
  |  Branch (1842:9): [True: 0, False: 31]
  ------------------
 1843|      0|        iter_a = H5FL_FREE(H5S_sel_iter_t, iter_a);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 1844|     31|    if (iter_b_init && H5S_SELECT_ITER_RELEASE(iter_b) < 0)
  ------------------
  |  |  159|      0|#define H5S_SELECT_ITER_RELEASE(ITER) ((*(ITER)->type->iter_release)(ITER))
  ------------------
  |  Branch (1844:9): [True: 0, False: 31]
  |  Branch (1844:24): [True: 0, False: 0]
  ------------------
 1845|      0|        HDONE_ERROR(H5E_DATASPACE, H5E_CANTRELEASE, FAIL, "unable to release selection iterator b");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1846|     31|    if (iter_b)
  ------------------
  |  Branch (1846:9): [True: 0, False: 31]
  ------------------
 1847|      0|        iter_b = H5FL_FREE(H5S_sel_iter_t, iter_b);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 1848|       |
 1849|     31|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     31|    ;                                                                                                        \
  |  | 1573|     31|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     31|    return (ret_value);                                                                                      \
  |  | 1575|     31|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1850|     31|} /* end H5S_select_shape_same() */

H5T_init:
  805|      1|{
  806|      1|    H5T_t  *native_schar   = NULL; /* Datatype structure for native signed char */
  807|      1|    H5T_t  *native_uchar   = NULL; /* Datatype structure for native unsigned char */
  808|      1|    H5T_t  *native_short   = NULL; /* Datatype structure for native short */
  809|      1|    H5T_t  *native_ushort  = NULL; /* Datatype structure for native unsigned short */
  810|      1|    H5T_t  *native_int     = NULL; /* Datatype structure for native int */
  811|      1|    H5T_t  *native_uint    = NULL; /* Datatype structure for native unsigned int */
  812|      1|    H5T_t  *native_long    = NULL; /* Datatype structure for native long */
  813|      1|    H5T_t  *native_ulong   = NULL; /* Datatype structure for native unsigned long */
  814|      1|    H5T_t  *native_llong   = NULL; /* Datatype structure for native long long */
  815|      1|    H5T_t  *native_ullong  = NULL; /* Datatype structure for native unsigned long long */
  816|      1|    H5T_t  *native_float   = NULL; /* Datatype structure for native float */
  817|      1|    H5T_t  *native_double  = NULL; /* Datatype structure for native double */
  818|      1|    H5T_t  *native_ldouble = NULL; /* Datatype structure for native long double */
  819|      1|    H5T_t  *std_u8le       = NULL; /* Datatype structure for unsigned 8-bit little-endian integer */
  820|      1|    H5T_t  *std_u8be       = NULL; /* Datatype structure for unsigned 8-bit big-endian integer */
  821|      1|    H5T_t  *std_u16le      = NULL; /* Datatype structure for unsigned 16-bit little-endian integer */
  822|      1|    H5T_t  *std_u16be      = NULL; /* Datatype structure for unsigned 16-bit big-endian integer */
  823|      1|    H5T_t  *std_u32le      = NULL; /* Datatype structure for unsigned 32-bit little-endian integer */
  824|      1|    H5T_t  *std_u32be      = NULL; /* Datatype structure for unsigned 32-bit big-endian integer */
  825|      1|    H5T_t  *std_u64le      = NULL; /* Datatype structure for unsigned 64-bit little-endian integer */
  826|      1|    H5T_t  *std_u64be      = NULL; /* Datatype structure for unsigned 64-bit big-endian integer */
  827|      1|    H5T_t  *dt             = NULL;
  828|      1|    H5T_t  *fixedpt        = NULL; /* Datatype structure for native int */
  829|      1|    H5T_t  *floatpt        = NULL; /* Datatype structure for native float */
  830|      1|    H5T_t  *string         = NULL; /* Datatype structure for C string */
  831|      1|    H5T_t  *bitfield       = NULL; /* Datatype structure for bitfield */
  832|      1|    H5T_t  *compound       = NULL; /* Datatype structure for compound objects */
  833|      1|    H5T_t  *enum_type      = NULL; /* Datatype structure for enum objects */
  834|      1|    H5T_t  *vlen           = NULL; /* Datatype structure for vlen objects */
  835|      1|    H5T_t  *array          = NULL; /* Datatype structure for array objects */
  836|      1|    H5T_t  *objref         = NULL; /* Datatype structure for deprecated reference objects */
  837|      1|    H5T_t  *regref         = NULL; /* Datatype structure for deprecated region references */
  838|      1|    H5T_t  *ref            = NULL; /* Datatype structure for opaque references */
  839|      1|    hsize_t dim[1]         = {1};  /* Dimension info for array datatype */
  840|      1|    herr_t  status;
  841|      1|    bool    copied_dtype =
  842|      1|        true; /* Flag to indicate whether datatype was copied or allocated (for error cleanup) */
  843|       |#ifdef H5_HAVE__FLOAT16
  844|       |    H5T_t *native_float16 = NULL; /* Datatype structure for native _Float16 type */
  845|       |#endif
  846|      1|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  847|       |
  848|      1|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      1|    {                                                                                                        \
  |  | 1392|      1|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      1|        {
  ------------------
  849|       |
  850|       |    /* Initialize the ID group for the file IDs */
  851|      1|    if (H5I_register_type(H5I_DATATYPE_CLS) < 0)
  ------------------
  |  Branch (851:9): [True: 0, False: 1]
  ------------------
  852|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to initialize interface");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  853|       |
  854|       |    /* Make certain there aren't too many classes of datatypes defined */
  855|       |    /* Only 16 (numbered 0-15) are supported in the current file format */
  856|      1|    HDcompile_assert(H5T_NCLASSES < 16);
  ------------------
  |  | 1611|      1|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  ------------------
  857|       |
  858|       |    /* Initialize native floating-point datatypes */
  859|      1|    if (H5T__init_native_float_types() < 0)
  ------------------
  |  Branch (859:9): [True: 0, False: 1]
  ------------------
  860|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to initialize floating-point types");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  861|       |
  862|       |    /* Initialize all other native types */
  863|      1|    if (H5T__init_native_internal() < 0)
  ------------------
  |  Branch (863:9): [True: 0, False: 1]
  ------------------
  864|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to initialize integers");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  865|       |
  866|       |    /* Get the atomic datatype structures needed by the initialization code below */
  867|      1|    if (NULL == (native_schar = (H5T_t *)H5I_object(H5T_NATIVE_SCHAR_g)))
  ------------------
  |  Branch (867:9): [True: 0, False: 1]
  ------------------
  868|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  869|      1|    if (NULL == (native_uchar = (H5T_t *)H5I_object(H5T_NATIVE_UCHAR_g)))
  ------------------
  |  Branch (869:9): [True: 0, False: 1]
  ------------------
  870|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  871|      1|    if (NULL == (native_short = (H5T_t *)H5I_object(H5T_NATIVE_SHORT_g)))
  ------------------
  |  Branch (871:9): [True: 0, False: 1]
  ------------------
  872|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  873|      1|    if (NULL == (native_ushort = (H5T_t *)H5I_object(H5T_NATIVE_USHORT_g)))
  ------------------
  |  Branch (873:9): [True: 0, False: 1]
  ------------------
  874|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  875|      1|    if (NULL == (native_int = (H5T_t *)H5I_object(H5T_NATIVE_INT_g)))
  ------------------
  |  Branch (875:9): [True: 0, False: 1]
  ------------------
  876|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  877|      1|    if (NULL == (native_uint = (H5T_t *)H5I_object(H5T_NATIVE_UINT_g)))
  ------------------
  |  Branch (877:9): [True: 0, False: 1]
  ------------------
  878|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  879|      1|    if (NULL == (native_long = (H5T_t *)H5I_object(H5T_NATIVE_LONG_g)))
  ------------------
  |  Branch (879:9): [True: 0, False: 1]
  ------------------
  880|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  881|      1|    if (NULL == (native_ulong = (H5T_t *)H5I_object(H5T_NATIVE_ULONG_g)))
  ------------------
  |  Branch (881:9): [True: 0, False: 1]
  ------------------
  882|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  883|      1|    if (NULL == (native_llong = (H5T_t *)H5I_object(H5T_NATIVE_LLONG_g)))
  ------------------
  |  Branch (883:9): [True: 0, False: 1]
  ------------------
  884|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  885|      1|    if (NULL == (native_ullong = (H5T_t *)H5I_object(H5T_NATIVE_ULLONG_g)))
  ------------------
  |  Branch (885:9): [True: 0, False: 1]
  ------------------
  886|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  887|       |#ifdef H5_HAVE__FLOAT16
  888|       |    if (NULL == (native_float16 = (H5T_t *)H5I_object(H5T_NATIVE_FLOAT16_g)))
  889|       |        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype object");
  890|       |#endif
  891|      1|    if (NULL == (native_float = (H5T_t *)H5I_object(H5T_NATIVE_FLOAT_g)))
  ------------------
  |  Branch (891:9): [True: 0, False: 1]
  ------------------
  892|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  893|      1|    if (NULL == (native_double = (H5T_t *)H5I_object(H5T_NATIVE_DOUBLE_g)))
  ------------------
  |  Branch (893:9): [True: 0, False: 1]
  ------------------
  894|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  895|      1|    if (NULL == (native_ldouble = (H5T_t *)H5I_object(H5T_NATIVE_LDOUBLE_g)))
  ------------------
  |  Branch (895:9): [True: 0, False: 1]
  ------------------
  896|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  897|       |
  898|       |    /*------------------------------------------------------------
  899|       |     * Derived native types
  900|       |     *------------------------------------------------------------
  901|       |     */
  902|       |
  903|       |    /* 1-byte bit field */
  904|      2|    H5T_INIT_TYPE(BITFIELD, H5T_NATIVE_B8_g, COPY, native_uint, SET, 1)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
  905|       |
  906|       |    /* 2-byte bit field */
  907|      2|    H5T_INIT_TYPE(BITFIELD, H5T_NATIVE_B16_g, COPY, native_uint, SET, 2)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
  908|       |
  909|       |    /* 4-byte bit field */
  910|      2|    H5T_INIT_TYPE(BITFIELD, H5T_NATIVE_B32_g, COPY, native_uint, SET, 4)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
  911|       |
  912|       |    /* 8-byte bit field */
  913|      2|    H5T_INIT_TYPE(BITFIELD, H5T_NATIVE_B64_g, COPY, native_uint, SET, 8)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
  914|       |
  915|       |    /* haddr_t */
  916|      2|    H5T_INIT_TYPE(OFFSET, H5T_NATIVE_HADDR_g, COPY, native_uint, SET, sizeof(haddr_t))
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
  917|       |
  918|       |    /* hsize_t */
  919|      2|    H5T_INIT_TYPE(OFFSET, H5T_NATIVE_HSIZE_g, COPY, native_uint, SET, sizeof(hsize_t))
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
  920|       |
  921|       |    /* hssize_t */
  922|      2|    H5T_INIT_TYPE(OFFSET, H5T_NATIVE_HSSIZE_g, COPY, native_int, SET, sizeof(hssize_t))
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
  923|       |
  924|       |    /* herr_t */
  925|      2|    H5T_INIT_TYPE(OFFSET, H5T_NATIVE_HERR_g, COPY, native_int, SET, sizeof(herr_t))
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
  926|       |
  927|       |    /* bool */
  928|      2|    H5T_INIT_TYPE(OFFSET, H5T_NATIVE_HBOOL_g, COPY, native_uint, SET, sizeof(bool))
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
  929|       |
  930|       |    /*------------------------------------------------------------
  931|       |     * IEEE Types
  932|       |     *------------------------------------------------------------
  933|       |     */
  934|       |
  935|       |    /* IEEE 2-byte little-endian float */
  936|      2|    H5T_INIT_TYPE(FLOAT16LE, H5T_IEEE_F16LE_g, COPY, native_double, SET, 2)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
  937|       |
  938|       |    /* IEEE 2-byte big-endian float */
  939|      2|    H5T_INIT_TYPE(FLOAT16BE, H5T_IEEE_F16BE_g, COPY, native_double, SET, 2)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
  940|       |
  941|       |    /* IEEE 4-byte little-endian float */
  942|      2|    H5T_INIT_TYPE(FLOATLE, H5T_IEEE_F32LE_g, COPY, native_double, SET, 4)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
  943|       |
  944|       |    /* IEEE 4-byte big-endian float */
  945|      2|    H5T_INIT_TYPE(FLOATBE, H5T_IEEE_F32BE_g, COPY, native_double, SET, 4)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
  946|       |
  947|       |    /* IEEE 8-byte little-endian float */
  948|      2|    H5T_INIT_TYPE(DOUBLELE, H5T_IEEE_F64LE_g, COPY, native_double, SET, 8)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
  949|       |
  950|       |    /* IEEE 8-byte big-endian float */
  951|      2|    H5T_INIT_TYPE(DOUBLEBE, H5T_IEEE_F64BE_g, COPY, native_double, SET, 8)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
  952|       |
  953|       |    /*------------------------------------------------------------
  954|       |     * VAX Types
  955|       |     *------------------------------------------------------------
  956|       |     */
  957|       |
  958|       |    /* VAX 4-byte float */
  959|      2|    H5T_INIT_TYPE(FLOATVAX, H5T_VAX_F32_g, COPY, native_double, SET, 4)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
  960|       |
  961|       |    /* VAX 8-byte double */
  962|      2|    H5T_INIT_TYPE(DOUBLEVAX, H5T_VAX_F64_g, COPY, native_double, SET, 8)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
  963|       |
  964|       |    /*------------------------------------------------------------
  965|       |     * C99 types
  966|       |     *------------------------------------------------------------
  967|       |     */
  968|       |
  969|       |    /* 1-byte little-endian (endianness is irrelevant) signed integer */
  970|      2|    H5T_INIT_TYPE(SINTLE, H5T_STD_I8LE_g, COPY, native_int, SET, 1)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
  971|       |
  972|       |    /* 1-byte big-endian (endianness is irrelevant) signed integer */
  973|      2|    H5T_INIT_TYPE(SINTBE, H5T_STD_I8BE_g, COPY, native_int, SET, 1)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
  974|       |
  975|       |    /* 2-byte little-endian signed integer */
  976|      2|    H5T_INIT_TYPE(SINTLE, H5T_STD_I16LE_g, COPY, native_int, SET, 2)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
  977|       |
  978|       |    /* 2-byte big-endian signed integer */
  979|      2|    H5T_INIT_TYPE(SINTBE, H5T_STD_I16BE_g, COPY, native_int, SET, 2)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
  980|       |
  981|       |    /* 4-byte little-endian signed integer */
  982|      2|    H5T_INIT_TYPE(SINTLE, H5T_STD_I32LE_g, COPY, native_int, SET, 4)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
  983|       |
  984|       |    /* 4-byte big-endian signed integer */
  985|      2|    H5T_INIT_TYPE(SINTBE, H5T_STD_I32BE_g, COPY, native_int, SET, 4)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
  986|       |
  987|       |    /* 8-byte little-endian signed integer */
  988|      2|    H5T_INIT_TYPE(SINTLE, H5T_STD_I64LE_g, COPY, native_int, SET, 8)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
  989|       |
  990|       |    /* 8-byte big-endian signed integer */
  991|      2|    H5T_INIT_TYPE(SINTBE, H5T_STD_I64BE_g, COPY, native_int, SET, 8)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
  992|       |
  993|       |    /* 1-byte little-endian (endianness is irrelevant) unsigned integer */
  994|      2|    H5T_INIT_TYPE(UINTLE, H5T_STD_U8LE_g, COPY, native_uint, SET, 1)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
  995|      1|    std_u8le = dt; /* Keep type for later */
  996|       |
  997|       |    /* 1-byte big-endian (endianness is irrelevant) unsigned integer */
  998|      1|    H5T_INIT_TYPE(UINTBE, H5T_STD_U8BE_g, COPY, native_uint, SET, 1)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
  999|      1|    std_u8be = dt; /* Keep type for later */
 1000|       |
 1001|       |    /* 2-byte little-endian unsigned integer */
 1002|      1|    H5T_INIT_TYPE(UINTLE, H5T_STD_U16LE_g, COPY, native_uint, SET, 2)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
 1003|      1|    std_u16le = dt; /* Keep type for later */
 1004|       |
 1005|       |    /* 2-byte big-endian unsigned integer */
 1006|      1|    H5T_INIT_TYPE(UINTBE, H5T_STD_U16BE_g, COPY, native_uint, SET, 2)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
 1007|      1|    std_u16be = dt; /* Keep type for later */
 1008|       |
 1009|       |    /* 4-byte little-endian unsigned integer */
 1010|      1|    H5T_INIT_TYPE(UINTLE, H5T_STD_U32LE_g, COPY, native_uint, SET, 4)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
 1011|      1|    std_u32le = dt; /* Keep type for later */
 1012|       |
 1013|       |    /* 4-byte big-endian unsigned integer */
 1014|      1|    H5T_INIT_TYPE(UINTBE, H5T_STD_U32BE_g, COPY, native_uint, SET, 4)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
 1015|      1|    std_u32be = dt; /* Keep type for later */
 1016|       |
 1017|       |    /* 8-byte little-endian unsigned integer */
 1018|      1|    H5T_INIT_TYPE(UINTLE, H5T_STD_U64LE_g, COPY, native_uint, SET, 8)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
 1019|      1|    std_u64le = dt; /* Keep type for later */
 1020|       |
 1021|       |    /* 8-byte big-endian unsigned integer */
 1022|      1|    H5T_INIT_TYPE(UINTBE, H5T_STD_U64BE_g, COPY, native_uint, SET, 8)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
 1023|      1|    std_u64be = dt; /* Keep type for later */
 1024|       |
 1025|       |    /*------------------------------------------------------------
 1026|       |     * Native, Little- & Big-endian bitfields
 1027|       |     *------------------------------------------------------------
 1028|       |     */
 1029|       |
 1030|       |    /* little-endian (order is irrelevant) 8-bit bitfield */
 1031|      1|    H5T_INIT_TYPE(BITFIELDLE, H5T_STD_B8LE_g, COPY, std_u8le, NOSET, -)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
 1032|      1|    bitfield = dt; /* Keep type for later */
 1033|       |
 1034|       |    /* big-endian (order is irrelevant) 8-bit bitfield */
 1035|      1|    H5T_INIT_TYPE(BITFIELDBE, H5T_STD_B8BE_g, COPY, std_u8be, NOSET, -)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
 1036|       |
 1037|       |    /* Little-endian 16-bit bitfield */
 1038|      2|    H5T_INIT_TYPE(BITFIELDLE, H5T_STD_B16LE_g, COPY, std_u16le, NOSET, -)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
 1039|       |
 1040|       |    /* Big-endian 16-bit bitfield */
 1041|      2|    H5T_INIT_TYPE(BITFIELDBE, H5T_STD_B16BE_g, COPY, std_u16be, NOSET, -)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
 1042|       |
 1043|       |    /* Little-endian 32-bit bitfield */
 1044|      2|    H5T_INIT_TYPE(BITFIELDLE, H5T_STD_B32LE_g, COPY, std_u32le, NOSET, -)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
 1045|       |
 1046|       |    /* Big-endian 32-bit bitfield */
 1047|      2|    H5T_INIT_TYPE(BITFIELDBE, H5T_STD_B32BE_g, COPY, std_u32be, NOSET, -)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
 1048|       |
 1049|       |    /* Little-endian 64-bit bitfield */
 1050|      2|    H5T_INIT_TYPE(BITFIELDLE, H5T_STD_B64LE_g, COPY, std_u64le, NOSET, -)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
 1051|       |
 1052|       |    /* Big-endian 64-bit bitfield */
 1053|      2|    H5T_INIT_TYPE(BITFIELDBE, H5T_STD_B64BE_g, COPY, std_u64be, NOSET, -)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
 1054|       |
 1055|       |    /*------------------------------------------------------------
 1056|       |     * The Unix architecture for dates and times.
 1057|       |     *------------------------------------------------------------
 1058|       |     */
 1059|       |
 1060|       |    /* Little-endian 32-bit UNIX time_t */
 1061|      2|    H5T_INIT_TYPE(TIME, H5T_UNIX_D32LE_g, COPY, std_u32le, NOSET, -)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
 1062|       |
 1063|       |    /* Big-endian 32-bit UNIX time_t */
 1064|      2|    H5T_INIT_TYPE(TIME, H5T_UNIX_D32BE_g, COPY, std_u32be, NOSET, -)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
 1065|       |
 1066|       |    /* Little-endian 64-bit UNIX time_t */
 1067|      2|    H5T_INIT_TYPE(TIME, H5T_UNIX_D64LE_g, COPY, std_u64le, NOSET, -)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
 1068|       |
 1069|       |    /* Big-endian 64-bit UNIX time_t */
 1070|      2|    H5T_INIT_TYPE(TIME, H5T_UNIX_D64BE_g, COPY, std_u64be, NOSET, -)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
 1071|       |
 1072|       |    /* Indicate that the types that are created from here down are allocated
 1073|       |     * H5FL_ALLOC(), not copied with H5T_copy()
 1074|       |     */
 1075|      1|    copied_dtype = false;
 1076|       |
 1077|       |    /* Opaque data */
 1078|      1|    H5T_INIT_TYPE(OPAQ, H5T_NATIVE_OPAQUE_g, ALLOC, -, SET, 1)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
 1079|       |
 1080|       |    /*------------------------------------------------------------
 1081|       |     * The `C' architecture
 1082|       |     *------------------------------------------------------------
 1083|       |     */
 1084|       |
 1085|       |    /* One-byte character string */
 1086|      2|    H5T_INIT_TYPE(CSTRING, H5T_C_S1_g, ALLOC, -, SET, 1)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
 1087|      1|    string = dt; /* Keep type for later */
 1088|       |
 1089|       |    /*------------------------------------------------------------
 1090|       |     * The `Fortran' architecture
 1091|       |     *------------------------------------------------------------
 1092|       |     */
 1093|       |
 1094|       |    /* One-byte character string */
 1095|      1|    H5T_INIT_TYPE(FORSTRING, H5T_FORTRAN_S1_g, ALLOC, -, SET, 1)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
 1096|       |
 1097|       |    /*------------------------------------------------------------
 1098|       |     * Reference types
 1099|       |     *------------------------------------------------------------
 1100|       |     */
 1101|       |
 1102|       |    /* Deprecated object reference type */
 1103|      2|    H5T_INIT_TYPE(OBJREF, H5T_STD_REF_OBJ_g, ALLOC, -, NOSET, -)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
 1104|      1|    if (H5T_set_loc(dt, NULL, H5T_LOC_MEMORY) < 0)
  ------------------
  |  Branch (1104:9): [True: 0, False: 1]
  ------------------
 1105|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1106|      1|    objref = dt; /* Keep type for later */
 1107|       |
 1108|       |    /* Deprecated region reference type */
 1109|      1|    H5T_INIT_TYPE(REGREF, H5T_STD_REF_DSETREG_g, ALLOC, -, NOSET, -)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
 1110|      1|    if (H5T_set_loc(dt, NULL, H5T_LOC_MEMORY) < 0)
  ------------------
  |  Branch (1110:9): [True: 0, False: 1]
  ------------------
 1111|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1112|      1|    regref = dt; /* Keep type for later */
 1113|       |
 1114|       |    /* Opaque reference type */
 1115|      1|    H5T_INIT_TYPE(REF, H5T_STD_REF_g, ALLOC, -, NOSET, -)
  ------------------
  |  |  357|      1|    {                                                                                                        \
  |  |  358|      1|        /* Get new datatype struct */                                                                        \
  |  |  359|      1|        H5_GLUE3(H5T_INIT_TYPE_, CRT_TMPL, _CREATE)                                                          \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  360|      1|        (BASE)                                                                                               \
  |  |  361|      1|                                                                                                             \
  |  |  362|      1|            /* Adjust information for all types */                                                           \
  |  |  363|      1|            dt->shared->state = H5T_STATE_IMMUTABLE;                                                         \
  |  |  364|      1|        H5_GLUE3(H5T_INIT_TYPE_, SIZE_TMPL, _SIZE)                                                           \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  365|      1|        (SIZE)                                                                                               \
  |  |  366|      1|                                                                                                             \
  |  |  367|      1|            /* Adjust information for this type */                                                           \
  |  |  368|      1|            H5_GLUE3(H5T_INIT_TYPE_, GUTS, _CORE)                                                            \
  |  |  ------------------
  |  |  |  |  894|      1|#define H5_GLUE3(x, y, z)    x##y##z
  |  |  ------------------
  |  |  369|      1|                                                                                                             \
  |  |  370|      1|            /* Register result */                                                                            \
  |  |  371|      1|            if (((GLOBAL) = H5I_register(H5I_DATATYPE, dt, false)) < 0)                                      \
  |  |  ------------------
  |  |  |  Branch (371:17): [True: 0, False: 1]
  |  |  ------------------
  |  |  372|      1|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register datatype atom");       \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  373|      1|    }
  ------------------
 1116|      1|    if (H5T_set_loc(dt, NULL, H5T_LOC_MEMORY) < 0)
  ------------------
  |  Branch (1116:9): [True: 0, False: 1]
  ------------------
 1117|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1118|      1|    ref = dt; /* Keep type for later */
 1119|       |
 1120|       |    /*
 1121|       |     * Register conversion functions beginning with the most general and
 1122|       |     * ending with the most specific.
 1123|       |     */
 1124|      1|    fixedpt = native_int;
 1125|      1|    floatpt = native_float;
 1126|      1|    if (NULL == (compound = H5T__create(H5T_COMPOUND, (size_t)1)))
  ------------------
  |  Branch (1126:9): [True: 0, False: 1]
  ------------------
 1127|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1128|      1|    if (NULL == (enum_type = H5T__create(H5T_ENUM, (size_t)1)))
  ------------------
  |  Branch (1128:9): [True: 0, False: 1]
  ------------------
 1129|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1130|      1|    if (NULL == (vlen = H5T__vlen_create(native_int)))
  ------------------
  |  Branch (1130:9): [True: 0, False: 1]
  ------------------
 1131|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1132|      1|    if (NULL == (array = H5T__array_create(native_int, 1, dim)))
  ------------------
  |  Branch (1132:9): [True: 0, False: 1]
  ------------------
 1133|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1134|      1|    status = 0;
 1135|       |
 1136|      1|    status |= H5T__register_int(H5T_PERS_SOFT, "i_i", fixedpt, fixedpt, H5T__conv_i_i);
 1137|      1|    status |= H5T__register_int(H5T_PERS_SOFT, "i_f", fixedpt, floatpt, H5T__conv_i_f);
 1138|      1|    status |= H5T__register_int(H5T_PERS_SOFT, "f_f", floatpt, floatpt, H5T__conv_f_f);
 1139|      1|    status |= H5T__register_int(H5T_PERS_SOFT, "f_i", floatpt, fixedpt, H5T__conv_f_i);
 1140|      1|    status |= H5T__register_int(H5T_PERS_SOFT, "s_s", string, string, H5T__conv_s_s);
 1141|      1|    status |= H5T__register_int(H5T_PERS_SOFT, "b_b", bitfield, bitfield, H5T__conv_b_b);
 1142|      1|    status |= H5T__register_int(H5T_PERS_SOFT, "ibo", fixedpt, fixedpt, H5T__conv_order);
 1143|      1|    status |= H5T__register_int(H5T_PERS_SOFT, "ibo(opt)", fixedpt, fixedpt, H5T__conv_order_opt);
 1144|      1|    status |= H5T__register_int(H5T_PERS_SOFT, "fbo", floatpt, floatpt, H5T__conv_order);
 1145|      1|    status |= H5T__register_int(H5T_PERS_SOFT, "fbo(opt)", floatpt, floatpt, H5T__conv_order_opt);
 1146|      1|    status |= H5T__register_int(H5T_PERS_SOFT, "struct(no-opt)", compound, compound, H5T__conv_struct);
 1147|      1|    status |= H5T__register_int(H5T_PERS_SOFT, "struct(opt)", compound, compound, H5T__conv_struct_opt);
 1148|      1|    status |= H5T__register_int(H5T_PERS_SOFT, "enum", enum_type, enum_type, H5T__conv_enum);
 1149|      1|    status |= H5T__register_int(H5T_PERS_SOFT, "enum_i", enum_type, fixedpt, H5T__conv_enum_numeric);
 1150|      1|    status |= H5T__register_int(H5T_PERS_SOFT, "enum_f", enum_type, floatpt, H5T__conv_enum_numeric);
 1151|      1|    status |= H5T__register_int(H5T_PERS_SOFT, "vlen", vlen, vlen, H5T__conv_vlen);
 1152|      1|    status |= H5T__register_int(H5T_PERS_SOFT, "array", array, array, H5T__conv_array);
 1153|      1|    status |= H5T__register_int(H5T_PERS_SOFT, "objref", objref, objref, H5T__conv_noop);
 1154|      1|    status |= H5T__register_int(H5T_PERS_SOFT, "regref", regref, regref, H5T__conv_noop);
 1155|      1|    status |= H5T__register_int(H5T_PERS_SOFT, "ref", ref, ref, H5T__conv_ref);
 1156|      1|    status |= H5T__register_int(H5T_PERS_SOFT, "objref_ref", objref, ref, H5T__conv_ref);
 1157|      1|    status |= H5T__register_int(H5T_PERS_SOFT, "regref_ref", regref, ref, H5T__conv_ref);
 1158|       |
 1159|       |    /*
 1160|       |     * Native conversions should be listed last since we can use hardware to
 1161|       |     * perform the conversion.  We list the odd types like `llong', `long',
 1162|       |     * and `short' before the usual types like `int' and `char' so that when
 1163|       |     * diagnostics are printed we favor the usual names over the odd names
 1164|       |     * when two or more types are the same size.
 1165|       |     */
 1166|       |
 1167|       |    /* floating point */
 1168|      1|    status |=
 1169|      1|        H5T__register_int(H5T_PERS_HARD, "flt_dbl", native_float, native_double, H5T__conv_float_double);
 1170|      1|    status |=
 1171|      1|        H5T__register_int(H5T_PERS_HARD, "dbl_flt", native_double, native_float, H5T__conv_double_float);
 1172|      1|    status |=
 1173|      1|        H5T__register_int(H5T_PERS_HARD, "flt_ldbl", native_float, native_ldouble, H5T__conv_float_ldouble);
 1174|      1|    status |=
 1175|      1|        H5T__register_int(H5T_PERS_HARD, "dbl_ldbl", native_double, native_ldouble, H5T__conv_double_ldouble);
 1176|      1|    status |=
 1177|      1|        H5T__register_int(H5T_PERS_HARD, "ldbl_flt", native_ldouble, native_float, H5T__conv_ldouble_float);
 1178|      1|    status |=
 1179|      1|        H5T__register_int(H5T_PERS_HARD, "ldbl_dbl", native_ldouble, native_double, H5T__conv_ldouble_double);
 1180|       |#ifdef H5_HAVE__FLOAT16
 1181|       |    status |=
 1182|       |        H5T__register_int(H5T_PERS_HARD, "flt16_flt", native_float16, native_float, H5T__conv__Float16_float);
 1183|       |    status |= H5T__register_int(H5T_PERS_HARD, "flt16_dbl", native_float16, native_double,
 1184|       |                                H5T__conv__Float16_double);
 1185|       |    status |= H5T__register_int(H5T_PERS_HARD, "flt16_ldbl", native_float16, native_ldouble,
 1186|       |                                H5T__conv__Float16_ldouble);
 1187|       |    status |=
 1188|       |        H5T__register_int(H5T_PERS_HARD, "flt_flt16", native_float, native_float16, H5T__conv_float__Float16);
 1189|       |    status |= H5T__register_int(H5T_PERS_HARD, "dbl_flt16", native_double, native_float16,
 1190|       |                                H5T__conv_double__Float16);
 1191|       |#ifdef H5T_CONV_INTERNAL_LDOUBLE_FLOAT16
 1192|       |    status |= H5T__register_int(H5T_PERS_HARD, "ldbl_flt16", native_ldouble, native_float16,
 1193|       |                                H5T__conv_ldouble__Float16);
 1194|       |#endif
 1195|       |#endif
 1196|       |
 1197|       |    /* from long long */
 1198|      1|    status |=
 1199|      1|        H5T__register_int(H5T_PERS_HARD, "llong_ullong", native_llong, native_ullong, H5T__conv_llong_ullong);
 1200|      1|    status |=
 1201|      1|        H5T__register_int(H5T_PERS_HARD, "ullong_llong", native_ullong, native_llong, H5T__conv_ullong_llong);
 1202|      1|    status |= H5T__register_int(H5T_PERS_HARD, "llong_long", native_llong, native_long, H5T__conv_llong_long);
 1203|      1|    status |=
 1204|      1|        H5T__register_int(H5T_PERS_HARD, "llong_ulong", native_llong, native_ulong, H5T__conv_llong_ulong);
 1205|      1|    status |=
 1206|      1|        H5T__register_int(H5T_PERS_HARD, "ullong_long", native_ullong, native_long, H5T__conv_ullong_long);
 1207|      1|    status |=
 1208|      1|        H5T__register_int(H5T_PERS_HARD, "ullong_ulong", native_ullong, native_ulong, H5T__conv_ullong_ulong);
 1209|      1|    status |=
 1210|      1|        H5T__register_int(H5T_PERS_HARD, "llong_short", native_llong, native_short, H5T__conv_llong_short);
 1211|      1|    status |=
 1212|      1|        H5T__register_int(H5T_PERS_HARD, "llong_ushort", native_llong, native_ushort, H5T__conv_llong_ushort);
 1213|      1|    status |=
 1214|      1|        H5T__register_int(H5T_PERS_HARD, "ullong_short", native_ullong, native_short, H5T__conv_ullong_short);
 1215|      1|    status |= H5T__register_int(H5T_PERS_HARD, "ullong_ushort", native_ullong, native_ushort,
 1216|      1|                                H5T__conv_ullong_ushort);
 1217|      1|    status |= H5T__register_int(H5T_PERS_HARD, "llong_int", native_llong, native_int, H5T__conv_llong_int);
 1218|      1|    status |= H5T__register_int(H5T_PERS_HARD, "llong_uint", native_llong, native_uint, H5T__conv_llong_uint);
 1219|      1|    status |= H5T__register_int(H5T_PERS_HARD, "ullong_int", native_ullong, native_int, H5T__conv_ullong_int);
 1220|      1|    status |=
 1221|      1|        H5T__register_int(H5T_PERS_HARD, "ullong_uint", native_ullong, native_uint, H5T__conv_ullong_uint);
 1222|      1|    status |=
 1223|      1|        H5T__register_int(H5T_PERS_HARD, "llong_schar", native_llong, native_schar, H5T__conv_llong_schar);
 1224|      1|    status |=
 1225|      1|        H5T__register_int(H5T_PERS_HARD, "llong_uchar", native_llong, native_uchar, H5T__conv_llong_uchar);
 1226|      1|    status |=
 1227|      1|        H5T__register_int(H5T_PERS_HARD, "ullong_schar", native_ullong, native_schar, H5T__conv_ullong_schar);
 1228|      1|    status |=
 1229|      1|        H5T__register_int(H5T_PERS_HARD, "ullong_uchar", native_ullong, native_uchar, H5T__conv_ullong_uchar);
 1230|       |
 1231|       |    /* From long */
 1232|      1|    status |= H5T__register_int(H5T_PERS_HARD, "long_llong", native_long, native_llong, H5T__conv_long_llong);
 1233|      1|    status |=
 1234|      1|        H5T__register_int(H5T_PERS_HARD, "long_ullong", native_long, native_ullong, H5T__conv_long_ullong);
 1235|      1|    status |=
 1236|      1|        H5T__register_int(H5T_PERS_HARD, "ulong_llong", native_ulong, native_llong, H5T__conv_ulong_llong);
 1237|      1|    status |=
 1238|      1|        H5T__register_int(H5T_PERS_HARD, "ulong_ullong", native_ulong, native_ullong, H5T__conv_ulong_ullong);
 1239|      1|    status |= H5T__register_int(H5T_PERS_HARD, "long_ulong", native_long, native_ulong, H5T__conv_long_ulong);
 1240|      1|    status |= H5T__register_int(H5T_PERS_HARD, "ulong_long", native_ulong, native_long, H5T__conv_ulong_long);
 1241|      1|    status |= H5T__register_int(H5T_PERS_HARD, "long_short", native_long, native_short, H5T__conv_long_short);
 1242|      1|    status |=
 1243|      1|        H5T__register_int(H5T_PERS_HARD, "long_ushort", native_long, native_ushort, H5T__conv_long_ushort);
 1244|      1|    status |=
 1245|      1|        H5T__register_int(H5T_PERS_HARD, "ulong_short", native_ulong, native_short, H5T__conv_ulong_short);
 1246|      1|    status |=
 1247|      1|        H5T__register_int(H5T_PERS_HARD, "ulong_ushort", native_ulong, native_ushort, H5T__conv_ulong_ushort);
 1248|      1|    status |= H5T__register_int(H5T_PERS_HARD, "long_int", native_long, native_int, H5T__conv_long_int);
 1249|      1|    status |= H5T__register_int(H5T_PERS_HARD, "long_uint", native_long, native_uint, H5T__conv_long_uint);
 1250|      1|    status |= H5T__register_int(H5T_PERS_HARD, "ulong_int", native_ulong, native_int, H5T__conv_ulong_int);
 1251|      1|    status |= H5T__register_int(H5T_PERS_HARD, "ulong_uint", native_ulong, native_uint, H5T__conv_ulong_uint);
 1252|      1|    status |= H5T__register_int(H5T_PERS_HARD, "long_schar", native_long, native_schar, H5T__conv_long_schar);
 1253|      1|    status |= H5T__register_int(H5T_PERS_HARD, "long_uchar", native_long, native_uchar, H5T__conv_long_uchar);
 1254|      1|    status |=
 1255|      1|        H5T__register_int(H5T_PERS_HARD, "ulong_schar", native_ulong, native_schar, H5T__conv_ulong_schar);
 1256|      1|    status |=
 1257|      1|        H5T__register_int(H5T_PERS_HARD, "ulong_uchar", native_ulong, native_uchar, H5T__conv_ulong_uchar);
 1258|       |
 1259|       |    /* From short */
 1260|      1|    status |=
 1261|      1|        H5T__register_int(H5T_PERS_HARD, "short_llong", native_short, native_llong, H5T__conv_short_llong);
 1262|      1|    status |=
 1263|      1|        H5T__register_int(H5T_PERS_HARD, "short_ullong", native_short, native_ullong, H5T__conv_short_ullong);
 1264|      1|    status |=
 1265|      1|        H5T__register_int(H5T_PERS_HARD, "ushort_llong", native_ushort, native_llong, H5T__conv_ushort_llong);
 1266|      1|    status |= H5T__register_int(H5T_PERS_HARD, "ushort_ullong", native_ushort, native_ullong,
 1267|      1|                                H5T__conv_ushort_ullong);
 1268|      1|    status |= H5T__register_int(H5T_PERS_HARD, "short_long", native_short, native_long, H5T__conv_short_long);
 1269|      1|    status |=
 1270|      1|        H5T__register_int(H5T_PERS_HARD, "short_ulong", native_short, native_ulong, H5T__conv_short_ulong);
 1271|      1|    status |=
 1272|      1|        H5T__register_int(H5T_PERS_HARD, "ushort_long", native_ushort, native_long, H5T__conv_ushort_long);
 1273|      1|    status |=
 1274|      1|        H5T__register_int(H5T_PERS_HARD, "ushort_ulong", native_ushort, native_ulong, H5T__conv_ushort_ulong);
 1275|      1|    status |=
 1276|      1|        H5T__register_int(H5T_PERS_HARD, "short_ushort", native_short, native_ushort, H5T__conv_short_ushort);
 1277|      1|    status |=
 1278|      1|        H5T__register_int(H5T_PERS_HARD, "ushort_short", native_ushort, native_short, H5T__conv_ushort_short);
 1279|      1|    status |= H5T__register_int(H5T_PERS_HARD, "short_int", native_short, native_int, H5T__conv_short_int);
 1280|      1|    status |= H5T__register_int(H5T_PERS_HARD, "short_uint", native_short, native_uint, H5T__conv_short_uint);
 1281|      1|    status |= H5T__register_int(H5T_PERS_HARD, "ushort_int", native_ushort, native_int, H5T__conv_ushort_int);
 1282|      1|    status |=
 1283|      1|        H5T__register_int(H5T_PERS_HARD, "ushort_uint", native_ushort, native_uint, H5T__conv_ushort_uint);
 1284|      1|    status |=
 1285|      1|        H5T__register_int(H5T_PERS_HARD, "short_schar", native_short, native_schar, H5T__conv_short_schar);
 1286|      1|    status |=
 1287|      1|        H5T__register_int(H5T_PERS_HARD, "short_uchar", native_short, native_uchar, H5T__conv_short_uchar);
 1288|      1|    status |=
 1289|      1|        H5T__register_int(H5T_PERS_HARD, "ushort_schar", native_ushort, native_schar, H5T__conv_ushort_schar);
 1290|      1|    status |=
 1291|      1|        H5T__register_int(H5T_PERS_HARD, "ushort_uchar", native_ushort, native_uchar, H5T__conv_ushort_uchar);
 1292|       |
 1293|       |    /* From int */
 1294|      1|    status |= H5T__register_int(H5T_PERS_HARD, "int_llong", native_int, native_llong, H5T__conv_int_llong);
 1295|      1|    status |= H5T__register_int(H5T_PERS_HARD, "int_ullong", native_int, native_ullong, H5T__conv_int_ullong);
 1296|      1|    status |= H5T__register_int(H5T_PERS_HARD, "uint_llong", native_uint, native_llong, H5T__conv_uint_llong);
 1297|      1|    status |=
 1298|      1|        H5T__register_int(H5T_PERS_HARD, "uint_ullong", native_uint, native_ullong, H5T__conv_uint_ullong);
 1299|      1|    status |= H5T__register_int(H5T_PERS_HARD, "int_long", native_int, native_long, H5T__conv_int_long);
 1300|      1|    status |= H5T__register_int(H5T_PERS_HARD, "int_ulong", native_int, native_ulong, H5T__conv_int_ulong);
 1301|      1|    status |= H5T__register_int(H5T_PERS_HARD, "uint_long", native_uint, native_long, H5T__conv_uint_long);
 1302|      1|    status |= H5T__register_int(H5T_PERS_HARD, "uint_ulong", native_uint, native_ulong, H5T__conv_uint_ulong);
 1303|      1|    status |= H5T__register_int(H5T_PERS_HARD, "int_short", native_int, native_short, H5T__conv_int_short);
 1304|      1|    status |= H5T__register_int(H5T_PERS_HARD, "int_ushort", native_int, native_ushort, H5T__conv_int_ushort);
 1305|      1|    status |= H5T__register_int(H5T_PERS_HARD, "uint_short", native_uint, native_short, H5T__conv_uint_short);
 1306|      1|    status |=
 1307|      1|        H5T__register_int(H5T_PERS_HARD, "uint_ushort", native_uint, native_ushort, H5T__conv_uint_ushort);
 1308|      1|    status |= H5T__register_int(H5T_PERS_HARD, "int_uint", native_int, native_uint, H5T__conv_int_uint);
 1309|      1|    status |= H5T__register_int(H5T_PERS_HARD, "uint_int", native_uint, native_int, H5T__conv_uint_int);
 1310|      1|    status |= H5T__register_int(H5T_PERS_HARD, "int_schar", native_int, native_schar, H5T__conv_int_schar);
 1311|      1|    status |= H5T__register_int(H5T_PERS_HARD, "int_uchar", native_int, native_uchar, H5T__conv_int_uchar);
 1312|      1|    status |= H5T__register_int(H5T_PERS_HARD, "uint_schar", native_uint, native_schar, H5T__conv_uint_schar);
 1313|      1|    status |= H5T__register_int(H5T_PERS_HARD, "uint_uchar", native_uint, native_uchar, H5T__conv_uint_uchar);
 1314|       |
 1315|       |    /* From char */
 1316|      1|    status |=
 1317|      1|        H5T__register_int(H5T_PERS_HARD, "schar_llong", native_schar, native_llong, H5T__conv_schar_llong);
 1318|      1|    status |=
 1319|      1|        H5T__register_int(H5T_PERS_HARD, "schar_ullong", native_schar, native_ullong, H5T__conv_schar_ullong);
 1320|      1|    status |=
 1321|      1|        H5T__register_int(H5T_PERS_HARD, "uchar_llong", native_uchar, native_llong, H5T__conv_uchar_llong);
 1322|      1|    status |=
 1323|      1|        H5T__register_int(H5T_PERS_HARD, "uchar_ullong", native_uchar, native_ullong, H5T__conv_uchar_ullong);
 1324|      1|    status |= H5T__register_int(H5T_PERS_HARD, "schar_long", native_schar, native_long, H5T__conv_schar_long);
 1325|      1|    status |=
 1326|      1|        H5T__register_int(H5T_PERS_HARD, "schar_ulong", native_schar, native_ulong, H5T__conv_schar_ulong);
 1327|      1|    status |= H5T__register_int(H5T_PERS_HARD, "uchar_long", native_uchar, native_long, H5T__conv_uchar_long);
 1328|      1|    status |=
 1329|      1|        H5T__register_int(H5T_PERS_HARD, "uchar_ulong", native_uchar, native_ulong, H5T__conv_uchar_ulong);
 1330|      1|    status |=
 1331|      1|        H5T__register_int(H5T_PERS_HARD, "schar_short", native_schar, native_short, H5T__conv_schar_short);
 1332|      1|    status |=
 1333|      1|        H5T__register_int(H5T_PERS_HARD, "schar_ushort", native_schar, native_ushort, H5T__conv_schar_ushort);
 1334|      1|    status |=
 1335|      1|        H5T__register_int(H5T_PERS_HARD, "uchar_short", native_uchar, native_short, H5T__conv_uchar_short);
 1336|      1|    status |=
 1337|      1|        H5T__register_int(H5T_PERS_HARD, "uchar_ushort", native_uchar, native_ushort, H5T__conv_uchar_ushort);
 1338|      1|    status |= H5T__register_int(H5T_PERS_HARD, "schar_int", native_schar, native_int, H5T__conv_schar_int);
 1339|      1|    status |= H5T__register_int(H5T_PERS_HARD, "schar_uint", native_schar, native_uint, H5T__conv_schar_uint);
 1340|      1|    status |= H5T__register_int(H5T_PERS_HARD, "uchar_int", native_uchar, native_int, H5T__conv_uchar_int);
 1341|      1|    status |= H5T__register_int(H5T_PERS_HARD, "uchar_uint", native_uchar, native_uint, H5T__conv_uchar_uint);
 1342|      1|    status |=
 1343|      1|        H5T__register_int(H5T_PERS_HARD, "schar_uchar", native_schar, native_uchar, H5T__conv_schar_uchar);
 1344|      1|    status |=
 1345|      1|        H5T__register_int(H5T_PERS_HARD, "uchar_schar", native_uchar, native_schar, H5T__conv_uchar_schar);
 1346|       |
 1347|       |    /* From char to floats */
 1348|      1|    status |=
 1349|      1|        H5T__register_int(H5T_PERS_HARD, "schar_flt", native_schar, native_float, H5T__conv_schar_float);
 1350|      1|    status |=
 1351|      1|        H5T__register_int(H5T_PERS_HARD, "schar_dbl", native_schar, native_double, H5T__conv_schar_double);
 1352|      1|    status |=
 1353|      1|        H5T__register_int(H5T_PERS_HARD, "schar_ldbl", native_schar, native_ldouble, H5T__conv_schar_ldouble);
 1354|       |#ifdef H5_HAVE__FLOAT16
 1355|       |    status |= H5T__register_int(H5T_PERS_HARD, "schar_flt16", native_schar, native_float16,
 1356|       |                                H5T__conv_schar__Float16);
 1357|       |#endif
 1358|       |
 1359|       |    /* From unsigned char to floats */
 1360|      1|    status |=
 1361|      1|        H5T__register_int(H5T_PERS_HARD, "uchar_flt", native_uchar, native_float, H5T__conv_uchar_float);
 1362|      1|    status |=
 1363|      1|        H5T__register_int(H5T_PERS_HARD, "uchar_dbl", native_uchar, native_double, H5T__conv_uchar_double);
 1364|      1|    status |=
 1365|      1|        H5T__register_int(H5T_PERS_HARD, "uchar_ldbl", native_uchar, native_ldouble, H5T__conv_uchar_ldouble);
 1366|       |#ifdef H5_HAVE__FLOAT16
 1367|       |    status |= H5T__register_int(H5T_PERS_HARD, "uchar_flt16", native_uchar, native_float16,
 1368|       |                                H5T__conv_uchar__Float16);
 1369|       |#endif
 1370|       |
 1371|       |    /* From short to floats */
 1372|      1|    status |=
 1373|      1|        H5T__register_int(H5T_PERS_HARD, "short_flt", native_short, native_float, H5T__conv_short_float);
 1374|      1|    status |=
 1375|      1|        H5T__register_int(H5T_PERS_HARD, "short_dbl", native_short, native_double, H5T__conv_short_double);
 1376|      1|    status |=
 1377|      1|        H5T__register_int(H5T_PERS_HARD, "short_ldbl", native_short, native_ldouble, H5T__conv_short_ldouble);
 1378|       |#ifdef H5_HAVE__FLOAT16
 1379|       |    status |= H5T__register_int(H5T_PERS_HARD, "short_flt16", native_short, native_float16,
 1380|       |                                H5T__conv_short__Float16);
 1381|       |#endif
 1382|       |
 1383|       |    /* From unsigned short to floats */
 1384|      1|    status |=
 1385|      1|        H5T__register_int(H5T_PERS_HARD, "ushort_flt", native_ushort, native_float, H5T__conv_ushort_float);
 1386|      1|    status |=
 1387|      1|        H5T__register_int(H5T_PERS_HARD, "ushort_dbl", native_ushort, native_double, H5T__conv_ushort_double);
 1388|      1|    status |= H5T__register_int(H5T_PERS_HARD, "ushort_ldbl", native_ushort, native_ldouble,
 1389|      1|                                H5T__conv_ushort_ldouble);
 1390|       |#ifdef H5_HAVE__FLOAT16
 1391|       |    status |= H5T__register_int(H5T_PERS_HARD, "ushort_flt16", native_ushort, native_float16,
 1392|       |                                H5T__conv_ushort__Float16);
 1393|       |#endif
 1394|       |
 1395|       |    /* From int to floats */
 1396|      1|    status |= H5T__register_int(H5T_PERS_HARD, "int_flt", native_int, native_float, H5T__conv_int_float);
 1397|      1|    status |= H5T__register_int(H5T_PERS_HARD, "int_dbl", native_int, native_double, H5T__conv_int_double);
 1398|      1|    status |= H5T__register_int(H5T_PERS_HARD, "int_ldbl", native_int, native_ldouble, H5T__conv_int_ldouble);
 1399|       |#ifdef H5_HAVE__FLOAT16
 1400|       |    status |=
 1401|       |        H5T__register_int(H5T_PERS_HARD, "int_flt16", native_int, native_float16, H5T__conv_int__Float16);
 1402|       |#endif
 1403|       |
 1404|       |    /* From unsigned int to floats */
 1405|      1|    status |= H5T__register_int(H5T_PERS_HARD, "uint_flt", native_uint, native_float, H5T__conv_uint_float);
 1406|      1|    status |= H5T__register_int(H5T_PERS_HARD, "uint_dbl", native_uint, native_double, H5T__conv_uint_double);
 1407|      1|    status |=
 1408|      1|        H5T__register_int(H5T_PERS_HARD, "uint_ldbl", native_uint, native_ldouble, H5T__conv_uint_ldouble);
 1409|       |#ifdef H5_HAVE__FLOAT16
 1410|       |    status |=
 1411|       |        H5T__register_int(H5T_PERS_HARD, "uint_flt16", native_uint, native_float16, H5T__conv_uint__Float16);
 1412|       |#endif
 1413|       |
 1414|       |    /* From long to floats */
 1415|      1|    status |= H5T__register_int(H5T_PERS_HARD, "long_flt", native_long, native_float, H5T__conv_long_float);
 1416|      1|    status |= H5T__register_int(H5T_PERS_HARD, "long_dbl", native_long, native_double, H5T__conv_long_double);
 1417|      1|    status |=
 1418|      1|        H5T__register_int(H5T_PERS_HARD, "long_ldbl", native_long, native_ldouble, H5T__conv_long_ldouble);
 1419|       |#ifdef H5_HAVE__FLOAT16
 1420|       |    status |=
 1421|       |        H5T__register_int(H5T_PERS_HARD, "long_flt16", native_long, native_float16, H5T__conv_long__Float16);
 1422|       |#endif
 1423|       |
 1424|       |    /* From unsigned long to floats */
 1425|      1|    status |=
 1426|      1|        H5T__register_int(H5T_PERS_HARD, "ulong_flt", native_ulong, native_float, H5T__conv_ulong_float);
 1427|      1|    status |=
 1428|      1|        H5T__register_int(H5T_PERS_HARD, "ulong_dbl", native_ulong, native_double, H5T__conv_ulong_double);
 1429|      1|    status |=
 1430|      1|        H5T__register_int(H5T_PERS_HARD, "ulong_ldbl", native_ulong, native_ldouble, H5T__conv_ulong_ldouble);
 1431|       |#ifdef H5_HAVE__FLOAT16
 1432|       |    status |= H5T__register_int(H5T_PERS_HARD, "ulong_flt16", native_ulong, native_float16,
 1433|       |                                H5T__conv_ulong__Float16);
 1434|       |#endif
 1435|       |
 1436|       |    /* From long long to floats */
 1437|      1|    status |=
 1438|      1|        H5T__register_int(H5T_PERS_HARD, "llong_flt", native_llong, native_float, H5T__conv_llong_float);
 1439|      1|    status |=
 1440|      1|        H5T__register_int(H5T_PERS_HARD, "llong_dbl", native_llong, native_double, H5T__conv_llong_double);
 1441|      1|#ifdef H5T_CONV_INTERNAL_LLONG_LDOUBLE
 1442|      1|    status |=
 1443|      1|        H5T__register_int(H5T_PERS_HARD, "llong_ldbl", native_llong, native_ldouble, H5T__conv_llong_ldouble);
 1444|      1|#endif /* H5T_CONV_INTERNAL_LLONG_LDOUBLE */
 1445|       |#ifdef H5_HAVE__FLOAT16
 1446|       |    status |= H5T__register_int(H5T_PERS_HARD, "llong_flt16", native_llong, native_float16,
 1447|       |                                H5T__conv_llong__Float16);
 1448|       |#endif
 1449|       |
 1450|       |    /* From unsigned long long to floats */
 1451|      1|    status |=
 1452|      1|        H5T__register_int(H5T_PERS_HARD, "ullong_flt", native_ullong, native_float, H5T__conv_ullong_float);
 1453|      1|    status |=
 1454|      1|        H5T__register_int(H5T_PERS_HARD, "ullong_dbl", native_ullong, native_double, H5T__conv_ullong_double);
 1455|      1|#ifdef H5T_CONV_INTERNAL_ULLONG_LDOUBLE
 1456|      1|    status |= H5T__register_int(H5T_PERS_HARD, "ullong_ldbl", native_ullong, native_ldouble,
 1457|      1|                                H5T__conv_ullong_ldouble);
 1458|      1|#endif /* H5T_CONV_INTERNAL_ULLONG_LDOUBLE */
 1459|       |#ifdef H5_HAVE__FLOAT16
 1460|       |    status |= H5T__register_int(H5T_PERS_HARD, "ullong_flt16", native_ullong, native_float16,
 1461|       |                                H5T__conv_ullong__Float16);
 1462|       |#endif
 1463|       |
 1464|       |    /* From floats to char */
 1465|      1|    status |=
 1466|      1|        H5T__register_int(H5T_PERS_HARD, "flt_schar", native_float, native_schar, H5T__conv_float_schar);
 1467|      1|    status |=
 1468|      1|        H5T__register_int(H5T_PERS_HARD, "dbl_schar", native_double, native_schar, H5T__conv_double_schar);
 1469|      1|    status |=
 1470|      1|        H5T__register_int(H5T_PERS_HARD, "ldbl_schar", native_ldouble, native_schar, H5T__conv_ldouble_schar);
 1471|       |#ifdef H5_HAVE__FLOAT16
 1472|       |    status |= H5T__register_int(H5T_PERS_HARD, "flt16_schar", native_float16, native_schar,
 1473|       |                                H5T__conv__Float16_schar);
 1474|       |#endif
 1475|       |
 1476|       |    /* From floats to unsigned char */
 1477|      1|    status |=
 1478|      1|        H5T__register_int(H5T_PERS_HARD, "flt_uchar", native_float, native_uchar, H5T__conv_float_uchar);
 1479|      1|    status |=
 1480|      1|        H5T__register_int(H5T_PERS_HARD, "dbl_uchar", native_double, native_uchar, H5T__conv_double_uchar);
 1481|      1|    status |=
 1482|      1|        H5T__register_int(H5T_PERS_HARD, "ldbl_uchar", native_ldouble, native_uchar, H5T__conv_ldouble_uchar);
 1483|       |#ifdef H5_HAVE__FLOAT16
 1484|       |    status |= H5T__register_int(H5T_PERS_HARD, "flt16_uchar", native_float16, native_uchar,
 1485|       |                                H5T__conv__Float16_uchar);
 1486|       |#endif
 1487|       |
 1488|       |    /* From floats to short */
 1489|      1|    status |=
 1490|      1|        H5T__register_int(H5T_PERS_HARD, "flt_short", native_float, native_short, H5T__conv_float_short);
 1491|      1|    status |=
 1492|      1|        H5T__register_int(H5T_PERS_HARD, "dbl_short", native_double, native_short, H5T__conv_double_short);
 1493|      1|    status |=
 1494|      1|        H5T__register_int(H5T_PERS_HARD, "ldbl_short", native_ldouble, native_short, H5T__conv_ldouble_short);
 1495|       |#ifdef H5_HAVE__FLOAT16
 1496|       |    status |= H5T__register_int(H5T_PERS_HARD, "flt16_short", native_float16, native_short,
 1497|       |                                H5T__conv__Float16_short);
 1498|       |#endif
 1499|       |
 1500|       |    /* From floats to unsigned short */
 1501|      1|    status |=
 1502|      1|        H5T__register_int(H5T_PERS_HARD, "flt_ushort", native_float, native_ushort, H5T__conv_float_ushort);
 1503|      1|    status |=
 1504|      1|        H5T__register_int(H5T_PERS_HARD, "dbl_ushort", native_double, native_ushort, H5T__conv_double_ushort);
 1505|      1|    status |= H5T__register_int(H5T_PERS_HARD, "ldbl_ushort", native_ldouble, native_ushort,
 1506|      1|                                H5T__conv_ldouble_ushort);
 1507|       |#ifdef H5_HAVE__FLOAT16
 1508|       |    status |= H5T__register_int(H5T_PERS_HARD, "flt16_ushort", native_float16, native_ushort,
 1509|       |                                H5T__conv__Float16_ushort);
 1510|       |#endif
 1511|       |
 1512|       |    /* From floats to int */
 1513|      1|    status |= H5T__register_int(H5T_PERS_HARD, "flt_int", native_float, native_int, H5T__conv_float_int);
 1514|      1|    status |= H5T__register_int(H5T_PERS_HARD, "dbl_int", native_double, native_int, H5T__conv_double_int);
 1515|      1|    status |= H5T__register_int(H5T_PERS_HARD, "ldbl_int", native_ldouble, native_int, H5T__conv_ldouble_int);
 1516|       |#ifdef H5_HAVE__FLOAT16
 1517|       |    status |=
 1518|       |        H5T__register_int(H5T_PERS_HARD, "flt16_int", native_float16, native_int, H5T__conv__Float16_int);
 1519|       |#endif
 1520|       |
 1521|       |    /* From floats to unsigned int */
 1522|      1|    status |= H5T__register_int(H5T_PERS_HARD, "flt_uint", native_float, native_uint, H5T__conv_float_uint);
 1523|      1|    status |= H5T__register_int(H5T_PERS_HARD, "dbl_uint", native_double, native_uint, H5T__conv_double_uint);
 1524|      1|    status |=
 1525|      1|        H5T__register_int(H5T_PERS_HARD, "ldbl_uint", native_ldouble, native_uint, H5T__conv_ldouble_uint);
 1526|       |#ifdef H5_HAVE__FLOAT16
 1527|       |    status |=
 1528|       |        H5T__register_int(H5T_PERS_HARD, "flt16_uint", native_float16, native_uint, H5T__conv__Float16_uint);
 1529|       |#endif
 1530|       |
 1531|       |    /* From floats to long */
 1532|      1|    status |= H5T__register_int(H5T_PERS_HARD, "flt_long", native_float, native_long, H5T__conv_float_long);
 1533|      1|    status |= H5T__register_int(H5T_PERS_HARD, "dbl_long", native_double, native_long, H5T__conv_double_long);
 1534|      1|    status |=
 1535|      1|        H5T__register_int(H5T_PERS_HARD, "ldbl_long", native_ldouble, native_long, H5T__conv_ldouble_long);
 1536|       |#ifdef H5_HAVE__FLOAT16
 1537|       |    status |=
 1538|       |        H5T__register_int(H5T_PERS_HARD, "flt16_long", native_float16, native_long, H5T__conv__Float16_long);
 1539|       |#endif
 1540|       |
 1541|       |    /* From floats to unsigned long */
 1542|      1|    status |=
 1543|      1|        H5T__register_int(H5T_PERS_HARD, "flt_ulong", native_float, native_ulong, H5T__conv_float_ulong);
 1544|      1|    status |=
 1545|      1|        H5T__register_int(H5T_PERS_HARD, "dbl_ulong", native_double, native_ulong, H5T__conv_double_ulong);
 1546|      1|    status |=
 1547|      1|        H5T__register_int(H5T_PERS_HARD, "ldbl_ulong", native_ldouble, native_ulong, H5T__conv_ldouble_ulong);
 1548|       |#ifdef H5_HAVE__FLOAT16
 1549|       |    status |= H5T__register_int(H5T_PERS_HARD, "flt16_ulong", native_float16, native_ulong,
 1550|       |                                H5T__conv__Float16_ulong);
 1551|       |#endif
 1552|       |
 1553|       |    /* From floats to long long */
 1554|      1|    status |=
 1555|      1|        H5T__register_int(H5T_PERS_HARD, "flt_llong", native_float, native_llong, H5T__conv_float_llong);
 1556|      1|    status |=
 1557|      1|        H5T__register_int(H5T_PERS_HARD, "dbl_llong", native_double, native_llong, H5T__conv_double_llong);
 1558|      1|#ifdef H5T_CONV_INTERNAL_LDOUBLE_LLONG
 1559|      1|    status |=
 1560|      1|        H5T__register_int(H5T_PERS_HARD, "ldbl_llong", native_ldouble, native_llong, H5T__conv_ldouble_llong);
 1561|      1|#endif /* H5T_CONV_INTERNAL_LDOUBLE_LLONG */
 1562|       |#ifdef H5_HAVE__FLOAT16
 1563|       |    status |= H5T__register_int(H5T_PERS_HARD, "flt16_llong", native_float16, native_llong,
 1564|       |                                H5T__conv__Float16_llong);
 1565|       |#endif
 1566|       |
 1567|       |    /* From floats to unsigned long long */
 1568|      1|    status |=
 1569|      1|        H5T__register_int(H5T_PERS_HARD, "flt_ullong", native_float, native_ullong, H5T__conv_float_ullong);
 1570|      1|    status |=
 1571|      1|        H5T__register_int(H5T_PERS_HARD, "dbl_ullong", native_double, native_ullong, H5T__conv_double_ullong);
 1572|      1|#if H5T_CONV_INTERNAL_LDOUBLE_ULLONG
 1573|      1|    status |= H5T__register_int(H5T_PERS_HARD, "ldbl_ullong", native_ldouble, native_ullong,
 1574|      1|                                H5T__conv_ldouble_ullong);
 1575|      1|#endif /* H5T_CONV_INTERNAL_LDOUBLE_ULLONG */
 1576|       |#ifdef H5_HAVE__FLOAT16
 1577|       |    status |= H5T__register_int(H5T_PERS_HARD, "flt16_ullong", native_float16, native_ullong,
 1578|       |                                H5T__conv__Float16_ullong);
 1579|       |#endif
 1580|       |
 1581|       |    /*
 1582|       |     * The special no-op conversion is the fastest, so we list it last. The
 1583|       |     * data types we use are not important as long as the source and
 1584|       |     * destination are equal.
 1585|       |     */
 1586|      1|    status |= H5T__register_int(H5T_PERS_HARD, "no-op", native_int, native_int, H5T__conv_noop);
 1587|       |
 1588|       |    /* Initialize the +/- Infinity values for floating-point types */
 1589|      1|    status |= H5T__init_inf();
 1590|       |
 1591|      1|    if (status < 0)
  ------------------
  |  Branch (1591:9): [True: 0, False: 1]
  ------------------
 1592|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to register conversion function(s)");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1593|       |
 1594|       |    /* Register datatype creation property class properties here.  See similar
 1595|       |     * code in H5D_init(), etc. for example.
 1596|       |     */
 1597|       |
 1598|       |    /* Only register the default property list if it hasn't been created yet */
 1599|      1|    if (H5P_LST_DATATYPE_CREATE_ID_g == (-1)) {
  ------------------
  |  Branch (1599:9): [True: 0, False: 1]
  ------------------
 1600|       |        /* ========== Datatype Creation Property Class Initialization ============*/
 1601|      0|        assert(H5P_CLS_DATATYPE_CREATE_g != NULL);
 1602|       |
 1603|       |        /* Register the default datatype creation property list */
 1604|      0|        if ((H5P_LST_DATATYPE_CREATE_ID_g = H5P_create_id(H5P_CLS_DATATYPE_CREATE_g, false)) < 0)
  ------------------
  |  Branch (1604:13): [True: 0, False: 0]
  ------------------
 1605|      0|            HGOTO_ERROR(H5E_PLIST, H5E_CANTREGISTER, FAIL, "can't insert property into class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1606|      0|    } /* end if */
 1607|       |
 1608|      1|done:
 1609|       |    /* General cleanup */
 1610|      1|    if (compound != NULL)
  ------------------
  |  Branch (1610:9): [True: 1, False: 0]
  ------------------
 1611|      1|        (void)H5T_close_real(compound);
 1612|      1|    if (enum_type != NULL)
  ------------------
  |  Branch (1612:9): [True: 1, False: 0]
  ------------------
 1613|      1|        (void)H5T_close_real(enum_type);
 1614|      1|    if (vlen != NULL)
  ------------------
  |  Branch (1614:9): [True: 1, False: 0]
  ------------------
 1615|      1|        (void)H5T_close_real(vlen);
 1616|      1|    if (array != NULL)
  ------------------
  |  Branch (1616:9): [True: 1, False: 0]
  ------------------
 1617|      1|        (void)H5T_close_real(array);
 1618|       |
 1619|       |    /* Error cleanup */
 1620|      1|    if (ret_value < 0) {
  ------------------
  |  Branch (1620:9): [True: 0, False: 1]
  ------------------
 1621|      0|        if (dt) {
  ------------------
  |  Branch (1621:13): [True: 0, False: 0]
  ------------------
 1622|       |            /* Check if we should call H5T_close_real or H5FL_FREE */
 1623|      0|            if (copied_dtype)
  ------------------
  |  Branch (1623:17): [True: 0, False: 0]
  ------------------
 1624|      0|                (void)H5T_close_real(dt);
 1625|      0|            else {
 1626|      0|                if (dt->shared->owned_vol_obj && H5VL_free_object(dt->shared->owned_vol_obj) < 0)
  ------------------
  |  Branch (1626:21): [True: 0, False: 0]
  |  Branch (1626:50): [True: 0, False: 0]
  ------------------
 1627|      0|                    HDONE_ERROR(H5E_DATATYPE, H5E_CANTCLOSEOBJ, FAIL, "unable to close owned VOL object");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1628|      0|                dt->shared = H5FL_FREE(H5T_shared_t, dt->shared);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 1629|      0|                dt         = H5FL_FREE(H5T_t, dt);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 1630|      0|            } /* end else */
 1631|      0|        }     /* end if */
 1632|      0|    }         /* end if */
 1633|       |
 1634|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1635|      1|} /* end H5T_init() */
H5T_top_term_package:
 1679|      2|{
 1680|      2|    int n = 0;
 1681|       |
 1682|      2|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      2|    {                                                                                                        \
  |  | 1425|      2|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      2|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      2|        {
  ------------------
 1683|       |
 1684|       |    /* Unregister all conversion functions */
 1685|      2|    if (H5T_g.path) {
  ------------------
  |  Branch (1685:9): [True: 1, False: 1]
  ------------------
 1686|      1|        H5T_conv_ctx_t conv_ctx = {0};
 1687|       |
 1688|      1|        conv_ctx.u.free.src_type_id = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1689|      1|        conv_ctx.u.free.dst_type_id = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1690|       |
 1691|    112|        for (int i = 0; i < H5T_g.npaths; i++) {
  ------------------
  |  Branch (1691:25): [True: 111, False: 1]
  ------------------
 1692|    111|            H5T_path_t *path = H5T_g.path[i];
 1693|       |
 1694|    111|            (void)H5T__path_free(path, &conv_ctx);
 1695|       |
 1696|    111|            H5T_g.path[i] = NULL;
 1697|    111|        } /* end for */
 1698|       |
 1699|       |        /* Clear conversion tables */
 1700|      1|        H5T_g.path   = (H5T_path_t **)H5MM_xfree(H5T_g.path);
 1701|      1|        H5T_g.npaths = 0;
 1702|      1|        H5T_g.apaths = 0;
 1703|      1|        H5T_g.soft   = (H5T_soft_t *)H5MM_xfree(H5T_g.soft);
 1704|      1|        H5T_g.nsoft  = 0;
 1705|      1|        H5T_g.asoft  = 0;
 1706|       |
 1707|      1|        n++;
 1708|      1|    } /* end if */
 1709|       |
 1710|       |    /* Unlock all datatypes, then free them */
 1711|       |    /* note that we are ignoring the return value from H5I_iterate() */
 1712|       |    /* Also note that we are incrementing 'n' in the callback */
 1713|      2|    H5I_iterate(H5I_DATATYPE, H5T__unlock_cb, &n, false);
 1714|       |
 1715|       |    /* Release all datatype IDs */
 1716|      2|    if (H5I_nmembers(H5I_DATATYPE) > 0) {
  ------------------
  |  Branch (1716:9): [True: 1, False: 1]
  ------------------
 1717|      1|        (void)H5I_clear_type(H5I_DATATYPE, false, false);
 1718|      1|        n++; /*H5I*/
 1719|      1|    }        /* end if */
 1720|       |
 1721|       |    /* Reset all the datatype IDs */
 1722|      2|    if (H5T_IEEE_F32BE_g > 0) {
  ------------------
  |  Branch (1722:9): [True: 1, False: 1]
  ------------------
 1723|      1|        H5T_IEEE_F16BE_g = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1724|      1|        H5T_IEEE_F16LE_g = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1725|      1|        H5T_IEEE_F32BE_g = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1726|      1|        H5T_IEEE_F32LE_g = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1727|      1|        H5T_IEEE_F64BE_g = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1728|      1|        H5T_IEEE_F64LE_g = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1729|       |
 1730|      1|        H5T_STD_I8BE_g        = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1731|      1|        H5T_STD_I8LE_g        = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1732|      1|        H5T_STD_I16BE_g       = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1733|      1|        H5T_STD_I16LE_g       = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1734|      1|        H5T_STD_I32BE_g       = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1735|      1|        H5T_STD_I32LE_g       = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1736|      1|        H5T_STD_I64BE_g       = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1737|      1|        H5T_STD_I64LE_g       = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1738|      1|        H5T_STD_U8BE_g        = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1739|      1|        H5T_STD_U8LE_g        = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1740|      1|        H5T_STD_U16BE_g       = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1741|      1|        H5T_STD_U16LE_g       = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1742|      1|        H5T_STD_U32BE_g       = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1743|      1|        H5T_STD_U32LE_g       = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1744|      1|        H5T_STD_U64BE_g       = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1745|      1|        H5T_STD_U64LE_g       = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1746|      1|        H5T_STD_B8BE_g        = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1747|      1|        H5T_STD_B8LE_g        = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1748|      1|        H5T_STD_B16BE_g       = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1749|      1|        H5T_STD_B16LE_g       = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1750|      1|        H5T_STD_B32BE_g       = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1751|      1|        H5T_STD_B32LE_g       = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1752|      1|        H5T_STD_B64BE_g       = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1753|      1|        H5T_STD_B64LE_g       = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1754|      1|        H5T_STD_REF_OBJ_g     = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1755|      1|        H5T_STD_REF_DSETREG_g = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1756|      1|        H5T_STD_REF_g         = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1757|       |
 1758|      1|        H5T_UNIX_D32BE_g = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1759|      1|        H5T_UNIX_D32LE_g = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1760|      1|        H5T_UNIX_D64BE_g = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1761|      1|        H5T_UNIX_D64LE_g = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1762|       |
 1763|      1|        H5T_C_S1_g = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1764|       |
 1765|      1|        H5T_FORTRAN_S1_g = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1766|       |
 1767|      1|        H5T_NATIVE_SCHAR_g   = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1768|      1|        H5T_NATIVE_UCHAR_g   = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1769|      1|        H5T_NATIVE_SHORT_g   = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1770|      1|        H5T_NATIVE_USHORT_g  = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1771|      1|        H5T_NATIVE_INT_g     = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1772|      1|        H5T_NATIVE_UINT_g    = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1773|      1|        H5T_NATIVE_LONG_g    = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1774|      1|        H5T_NATIVE_ULONG_g   = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1775|      1|        H5T_NATIVE_LLONG_g   = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1776|      1|        H5T_NATIVE_ULLONG_g  = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1777|      1|        H5T_NATIVE_FLOAT16_g = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1778|      1|        H5T_NATIVE_FLOAT_g   = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1779|      1|        H5T_NATIVE_DOUBLE_g  = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1780|      1|        H5T_NATIVE_LDOUBLE_g = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1781|      1|        H5T_NATIVE_B8_g      = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1782|      1|        H5T_NATIVE_B16_g     = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1783|      1|        H5T_NATIVE_B32_g     = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1784|      1|        H5T_NATIVE_B64_g     = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1785|      1|        H5T_NATIVE_OPAQUE_g  = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1786|      1|        H5T_NATIVE_HADDR_g   = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1787|      1|        H5T_NATIVE_HSIZE_g   = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1788|      1|        H5T_NATIVE_HSSIZE_g  = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1789|      1|        H5T_NATIVE_HERR_g    = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1790|      1|        H5T_NATIVE_HBOOL_g   = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1791|       |
 1792|      1|        H5T_NATIVE_INT8_g        = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1793|      1|        H5T_NATIVE_UINT8_g       = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1794|      1|        H5T_NATIVE_INT_LEAST8_g  = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1795|      1|        H5T_NATIVE_UINT_LEAST8_g = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1796|      1|        H5T_NATIVE_INT_FAST8_g   = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1797|      1|        H5T_NATIVE_UINT_FAST8_g  = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1798|       |
 1799|      1|        H5T_NATIVE_INT16_g        = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1800|      1|        H5T_NATIVE_UINT16_g       = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1801|      1|        H5T_NATIVE_INT_LEAST16_g  = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1802|      1|        H5T_NATIVE_UINT_LEAST16_g = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1803|      1|        H5T_NATIVE_INT_FAST16_g   = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1804|      1|        H5T_NATIVE_UINT_FAST16_g  = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1805|       |
 1806|      1|        H5T_NATIVE_INT32_g        = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1807|      1|        H5T_NATIVE_UINT32_g       = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1808|      1|        H5T_NATIVE_INT_LEAST32_g  = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1809|      1|        H5T_NATIVE_UINT_LEAST32_g = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1810|      1|        H5T_NATIVE_INT_FAST32_g   = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1811|      1|        H5T_NATIVE_UINT_FAST32_g  = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1812|       |
 1813|      1|        H5T_NATIVE_INT64_g        = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1814|      1|        H5T_NATIVE_UINT64_g       = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1815|      1|        H5T_NATIVE_INT_LEAST64_g  = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1816|      1|        H5T_NATIVE_UINT_LEAST64_g = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1817|      1|        H5T_NATIVE_INT_FAST64_g   = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1818|      1|        H5T_NATIVE_UINT_FAST64_g  = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1819|       |
 1820|      1|        n++;
 1821|      1|    } /* end if */
 1822|       |
 1823|      2|    FUNC_LEAVE_NOAPI(n)
  ------------------
  |  | 1572|      2|    ;                                                                                                        \
  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1824|      2|} /* end H5T_top_term_package() */
H5T_term_package:
 1843|      1|{
 1844|      1|    int n = 0;
 1845|       |
 1846|      1|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      1|    {                                                                                                        \
  |  | 1425|      1|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      1|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      1|        {
  ------------------
 1847|       |
 1848|       |    /* Sanity check */
 1849|      1|    assert(0 == H5I_nmembers(H5I_DATATYPE));
 1850|       |
 1851|       |    /* Destroy the datatype object id group */
 1852|      1|    n += (H5I_dec_type_ref(H5I_DATATYPE) > 0);
 1853|       |
 1854|      1|    FUNC_LEAVE_NOAPI(n)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1855|      1|} /* end H5T_term_package() */
H5Tclose:
 2055|     95|{
 2056|     95|    H5T_t *dt;                  /* Pointer to datatype to close */
 2057|     95|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     95|#define SUCCEED 0
  ------------------
 2058|       |
 2059|    190|    FUNC_ENTER_API(FAIL)
  ------------------
  |  | 1300|     95|    {                                                                                                        \
  |  | 1301|     95|        {                                                                                                    \
  |  | 1302|     95|            bool api_ctx_pushed = false;                                                                     \
  |  | 1303|     95|                                                                                                             \
  |  | 1304|     95|            FUNC_ENTER_API_COMMON                                                                            \
  |  |  ------------------
  |  |  |  | 1281|     95|    FUNC_ENTER_COMMON(H5_IS_API(__func__));                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1265|     95|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  | 1266|     95|                                                                                                             \
  |  |  |  |  |  | 1267|     95|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  ------------------
  |  |  |  | 1282|     95|    FUNC_ENTER_API_THREADSAFE;
  |  |  ------------------
  |  | 1305|     95|            FUNC_ENTER_API_INIT(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1286|     95|    if (H5_UNLIKELY(!H5_INIT_GLOBAL && !H5_TERM_GLOBAL)) {                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     95|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 95]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 95]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1287|      0|        if (H5_UNLIKELY(H5_init_library() < 0))                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      0|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1288|      0|            HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, err, "library initialization failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1289|      0|    }
  |  |  ------------------
  |  | 1306|     95|            FUNC_ENTER_API_PUSH(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1293|     95|    if (H5_UNLIKELY(H5CX_push() < 0))                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     95|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 95]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1294|     95|        HGOTO_ERROR(H5E_FUNC, H5E_CANTSET, err, "can't set API context");                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1295|     95|    else                                                                                                     \
  |  |  |  | 1296|     95|        api_ctx_pushed = true;
  |  |  ------------------
  |  | 1307|     95|            /* Clear thread error stack entering public functions */                                         \
  |  | 1308|     95|            H5E_clear_stack();                                                                               \
  |  | 1309|     95|            {
  ------------------
 2060|       |
 2061|       |    /* Check args */
 2062|    190|    if (NULL == (dt = (H5T_t *)H5I_object_verify(type_id, H5I_DATATYPE)))
  ------------------
  |  Branch (2062:9): [True: 3, False: 92]
  ------------------
 2063|      3|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2064|     92|    if (H5T_STATE_IMMUTABLE == dt->shared->state)
  ------------------
  |  Branch (2064:9): [True: 0, False: 92]
  ------------------
 2065|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "immutable datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2066|       |
 2067|       |    /* When the reference count reaches zero the resources are freed */
 2068|     92|    if (H5I_dec_app_ref(type_id) < 0)
  ------------------
  |  Branch (2068:9): [True: 0, False: 92]
  ------------------
 2069|      0|        HGOTO_ERROR(H5E_ID, H5E_BADID, FAIL, "problem freeing id");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2070|       |
 2071|     95|done:
 2072|     95|    FUNC_LEAVE_API(ret_value)
  ------------------
  |  | 1509|     95|    ;                                                                                                        \
  |  | 1510|     95|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1511|     95|    if (H5_LIKELY(api_ctx_pushed)) {                                                                         \
  |  |  ------------------
  |  |  |  |  167|     95|#define H5_LIKELY(expression)   __builtin_expect(!!(expression), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (167:33): [True: 95, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1512|     95|        (void)H5CX_pop(true);                                                                                \
  |  | 1513|     95|        api_ctx_pushed = false;                                                                              \
  |  | 1514|     95|    }                                                                                                        \
  |  | 1515|     95|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|     95|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 3, False: 92]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1516|     95|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1517|     95|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1518|     95|    return (ret_value);                                                                                      \
  |  | 1519|     95|    }                                                                                                        \
  |  | 1520|     95|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2073|     92|} /* end H5Tclose() */
H5Tget_class:
 2215|     40|{
 2216|     40|    H5T_t      *dt;        /* Pointer to datatype */
 2217|     40|    H5T_class_t ret_value; /* Return value */
 2218|       |
 2219|     80|    FUNC_ENTER_API(H5T_NO_CLASS)
  ------------------
  |  | 1300|     40|    {                                                                                                        \
  |  | 1301|     40|        {                                                                                                    \
  |  | 1302|     40|            bool api_ctx_pushed = false;                                                                     \
  |  | 1303|     40|                                                                                                             \
  |  | 1304|     40|            FUNC_ENTER_API_COMMON                                                                            \
  |  |  ------------------
  |  |  |  | 1281|     40|    FUNC_ENTER_COMMON(H5_IS_API(__func__));                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1265|     40|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  | 1266|     40|                                                                                                             \
  |  |  |  |  |  | 1267|     40|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  ------------------
  |  |  |  | 1282|     40|    FUNC_ENTER_API_THREADSAFE;
  |  |  ------------------
  |  | 1305|     40|            FUNC_ENTER_API_INIT(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1286|     40|    if (H5_UNLIKELY(!H5_INIT_GLOBAL && !H5_TERM_GLOBAL)) {                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     40|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 40]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 40]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1287|      0|        if (H5_UNLIKELY(H5_init_library() < 0))                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      0|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1288|      0|            HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, err, "library initialization failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1289|      0|    }
  |  |  ------------------
  |  | 1306|     40|            FUNC_ENTER_API_PUSH(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1293|     40|    if (H5_UNLIKELY(H5CX_push() < 0))                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     40|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 40]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1294|     40|        HGOTO_ERROR(H5E_FUNC, H5E_CANTSET, err, "can't set API context");                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1295|     40|    else                                                                                                     \
  |  |  |  | 1296|     40|        api_ctx_pushed = true;
  |  |  ------------------
  |  | 1307|     40|            /* Clear thread error stack entering public functions */                                         \
  |  | 1308|     40|            H5E_clear_stack();                                                                               \
  |  | 1309|     40|            {
  ------------------
 2220|       |
 2221|       |    /* Check args */
 2222|     80|    if (NULL == (dt = (H5T_t *)H5I_object_verify(type_id, H5I_DATATYPE)))
  ------------------
  |  Branch (2222:9): [True: 3, False: 37]
  ------------------
 2223|      3|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, H5T_NO_CLASS, "not a datatype");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2224|       |
 2225|       |    /* Set return value */
 2226|     37|    ret_value = H5T_get_class(dt, false);
 2227|       |
 2228|     40|done:
 2229|     40|    FUNC_LEAVE_API(ret_value)
  ------------------
  |  | 1509|     40|    ;                                                                                                        \
  |  | 1510|     40|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1511|     40|    if (H5_LIKELY(api_ctx_pushed)) {                                                                         \
  |  |  ------------------
  |  |  |  |  167|     40|#define H5_LIKELY(expression)   __builtin_expect(!!(expression), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (167:33): [True: 40, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1512|     40|        (void)H5CX_pop(true);                                                                                \
  |  | 1513|     40|        api_ctx_pushed = false;                                                                              \
  |  | 1514|     40|    }                                                                                                        \
  |  | 1515|     40|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|     40|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 3, False: 37]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1516|     40|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1517|     40|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1518|     40|    return (ret_value);                                                                                      \
  |  | 1519|     40|    }                                                                                                        \
  |  | 1520|     40|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2230|     37|} /* end H5Tget_class() */
H5T_get_class:
 2245|     37|{
 2246|     37|    H5T_class_t ret_value = H5T_NO_CLASS; /* Return value */
 2247|       |
 2248|     37|    FUNC_ENTER_NOAPI_NOERR
  ------------------
  |  | 1397|     37|    {                                                                                                        \
  |  | 1398|     37|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|     37|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1399|     37|        {
  ------------------
 2249|       |
 2250|     37|    assert(dt);
 2251|       |
 2252|       |    /* Externally, a VL string is a string; internally, a VL string is a VL. */
 2253|     37|    if (internal) {
  ------------------
  |  Branch (2253:9): [True: 0, False: 37]
  ------------------
 2254|      0|        ret_value = dt->shared->type;
 2255|      0|    }
 2256|     37|    else {
 2257|     37|        if (H5T_IS_VL_STRING(dt->shared))
  ------------------
  |  |   52|     37|#define H5T_IS_VL_STRING(dt) (H5T_VLEN == (dt)->type && H5T_VLEN_STRING == (dt)->u.vlen.type)
  |  |  ------------------
  |  |  |  Branch (52:31): [True: 0, False: 37]
  |  |  |  Branch (52:57): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2258|      0|            ret_value = H5T_STRING;
 2259|     37|        else
 2260|     37|            ret_value = dt->shared->type;
 2261|     37|    }
 2262|       |
 2263|     37|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     37|    ;                                                                                                        \
  |  | 1573|     37|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     37|    return (ret_value);                                                                                      \
  |  | 1575|     37|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2264|     37|} /* end H5T_get_class() */
H5T_detect_class:
 2310|     30|{
 2311|     30|    unsigned i;
 2312|     30|    htri_t   ret_value = false; /* Return value */
 2313|       |
 2314|     30|    FUNC_ENTER_NOAPI_NOERR
  ------------------
  |  | 1397|     30|    {                                                                                                        \
  |  | 1398|     30|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|     30|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1399|     30|        {
  ------------------
 2315|       |
 2316|     30|    assert(dt);
 2317|     30|    assert(cls > H5T_NO_CLASS && cls < H5T_NCLASSES);
 2318|       |
 2319|       |    /* Consider VL string as a string for API, as a VL for internal use. */
 2320|       |    /* (note that this check must be performed before checking if the VL
 2321|       |     *  string belongs to the H5T_VLEN class, which would otherwise return
 2322|       |     *  true. -QAK)
 2323|       |     */
 2324|     30|    if (from_api && H5T_IS_VL_STRING(dt->shared))
  ------------------
  |  |   52|      0|#define H5T_IS_VL_STRING(dt) (H5T_VLEN == (dt)->type && H5T_VLEN_STRING == (dt)->u.vlen.type)
  |  |  ------------------
  |  |  |  Branch (52:31): [True: 0, False: 0]
  |  |  |  Branch (52:57): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  |  Branch (2324:9): [True: 0, False: 30]
  ------------------
 2325|      0|        HGOTO_DONE(H5T_STRING == cls);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2326|       |
 2327|       |    /* Check if this type is the correct type */
 2328|     30|    if (dt->shared->type == cls)
  ------------------
  |  Branch (2328:9): [True: 9, False: 21]
  ------------------
 2329|      9|        HGOTO_DONE(true);
  ------------------
  |  |   91|      9|    do {                                                                                                     \
  |  |   92|      9|        ret_value = ret_val;                                                                                 \
  |  |   93|      9|        goto done;                                                                                           \
  |  |   94|      9|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2330|       |
 2331|       |    /* check for types that might have the correct type as a component */
 2332|     21|    switch (dt->shared->type) {
 2333|      0|        case H5T_COMPOUND:
  ------------------
  |  Branch (2333:9): [True: 0, False: 21]
  ------------------
 2334|      0|            for (i = 0; i < dt->shared->u.compnd.nmembs; i++) {
  ------------------
  |  Branch (2334:25): [True: 0, False: 0]
  ------------------
 2335|      0|                htri_t nested_ret; /* Return value from nested call */
 2336|       |
 2337|       |                /* Check if this field's type is the correct type */
 2338|      0|                if (dt->shared->u.compnd.memb[i].type->shared->type == cls)
  ------------------
  |  Branch (2338:21): [True: 0, False: 0]
  ------------------
 2339|      0|                    HGOTO_DONE(true);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2340|       |
 2341|       |                /* Recurse if it's VL, compound, enum or array */
 2342|      0|                if (H5T_IS_COMPLEX(dt->shared->u.compnd.memb[i].type->shared->type))
  ------------------
  |  |   46|      0|    ((t) == H5T_COMPOUND || (t) == H5T_ENUM || (t) == H5T_VLEN || (t) == H5T_ARRAY || (t) == H5T_REFERENCE)
  |  |  ------------------
  |  |  |  Branch (46:6): [True: 0, False: 0]
  |  |  |  Branch (46:29): [True: 0, False: 0]
  |  |  |  Branch (46:48): [True: 0, False: 0]
  |  |  |  Branch (46:67): [True: 0, False: 0]
  |  |  |  Branch (46:87): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2343|      0|                    if ((nested_ret = H5T_detect_class(dt->shared->u.compnd.memb[i].type, cls, from_api)) !=
  ------------------
  |  Branch (2343:25): [True: 0, False: 0]
  ------------------
 2344|      0|                        false)
 2345|      0|                        HGOTO_DONE(nested_ret);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2346|      0|            } /* end for */
 2347|      0|            break;
 2348|       |
 2349|      0|        case H5T_ARRAY:
  ------------------
  |  Branch (2349:9): [True: 0, False: 21]
  ------------------
 2350|      0|        case H5T_VLEN:
  ------------------
  |  Branch (2350:9): [True: 0, False: 21]
  ------------------
 2351|      0|        case H5T_ENUM:
  ------------------
  |  Branch (2351:9): [True: 0, False: 21]
  ------------------
 2352|      0|            HGOTO_DONE(H5T_detect_class(dt->shared->parent, cls, from_api));
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2353|      0|            break;
 2354|      0|        case H5T_NO_CLASS:
  ------------------
  |  Branch (2354:9): [True: 0, False: 21]
  ------------------
 2355|      0|        case H5T_INTEGER:
  ------------------
  |  Branch (2355:9): [True: 0, False: 21]
  ------------------
 2356|      0|        case H5T_FLOAT:
  ------------------
  |  Branch (2356:9): [True: 0, False: 21]
  ------------------
 2357|      0|        case H5T_TIME:
  ------------------
  |  Branch (2357:9): [True: 0, False: 21]
  ------------------
 2358|      3|        case H5T_STRING:
  ------------------
  |  Branch (2358:9): [True: 3, False: 18]
  ------------------
 2359|      3|        case H5T_BITFIELD:
  ------------------
  |  Branch (2359:9): [True: 0, False: 21]
  ------------------
 2360|      3|        case H5T_OPAQUE:
  ------------------
  |  Branch (2360:9): [True: 0, False: 21]
  ------------------
 2361|     21|        case H5T_REFERENCE:
  ------------------
  |  Branch (2361:9): [True: 18, False: 3]
  ------------------
 2362|     21|        case H5T_NCLASSES:
  ------------------
  |  Branch (2362:9): [True: 0, False: 21]
  ------------------
 2363|     21|        default:
  ------------------
  |  Branch (2363:9): [True: 0, False: 21]
  ------------------
 2364|     21|            break;
 2365|     21|    } /* end if */
 2366|       |
 2367|     30|done:
 2368|     30|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     30|    ;                                                                                                        \
  |  | 1573|     30|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     30|    return (ret_value);                                                                                      \
  |  | 1575|     30|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2369|     21|} /* end H5T_detect_class() */
H5Tget_size:
 2432|     55|{
 2433|     55|    H5T_t *dt;        /* Datatype to query */
 2434|     55|    size_t ret_value; /* Return value */
 2435|       |
 2436|    110|    FUNC_ENTER_API(0)
  ------------------
  |  | 1300|     55|    {                                                                                                        \
  |  | 1301|     55|        {                                                                                                    \
  |  | 1302|     55|            bool api_ctx_pushed = false;                                                                     \
  |  | 1303|     55|                                                                                                             \
  |  | 1304|     55|            FUNC_ENTER_API_COMMON                                                                            \
  |  |  ------------------
  |  |  |  | 1281|     55|    FUNC_ENTER_COMMON(H5_IS_API(__func__));                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1265|     55|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  | 1266|     55|                                                                                                             \
  |  |  |  |  |  | 1267|     55|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  ------------------
  |  |  |  | 1282|     55|    FUNC_ENTER_API_THREADSAFE;
  |  |  ------------------
  |  | 1305|     55|            FUNC_ENTER_API_INIT(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1286|     55|    if (H5_UNLIKELY(!H5_INIT_GLOBAL && !H5_TERM_GLOBAL)) {                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     55|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 55]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 55]
  |  |  |  |  |  |  |  Branch (168:53): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1287|      0|        if (H5_UNLIKELY(H5_init_library() < 0))                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|      0|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1288|      0|            HGOTO_ERROR(H5E_FUNC, H5E_CANTINIT, err, "library initialization failed");                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1289|      0|    }
  |  |  ------------------
  |  | 1306|     55|            FUNC_ENTER_API_PUSH(err);                                                                        \
  |  |  ------------------
  |  |  |  | 1293|     55|    if (H5_UNLIKELY(H5CX_push() < 0))                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |  168|     55|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (168:33): [True: 0, False: 55]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1294|     55|        HGOTO_ERROR(H5E_FUNC, H5E_CANTSET, err, "can't set API context");                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1295|     55|    else                                                                                                     \
  |  |  |  | 1296|     55|        api_ctx_pushed = true;
  |  |  ------------------
  |  | 1307|     55|            /* Clear thread error stack entering public functions */                                         \
  |  | 1308|     55|            H5E_clear_stack();                                                                               \
  |  | 1309|     55|            {
  ------------------
 2437|       |
 2438|       |    /* Check args */
 2439|    110|    if (NULL == (dt = (H5T_t *)H5I_object_verify(type_id, H5I_DATATYPE)))
  ------------------
  |  Branch (2439:9): [True: 0, False: 55]
  ------------------
 2440|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, 0, "not a datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2441|       |
 2442|       |    /* size */
 2443|     55|    ret_value = H5T_GET_SIZE(dt);
  ------------------
  |  |   41|     55|#define H5T_GET_SIZE(T)             ((T)->shared->size)
  ------------------
 2444|       |
 2445|     55|done:
 2446|     55|    FUNC_LEAVE_API(ret_value)
  ------------------
  |  | 1509|     55|    ;                                                                                                        \
  |  | 1510|     55|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1511|     55|    if (H5_LIKELY(api_ctx_pushed)) {                                                                         \
  |  |  ------------------
  |  |  |  |  167|     55|#define H5_LIKELY(expression)   __builtin_expect(!!(expression), 1)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (167:33): [True: 55, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1512|     55|        (void)H5CX_pop(true);                                                                                \
  |  | 1513|     55|        api_ctx_pushed = false;                                                                              \
  |  | 1514|     55|    }                                                                                                        \
  |  | 1515|     55|    if (H5_UNLIKELY(err_occurred))                                                                           \
  |  |  ------------------
  |  |  |  |  168|     55|#define H5_UNLIKELY(expression) __builtin_expect(!!(expression), 0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (168:33): [True: 0, False: 55]
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 1516|     55|        (void)H5E_dump_api_stack();                                                                          \
  |  | 1517|     55|    FUNC_LEAVE_API_THREADSAFE                                                                                \
  |  | 1518|     55|    return (ret_value);                                                                                      \
  |  | 1519|     55|    }                                                                                                        \
  |  | 1520|     55|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2447|     55|} /* end H5Tget_size() */
H5T_unregister:
 2877|      7|{
 2878|      7|    H5T_conv_ctx_t conv_ctx  = {0};  /* Conversion context object   */
 2879|      7|    H5T_path_t    *path      = NULL; /* Conversion path             */
 2880|      7|    H5T_soft_t    *soft      = NULL; /* Soft conversion information */
 2881|      7|    herr_t         ret_value = SUCCEED;
  ------------------
  |  |  283|      7|#define SUCCEED 0
  ------------------
 2882|       |
 2883|      7|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      7|    {                                                                                                        \
  |  | 1392|      7|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      7|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      7|                                                                                                             \
  |  |  |  | 1267|      7|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      7|        {
  ------------------
 2884|       |
 2885|      7|    conv_ctx.u.free.src_type_id = H5I_INVALID_HID;
  ------------------
  |  |   75|      7|#define H5I_INVALID_HID (-1)
  ------------------
 2886|      7|    conv_ctx.u.free.dst_type_id = H5I_INVALID_HID;
  ------------------
  |  |   75|      7|#define H5I_INVALID_HID (-1)
  ------------------
 2887|       |
 2888|       |    /*
 2889|       |     * Remove matching entries from the soft list if:
 2890|       |     *
 2891|       |     *  - The caller didn't specify a particular type (soft or hard)
 2892|       |     *    of conversion path to match against or specified that soft
 2893|       |     *    conversion paths should be matched against
 2894|       |     *
 2895|       |     *  AND
 2896|       |     *
 2897|       |     *  - The caller didn't provide the `owned_vol_obj` parameter;
 2898|       |     *    if this parameter is provided, we want to leave the soft
 2899|       |     *    list untouched and only remove cached conversion paths
 2900|       |     *    below where the file VOL object associated with the path's
 2901|       |     *    source or destination types matches the given VOL object.
 2902|       |     */
 2903|      7|    if ((H5T_PERS_DONTCARE == pers || H5T_PERS_SOFT == pers) && !owned_vol_obj) {
  ------------------
  |  Branch (2903:10): [True: 0, False: 7]
  |  Branch (2903:39): [True: 7, False: 0]
  |  Branch (2903:65): [True: 0, False: 7]
  ------------------
 2904|      0|        for (int i = H5T_g.nsoft - 1; i >= 0; --i) {
  ------------------
  |  Branch (2904:39): [True: 0, False: 0]
  ------------------
 2905|      0|            soft = H5T_g.soft + i;
 2906|      0|            assert(soft);
 2907|      0|            if (name && *name && strcmp(name, soft->name) != 0)
  ------------------
  |  Branch (2907:17): [True: 0, False: 0]
  |  Branch (2907:25): [True: 0, False: 0]
  |  Branch (2907:34): [True: 0, False: 0]
  ------------------
 2908|      0|                continue;
 2909|      0|            if (src && src->shared->type != soft->src)
  ------------------
  |  Branch (2909:17): [True: 0, False: 0]
  |  Branch (2909:24): [True: 0, False: 0]
  ------------------
 2910|      0|                continue;
 2911|      0|            if (dst && dst->shared->type != soft->dst)
  ------------------
  |  Branch (2911:17): [True: 0, False: 0]
  |  Branch (2911:24): [True: 0, False: 0]
  ------------------
 2912|      0|                continue;
 2913|      0|            if (func && func != soft->conv.u.app_func)
  ------------------
  |  Branch (2913:17): [True: 0, False: 0]
  |  Branch (2913:25): [True: 0, False: 0]
  ------------------
 2914|      0|                continue;
 2915|       |
 2916|      0|            memmove(H5T_g.soft + i, H5T_g.soft + i + 1, (size_t)(H5T_g.nsoft - (i + 1)) * sizeof(H5T_soft_t));
 2917|      0|            --H5T_g.nsoft;
 2918|      0|        }
 2919|      0|    }
 2920|       |
 2921|       |    /* Remove matching conversion paths, except no-op path */
 2922|    784|    for (int i = H5T_g.npaths - 1; i > 0; --i) {
  ------------------
  |  Branch (2922:36): [True: 777, False: 7]
  ------------------
 2923|    777|        bool nomatch;
 2924|       |
 2925|    777|        path = H5T_g.path[i];
 2926|    777|        assert(path);
 2927|       |
 2928|    777|        nomatch = !H5T_path_match(path, pers, name, src, dst, owned_vol_obj, func);
 2929|       |
 2930|       |        /* Not a match */
 2931|    777|        if (nomatch) {
  ------------------
  |  Branch (2931:13): [True: 770, False: 7]
  ------------------
 2932|       |            /*
 2933|       |             * Notify all other functions to recalculate private data since some
 2934|       |             * functions might cache a list of conversion functions.  For
 2935|       |             * instance, the compound type converter caches a list of conversion
 2936|       |             * functions for the members, so removing a function should cause
 2937|       |             * the list to be recalculated to avoid the removed function.
 2938|       |             */
 2939|    770|            path->cdata.recalc = true;
 2940|    770|        }
 2941|      7|        else {
 2942|       |            /* Remove from table */
 2943|      7|            memmove(H5T_g.path + i, H5T_g.path + i + 1,
 2944|      7|                    (size_t)(H5T_g.npaths - (i + 1)) * sizeof(H5T_path_t *));
 2945|      7|            --H5T_g.npaths;
 2946|       |
 2947|      7|            if (H5T__path_free(path, &conv_ctx) < 0)
  ------------------
  |  Branch (2947:17): [True: 0, False: 7]
  ------------------
 2948|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTFREE, FAIL, "unable to free datatype conversion path");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2949|      7|        }
 2950|    777|    }
 2951|       |
 2952|      7|done:
 2953|      7|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2954|      7|} /* end H5T_unregister() */
H5T__create:
 3366|      2|{
 3367|      2|    H5T_t *dt        = NULL;
 3368|      2|    H5T_t *ret_value = NULL;
 3369|       |
 3370|      2|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      2|    {                                                                                                        \
  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      2|        {
  ------------------
 3371|       |
 3372|      2|    switch (type) {
 3373|      0|        case H5T_INTEGER:
  ------------------
  |  Branch (3373:9): [True: 0, False: 2]
  ------------------
 3374|      0|        case H5T_FLOAT:
  ------------------
  |  Branch (3374:9): [True: 0, False: 2]
  ------------------
 3375|      0|        case H5T_TIME:
  ------------------
  |  Branch (3375:9): [True: 0, False: 2]
  ------------------
 3376|      0|        case H5T_STRING: {
  ------------------
  |  Branch (3376:9): [True: 0, False: 2]
  ------------------
 3377|      0|            H5T_t *origin_dt = NULL;
 3378|       |
 3379|      0|            if (NULL == (origin_dt = (H5T_t *)H5I_object(H5T_C_S1)))
  ------------------
  |  |  489|      0|#define H5T_C_S1 (H5OPEN H5T_C_S1_g)
  ------------------
  |  Branch (3379:17): [True: 0, False: 0]
  ------------------
 3380|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_BADTYPE, NULL, "can't get structure for string type");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3381|       |
 3382|       |            /* Copy the default string datatype */
 3383|      0|            if (NULL == (dt = H5T_copy(origin_dt, H5T_COPY_TRANSIENT)))
  ------------------
  |  Branch (3383:17): [True: 0, False: 0]
  ------------------
 3384|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, NULL, "unable to copy");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3385|      0|            dt->shared->type = type;
 3386|       |
 3387|       |            /* Modify the datatype */
 3388|      0|            if (H5T__set_size(dt, size) < 0)
  ------------------
  |  Branch (3388:17): [True: 0, False: 0]
  ------------------
 3389|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, NULL, "unable to set size for string type");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3390|      0|        } break;
 3391|       |
 3392|      0|        case H5T_BITFIELD:
  ------------------
  |  Branch (3392:9): [True: 0, False: 2]
  ------------------
 3393|      0|            HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, NULL, "type class is not appropriate - use H5Tcopy()");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3394|       |
 3395|      0|        case H5T_OPAQUE:
  ------------------
  |  Branch (3395:9): [True: 0, False: 2]
  ------------------
 3396|      1|        case H5T_COMPOUND:
  ------------------
  |  Branch (3396:9): [True: 1, False: 1]
  ------------------
 3397|      1|            if (NULL == (dt = H5T__alloc()))
  ------------------
  |  Branch (3397:17): [True: 0, False: 1]
  ------------------
 3398|      0|                HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3399|      1|            dt->shared->type = type;
 3400|       |
 3401|      1|            if (type == H5T_COMPOUND) {
  ------------------
  |  Branch (3401:17): [True: 1, False: 0]
  ------------------
 3402|      1|                dt->shared->u.compnd.packed    = false; /* Start out unpacked */
 3403|      1|                dt->shared->u.compnd.memb_size = 0;
 3404|      1|            } /* end if */
 3405|      0|            else if (type == H5T_OPAQUE)
  ------------------
  |  Branch (3405:22): [True: 0, False: 0]
  ------------------
 3406|       |                /* Initialize the tag in case it's not set later.  A null tag will
 3407|       |                 * cause problems for later operations. */
 3408|      0|                dt->shared->u.opaque.tag = H5MM_strdup("");
 3409|      1|            break;
 3410|       |
 3411|      1|        case H5T_ENUM: {
  ------------------
  |  Branch (3411:9): [True: 1, False: 1]
  ------------------
 3412|      1|            hid_t  subtype;
 3413|      1|            H5T_t *sub_t_obj;
 3414|       |
 3415|      1|            if (sizeof(char) == size)
  ------------------
  |  Branch (3415:17): [True: 1, False: 0]
  ------------------
 3416|      1|                subtype = H5T_NATIVE_SCHAR_g;
 3417|      0|            else if (sizeof(short) == size)
  ------------------
  |  Branch (3417:22): [True: 0, False: 0]
  ------------------
 3418|      0|                subtype = H5T_NATIVE_SHORT_g;
 3419|      0|            else if (sizeof(int) == size)
  ------------------
  |  Branch (3419:22): [True: 0, False: 0]
  ------------------
 3420|      0|                subtype = H5T_NATIVE_INT_g;
 3421|      0|            else if (sizeof(long) == size)
  ------------------
  |  Branch (3421:22): [True: 0, False: 0]
  ------------------
 3422|      0|                subtype = H5T_NATIVE_LONG_g;
 3423|       |#if H5_SIZEOF_LONG != H5_SIZEOF_LONG_LONG
 3424|       |            else if (sizeof(long long) == size)
 3425|       |                subtype = H5T_NATIVE_LLONG_g;
 3426|       |#endif /* H5_SIZEOF_LONG != H5_SIZEOF_LONG_LONG */
 3427|      0|            else
 3428|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, NULL, "no applicable native integer type");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3429|      1|            if (NULL == (dt = H5T__alloc()))
  ------------------
  |  Branch (3429:17): [True: 0, False: 1]
  ------------------
 3430|      0|                HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3431|      1|            dt->shared->type = type;
 3432|      1|            if (NULL == (sub_t_obj = (H5T_t *)H5I_object(subtype)))
  ------------------
  |  Branch (3432:17): [True: 0, False: 1]
  ------------------
 3433|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTGET, NULL, "unable to get datatype object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3434|      1|            if (NULL == (dt->shared->parent = H5T_copy(sub_t_obj, H5T_COPY_ALL)))
  ------------------
  |  Branch (3434:17): [True: 0, False: 1]
  ------------------
 3435|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCOPY, NULL, "unable to copy base datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3436|      1|        } break;
 3437|       |
 3438|      1|        case H5T_VLEN: /* Variable length datatype */
  ------------------
  |  Branch (3438:9): [True: 0, False: 2]
  ------------------
 3439|      0|            HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, NULL, "base type required - use H5Tvlen_create()");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3440|       |
 3441|      0|        case H5T_ARRAY: /* Array datatype */
  ------------------
  |  Branch (3441:9): [True: 0, False: 2]
  ------------------
 3442|      0|            HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, NULL, "base type required - use H5Tarray_create2()");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3443|       |
 3444|      0|        case H5T_NO_CLASS:
  ------------------
  |  Branch (3444:9): [True: 0, False: 2]
  ------------------
 3445|      0|        case H5T_REFERENCE:
  ------------------
  |  Branch (3445:9): [True: 0, False: 2]
  ------------------
 3446|      0|        case H5T_NCLASSES:
  ------------------
  |  Branch (3446:9): [True: 0, False: 2]
  ------------------
 3447|      0|        default:
  ------------------
  |  Branch (3447:9): [True: 0, False: 2]
  ------------------
 3448|      0|            HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, NULL, "unknown data type class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3449|      2|    } /* end switch */
 3450|       |
 3451|       |    /* Set the size except VL string */
 3452|      2|    if (H5T_STRING != type || H5T_VARIABLE != size)
  ------------------
  |  |  207|      0|#define H5T_VARIABLE SIZE_MAX
  ------------------
  |  Branch (3452:9): [True: 2, False: 0]
  |  Branch (3452:31): [True: 0, False: 0]
  ------------------
 3453|      2|        dt->shared->size = size;
 3454|       |
 3455|       |    /* No VOL object */
 3456|      2|    dt->vol_obj = NULL;
 3457|       |
 3458|       |    /* Set return value */
 3459|      2|    ret_value = dt;
 3460|       |
 3461|      2|done:
 3462|      2|    if (NULL == ret_value) {
  ------------------
  |  Branch (3462:9): [True: 0, False: 2]
  ------------------
 3463|      0|        if (dt) {
  ------------------
  |  Branch (3463:13): [True: 0, False: 0]
  ------------------
 3464|      0|            if (dt->shared->owned_vol_obj && H5VL_free_object(dt->shared->owned_vol_obj) < 0)
  ------------------
  |  Branch (3464:17): [True: 0, False: 0]
  |  Branch (3464:46): [True: 0, False: 0]
  ------------------
 3465|      0|                HDONE_ERROR(H5E_DATATYPE, H5E_CANTCLOSEOBJ, NULL, "unable to close owned VOL object");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3466|      0|            dt->shared = H5FL_FREE(H5T_shared_t, dt->shared);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 3467|      0|            dt         = H5FL_FREE(H5T_t, dt);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 3468|      0|        }
 3469|      0|    }
 3470|       |
 3471|      2|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      2|    ;                                                                                                        \
  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 3472|      2|} /* end H5T__create() */
H5T_copy:
 3795|    367|{
 3796|    367|    H5T_t          *new_dt = NULL;    /* New datatype */
 3797|    367|    H5T_copy_func_t copyfn;           /* Pointer to correct copy routine */
 3798|    367|    H5T_t          *ret_value = NULL; /* Return value */
 3799|       |
 3800|    367|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|    367|    {                                                                                                        \
  |  | 1392|    367|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    367|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    367|                                                                                                             \
  |  |  |  | 1267|    367|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    367|        {
  ------------------
 3801|       |
 3802|       |    /* check args */
 3803|    367|    assert(old_dt);
 3804|       |
 3805|       |    /* Allocate and copy core datatype information */
 3806|    367|    if (NULL == (new_dt = H5T__initiate_copy(old_dt)))
  ------------------
  |  Branch (3806:9): [True: 0, False: 367]
  ------------------
 3807|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCOPY, NULL, "can't copy core datatype info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3808|       |
 3809|       |    /* Check what sort of copy we are making */
 3810|    367|    switch (method) {
 3811|     72|        case H5T_COPY_TRANSIENT:
  ------------------
  |  Branch (3811:9): [True: 72, False: 295]
  ------------------
 3812|       |            /*
 3813|       |             * Return an unlocked transient type.
 3814|       |             */
 3815|     72|            new_dt->shared->state = H5T_STATE_TRANSIENT;
 3816|     72|            copyfn                = H5T__copy_transient;
 3817|     72|            break;
 3818|       |
 3819|    295|        case H5T_COPY_ALL:
  ------------------
  |  Branch (3819:9): [True: 295, False: 72]
  ------------------
 3820|       |            /*
 3821|       |             * Return a transient type (locked or unlocked) or an unopened named
 3822|       |             * type.  Immutable transient types are degraded to read-only.
 3823|       |             */
 3824|    295|            if (H5T_STATE_OPEN == old_dt->shared->state)
  ------------------
  |  Branch (3824:17): [True: 0, False: 295]
  ------------------
 3825|      0|                new_dt->shared->state = H5T_STATE_NAMED;
 3826|    295|            else if (H5T_STATE_IMMUTABLE == old_dt->shared->state)
  ------------------
  |  Branch (3826:22): [True: 223, False: 72]
  ------------------
 3827|    223|                new_dt->shared->state = H5T_STATE_RDONLY;
 3828|    295|            copyfn = H5T__copy_all;
 3829|    295|            break;
 3830|       |
 3831|      0|        default:
  ------------------
  |  Branch (3831:9): [True: 0, False: 367]
  ------------------
 3832|      0|            HGOTO_ERROR(H5E_DATATYPE, H5E_BADTYPE, NULL, "invalid copy method type");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3833|    367|    } /* end switch */
 3834|       |
 3835|       |    /* Finish making the copy of the datatype */
 3836|    367|    if (H5T__complete_copy(new_dt, old_dt, NULL, (method == H5T_COPY_TRANSIENT), copyfn) < 0)
  ------------------
  |  Branch (3836:9): [True: 0, False: 367]
  ------------------
 3837|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, NULL, "can't complete datatype initialization");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3838|       |
 3839|       |    /* Set return value */
 3840|    367|    ret_value = new_dt;
 3841|       |
 3842|    367|done:
 3843|    367|    if (ret_value == NULL)
  ------------------
  |  Branch (3843:9): [True: 0, False: 367]
  ------------------
 3844|      0|        if (new_dt) {
  ------------------
  |  Branch (3844:13): [True: 0, False: 0]
  ------------------
 3845|      0|            assert(new_dt->shared);
 3846|      0|            if (new_dt->shared->owned_vol_obj && H5VL_free_object(new_dt->shared->owned_vol_obj) < 0)
  ------------------
  |  Branch (3846:17): [True: 0, False: 0]
  |  Branch (3846:50): [True: 0, False: 0]
  ------------------
 3847|      0|                HDONE_ERROR(H5E_DATATYPE, H5E_CANTCLOSEOBJ, NULL, "unable to close owned VOL object");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3848|      0|            new_dt->shared = H5FL_FREE(H5T_shared_t, new_dt->shared);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 3849|      0|            new_dt         = H5FL_FREE(H5T_t, new_dt);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 3850|      0|        } /* end if */
 3851|       |
 3852|    367|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    367|    ;                                                                                                        \
  |  | 1573|    367|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    367|    return (ret_value);                                                                                      \
  |  | 1575|    367|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 3853|    367|} /* end H5T_copy() */
H5T_copy_reopen:
 3868|     98|{
 3869|     98|    H5T_t        *new_dt      = NULL; /* New datatype */
 3870|     98|    H5T_shared_t *reopened_fo = NULL; /* Pointer to reopened existing named datatype */
 3871|     98|    H5T_t        *ret_value   = NULL; /* Return value */
 3872|       |
 3873|     98|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|     98|    {                                                                                                        \
  |  | 1392|     98|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     98|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     98|                                                                                                             \
  |  |  |  | 1267|     98|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     98|        {
  ------------------
 3874|       |
 3875|       |    /* check args */
 3876|     98|    assert(old_dt);
 3877|       |
 3878|       |    /* Allocate and copy core datatype information */
 3879|     98|    if (NULL == (new_dt = H5T__initiate_copy(old_dt)))
  ------------------
  |  Branch (3879:9): [True: 0, False: 98]
  ------------------
 3880|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCOPY, NULL, "can't copy core datatype info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3881|       |
 3882|       |    /*
 3883|       |     * Return a transient type (locked or unlocked) or an opened named
 3884|       |     * type.  Immutable transient types are degraded to read-only.
 3885|       |     */
 3886|     98|    if (old_dt->sh_loc.type == H5O_SHARE_TYPE_COMMITTED) {
  ------------------
  |  |  250|     98|#define H5O_SHARE_TYPE_COMMITTED 2 /* Message is stored in another object header */
  ------------------
  |  Branch (3886:9): [True: 0, False: 98]
  ------------------
 3887|       |        /* Check if the object is already open */
 3888|      0|        if (NULL ==
  ------------------
  |  Branch (3888:13): [True: 0, False: 0]
  ------------------
 3889|      0|            (reopened_fo = (H5T_shared_t *)H5FO_opened(old_dt->sh_loc.file, old_dt->sh_loc.u.loc.oh_addr))) {
 3890|       |            /* Clear any errors from H5FO_opened() */
 3891|      0|            H5E_clear_stack();
 3892|       |
 3893|       |            /* Open named datatype again */
 3894|      0|            if (H5O_open(&old_dt->oloc) < 0)
  ------------------
  |  Branch (3894:17): [True: 0, False: 0]
  ------------------
 3895|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTOPENOBJ, NULL, "unable to reopen named data type");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3896|       |
 3897|       |            /* Insert opened named datatype into opened object list for the file */
 3898|      0|            if (H5FO_insert(old_dt->sh_loc.file, old_dt->sh_loc.u.loc.oh_addr, new_dt->shared, false) < 0)
  ------------------
  |  Branch (3898:17): [True: 0, False: 0]
  ------------------
 3899|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINSERT, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3900|      0|                            "can't insert datatype into list of open objects");
 3901|       |
 3902|       |            /* Increment object count for the object in the top file */
 3903|      0|            if (H5FO_top_incr(old_dt->sh_loc.file, old_dt->sh_loc.u.loc.oh_addr) < 0)
  ------------------
  |  Branch (3903:17): [True: 0, False: 0]
  ------------------
 3904|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINC, NULL, "can't increment object count");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3905|       |
 3906|      0|            new_dt->shared->fo_count = 1;
 3907|      0|        } /* end if */
 3908|      0|        else {
 3909|       |            /* The object is already open.  Free the H5T_shared_t struct
 3910|       |             * we had been using and use the one that already exists.
 3911|       |             * Not terribly efficient. */
 3912|      0|            if (new_dt->shared->owned_vol_obj && H5VL_free_object(new_dt->shared->owned_vol_obj) < 0)
  ------------------
  |  Branch (3912:17): [True: 0, False: 0]
  |  Branch (3912:50): [True: 0, False: 0]
  ------------------
 3913|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCLOSEOBJ, NULL, "unable to close owned VOL object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3914|      0|            new_dt->shared = H5FL_FREE(H5T_shared_t, new_dt->shared);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 3915|      0|            new_dt->shared = reopened_fo;
 3916|       |
 3917|      0|            reopened_fo->fo_count++;
 3918|       |
 3919|       |            /* Check if the object has been opened through the top file yet */
 3920|      0|            if (H5FO_top_count(old_dt->sh_loc.file, old_dt->sh_loc.u.loc.oh_addr) == 0) {
  ------------------
  |  Branch (3920:17): [True: 0, False: 0]
  ------------------
 3921|       |                /* Open the object through this top file */
 3922|      0|                if (H5O_open(&old_dt->oloc) < 0)
  ------------------
  |  Branch (3922:21): [True: 0, False: 0]
  ------------------
 3923|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_CANTOPENOBJ, NULL, "unable to open object header");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3924|      0|            } /* end if */
 3925|       |
 3926|       |            /* Increment object count for the object in the top file */
 3927|      0|            if (H5FO_top_incr(old_dt->sh_loc.file, old_dt->sh_loc.u.loc.oh_addr) < 0)
  ------------------
  |  Branch (3927:17): [True: 0, False: 0]
  ------------------
 3928|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINC, NULL, "can't increment object count");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3929|      0|        } /* end else */
 3930|       |
 3931|       |        /* Set state for new datatype */
 3932|      0|        new_dt->shared->state = H5T_STATE_OPEN;
 3933|      0|    } /* end if */
 3934|     98|    else
 3935|       |        /* Downgrade immutable datatypes to read-only */
 3936|     98|        if (H5T_STATE_IMMUTABLE == old_dt->shared->state)
  ------------------
  |  Branch (3936:13): [True: 0, False: 98]
  ------------------
 3937|      0|            new_dt->shared->state = H5T_STATE_RDONLY;
 3938|       |
 3939|       |    /* Finish making the copy of the datatype */
 3940|     98|    if (H5T__complete_copy(new_dt, old_dt, reopened_fo, true, H5T_copy_reopen) < 0)
  ------------------
  |  Branch (3940:9): [True: 0, False: 98]
  ------------------
 3941|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, NULL, "can't complete datatype initialization");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3942|       |
 3943|       |    /* Set return value */
 3944|     98|    ret_value = new_dt;
 3945|       |
 3946|     98|done:
 3947|     98|    if (ret_value == NULL)
  ------------------
  |  Branch (3947:9): [True: 0, False: 98]
  ------------------
 3948|      0|        if (new_dt) {
  ------------------
  |  Branch (3948:13): [True: 0, False: 0]
  ------------------
 3949|      0|            assert(new_dt->shared);
 3950|      0|            if (new_dt->shared->owned_vol_obj && H5VL_free_object(new_dt->shared->owned_vol_obj) < 0)
  ------------------
  |  Branch (3950:17): [True: 0, False: 0]
  |  Branch (3950:50): [True: 0, False: 0]
  ------------------
 3951|      0|                HDONE_ERROR(H5E_DATATYPE, H5E_CANTCLOSEOBJ, NULL, "unable to close owned VOL object");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3952|      0|            new_dt->shared = H5FL_FREE(H5T_shared_t, new_dt->shared);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 3953|      0|            new_dt         = H5FL_FREE(H5T_t, new_dt);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 3954|      0|        } /* end if */
 3955|       |
 3956|     98|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     98|    ;                                                                                                        \
  |  | 1573|     98|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     98|    return (ret_value);                                                                                      \
  |  | 1575|     98|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 3957|     98|} /* end H5T_copy_reopen() */
H5T_lock:
 3975|     95|{
 3976|     95|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     95|#define SUCCEED 0
  ------------------
 3977|       |
 3978|     95|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     95|    {                                                                                                        \
  |  | 1392|     95|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     95|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     95|                                                                                                             \
  |  |  |  | 1267|     95|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     95|        {
  ------------------
 3979|       |
 3980|     95|    assert(dt);
 3981|       |
 3982|     95|    switch (dt->shared->state) {
 3983|     95|        case H5T_STATE_TRANSIENT:
  ------------------
  |  Branch (3983:9): [True: 95, False: 0]
  ------------------
 3984|     95|            dt->shared->state = immutable ? H5T_STATE_IMMUTABLE : H5T_STATE_RDONLY;
  ------------------
  |  Branch (3984:33): [True: 0, False: 95]
  ------------------
 3985|     95|            break;
 3986|      0|        case H5T_STATE_RDONLY:
  ------------------
  |  Branch (3986:9): [True: 0, False: 95]
  ------------------
 3987|      0|            if (immutable)
  ------------------
  |  Branch (3987:17): [True: 0, False: 0]
  ------------------
 3988|      0|                dt->shared->state = H5T_STATE_IMMUTABLE;
 3989|      0|            break;
 3990|      0|        case H5T_STATE_IMMUTABLE:
  ------------------
  |  Branch (3990:9): [True: 0, False: 95]
  ------------------
 3991|      0|        case H5T_STATE_NAMED:
  ------------------
  |  Branch (3991:9): [True: 0, False: 95]
  ------------------
 3992|      0|        case H5T_STATE_OPEN:
  ------------------
  |  Branch (3992:9): [True: 0, False: 95]
  ------------------
 3993|       |            /*void*/
 3994|      0|            break;
 3995|      0|        default:
  ------------------
  |  Branch (3995:9): [True: 0, False: 95]
  ------------------
 3996|      0|            HGOTO_ERROR(H5E_DATATYPE, H5E_BADTYPE, FAIL, "invalid datatype state");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3997|     95|    }
 3998|       |
 3999|     95|done:
 4000|     95|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     95|    ;                                                                                                        \
  |  | 1573|     95|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     95|    return (ret_value);                                                                                      \
  |  | 1575|     95|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 4001|     95|}
H5T__alloc:
 4014|    169|{
 4015|    169|    H5T_t *dt        = NULL; /* Pointer to datatype allocated */
 4016|    169|    H5T_t *ret_value = NULL; /* Return value */
 4017|       |
 4018|    169|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    169|    {                                                                                                        \
  |  | 1461|    169|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    169|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    169|                                                                                                             \
  |  |  |  | 1267|    169|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    169|        {
  ------------------
 4019|       |
 4020|       |    /* Allocate & initialize datatype wrapper info */
 4021|    169|    if (NULL == (dt = H5FL_CALLOC(H5T_t)))
  ------------------
  |  |   78|    169|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|    169|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (4021:9): [True: 0, False: 169]
  ------------------
 4022|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4023|    169|    H5O_loc_reset(&(dt->oloc));
 4024|    169|    H5G_name_reset(&(dt->path));
 4025|    169|    H5O_msg_reset_share(H5O_DTYPE_ID, dt);
  ------------------
  |  |  209|    169|#define H5O_DTYPE_ID       0x0003 /* Datatype Message.  */
  ------------------
 4026|       |
 4027|       |    /* Allocate & initialize shared datatype structure */
 4028|    169|    if (NULL == (dt->shared = H5FL_CALLOC(H5T_shared_t)))
  ------------------
  |  |   78|    169|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|    169|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (4028:9): [True: 0, False: 169]
  ------------------
 4029|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4030|    169|    dt->shared->version = H5O_DTYPE_VERSION_1;
  ------------------
  |  |   77|    169|#define H5O_DTYPE_VERSION_1 1
  ------------------
 4031|       |
 4032|       |    /* No VOL object initially */
 4033|    169|    dt->vol_obj = NULL;
 4034|       |
 4035|       |    /* Assign return value */
 4036|    169|    ret_value = dt;
 4037|       |
 4038|    169|done:
 4039|    169|    if (ret_value == NULL)
  ------------------
  |  Branch (4039:9): [True: 0, False: 169]
  ------------------
 4040|      0|        if (dt) {
  ------------------
  |  Branch (4040:13): [True: 0, False: 0]
  ------------------
 4041|      0|            if (dt->shared) {
  ------------------
  |  Branch (4041:17): [True: 0, False: 0]
  ------------------
 4042|      0|                assert(!dt->shared->owned_vol_obj);
 4043|      0|                dt->shared = H5FL_FREE(H5T_shared_t, dt->shared);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 4044|      0|            } /* end if */
 4045|      0|            dt = H5FL_FREE(H5T_t, dt);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 4046|      0|        } /* end if */
 4047|       |
 4048|    169|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    169|    ;                                                                                                        \
  |  | 1573|    169|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    169|    return (ret_value);                                                                                      \
  |  | 1575|    169|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 4049|    169|} /* end H5T__alloc() */
H5T__free:
 4064|    699|{
 4065|    699|    unsigned i;
 4066|    699|    herr_t   ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    699|#define SUCCEED 0
  ------------------
 4067|       |
 4068|    699|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    699|    {                                                                                                        \
  |  | 1461|    699|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    699|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    699|                                                                                                             \
  |  |  |  | 1267|    699|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    699|        {
  ------------------
 4069|       |
 4070|    699|    assert(dt && dt->shared);
 4071|       |
 4072|       |    /* Free the ID to name info */
 4073|    699|    H5G_name_free(&(dt->path));
 4074|       |
 4075|       |    /* Don't free locked datatypes */
 4076|    699|    if (H5T_STATE_IMMUTABLE == dt->shared->state)
  ------------------
  |  Branch (4076:9): [True: 0, False: 699]
  ------------------
 4077|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCLOSEOBJ, FAIL, "unable to close immutable datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4078|       |
 4079|       |    /* Close the datatype */
 4080|    699|    switch (dt->shared->type) {
 4081|      1|        case H5T_COMPOUND:
  ------------------
  |  Branch (4081:9): [True: 1, False: 698]
  ------------------
 4082|      1|            for (i = 0; i < dt->shared->u.compnd.nmembs; i++) {
  ------------------
  |  Branch (4082:25): [True: 0, False: 1]
  ------------------
 4083|      0|                dt->shared->u.compnd.memb[i].name = (char *)H5MM_xfree(dt->shared->u.compnd.memb[i].name);
 4084|      0|                if (H5T_close_real(dt->shared->u.compnd.memb[i].type) < 0)
  ------------------
  |  Branch (4084:21): [True: 0, False: 0]
  ------------------
 4085|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCLOSEOBJ, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4086|      0|                                "unable to close datatype for compound member");
 4087|      0|            }
 4088|      1|            dt->shared->u.compnd.memb   = (H5T_cmemb_t *)H5MM_xfree(dt->shared->u.compnd.memb);
 4089|      1|            dt->shared->u.compnd.nmembs = 0;
 4090|      1|            break;
 4091|       |
 4092|      1|        case H5T_ENUM:
  ------------------
  |  Branch (4092:9): [True: 1, False: 698]
  ------------------
 4093|      1|            for (i = 0; i < dt->shared->u.enumer.nmembs; i++)
  ------------------
  |  Branch (4093:25): [True: 0, False: 1]
  ------------------
 4094|      0|                dt->shared->u.enumer.name[i] = (char *)H5MM_xfree(dt->shared->u.enumer.name[i]);
 4095|      1|            dt->shared->u.enumer.name   = (char **)H5MM_xfree(dt->shared->u.enumer.name);
 4096|      1|            dt->shared->u.enumer.value  = (uint8_t *)H5MM_xfree(dt->shared->u.enumer.value);
 4097|      1|            dt->shared->u.enumer.nmembs = 0;
 4098|      1|            break;
 4099|       |
 4100|      1|        case H5T_OPAQUE:
  ------------------
  |  Branch (4100:9): [True: 1, False: 698]
  ------------------
 4101|      1|            dt->shared->u.opaque.tag = (char *)H5MM_xfree(dt->shared->u.opaque.tag);
 4102|      1|            break;
 4103|       |
 4104|     65|        case H5T_NO_CLASS:
  ------------------
  |  Branch (4104:9): [True: 65, False: 634]
  ------------------
 4105|    384|        case H5T_INTEGER:
  ------------------
  |  Branch (4105:9): [True: 319, False: 380]
  ------------------
 4106|    491|        case H5T_FLOAT:
  ------------------
  |  Branch (4106:9): [True: 107, False: 592]
  ------------------
 4107|    495|        case H5T_TIME:
  ------------------
  |  Branch (4107:9): [True: 4, False: 695]
  ------------------
 4108|    607|        case H5T_STRING:
  ------------------
  |  Branch (4108:9): [True: 112, False: 587]
  ------------------
 4109|    619|        case H5T_BITFIELD:
  ------------------
  |  Branch (4109:9): [True: 12, False: 687]
  ------------------
 4110|    682|        case H5T_REFERENCE:
  ------------------
  |  Branch (4110:9): [True: 63, False: 636]
  ------------------
 4111|    695|        case H5T_VLEN:
  ------------------
  |  Branch (4111:9): [True: 13, False: 686]
  ------------------
 4112|    696|        case H5T_ARRAY:
  ------------------
  |  Branch (4112:9): [True: 1, False: 698]
  ------------------
 4113|    696|        case H5T_NCLASSES:
  ------------------
  |  Branch (4113:9): [True: 0, False: 699]
  ------------------
 4114|    696|        default:
  ------------------
  |  Branch (4114:9): [True: 0, False: 699]
  ------------------
 4115|    696|            break;
 4116|    699|    } /* end switch */
 4117|    699|    dt->shared->type = H5T_NO_CLASS;
 4118|       |
 4119|       |    /* Close the parent */
 4120|    699|    assert(dt->shared->parent != dt);
 4121|    699|    if (dt->shared->parent && H5T_close_real(dt->shared->parent) < 0)
  ------------------
  |  Branch (4121:9): [True: 15, False: 684]
  |  Branch (4121:31): [True: 0, False: 15]
  ------------------
 4122|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCLOSEOBJ, FAIL, "unable to close parent data type");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4123|    699|    dt->shared->parent = NULL;
 4124|       |
 4125|       |    /* Close the owned VOL object */
 4126|    699|    if (dt->shared->owned_vol_obj && H5VL_free_object(dt->shared->owned_vol_obj) < 0)
  ------------------
  |  Branch (4126:9): [True: 19, False: 680]
  |  Branch (4126:38): [True: 0, False: 19]
  ------------------
 4127|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCLOSEOBJ, FAIL, "unable to close owned VOL object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4128|    699|    dt->shared->owned_vol_obj = NULL;
 4129|       |
 4130|    699|done:
 4131|    699|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    699|    ;                                                                                                        \
  |  | 1573|    699|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    699|    return (ret_value);                                                                                      \
  |  | 1575|    699|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 4132|    699|} /* end H5T__free() */
H5T_close_real:
 4148|    634|{
 4149|    634|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    634|#define SUCCEED 0
  ------------------
 4150|       |
 4151|    634|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    634|    {                                                                                                        \
  |  | 1392|    634|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    634|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    634|                                                                                                             \
  |  |  |  | 1267|    634|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    634|        {
  ------------------
 4152|       |
 4153|       |    /* Sanity check */
 4154|    634|    assert(dt);
 4155|       |
 4156|       |    /* Clean up resources, depending on shared state */
 4157|    634|    if (dt->shared && (dt->shared->state != H5T_STATE_OPEN)) {
  ------------------
  |  Branch (4157:9): [True: 634, False: 0]
  |  Branch (4157:23): [True: 634, False: 0]
  ------------------
 4158|    634|        if (H5T__free(dt) < 0)
  ------------------
  |  Branch (4158:13): [True: 0, False: 634]
  ------------------
 4159|      0|            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTFREE, FAIL, "unable to free datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4160|       |
 4161|    634|        assert(!dt->shared->owned_vol_obj);
 4162|    634|        dt->shared = H5FL_FREE(H5T_shared_t, dt->shared);
  ------------------
  |  |   81|    634|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|    634|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 4163|    634|    } /* end if */
 4164|      0|    else
 4165|       |        /* Free the group hier. path since we're not calling H5T__free() */
 4166|      0|        H5G_name_free(&(dt->path));
 4167|       |
 4168|       |    /* Free the 'top' datatype struct */
 4169|    634|    dt = H5FL_FREE(H5T_t, dt);
  ------------------
  |  |   81|    634|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|    634|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 4170|       |
 4171|    634|done:
 4172|    634|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    634|    ;                                                                                                        \
  |  | 1573|    634|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    634|    return (ret_value);                                                                                      \
  |  | 1575|    634|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 4173|    634|} /* end H5T_close_real() */
H5T_close:
 4187|    246|{
 4188|    246|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    246|#define SUCCEED 0
  ------------------
 4189|       |
 4190|    246|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    246|    {                                                                                                        \
  |  | 1392|    246|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    246|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    246|                                                                                                             \
  |  |  |  | 1267|    246|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    246|        {
  ------------------
 4191|       |
 4192|       |    /* Sanity check */
 4193|    246|    assert(dt);
 4194|       |
 4195|       |    /* Named datatype cleanups */
 4196|    246|    if (dt->shared && (dt->shared->state == H5T_STATE_OPEN)) {
  ------------------
  |  Branch (4196:9): [True: 246, False: 0]
  |  Branch (4196:23): [True: 0, False: 246]
  ------------------
 4197|       |        /* Decrement refcount count on open named datatype */
 4198|      0|        dt->shared->fo_count--;
 4199|       |
 4200|       |        /* Sanity checks */
 4201|      0|        assert(dt->sh_loc.type == H5O_SHARE_TYPE_COMMITTED);
 4202|      0|        assert(H5_addr_defined(dt->sh_loc.u.loc.oh_addr));
 4203|      0|        assert(H5_addr_defined(dt->oloc.addr));
 4204|       |
 4205|       |        /* If a named type is being closed then close the object header and
 4206|       |         * remove from the list of open objects in the file.
 4207|       |         */
 4208|       |
 4209|       |        /* Decrement the ref. count for this object in the top file */
 4210|      0|        if (H5FO_top_decr(dt->sh_loc.file, dt->sh_loc.u.loc.oh_addr) < 0)
  ------------------
  |  Branch (4210:13): [True: 0, False: 0]
  ------------------
 4211|      0|            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTRELEASE, FAIL, "can't decrement count for object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4212|       |
 4213|       |        /* Close things down if this is the last reference to the open named datatype */
 4214|      0|        if (0 == dt->shared->fo_count) {
  ------------------
  |  Branch (4214:13): [True: 0, False: 0]
  ------------------
 4215|      0|            bool corked; /* Whether the named datatype is corked or not */
 4216|       |
 4217|       |            /* Uncork cache entries with object address tag for named datatype */
 4218|      0|            if (H5AC_cork(dt->oloc.file, dt->oloc.addr, H5AC__GET_CORKED, &corked) < 0)
  ------------------
  |  |  143|      0|#define H5AC__GET_CORKED H5C__GET_CORKED
  |  |  ------------------
  |  |  |  |  217|      0|#define H5C__GET_CORKED 0x4
  |  |  ------------------
  ------------------
  |  Branch (4218:17): [True: 0, False: 0]
  ------------------
 4219|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTGET, FAIL, "unable to retrieve an object's cork status");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4220|      0|            if (corked)
  ------------------
  |  Branch (4220:17): [True: 0, False: 0]
  ------------------
 4221|      0|                if (H5AC_cork(dt->oloc.file, dt->oloc.addr, H5AC__UNCORK, NULL) < 0)
  ------------------
  |  |  142|      0|#define H5AC__UNCORK     H5C__UNCORK
  |  |  ------------------
  |  |  |  |  216|      0|#define H5C__UNCORK     0x2
  |  |  ------------------
  ------------------
  |  Branch (4221:21): [True: 0, False: 0]
  ------------------
 4222|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_CANTUNCORK, FAIL, "unable to uncork an object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4223|       |
 4224|       |            /* Remove the datatype from the list of opened objects in the file */
 4225|      0|            if (H5FO_delete(dt->sh_loc.file, dt->sh_loc.u.loc.oh_addr) < 0)
  ------------------
  |  Branch (4225:17): [True: 0, False: 0]
  ------------------
 4226|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTRELEASE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4227|      0|                            "can't remove datatype from list of open objects");
 4228|      0|            if (H5O_close(&dt->oloc, NULL) < 0)
  ------------------
  |  Branch (4228:17): [True: 0, False: 0]
  ------------------
 4229|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to close data type object header");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4230|       |
 4231|       |            /* Mark named datatype closed now */
 4232|      0|            dt->shared->state = H5T_STATE_NAMED;
 4233|      0|        } /* end if */
 4234|      0|        else {
 4235|       |            /* Check reference count for this object in the top file */
 4236|      0|            if (H5FO_top_count(dt->sh_loc.file, dt->sh_loc.u.loc.oh_addr) == 0) {
  ------------------
  |  Branch (4236:17): [True: 0, False: 0]
  ------------------
 4237|       |                /* Close object location for named datatype */
 4238|      0|                if (H5O_close(&dt->oloc, NULL) < 0)
  ------------------
  |  Branch (4238:21): [True: 0, False: 0]
  ------------------
 4239|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to close");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4240|      0|            } /* end if */
 4241|      0|            else
 4242|       |                /* Free object location (i.e. "unhold" the file if appropriate) */
 4243|      0|                if (H5O_loc_free(&(dt->oloc)) < 0)
  ------------------
  |  Branch (4243:21): [True: 0, False: 0]
  ------------------
 4244|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_CANTRELEASE, FAIL, "problem attempting to free location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4245|      0|        } /* end else */
 4246|      0|    }     /* end if */
 4247|       |
 4248|       |    /* Clean up resources */
 4249|    246|    if (H5T_close_real(dt) < 0)
  ------------------
  |  Branch (4249:9): [True: 0, False: 246]
  ------------------
 4250|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTRELEASE, FAIL, "unable to free datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4251|       |
 4252|    246|done:
 4253|    246|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    246|    ;                                                                                                        \
  |  | 1573|    246|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    246|    return (ret_value);                                                                                      \
  |  | 1575|    246|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 4254|    246|} /* end H5T_close() */
H5T_get_size:
 4470|    354|{
 4471|       |    /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */
 4472|    354|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|    354|    {                                                                                                        \
  |  | 1425|    354|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    354|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|    354|        {
  ------------------
 4473|       |
 4474|       |    /* check args */
 4475|    354|    assert(dt);
 4476|    354|    assert(dt->shared);
 4477|       |
 4478|    354|    FUNC_LEAVE_NOAPI(dt->shared->size)
  ------------------
  |  | 1572|    354|    ;                                                                                                        \
  |  | 1573|    354|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    354|    return (ret_value);                                                                                      \
  |  | 1575|    354|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 4479|    354|} /* end H5T_get_size() */
H5T_cmp:
 4496|  1.77k|{
 4497|  1.77k|    unsigned *idx1 = NULL, *idx2 = NULL;
 4498|  1.77k|    size_t    base_size;
 4499|  1.77k|    bool      swapped;
 4500|  1.77k|    unsigned  u;
 4501|  1.77k|    int       tmp;
 4502|  1.77k|    int       ret_value = 0;
 4503|       |
 4504|  1.77k|    FUNC_ENTER_NOAPI(0)
  ------------------
  |  | 1391|  1.77k|    {                                                                                                        \
  |  | 1392|  1.77k|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|  1.77k|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|  1.77k|                                                                                                             \
  |  |  |  | 1267|  1.77k|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|  1.77k|        {
  ------------------
 4505|       |
 4506|       |    /* Sanity check */
 4507|  1.77k|    assert(dt1);
 4508|  1.77k|    assert(dt2);
 4509|       |
 4510|       |    /* the easy case */
 4511|  1.77k|    if (dt1 == dt2)
  ------------------
  |  Branch (4511:9): [True: 1, False: 1.77k]
  ------------------
 4512|      1|        HGOTO_DONE(0);
  ------------------
  |  |   91|      1|    do {                                                                                                     \
  |  |   92|      1|        ret_value = ret_val;                                                                                 \
  |  |   93|      1|        goto done;                                                                                           \
  |  |   94|      1|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4513|       |
 4514|  1.77k|    assert(dt1->shared);
 4515|  1.77k|    assert(dt2->shared);
 4516|       |
 4517|       |    /* compare */
 4518|  1.77k|    if (dt1->shared->type < dt2->shared->type)
  ------------------
  |  Branch (4518:9): [True: 127, False: 1.64k]
  ------------------
 4519|    127|        HGOTO_DONE(-1);
  ------------------
  |  |   91|    127|    do {                                                                                                     \
  |  |   92|    127|        ret_value = ret_val;                                                                                 \
  |  |   93|    127|        goto done;                                                                                           \
  |  |   94|    127|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4520|  1.64k|    if (dt1->shared->type > dt2->shared->type)
  ------------------
  |  Branch (4520:9): [True: 322, False: 1.32k]
  ------------------
 4521|    322|        HGOTO_DONE(1);
  ------------------
  |  |   91|    322|    do {                                                                                                     \
  |  |   92|    322|        ret_value = ret_val;                                                                                 \
  |  |   93|    322|        goto done;                                                                                           \
  |  |   94|    322|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4522|       |
 4523|  1.32k|    if (dt1->shared->size < dt2->shared->size)
  ------------------
  |  Branch (4523:9): [True: 321, False: 1.00k]
  ------------------
 4524|    321|        HGOTO_DONE(-1);
  ------------------
  |  |   91|    321|    do {                                                                                                     \
  |  |   92|    321|        ret_value = ret_val;                                                                                 \
  |  |   93|    321|        goto done;                                                                                           \
  |  |   94|    321|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4525|  1.00k|    if (dt1->shared->size > dt2->shared->size)
  ------------------
  |  Branch (4525:9): [True: 258, False: 744]
  ------------------
 4526|    258|        HGOTO_DONE(1);
  ------------------
  |  |   91|    258|    do {                                                                                                     \
  |  |   92|    258|        ret_value = ret_val;                                                                                 \
  |  |   93|    258|        goto done;                                                                                           \
  |  |   94|    258|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4527|       |
 4528|    744|    if (dt1->shared->parent && !dt2->shared->parent)
  ------------------
  |  Branch (4528:9): [True: 0, False: 744]
  |  Branch (4528:32): [True: 0, False: 0]
  ------------------
 4529|      0|        HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4530|    744|    if (!dt1->shared->parent && dt2->shared->parent)
  ------------------
  |  Branch (4530:9): [True: 744, False: 0]
  |  Branch (4530:33): [True: 0, False: 744]
  ------------------
 4531|      0|        HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4532|    744|    if (dt1->shared->parent) {
  ------------------
  |  Branch (4532:9): [True: 0, False: 744]
  ------------------
 4533|      0|        tmp = H5T_cmp(dt1->shared->parent, dt2->shared->parent, superset);
 4534|      0|        if (tmp < 0)
  ------------------
  |  Branch (4534:13): [True: 0, False: 0]
  ------------------
 4535|      0|            HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4536|      0|        if (tmp > 0)
  ------------------
  |  Branch (4536:13): [True: 0, False: 0]
  ------------------
 4537|      0|            HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4538|      0|    } /* end if */
 4539|       |
 4540|    744|    switch (dt1->shared->type) {
 4541|      0|        case H5T_COMPOUND:
  ------------------
  |  Branch (4541:9): [True: 0, False: 744]
  ------------------
 4542|       |            /*
 4543|       |             * Compound data types...
 4544|       |             */
 4545|      0|            if (dt1->shared->u.compnd.nmembs == 0 && dt2->shared->u.compnd.nmembs == 0)
  ------------------
  |  Branch (4545:17): [True: 0, False: 0]
  |  Branch (4545:54): [True: 0, False: 0]
  ------------------
 4546|      0|                HGOTO_DONE(0);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4547|      0|            if (dt1->shared->u.compnd.nmembs < dt2->shared->u.compnd.nmembs)
  ------------------
  |  Branch (4547:17): [True: 0, False: 0]
  ------------------
 4548|      0|                HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4549|      0|            if (dt1->shared->u.compnd.nmembs > dt2->shared->u.compnd.nmembs)
  ------------------
  |  Branch (4549:17): [True: 0, False: 0]
  ------------------
 4550|      0|                HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4551|       |
 4552|       |            /* Build an index for each type so the names are sorted */
 4553|      0|            if (NULL == (idx1 = (unsigned *)H5MM_malloc(dt1->shared->u.compnd.nmembs * sizeof(unsigned))) ||
  ------------------
  |  |   38|      0|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  |  Branch (4553:17): [True: 0, False: 0]
  ------------------
 4554|      0|                NULL == (idx2 = (unsigned *)H5MM_malloc(dt2->shared->u.compnd.nmembs * sizeof(unsigned))))
  ------------------
  |  |   38|      0|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  |  Branch (4554:17): [True: 0, False: 0]
  ------------------
 4555|      0|                HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, 0, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4556|      0|            for (u = 0; u < dt1->shared->u.compnd.nmembs; u++)
  ------------------
  |  Branch (4556:25): [True: 0, False: 0]
  ------------------
 4557|      0|                idx1[u] = idx2[u] = u;
 4558|      0|            if (dt1->shared->u.enumer.nmembs > 1) {
  ------------------
  |  Branch (4558:17): [True: 0, False: 0]
  ------------------
 4559|      0|                int i;
 4560|       |
 4561|      0|                for (i = (int)dt1->shared->u.compnd.nmembs - 1, swapped = true; swapped && i >= 0; --i) {
  ------------------
  |  Branch (4561:81): [True: 0, False: 0]
  |  Branch (4561:92): [True: 0, False: 0]
  ------------------
 4562|      0|                    int j;
 4563|       |
 4564|      0|                    for (j = 0, swapped = false; j < i; j++)
  ------------------
  |  Branch (4564:50): [True: 0, False: 0]
  ------------------
 4565|      0|                        if (strcmp(dt1->shared->u.compnd.memb[idx1[j]].name,
  ------------------
  |  Branch (4565:29): [True: 0, False: 0]
  ------------------
 4566|      0|                                   dt1->shared->u.compnd.memb[idx1[j + 1]].name) > 0) {
 4567|      0|                            unsigned tmp_idx = idx1[j];
 4568|      0|                            idx1[j]          = idx1[j + 1];
 4569|      0|                            idx1[j + 1]      = tmp_idx;
 4570|      0|                            swapped          = true;
 4571|      0|                        }
 4572|      0|                }
 4573|      0|                for (i = (int)dt2->shared->u.compnd.nmembs - 1, swapped = true; swapped && i >= 0; --i) {
  ------------------
  |  Branch (4573:81): [True: 0, False: 0]
  |  Branch (4573:92): [True: 0, False: 0]
  ------------------
 4574|      0|                    int j;
 4575|       |
 4576|      0|                    for (j = 0, swapped = false; j < i; j++)
  ------------------
  |  Branch (4576:50): [True: 0, False: 0]
  ------------------
 4577|      0|                        if (strcmp(dt2->shared->u.compnd.memb[idx2[j]].name,
  ------------------
  |  Branch (4577:29): [True: 0, False: 0]
  ------------------
 4578|      0|                                   dt2->shared->u.compnd.memb[idx2[j + 1]].name) > 0) {
 4579|      0|                            unsigned tmp_idx = idx2[j];
 4580|      0|                            idx2[j]          = idx2[j + 1];
 4581|      0|                            idx2[j + 1]      = tmp_idx;
 4582|      0|                            swapped          = true;
 4583|      0|                        }
 4584|      0|                }
 4585|      0|            } /* end if */
 4586|       |
 4587|       |#ifdef H5T_DEBUG
 4588|       |            /* I don't quite trust the code above yet :-)  --RPM */
 4589|       |            if (dt1->shared->u.compnd.nmembs > 0) {
 4590|       |                for (u = 0; u < dt1->shared->u.compnd.nmembs - 1; u++) {
 4591|       |                    assert(strcmp(dt1->shared->u.compnd.memb[idx1[u]].name,
 4592|       |                                  dt1->shared->u.compnd.memb[idx1[u + 1]].name));
 4593|       |                    assert(strcmp(dt2->shared->u.compnd.memb[idx2[u]].name,
 4594|       |                                  dt2->shared->u.compnd.memb[idx2[u + 1]].name));
 4595|       |                }
 4596|       |            }
 4597|       |#endif
 4598|       |
 4599|       |            /* Compare the members */
 4600|      0|            for (u = 0; u < dt1->shared->u.compnd.nmembs; u++) {
  ------------------
  |  Branch (4600:25): [True: 0, False: 0]
  ------------------
 4601|      0|                tmp = strcmp(dt1->shared->u.compnd.memb[idx1[u]].name,
 4602|      0|                             dt2->shared->u.compnd.memb[idx2[u]].name);
 4603|      0|                if (tmp < 0)
  ------------------
  |  Branch (4603:21): [True: 0, False: 0]
  ------------------
 4604|      0|                    HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4605|      0|                if (tmp > 0)
  ------------------
  |  Branch (4605:21): [True: 0, False: 0]
  ------------------
 4606|      0|                    HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4607|       |
 4608|      0|                if (dt1->shared->u.compnd.memb[idx1[u]].offset < dt2->shared->u.compnd.memb[idx2[u]].offset)
  ------------------
  |  Branch (4608:21): [True: 0, False: 0]
  ------------------
 4609|      0|                    HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4610|      0|                if (dt1->shared->u.compnd.memb[idx1[u]].offset > dt2->shared->u.compnd.memb[idx2[u]].offset)
  ------------------
  |  Branch (4610:21): [True: 0, False: 0]
  ------------------
 4611|      0|                    HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4612|       |
 4613|      0|                if (dt1->shared->u.compnd.memb[idx1[u]].size < dt2->shared->u.compnd.memb[idx2[u]].size)
  ------------------
  |  Branch (4613:21): [True: 0, False: 0]
  ------------------
 4614|      0|                    HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4615|      0|                if (dt1->shared->u.compnd.memb[idx1[u]].size > dt2->shared->u.compnd.memb[idx2[u]].size)
  ------------------
  |  Branch (4615:21): [True: 0, False: 0]
  ------------------
 4616|      0|                    HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4617|       |
 4618|      0|                tmp = H5T_cmp(dt1->shared->u.compnd.memb[idx1[u]].type,
 4619|      0|                              dt2->shared->u.compnd.memb[idx2[u]].type, superset);
 4620|      0|                if (tmp < 0)
  ------------------
  |  Branch (4620:21): [True: 0, False: 0]
  ------------------
 4621|      0|                    HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4622|      0|                if (tmp > 0)
  ------------------
  |  Branch (4622:21): [True: 0, False: 0]
  ------------------
 4623|      0|                    HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4624|      0|            }
 4625|      0|            break;
 4626|       |
 4627|      0|        case H5T_ENUM:
  ------------------
  |  Branch (4627:9): [True: 0, False: 744]
  ------------------
 4628|       |            /*
 4629|       |             * Enumeration data types...
 4630|       |             */
 4631|      0|            if (dt1->shared->u.enumer.nmembs == 0 && dt2->shared->u.enumer.nmembs == 0)
  ------------------
  |  Branch (4631:17): [True: 0, False: 0]
  |  Branch (4631:54): [True: 0, False: 0]
  ------------------
 4632|      0|                HGOTO_DONE(0);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4633|       |
 4634|       |            /* If we are doing a "superset" comparison, dt2 is allowed to have
 4635|       |             * more members than dt1
 4636|       |             */
 4637|      0|            if (superset) {
  ------------------
  |  Branch (4637:17): [True: 0, False: 0]
  ------------------
 4638|      0|                if (dt1->shared->u.enumer.nmembs > dt2->shared->u.enumer.nmembs)
  ------------------
  |  Branch (4638:21): [True: 0, False: 0]
  ------------------
 4639|      0|                    HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4640|      0|            } /* end if */
 4641|      0|            else {
 4642|      0|                if (dt1->shared->u.enumer.nmembs < dt2->shared->u.enumer.nmembs)
  ------------------
  |  Branch (4642:21): [True: 0, False: 0]
  ------------------
 4643|      0|                    HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4644|      0|                if (dt1->shared->u.enumer.nmembs > dt2->shared->u.enumer.nmembs)
  ------------------
  |  Branch (4644:21): [True: 0, False: 0]
  ------------------
 4645|      0|                    HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4646|      0|            } /* end else */
 4647|       |
 4648|       |            /* Build an index for each type so the names are sorted */
 4649|      0|            if (NULL == (idx1 = (unsigned *)H5MM_malloc(dt1->shared->u.enumer.nmembs * sizeof(unsigned))) ||
  ------------------
  |  |   38|      0|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  |  Branch (4649:17): [True: 0, False: 0]
  ------------------
 4650|      0|                NULL == (idx2 = (unsigned *)H5MM_malloc(dt2->shared->u.enumer.nmembs * sizeof(unsigned))))
  ------------------
  |  |   38|      0|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  |  Branch (4650:17): [True: 0, False: 0]
  ------------------
 4651|      0|                HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, 0, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4652|      0|            for (u = 0; u < dt1->shared->u.enumer.nmembs; u++)
  ------------------
  |  Branch (4652:25): [True: 0, False: 0]
  ------------------
 4653|      0|                idx1[u] = u;
 4654|      0|            if (dt1->shared->u.enumer.nmembs > 1) {
  ------------------
  |  Branch (4654:17): [True: 0, False: 0]
  ------------------
 4655|      0|                int i;
 4656|      0|                for (i = (int)dt1->shared->u.enumer.nmembs - 1, swapped = true; swapped && i >= 0; --i) {
  ------------------
  |  Branch (4656:81): [True: 0, False: 0]
  |  Branch (4656:92): [True: 0, False: 0]
  ------------------
 4657|      0|                    int j;
 4658|       |
 4659|      0|                    for (j = 0, swapped = false; j < i; j++)
  ------------------
  |  Branch (4659:50): [True: 0, False: 0]
  ------------------
 4660|      0|                        if (strcmp(dt1->shared->u.enumer.name[idx1[j]],
  ------------------
  |  Branch (4660:29): [True: 0, False: 0]
  ------------------
 4661|      0|                                   dt1->shared->u.enumer.name[idx1[j + 1]]) > 0) {
 4662|      0|                            unsigned tmp_idx = idx1[j];
 4663|      0|                            idx1[j]          = idx1[j + 1];
 4664|      0|                            idx1[j + 1]      = tmp_idx;
 4665|      0|                            swapped          = true;
 4666|      0|                        }
 4667|      0|                }
 4668|      0|            }
 4669|      0|            for (u = 0; u < dt2->shared->u.enumer.nmembs; u++)
  ------------------
  |  Branch (4669:25): [True: 0, False: 0]
  ------------------
 4670|      0|                idx2[u] = u;
 4671|      0|            if (dt2->shared->u.enumer.nmembs > 1) {
  ------------------
  |  Branch (4671:17): [True: 0, False: 0]
  ------------------
 4672|      0|                int i;
 4673|       |
 4674|      0|                for (i = (int)dt2->shared->u.enumer.nmembs - 1, swapped = true; swapped && i >= 0; --i) {
  ------------------
  |  Branch (4674:81): [True: 0, False: 0]
  |  Branch (4674:92): [True: 0, False: 0]
  ------------------
 4675|      0|                    int j;
 4676|       |
 4677|      0|                    for (j = 0, swapped = false; j < i; j++)
  ------------------
  |  Branch (4677:50): [True: 0, False: 0]
  ------------------
 4678|      0|                        if (strcmp(dt2->shared->u.enumer.name[idx2[j]],
  ------------------
  |  Branch (4678:29): [True: 0, False: 0]
  ------------------
 4679|      0|                                   dt2->shared->u.enumer.name[idx2[j + 1]]) > 0) {
 4680|      0|                            unsigned tmp_idx = idx2[j];
 4681|      0|                            idx2[j]          = idx2[j + 1];
 4682|      0|                            idx2[j + 1]      = tmp_idx;
 4683|      0|                            swapped          = true;
 4684|      0|                        }
 4685|      0|                }
 4686|      0|            }
 4687|       |
 4688|       |#ifdef H5T_DEBUG
 4689|       |            /* I don't quite trust the code above yet :-)  --RPM */
 4690|       |            if (dt1->shared->u.enumer.nmembs > 0) {
 4691|       |                for (u = 0; u < dt1->shared->u.enumer.nmembs - 1; u++) {
 4692|       |                    assert(
 4693|       |                        strcmp(dt1->shared->u.enumer.name[idx1[u]], dt1->shared->u.enumer.name[idx1[u + 1]]));
 4694|       |                    assert(
 4695|       |                        strcmp(dt2->shared->u.enumer.name[idx2[u]], dt2->shared->u.enumer.name[idx2[u + 1]]));
 4696|       |                }
 4697|       |            }
 4698|       |#endif
 4699|       |
 4700|       |            /* Compare the members */
 4701|      0|            base_size = dt1->shared->parent->shared->size;
 4702|      0|            for (u = 0; u < dt1->shared->u.enumer.nmembs; u++) {
  ------------------
  |  Branch (4702:25): [True: 0, False: 0]
  ------------------
 4703|      0|                unsigned idx = 0;
 4704|       |
 4705|      0|                if (superset) {
  ------------------
  |  Branch (4705:21): [True: 0, False: 0]
  ------------------
 4706|      0|                    unsigned lt  = 0, rt; /* Final, left & right key indices */
 4707|      0|                    int      cmp = 1;     /* Key comparison value */
 4708|       |
 4709|       |                    /* If a superset is allowed, dt2 may have more members
 4710|       |                     * than dt1, so binary search for matching member name in
 4711|       |                     * dt2
 4712|       |                     */
 4713|      0|                    rt = dt2->shared->u.enumer.nmembs;
 4714|       |
 4715|      0|                    while (lt < rt && cmp) {
  ------------------
  |  Branch (4715:28): [True: 0, False: 0]
  |  Branch (4715:39): [True: 0, False: 0]
  ------------------
 4716|      0|                        idx = (lt + rt) / 2;
 4717|       |
 4718|       |                        /* compare */
 4719|      0|                        if ((cmp = strcmp(dt1->shared->u.enumer.name[idx1[u]],
  ------------------
  |  Branch (4719:29): [True: 0, False: 0]
  ------------------
 4720|      0|                                          dt2->shared->u.enumer.name[idx2[idx]])) < 0)
 4721|      0|                            rt = idx;
 4722|      0|                        else
 4723|      0|                            lt = idx + 1;
 4724|      0|                    }
 4725|       |                    /* Leave, if we couldn't find match */
 4726|      0|                    if (cmp)
  ------------------
  |  Branch (4726:25): [True: 0, False: 0]
  ------------------
 4727|      0|                        HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4728|      0|                } /* end if */
 4729|      0|                else {
 4730|       |                    /* Check for exact member name match when not doing
 4731|       |                     * "superset" comparison
 4732|       |                     */
 4733|      0|                    tmp = strcmp(dt1->shared->u.enumer.name[idx1[u]], dt2->shared->u.enumer.name[idx2[u]]);
 4734|      0|                    if (tmp < 0)
  ------------------
  |  Branch (4734:25): [True: 0, False: 0]
  ------------------
 4735|      0|                        HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4736|      0|                    if (tmp > 0)
  ------------------
  |  Branch (4736:25): [True: 0, False: 0]
  ------------------
 4737|      0|                        HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4738|       |
 4739|       |                    /* Set index value appropriately */
 4740|      0|                    idx = u;
 4741|      0|                } /* end else */
 4742|       |
 4743|      0|                tmp = memcmp((uint8_t *)dt1->shared->u.enumer.value + idx1[u] * base_size,
 4744|      0|                             (uint8_t *)dt2->shared->u.enumer.value + idx2[idx] * base_size, base_size);
 4745|      0|                if (tmp < 0)
  ------------------
  |  Branch (4745:21): [True: 0, False: 0]
  ------------------
 4746|      0|                    HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4747|      0|                if (tmp > 0)
  ------------------
  |  Branch (4747:21): [True: 0, False: 0]
  ------------------
 4748|      0|                    HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4749|      0|            }
 4750|      0|            break;
 4751|       |
 4752|      0|        case H5T_VLEN:
  ------------------
  |  Branch (4752:9): [True: 0, False: 744]
  ------------------
 4753|      0|            assert(dt1->shared->u.vlen.type > H5T_VLEN_BADTYPE &&
 4754|      0|                   dt1->shared->u.vlen.type < H5T_VLEN_MAXTYPE);
 4755|      0|            assert(dt2->shared->u.vlen.type > H5T_VLEN_BADTYPE &&
 4756|      0|                   dt2->shared->u.vlen.type < H5T_VLEN_MAXTYPE);
 4757|      0|            assert(dt1->shared->u.vlen.loc >= H5T_LOC_BADLOC && dt1->shared->u.vlen.loc < H5T_LOC_MAXLOC);
 4758|      0|            assert(dt2->shared->u.vlen.loc >= H5T_LOC_BADLOC && dt2->shared->u.vlen.loc < H5T_LOC_MAXLOC);
 4759|       |
 4760|       |            /* Arbitrarily sort sequence VL datatypes before string VL datatypes */
 4761|      0|            if (dt1->shared->u.vlen.type == H5T_VLEN_SEQUENCE &&
  ------------------
  |  Branch (4761:17): [True: 0, False: 0]
  ------------------
 4762|      0|                dt2->shared->u.vlen.type == H5T_VLEN_STRING) {
  ------------------
  |  Branch (4762:17): [True: 0, False: 0]
  ------------------
 4763|      0|                HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4764|      0|            }
 4765|      0|            else if (dt1->shared->u.vlen.type == H5T_VLEN_STRING &&
  ------------------
  |  Branch (4765:22): [True: 0, False: 0]
  ------------------
 4766|      0|                     dt2->shared->u.vlen.type == H5T_VLEN_SEQUENCE) {
  ------------------
  |  Branch (4766:22): [True: 0, False: 0]
  ------------------
 4767|      0|                HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4768|      0|            }
 4769|       |            /* Arbitrarily sort VL datatypes in memory before disk */
 4770|      0|            if (dt1->shared->u.vlen.loc == H5T_LOC_MEMORY && dt2->shared->u.vlen.loc == H5T_LOC_DISK) {
  ------------------
  |  Branch (4770:17): [True: 0, False: 0]
  |  Branch (4770:62): [True: 0, False: 0]
  ------------------
 4771|      0|                HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4772|      0|            }
 4773|      0|            else if (dt1->shared->u.vlen.loc == H5T_LOC_DISK && dt2->shared->u.vlen.loc == H5T_LOC_MEMORY) {
  ------------------
  |  Branch (4773:22): [True: 0, False: 0]
  |  Branch (4773:65): [True: 0, False: 0]
  ------------------
 4774|      0|                HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4775|      0|            }
 4776|      0|            else if (dt1->shared->u.vlen.loc == H5T_LOC_BADLOC && dt2->shared->u.vlen.loc != H5T_LOC_BADLOC) {
  ------------------
  |  Branch (4776:22): [True: 0, False: 0]
  |  Branch (4776:67): [True: 0, False: 0]
  ------------------
 4777|      0|                HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4778|      0|            }
 4779|       |
 4780|       |            /* Don't allow VL types in different files to compare as equal */
 4781|      0|            if (dt1->shared->u.vlen.file < dt2->shared->u.vlen.file)
  ------------------
  |  Branch (4781:17): [True: 0, False: 0]
  ------------------
 4782|      0|                HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4783|      0|            if (dt1->shared->u.vlen.file > dt2->shared->u.vlen.file)
  ------------------
  |  Branch (4783:17): [True: 0, False: 0]
  ------------------
 4784|      0|                HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4785|      0|            break;
 4786|       |
 4787|      0|        case H5T_OPAQUE:
  ------------------
  |  Branch (4787:9): [True: 0, False: 744]
  ------------------
 4788|      0|            if (dt1->shared->u.opaque.tag && dt2->shared->u.opaque.tag)
  ------------------
  |  Branch (4788:17): [True: 0, False: 0]
  |  Branch (4788:46): [True: 0, False: 0]
  ------------------
 4789|      0|                HGOTO_DONE(strcmp(dt1->shared->u.opaque.tag, dt2->shared->u.opaque.tag));
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4790|      0|            break;
 4791|       |
 4792|      0|        case H5T_ARRAY:
  ------------------
  |  Branch (4792:9): [True: 0, False: 744]
  ------------------
 4793|      0|            if (dt1->shared->u.array.ndims < dt2->shared->u.array.ndims)
  ------------------
  |  Branch (4793:17): [True: 0, False: 0]
  ------------------
 4794|      0|                HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4795|      0|            if (dt1->shared->u.array.ndims > dt2->shared->u.array.ndims)
  ------------------
  |  Branch (4795:17): [True: 0, False: 0]
  ------------------
 4796|      0|                HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4797|       |
 4798|      0|            for (u = 0; u < dt1->shared->u.array.ndims; u++) {
  ------------------
  |  Branch (4798:25): [True: 0, False: 0]
  ------------------
 4799|      0|                if (dt1->shared->u.array.dim[u] < dt2->shared->u.array.dim[u])
  ------------------
  |  Branch (4799:21): [True: 0, False: 0]
  ------------------
 4800|      0|                    HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4801|      0|                if (dt1->shared->u.array.dim[u] > dt2->shared->u.array.dim[u])
  ------------------
  |  Branch (4801:21): [True: 0, False: 0]
  ------------------
 4802|      0|                    HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4803|      0|            }
 4804|       |
 4805|      0|            tmp = H5T_cmp(dt1->shared->parent, dt2->shared->parent, superset);
 4806|      0|            if (tmp < 0)
  ------------------
  |  Branch (4806:17): [True: 0, False: 0]
  ------------------
 4807|      0|                HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4808|      0|            if (tmp > 0)
  ------------------
  |  Branch (4808:17): [True: 0, False: 0]
  ------------------
 4809|      0|                HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4810|      0|            break;
 4811|       |
 4812|      0|        case H5T_NO_CLASS:
  ------------------
  |  Branch (4812:9): [True: 0, False: 744]
  ------------------
 4813|    543|        case H5T_INTEGER:
  ------------------
  |  Branch (4813:9): [True: 543, False: 201]
  ------------------
 4814|    648|        case H5T_FLOAT:
  ------------------
  |  Branch (4814:9): [True: 105, False: 639]
  ------------------
 4815|    648|        case H5T_TIME:
  ------------------
  |  Branch (4815:9): [True: 0, False: 744]
  ------------------
 4816|    706|        case H5T_STRING:
  ------------------
  |  Branch (4816:9): [True: 58, False: 686]
  ------------------
 4817|    706|        case H5T_BITFIELD:
  ------------------
  |  Branch (4817:9): [True: 0, False: 744]
  ------------------
 4818|    744|        case H5T_REFERENCE:
  ------------------
  |  Branch (4818:9): [True: 38, False: 706]
  ------------------
 4819|    744|        case H5T_NCLASSES:
  ------------------
  |  Branch (4819:9): [True: 0, False: 744]
  ------------------
 4820|    744|        default:
  ------------------
  |  Branch (4820:9): [True: 0, False: 744]
  ------------------
 4821|       |            /*
 4822|       |             * Atomic datatypes...
 4823|       |             */
 4824|    744|            if (dt1->shared->u.atomic.order < dt2->shared->u.atomic.order)
  ------------------
  |  Branch (4824:17): [True: 0, False: 744]
  ------------------
 4825|      0|                HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4826|    744|            if (dt1->shared->u.atomic.order > dt2->shared->u.atomic.order)
  ------------------
  |  Branch (4826:17): [True: 0, False: 744]
  ------------------
 4827|      0|                HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4828|       |
 4829|    744|            if (dt1->shared->u.atomic.prec < dt2->shared->u.atomic.prec)
  ------------------
  |  Branch (4829:17): [True: 0, False: 744]
  ------------------
 4830|      0|                HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4831|    744|            if (dt1->shared->u.atomic.prec > dt2->shared->u.atomic.prec)
  ------------------
  |  Branch (4831:17): [True: 0, False: 744]
  ------------------
 4832|      0|                HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4833|       |
 4834|    744|            if (dt1->shared->u.atomic.offset < dt2->shared->u.atomic.offset)
  ------------------
  |  Branch (4834:17): [True: 0, False: 744]
  ------------------
 4835|      0|                HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4836|    744|            if (dt1->shared->u.atomic.offset > dt2->shared->u.atomic.offset)
  ------------------
  |  Branch (4836:17): [True: 0, False: 744]
  ------------------
 4837|      0|                HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4838|       |
 4839|    744|            if (dt1->shared->u.atomic.lsb_pad < dt2->shared->u.atomic.lsb_pad)
  ------------------
  |  Branch (4839:17): [True: 0, False: 744]
  ------------------
 4840|      0|                HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4841|    744|            if (dt1->shared->u.atomic.lsb_pad > dt2->shared->u.atomic.lsb_pad)
  ------------------
  |  Branch (4841:17): [True: 0, False: 744]
  ------------------
 4842|      0|                HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4843|       |
 4844|    744|            if (dt1->shared->u.atomic.msb_pad < dt2->shared->u.atomic.msb_pad)
  ------------------
  |  Branch (4844:17): [True: 0, False: 744]
  ------------------
 4845|      0|                HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4846|    744|            if (dt1->shared->u.atomic.msb_pad > dt2->shared->u.atomic.msb_pad)
  ------------------
  |  Branch (4846:17): [True: 0, False: 744]
  ------------------
 4847|      0|                HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4848|       |
 4849|    744|            switch (dt1->shared->type) {
 4850|    543|                case H5T_INTEGER:
  ------------------
  |  Branch (4850:17): [True: 543, False: 201]
  ------------------
 4851|    543|                    if (dt1->shared->u.atomic.u.i.sign < dt2->shared->u.atomic.u.i.sign)
  ------------------
  |  Branch (4851:25): [True: 165, False: 378]
  ------------------
 4852|    165|                        HGOTO_DONE(-1);
  ------------------
  |  |   91|    165|    do {                                                                                                     \
  |  |   92|    165|        ret_value = ret_val;                                                                                 \
  |  |   93|    165|        goto done;                                                                                           \
  |  |   94|    165|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4853|    378|                    if (dt1->shared->u.atomic.u.i.sign > dt2->shared->u.atomic.u.i.sign)
  ------------------
  |  Branch (4853:25): [True: 54, False: 324]
  ------------------
 4854|     54|                        HGOTO_DONE(1);
  ------------------
  |  |   91|     54|    do {                                                                                                     \
  |  |   92|     54|        ret_value = ret_val;                                                                                 \
  |  |   93|     54|        goto done;                                                                                           \
  |  |   94|     54|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4855|    324|                    break;
 4856|       |
 4857|    324|                case H5T_FLOAT:
  ------------------
  |  Branch (4857:17): [True: 105, False: 639]
  ------------------
 4858|    105|                    if (dt1->shared->u.atomic.u.f.sign < dt2->shared->u.atomic.u.f.sign)
  ------------------
  |  Branch (4858:25): [True: 0, False: 105]
  ------------------
 4859|      0|                        HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4860|    105|                    if (dt1->shared->u.atomic.u.f.sign > dt2->shared->u.atomic.u.f.sign)
  ------------------
  |  Branch (4860:25): [True: 0, False: 105]
  ------------------
 4861|      0|                        HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4862|       |
 4863|    105|                    if (dt1->shared->u.atomic.u.f.epos < dt2->shared->u.atomic.u.f.epos)
  ------------------
  |  Branch (4863:25): [True: 0, False: 105]
  ------------------
 4864|      0|                        HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4865|    105|                    if (dt1->shared->u.atomic.u.f.epos > dt2->shared->u.atomic.u.f.epos)
  ------------------
  |  Branch (4865:25): [True: 0, False: 105]
  ------------------
 4866|      0|                        HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4867|       |
 4868|    105|                    if (dt1->shared->u.atomic.u.f.esize < dt2->shared->u.atomic.u.f.esize)
  ------------------
  |  Branch (4868:25): [True: 0, False: 105]
  ------------------
 4869|      0|                        HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4870|    105|                    if (dt1->shared->u.atomic.u.f.esize > dt2->shared->u.atomic.u.f.esize)
  ------------------
  |  Branch (4870:25): [True: 0, False: 105]
  ------------------
 4871|      0|                        HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4872|       |
 4873|    105|                    if (dt1->shared->u.atomic.u.f.ebias < dt2->shared->u.atomic.u.f.ebias)
  ------------------
  |  Branch (4873:25): [True: 0, False: 105]
  ------------------
 4874|      0|                        HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4875|    105|                    if (dt1->shared->u.atomic.u.f.ebias > dt2->shared->u.atomic.u.f.ebias)
  ------------------
  |  Branch (4875:25): [True: 0, False: 105]
  ------------------
 4876|      0|                        HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4877|       |
 4878|    105|                    if (dt1->shared->u.atomic.u.f.mpos < dt2->shared->u.atomic.u.f.mpos)
  ------------------
  |  Branch (4878:25): [True: 0, False: 105]
  ------------------
 4879|      0|                        HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4880|    105|                    if (dt1->shared->u.atomic.u.f.mpos > dt2->shared->u.atomic.u.f.mpos)
  ------------------
  |  Branch (4880:25): [True: 0, False: 105]
  ------------------
 4881|      0|                        HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4882|       |
 4883|    105|                    if (dt1->shared->u.atomic.u.f.msize < dt2->shared->u.atomic.u.f.msize)
  ------------------
  |  Branch (4883:25): [True: 0, False: 105]
  ------------------
 4884|      0|                        HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4885|    105|                    if (dt1->shared->u.atomic.u.f.msize > dt2->shared->u.atomic.u.f.msize)
  ------------------
  |  Branch (4885:25): [True: 0, False: 105]
  ------------------
 4886|      0|                        HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4887|       |
 4888|    105|                    if (dt1->shared->u.atomic.u.f.norm < dt2->shared->u.atomic.u.f.norm)
  ------------------
  |  Branch (4888:25): [True: 0, False: 105]
  ------------------
 4889|      0|                        HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4890|    105|                    if (dt1->shared->u.atomic.u.f.norm > dt2->shared->u.atomic.u.f.norm)
  ------------------
  |  Branch (4890:25): [True: 0, False: 105]
  ------------------
 4891|      0|                        HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4892|       |
 4893|    105|                    if (dt1->shared->u.atomic.u.f.pad < dt2->shared->u.atomic.u.f.pad)
  ------------------
  |  Branch (4893:25): [True: 0, False: 105]
  ------------------
 4894|      0|                        HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4895|    105|                    if (dt1->shared->u.atomic.u.f.pad > dt2->shared->u.atomic.u.f.pad)
  ------------------
  |  Branch (4895:25): [True: 0, False: 105]
  ------------------
 4896|      0|                        HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4897|       |
 4898|    105|                    break;
 4899|       |
 4900|    105|                case H5T_TIME: /* order and precision are checked above */
  ------------------
  |  Branch (4900:17): [True: 0, False: 744]
  ------------------
 4901|       |                    /*void */
 4902|      0|                    break;
 4903|       |
 4904|     58|                case H5T_STRING:
  ------------------
  |  Branch (4904:17): [True: 58, False: 686]
  ------------------
 4905|     58|                    if (dt1->shared->u.atomic.u.s.cset < dt2->shared->u.atomic.u.s.cset)
  ------------------
  |  Branch (4905:25): [True: 0, False: 58]
  ------------------
 4906|      0|                        HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4907|     58|                    if (dt1->shared->u.atomic.u.s.cset > dt2->shared->u.atomic.u.s.cset)
  ------------------
  |  Branch (4907:25): [True: 0, False: 58]
  ------------------
 4908|      0|                        HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4909|       |
 4910|     58|                    if (dt1->shared->u.atomic.u.s.pad < dt2->shared->u.atomic.u.s.pad)
  ------------------
  |  Branch (4910:25): [True: 0, False: 58]
  ------------------
 4911|      0|                        HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4912|     58|                    if (dt1->shared->u.atomic.u.s.pad > dt2->shared->u.atomic.u.s.pad)
  ------------------
  |  Branch (4912:25): [True: 0, False: 58]
  ------------------
 4913|      0|                        HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4914|       |
 4915|     58|                    break;
 4916|       |
 4917|     58|                case H5T_BITFIELD:
  ------------------
  |  Branch (4917:17): [True: 0, False: 744]
  ------------------
 4918|       |                    /*void */
 4919|      0|                    break;
 4920|       |
 4921|     38|                case H5T_REFERENCE:
  ------------------
  |  Branch (4921:17): [True: 38, False: 706]
  ------------------
 4922|     38|                    if (dt1->shared->u.atomic.u.r.rtype < dt2->shared->u.atomic.u.r.rtype)
  ------------------
  |  Branch (4922:25): [True: 0, False: 38]
  ------------------
 4923|      0|                        HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4924|     38|                    if (dt1->shared->u.atomic.u.r.rtype > dt2->shared->u.atomic.u.r.rtype)
  ------------------
  |  Branch (4924:25): [True: 0, False: 38]
  ------------------
 4925|      0|                        HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4926|     38|                    if (dt1->shared->u.atomic.u.r.loc < dt2->shared->u.atomic.u.r.loc)
  ------------------
  |  Branch (4926:25): [True: 0, False: 38]
  ------------------
 4927|      0|                        HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4928|     38|                    if (dt1->shared->u.atomic.u.r.loc > dt2->shared->u.atomic.u.r.loc)
  ------------------
  |  Branch (4928:25): [True: 0, False: 38]
  ------------------
 4929|      0|                        HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4930|     38|                    if (dt1->shared->u.atomic.u.r.file < dt2->shared->u.atomic.u.r.file)
  ------------------
  |  Branch (4930:25): [True: 0, False: 38]
  ------------------
 4931|      0|                        HGOTO_DONE(-1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4932|     38|                    if (dt1->shared->u.atomic.u.r.file > dt2->shared->u.atomic.u.r.file)
  ------------------
  |  Branch (4932:25): [True: 0, False: 38]
  ------------------
 4933|      0|                        HGOTO_DONE(1);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4934|     38|                    break;
 4935|       |
 4936|     38|                case H5T_NO_CLASS:
  ------------------
  |  Branch (4936:17): [True: 0, False: 744]
  ------------------
 4937|      0|                case H5T_OPAQUE:
  ------------------
  |  Branch (4937:17): [True: 0, False: 744]
  ------------------
 4938|      0|                case H5T_COMPOUND:
  ------------------
  |  Branch (4938:17): [True: 0, False: 744]
  ------------------
 4939|      0|                case H5T_ENUM:
  ------------------
  |  Branch (4939:17): [True: 0, False: 744]
  ------------------
 4940|      0|                case H5T_VLEN:
  ------------------
  |  Branch (4940:17): [True: 0, False: 744]
  ------------------
 4941|      0|                case H5T_ARRAY:
  ------------------
  |  Branch (4941:17): [True: 0, False: 744]
  ------------------
 4942|      0|                case H5T_NCLASSES:
  ------------------
  |  Branch (4942:17): [True: 0, False: 744]
  ------------------
 4943|      0|                default:
  ------------------
  |  Branch (4943:17): [True: 0, False: 744]
  ------------------
 4944|      0|                    assert("not implemented yet" && 0);
 4945|      0|                    break;
 4946|    744|            }
 4947|    525|            break;
 4948|    744|    } /* end switch */
 4949|       |
 4950|  1.77k|done:
 4951|  1.77k|    if (NULL != idx1)
  ------------------
  |  Branch (4951:9): [True: 0, False: 1.77k]
  ------------------
 4952|      0|        H5MM_xfree(idx1);
 4953|  1.77k|    if (NULL != idx2)
  ------------------
  |  Branch (4953:9): [True: 0, False: 1.77k]
  ------------------
 4954|      0|        H5MM_xfree(idx2);
 4955|       |
 4956|  1.77k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  1.77k|    ;                                                                                                        \
  |  | 1573|  1.77k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  1.77k|    return (ret_value);                                                                                      \
  |  | 1575|  1.77k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 4957|    744|} /* end H5T_cmp() */
H5T_path_find:
 5047|    107|{
 5048|    107|    H5T_conv_func_t conv_func;        /* Conversion function wrapper */
 5049|    107|    H5T_path_t     *ret_value = NULL; /* Return value */
 5050|       |
 5051|    107|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|    107|    {                                                                                                        \
  |  | 1392|    107|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    107|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    107|                                                                                                             \
  |  |  |  | 1267|    107|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    107|        {
  ------------------
 5052|       |
 5053|       |    /* Sanity check */
 5054|    107|    assert(src);
 5055|    107|    assert(src->shared);
 5056|    107|    assert(dst);
 5057|    107|    assert(dst->shared);
 5058|       |
 5059|       |    /* Set up conversion function wrapper */
 5060|    107|    conv_func.is_app     = false;
 5061|    107|    conv_func.u.lib_func = NULL;
 5062|       |
 5063|       |    /* Call the internal routine, with additional parameters */
 5064|    107|    if (NULL == (ret_value = H5T__path_find_real(src, dst, NULL, &conv_func)))
  ------------------
  |  Branch (5064:9): [True: 0, False: 107]
  ------------------
 5065|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTGET, NULL, "can't find datatype conversion path");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5066|       |
 5067|    107|done:
 5068|    107|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    107|    ;                                                                                                        \
  |  | 1573|    107|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    107|    return (ret_value);                                                                                      \
  |  | 1575|    107|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 5069|    107|} /* end H5T_path_find() */
H5T_path_noop:
 5667|    112|{
 5668|    112|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|    112|    {                                                                                                        \
  |  | 1425|    112|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    112|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|    112|        {
  ------------------
 5669|       |
 5670|    112|    assert(p);
 5671|       |
 5672|    112|    FUNC_LEAVE_NOAPI(p->is_noop || (p->is_hard && 0 == H5T_cmp(p->src, p->dst, false)))
  ------------------
  |  | 1572|    112|    ;                                                                                                        \
  |  | 1573|    112|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    173|    return (ret_value);                                                                                      \
  |  |  ------------------
  |  |  |  Branch (1574:13): [True: 3, False: 26]
  |  |  |  Branch (1574:13): [True: 0, False: 3]
  |  |  |  Branch (1574:13): [True: 83, False: 29]
  |  |  ------------------
  |  | 1575|    112|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 5673|    112|} /* end H5T_path_noop() */
H5T_noop_conv:
 5686|      9|{
 5687|      9|    bool ret_value = false; /* Return value */
 5688|       |
 5689|      9|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      9|    {                                                                                                        \
  |  | 1425|      9|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      9|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      9|        {
  ------------------
 5690|       |
 5691|       |    /* Sanity check */
 5692|      9|    assert(src);
 5693|      9|    assert(src->shared);
 5694|      9|    assert(dst);
 5695|      9|    assert(dst->shared);
 5696|       |
 5697|       |    /* Check the conversion path.  If source and destination types are equal
 5698|       |     * then its a no-op conversion, as long as neither type has a "force conversion"
 5699|       |     * flag.  Otherwise search over the conversion table entries.
 5700|       |     */
 5701|      9|    if (src->shared->force_conv == false && dst->shared->force_conv == false &&
  ------------------
  |  Branch (5701:9): [True: 0, False: 9]
  |  Branch (5701:45): [True: 0, False: 0]
  ------------------
 5702|      9|        0 == H5T_cmp(src, dst, true)) {
  ------------------
  |  Branch (5702:9): [True: 0, False: 0]
  ------------------
 5703|      0|        ret_value = true;
 5704|      0|    } /* end if */
 5705|      9|    else {
 5706|      9|        int idx = 0; /* Matching entry */
 5707|       |
 5708|       |        /* Search the table of conversion paths */
 5709|      9|        if (H5T__path_table_search(src, dst, &idx, NULL))
  ------------------
  |  Branch (5709:13): [True: 5, False: 4]
  ------------------
 5710|      5|            ret_value = H5T_path_noop(H5T_g.path[idx]);
 5711|      9|    } /* end else */
 5712|       |
 5713|      9|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      9|    ;                                                                                                        \
  |  | 1573|      9|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      9|    return (ret_value);                                                                                      \
  |  | 1575|      9|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 5714|      9|} /* end H5T_noop_conv() */
H5T_path_compound_subset:
 5739|      9|{
 5740|      9|    H5T_subset_info_t *ret_value = NULL;
 5741|       |
 5742|      9|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      9|    {                                                                                                        \
  |  | 1425|      9|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      9|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      9|        {
  ------------------
 5743|       |
 5744|      9|    assert(p);
 5745|       |
 5746|       |    /* Only retrieve private info if the library compound conversion
 5747|       |     * function is in use */
 5748|      9|    if (!p->conv.is_app && (p->conv.u.lib_func == H5T__conv_struct))
  ------------------
  |  Branch (5748:9): [True: 9, False: 0]
  |  Branch (5748:28): [True: 0, False: 9]
  ------------------
 5749|      0|        ret_value = H5T__conv_struct_subset(&(p->cdata));
 5750|       |
 5751|      9|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      9|    ;                                                                                                        \
  |  | 1573|      9|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      9|    return (ret_value);                                                                                      \
  |  | 1575|      9|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 5752|      9|} /* end H5T_path_compound_subset */
H5T_path_bkg:
 5765|     24|{
 5766|     24|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|     24|    {                                                                                                        \
  |  | 1425|     24|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|     24|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|     24|        {
  ------------------
 5767|       |
 5768|     24|    assert(p);
 5769|       |
 5770|     24|    FUNC_LEAVE_NOAPI(p->cdata.need_bkg)
  ------------------
  |  | 1572|     24|    ;                                                                                                        \
  |  | 1573|     24|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     24|    return (ret_value);                                                                                      \
  |  | 1575|     24|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 5771|     24|} /* end H5T_path_bkg() */
H5T_convert:
 5819|     24|{
 5820|     24|    H5T_conv_ctx_t conv_ctx = {0};
 5821|       |#ifdef H5T_DEBUG
 5822|       |    H5_timer_t timer = {0}; /* Timer for conversion */
 5823|       |#endif
 5824|     24|    hid_t  src_type_id = H5I_INVALID_HID;
  ------------------
  |  |   75|     24|#define H5I_INVALID_HID (-1)
  ------------------
 5825|     24|    hid_t  dst_type_id = H5I_INVALID_HID;
  ------------------
  |  |   75|     24|#define H5I_INVALID_HID (-1)
  ------------------
 5826|     24|    herr_t ret_value   = SUCCEED;
  ------------------
  |  |  283|     24|#define SUCCEED 0
  ------------------
 5827|       |
 5828|     24|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     24|    {                                                                                                        \
  |  | 1392|     24|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     24|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     24|                                                                                                             \
  |  |  |  | 1267|     24|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     24|        {
  ------------------
 5829|       |
 5830|       |#ifdef H5T_DEBUG
 5831|       |    if (H5DEBUG(T)) {
 5832|       |        /* Initialize and start timer */
 5833|       |        H5_timer_init(&timer);
 5834|       |        H5_timer_start(&timer);
 5835|       |    } /* end if */
 5836|       |#endif
 5837|       |
 5838|       |    /* Get the datatype conversion exception callback structure from the API context */
 5839|     24|    if (H5CX_get_dt_conv_cb(&conv_ctx.u.conv.cb_struct) < 0)
  ------------------
  |  Branch (5839:9): [True: 0, False: 24]
  ------------------
 5840|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTGET, FAIL, "unable to get conversion exception callback");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5841|       |
 5842|       |    /*
 5843|       |     * If this is an application conversion function or an exception callback
 5844|       |     * function was supplied, register IDs for the datatypes so we can pass
 5845|       |     * those as appropriate. Also grab the DXPL if necessary so we can pass
 5846|       |     * that to the app conversion function.
 5847|       |     */
 5848|     24|    if (tpath->conv.is_app || conv_ctx.u.conv.cb_struct.func) {
  ------------------
  |  Branch (5848:9): [True: 0, False: 24]
  |  Branch (5848:31): [True: 0, False: 24]
  ------------------
 5849|      0|        if ((src_type_id = H5I_register(H5I_DATATYPE, src_type, false)) < 0)
  ------------------
  |  Branch (5849:13): [True: 0, False: 0]
  ------------------
 5850|      0|            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to register ID for source datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5851|      0|        if ((dst_type_id = H5I_register(H5I_DATATYPE, dst_type, false)) < 0)
  ------------------
  |  Branch (5851:13): [True: 0, False: 0]
  ------------------
 5852|      0|            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5853|      0|                        "unable to register ID for destination datatype");
 5854|       |
 5855|      0|        if (tpath->conv.is_app)
  ------------------
  |  Branch (5855:13): [True: 0, False: 0]
  ------------------
 5856|      0|            conv_ctx.u.conv.dxpl_id = H5CX_get_dxpl();
 5857|      0|    }
 5858|     24|    conv_ctx.u.conv.src_type_id = src_type_id;
 5859|     24|    conv_ctx.u.conv.dst_type_id = dst_type_id;
 5860|       |
 5861|     24|    if (H5T_convert_with_ctx(tpath, src_type, dst_type, &conv_ctx, nelmts, buf_stride, bkg_stride, buf, bkg) <
  ------------------
  |  Branch (5861:9): [True: 3, False: 21]
  ------------------
 5862|     24|        0)
 5863|      3|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCONVERT, FAIL, "datatype conversion failed");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5864|       |
 5865|     24|done:
 5866|       |    /* Remove IDs, but don't decrement their reference counts, as they
 5867|       |     * could have been registered for datatypes that weren't copied
 5868|       |     */
 5869|     24|    if ((src_type_id >= 0) && (NULL == H5I_remove(src_type_id)))
  ------------------
  |  Branch (5869:9): [True: 0, False: 24]
  |  Branch (5869:31): [True: 0, False: 0]
  ------------------
 5870|      0|        HDONE_ERROR(H5E_DATATYPE, H5E_CANTFREE, FAIL, "can't decrement temporary datatype ID");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5871|     24|    if ((dst_type_id >= 0) && (NULL == H5I_remove(dst_type_id)))
  ------------------
  |  Branch (5871:9): [True: 0, False: 24]
  |  Branch (5871:31): [True: 0, False: 0]
  ------------------
 5872|      0|        HDONE_ERROR(H5E_DATATYPE, H5E_CANTFREE, FAIL, "can't decrement temporary datatype ID");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5873|       |
 5874|       |#ifdef H5T_DEBUG
 5875|       |    if (H5DEBUG(T)) {
 5876|       |        /* Stop timer */
 5877|       |        H5_timer_stop(&timer);
 5878|       |
 5879|       |        /* Record elapsed timer info */
 5880|       |        H5_timer_get_times(timer, &tpath->stats.times);
 5881|       |
 5882|       |        /* Increment # of calls and # of elements converted */
 5883|       |        tpath->stats.ncalls++;
 5884|       |        tpath->stats.nelmts += nelmts;
 5885|       |    } /* end if */
 5886|       |#endif
 5887|       |
 5888|     24|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     24|    ;                                                                                                        \
  |  | 1573|     24|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     24|    return (ret_value);                                                                                      \
  |  | 1575|     24|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 5889|     24|} /* end H5T_convert() */
H5T_convert_with_ctx:
 5913|     24|{
 5914|     24|    herr_t ret_value = SUCCEED;
  ------------------
  |  |  283|     24|#define SUCCEED 0
  ------------------
 5915|       |
 5916|     24|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     24|    {                                                                                                        \
  |  | 1392|     24|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     24|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     24|                                                                                                             \
  |  |  |  | 1267|     24|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     24|        {
  ------------------
 5917|       |
 5918|       |    /* Call the appropriate conversion callback */
 5919|     24|    tpath->cdata.command = H5T_CONV_CONV;
 5920|     24|    if (tpath->conv.is_app) {
  ------------------
  |  Branch (5920:9): [True: 0, False: 24]
  ------------------
 5921|      0|        if ((tpath->conv.u.app_func)(conv_ctx->u.conv.src_type_id, conv_ctx->u.conv.dst_type_id,
  ------------------
  |  Branch (5921:13): [True: 0, False: 0]
  ------------------
 5922|      0|                                     &(tpath->cdata), nelmts, buf_stride, bkg_stride, buf, bkg,
 5923|      0|                                     conv_ctx->u.conv.dxpl_id) < 0)
 5924|      0|            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCONVERT, FAIL, "datatype conversion failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5925|      0|    } /* end if */
 5926|     24|    else if ((tpath->conv.u.lib_func)(src_type, dst_type, &(tpath->cdata), conv_ctx, nelmts, buf_stride,
  ------------------
  |  Branch (5926:14): [True: 3, False: 21]
  ------------------
 5927|     24|                                      bkg_stride, buf, bkg) < 0)
 5928|      3|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCONVERT, FAIL, "datatype conversion failed");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5929|       |
 5930|     24|done:
 5931|     24|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     24|    ;                                                                                                        \
  |  | 1573|     24|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     24|    return (ret_value);                                                                                      \
  |  | 1575|     24|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 5932|     24|} /* end H5T_convert_with_ctx() */
H5T_is_named:
 6044|     95|{
 6045|     95|    htri_t ret_value = false;
 6046|       |
 6047|     95|    FUNC_ENTER_NOAPI_NOERR
  ------------------
  |  | 1397|     95|    {                                                                                                        \
  |  | 1398|     95|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|     95|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1399|     95|        {
  ------------------
 6048|       |
 6049|     95|    assert(dt);
 6050|       |
 6051|     95|    if (dt->vol_obj)
  ------------------
  |  Branch (6051:9): [True: 0, False: 95]
  ------------------
 6052|      0|        ret_value = true;
 6053|     95|    else
 6054|     95|        ret_value = (H5T_STATE_OPEN == dt->shared->state || H5T_STATE_NAMED == dt->shared->state);
  ------------------
  |  Branch (6054:22): [True: 0, False: 95]
  |  Branch (6054:61): [True: 0, False: 95]
  ------------------
 6055|       |
 6056|     95|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     95|    ;                                                                                                        \
  |  | 1573|     95|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     95|    return (ret_value);                                                                                      \
  |  | 1575|     95|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 6057|     95|}
H5T_set_loc:
 6222|    264|{
 6223|    264|    htri_t   changed;       /* Whether H5T_set_loc changed the type (even if the size didn't change) */
 6224|    264|    htri_t   ret_value = 0; /* Indicate that success, but no location change */
 6225|    264|    unsigned i;             /* Local index variable */
 6226|    264|    size_t   old_size;      /* Previous size of a field */
 6227|       |
 6228|    264|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    264|    {                                                                                                        \
  |  | 1392|    264|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    264|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    264|                                                                                                             \
  |  |  |  | 1267|    264|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    264|        {
  ------------------
 6229|       |
 6230|    264|    assert(dt);
 6231|    264|    assert(loc >= H5T_LOC_BADLOC && loc < H5T_LOC_MAXLOC);
 6232|       |
 6233|       |    /* Datatypes can't change in size if the force_conv flag is not set */
 6234|    264|    if (dt->shared->force_conv) {
  ------------------
  |  Branch (6234:9): [True: 77, False: 187]
  ------------------
 6235|       |        /* Check the datatype of this element */
 6236|     77|        switch (dt->shared->type) {
 6237|      0|            case H5T_ARRAY: /* Recurse on VL, compound and array base element type */
  ------------------
  |  Branch (6237:13): [True: 0, False: 77]
  ------------------
 6238|       |                /* Recurse if it's VL, compound, enum or array */
 6239|       |                /* (If the force_conv flag is _not_ set, the type cannot change in size, so don't recurse) */
 6240|      0|                if (dt->shared->parent->shared->force_conv &&
  ------------------
  |  Branch (6240:21): [True: 0, False: 0]
  ------------------
 6241|      0|                    H5T_IS_COMPLEX(dt->shared->parent->shared->type)) {
  ------------------
  |  |   46|      0|    ((t) == H5T_COMPOUND || (t) == H5T_ENUM || (t) == H5T_VLEN || (t) == H5T_ARRAY || (t) == H5T_REFERENCE)
  |  |  ------------------
  |  |  |  Branch (46:6): [True: 0, False: 0]
  |  |  |  Branch (46:29): [True: 0, False: 0]
  |  |  |  Branch (46:48): [True: 0, False: 0]
  |  |  |  Branch (46:67): [True: 0, False: 0]
  |  |  |  Branch (46:87): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 6242|       |                    /* Keep the old base element size for later */
 6243|      0|                    old_size = dt->shared->parent->shared->size;
 6244|       |
 6245|       |                    /* Mark the VL, compound or array type */
 6246|      0|                    if ((changed = H5T_set_loc(dt->shared->parent, file, loc)) < 0)
  ------------------
  |  Branch (6246:25): [True: 0, False: 0]
  ------------------
 6247|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "Unable to set VL location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 6248|      0|                    if (changed > 0)
  ------------------
  |  Branch (6248:25): [True: 0, False: 0]
  ------------------
 6249|      0|                        ret_value = changed;
 6250|       |
 6251|       |                    /* Check if the field changed size */
 6252|      0|                    if (old_size != dt->shared->parent->shared->size) {
  ------------------
  |  Branch (6252:25): [True: 0, False: 0]
  ------------------
 6253|       |                        /* Adjust the size of the array */
 6254|      0|                        dt->shared->size = dt->shared->u.array.nelem * dt->shared->parent->shared->size;
 6255|      0|                    } /* end if */
 6256|      0|                }     /* end if */
 6257|      0|                break;
 6258|       |
 6259|      0|            case H5T_COMPOUND: /* Check each field and recurse on VL, compound and array type */
  ------------------
  |  Branch (6259:13): [True: 0, False: 77]
  ------------------
 6260|      0|            {
 6261|      0|                ssize_t accum_change = 0; /* Amount of change in the offset of the fields */
 6262|       |
 6263|       |                /* Sort the fields based on offsets */
 6264|      0|                H5T__sort_value(dt, NULL);
 6265|       |
 6266|      0|                for (i = 0; i < dt->shared->u.compnd.nmembs; i++) {
  ------------------
  |  Branch (6266:29): [True: 0, False: 0]
  ------------------
 6267|      0|                    H5T_t *memb_type; /* Member's datatype pointer */
 6268|       |
 6269|       |                    /* Range check against compound member's offset */
 6270|      0|                    if ((accum_change < 0) && ((ssize_t)dt->shared->u.compnd.memb[i].offset < accum_change))
  ------------------
  |  Branch (6270:25): [True: 0, False: 0]
  |  Branch (6270:47): [True: 0, False: 0]
  ------------------
 6271|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_BADVALUE, FAIL, "invalid field size in datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 6272|       |
 6273|       |                    /* Apply the accumulated size change to the offset of the field */
 6274|      0|                    dt->shared->u.compnd.memb[i].offset += (size_t)accum_change;
 6275|       |
 6276|       |                    /* Set the member type pointer (for convenience) */
 6277|      0|                    memb_type = dt->shared->u.compnd.memb[i].type;
 6278|       |
 6279|       |                    /* Recurse if it's VL, compound, enum or array */
 6280|       |                    /* (If the force_conv flag is _not_ set, the type cannot change in size, so don't recurse)
 6281|       |                     */
 6282|      0|                    if (memb_type->shared->force_conv && H5T_IS_COMPLEX(memb_type->shared->type)) {
  ------------------
  |  |   46|      0|    ((t) == H5T_COMPOUND || (t) == H5T_ENUM || (t) == H5T_VLEN || (t) == H5T_ARRAY || (t) == H5T_REFERENCE)
  |  |  ------------------
  |  |  |  Branch (46:6): [True: 0, False: 0]
  |  |  |  Branch (46:29): [True: 0, False: 0]
  |  |  |  Branch (46:48): [True: 0, False: 0]
  |  |  |  Branch (46:67): [True: 0, False: 0]
  |  |  |  Branch (46:87): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  |  Branch (6282:25): [True: 0, False: 0]
  ------------------
 6283|       |                        /* Keep the old field size for later */
 6284|      0|                        old_size = memb_type->shared->size;
 6285|       |
 6286|       |                        /* Mark the VL, compound, enum or array type */
 6287|      0|                        if ((changed = H5T_set_loc(memb_type, file, loc)) < 0)
  ------------------
  |  Branch (6287:29): [True: 0, False: 0]
  ------------------
 6288|      0|                            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "Unable to set VL location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 6289|      0|                        if (changed > 0)
  ------------------
  |  Branch (6289:29): [True: 0, False: 0]
  ------------------
 6290|      0|                            ret_value = changed;
 6291|       |
 6292|       |                        /* Check if the field changed size */
 6293|      0|                        if (old_size != memb_type->shared->size) {
  ------------------
  |  Branch (6293:29): [True: 0, False: 0]
  ------------------
 6294|       |
 6295|       |                            /* Fail if the old_size is zero */
 6296|      0|                            if (0 == old_size)
  ------------------
  |  Branch (6296:33): [True: 0, False: 0]
  ------------------
 6297|      0|                                HGOTO_ERROR(H5E_DATATYPE, H5E_BADVALUE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 6298|      0|                                            "old_size of zero would cause division by zero");
 6299|       |
 6300|       |                            /* Adjust the size of the member */
 6301|      0|                            dt->shared->u.compnd.memb[i].size =
 6302|      0|                                (dt->shared->u.compnd.memb[i].size * memb_type->shared->size) / old_size;
 6303|       |
 6304|       |                            /* Add that change to the accumulated size change */
 6305|      0|                            accum_change += (ssize_t)(memb_type->shared->size - old_size);
 6306|      0|                        } /* end if */
 6307|      0|                    }     /* end if */
 6308|      0|                }         /* end for */
 6309|       |
 6310|       |                /* Range check against datatype size */
 6311|      0|                if ((accum_change < 0) && ((ssize_t)dt->shared->size < accum_change))
  ------------------
  |  Branch (6311:21): [True: 0, False: 0]
  |  Branch (6311:43): [True: 0, False: 0]
  ------------------
 6312|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_BADVALUE, FAIL, "invalid field size in datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 6313|       |
 6314|       |                /* Apply the accumulated size change to the datatype */
 6315|      0|                dt->shared->size += (size_t)accum_change;
 6316|      0|            } break;
 6317|       |
 6318|     13|            case H5T_VLEN: /* Recurse on the VL information if it's VL, compound or array, then free VL
  ------------------
  |  Branch (6318:13): [True: 13, False: 64]
  ------------------
 6319|       |                              sequence */
 6320|       |                /* Recurse if it's VL, compound, enum or array (ignore references here so that we can encode
 6321|       |                 * them as part of the same blob)*/
 6322|       |                /* (If the force_conv flag is _not_ set, the type cannot change in size, so don't recurse) */
 6323|     13|                if (dt->shared->parent->shared->force_conv &&
  ------------------
  |  Branch (6323:21): [True: 0, False: 13]
  ------------------
 6324|     13|                    H5T_IS_COMPLEX(dt->shared->parent->shared->type) &&
  ------------------
  |  |   46|     13|    ((t) == H5T_COMPOUND || (t) == H5T_ENUM || (t) == H5T_VLEN || (t) == H5T_ARRAY || (t) == H5T_REFERENCE)
  |  |  ------------------
  |  |  |  Branch (46:6): [True: 0, False: 0]
  |  |  |  Branch (46:29): [True: 0, False: 0]
  |  |  |  Branch (46:48): [True: 0, False: 0]
  |  |  |  Branch (46:67): [True: 0, False: 0]
  |  |  |  Branch (46:87): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 6325|     13|                    (dt->shared->parent->shared->type != H5T_REFERENCE)) {
  ------------------
  |  Branch (6325:21): [True: 0, False: 0]
  ------------------
 6326|      0|                    if ((changed = H5T_set_loc(dt->shared->parent, file, loc)) < 0)
  ------------------
  |  Branch (6326:25): [True: 0, False: 0]
  ------------------
 6327|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "Unable to set VL location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 6328|      0|                    if (changed > 0)
  ------------------
  |  Branch (6328:25): [True: 0, False: 0]
  ------------------
 6329|      0|                        ret_value = changed;
 6330|      0|                } /* end if */
 6331|       |
 6332|       |                /* Mark this VL sequence */
 6333|     13|                if ((changed = H5T__vlen_set_loc(dt, file, loc)) < 0)
  ------------------
  |  Branch (6333:21): [True: 0, False: 13]
  ------------------
 6334|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "Unable to set VL location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 6335|     13|                if (changed > 0)
  ------------------
  |  Branch (6335:21): [True: 7, False: 6]
  ------------------
 6336|      7|                    ret_value = changed;
 6337|     13|                break;
 6338|       |
 6339|     64|            case H5T_REFERENCE:
  ------------------
  |  Branch (6339:13): [True: 64, False: 13]
  ------------------
 6340|       |                /* Reference types go through type conversion */
 6341|     64|                if ((ret_value = H5T__ref_set_loc(dt, file, loc)) < 0)
  ------------------
  |  Branch (6341:21): [True: 0, False: 64]
  ------------------
 6342|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_CANTSET, FAIL, "Unable to set reference location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 6343|     64|                break;
 6344|       |
 6345|     64|            case H5T_NO_CLASS:
  ------------------
  |  Branch (6345:13): [True: 0, False: 77]
  ------------------
 6346|      0|            case H5T_INTEGER:
  ------------------
  |  Branch (6346:13): [True: 0, False: 77]
  ------------------
 6347|      0|            case H5T_FLOAT:
  ------------------
  |  Branch (6347:13): [True: 0, False: 77]
  ------------------
 6348|      0|            case H5T_TIME:
  ------------------
  |  Branch (6348:13): [True: 0, False: 77]
  ------------------
 6349|      0|            case H5T_STRING:
  ------------------
  |  Branch (6349:13): [True: 0, False: 77]
  ------------------
 6350|      0|            case H5T_BITFIELD:
  ------------------
  |  Branch (6350:13): [True: 0, False: 77]
  ------------------
 6351|      0|            case H5T_OPAQUE:
  ------------------
  |  Branch (6351:13): [True: 0, False: 77]
  ------------------
 6352|      0|            case H5T_ENUM:
  ------------------
  |  Branch (6352:13): [True: 0, False: 77]
  ------------------
 6353|      0|            case H5T_NCLASSES:
  ------------------
  |  Branch (6353:13): [True: 0, False: 77]
  ------------------
 6354|      0|            default:
  ------------------
  |  Branch (6354:13): [True: 0, False: 77]
  ------------------
 6355|      0|                break;
 6356|     77|        } /* end switch */
 6357|     77|    }     /* end if */
 6358|       |
 6359|    264|done:
 6360|    264|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    264|    ;                                                                                                        \
  |  | 1573|    264|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    264|    return (ret_value);                                                                                      \
  |  | 1575|    264|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 6361|    264|} /* end H5T_set_loc() */
H5T_patch_file:
 6630|     95|{
 6631|     95|    herr_t ret_value = SUCCEED;
  ------------------
  |  |  283|     95|#define SUCCEED 0
  ------------------
 6632|       |
 6633|     95|    FUNC_ENTER_NOAPI_NOERR
  ------------------
  |  | 1397|     95|    {                                                                                                        \
  |  | 1398|     95|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|     95|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1399|     95|        {
  ------------------
 6634|       |
 6635|       |    /* Sanity check */
 6636|     95|    assert(dt);
 6637|     95|    assert(f);
 6638|       |
 6639|     95|    if (H5T_STATE_OPEN == dt->shared->state || H5T_STATE_NAMED == dt->shared->state) {
  ------------------
  |  Branch (6639:9): [True: 0, False: 95]
  |  Branch (6639:48): [True: 0, False: 95]
  ------------------
 6640|      0|        dt->oloc.file   = f;
 6641|      0|        dt->sh_loc.file = f;
 6642|      0|    } /* end if */
 6643|       |
 6644|     95|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     95|    ;                                                                                                        \
  |  | 1573|     95|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     95|    return (ret_value);                                                                                      \
  |  | 1575|     95|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 6645|     95|} /* end H5T_patch_file() */
H5T_patch_vlen_file:
 6661|     95|{
 6662|     95|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|     95|    {                                                                                                        \
  |  | 1425|     95|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|     95|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|     95|        {
  ------------------
 6663|       |
 6664|       |    /* Sanity check */
 6665|     95|    assert(dt);
 6666|     95|    assert(dt->shared);
 6667|     95|    assert(file);
 6668|       |
 6669|     95|    if ((dt->shared->type == H5T_VLEN) && dt->shared->u.vlen.file != file)
  ------------------
  |  Branch (6669:9): [True: 3, False: 92]
  |  Branch (6669:43): [True: 0, False: 3]
  ------------------
 6670|      0|        dt->shared->u.vlen.file = file;
 6671|       |
 6672|     95|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     95|    ;                                                                                                        \
  |  | 1573|     95|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     95|    return (ret_value);                                                                                      \
  |  | 1575|     95|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 6673|     95|} /* end H5T_patch_vlen_file() */
H5T_own_vol_obj:
 6688|     12|{
 6689|     12|    herr_t ret_value = SUCCEED;
  ------------------
  |  |  283|     12|#define SUCCEED 0
  ------------------
 6690|       |
 6691|     12|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     12|    {                                                                                                        \
  |  | 1392|     12|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     12|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     12|                                                                                                             \
  |  |  |  | 1267|     12|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     12|        {
  ------------------
 6692|       |
 6693|       |    /* Sanity check */
 6694|     12|    assert(dt);
 6695|     12|    assert(dt->shared);
 6696|     12|    assert(vol_obj);
 6697|       |
 6698|       |    /* Currently no support for owning multiple VOL objects, free the previous
 6699|       |     * owned object.  Currently this is only used for holding open VOL objects
 6700|       |     * used in the "loc" for vlens and references, so if this is being
 6701|       |     * overwritten we don't need the old one anyways. */
 6702|     12|    if (dt->shared->owned_vol_obj && H5VL_free_object(dt->shared->owned_vol_obj) < 0)
  ------------------
  |  Branch (6702:9): [True: 0, False: 12]
  |  Branch (6702:38): [True: 0, False: 0]
  ------------------
 6703|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCLOSEOBJ, FAIL, "unable to close owned VOL object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 6704|       |
 6705|       |    /* Take ownership */
 6706|     12|    dt->shared->owned_vol_obj = vol_obj;
 6707|     12|    (void)H5VL_object_inc_rc(vol_obj);
 6708|       |
 6709|     12|done:
 6710|     12|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     12|    ;                                                                                                        \
  |  | 1573|     12|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     12|    return (ret_value);                                                                                      \
  |  | 1575|     12|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 6711|     12|} /* end H5T_own_vol_obj() */
H5T_is_numeric_with_unusual_unused_bits:
 6750|     93|{
 6751|     93|    bool ret_value = false;
 6752|       |
 6753|     93|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|     93|    {                                                                                                        \
  |  | 1425|     93|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|     93|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|     93|        {
  ------------------
 6754|       |
 6755|       |    /* Sanity check */
 6756|     93|    assert(dt);
 6757|     93|    assert(dt->shared);
 6758|       |
 6759|       |    /* Is the correct type? */
 6760|     93|    if (H5T_INTEGER == dt->shared->type || H5T_FLOAT == dt->shared->type ||
  ------------------
  |  Branch (6760:9): [True: 29, False: 64]
  |  Branch (6760:44): [True: 8, False: 56]
  ------------------
 6761|     93|        H5T_BITFIELD == dt->shared->type) {
  ------------------
  |  Branch (6761:9): [True: 0, False: 56]
  ------------------
 6762|       |
 6763|       |        /* Has unused bits? */
 6764|     37|        if (dt->shared->size > 1 && dt->shared->u.atomic.prec < (dt->shared->size * 8))
  ------------------
  |  Branch (6764:13): [True: 33, False: 4]
  |  Branch (6764:37): [True: 0, False: 33]
  ------------------
 6765|       |            /* Unused bits are unusually large? */
 6766|      0|            ret_value =
 6767|      0|                (dt->shared->size * 8) > (2 * (dt->shared->u.atomic.prec + dt->shared->u.atomic.offset));
 6768|     37|    }
 6769|       |
 6770|     93|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     93|    ;                                                                                                        \
  |  | 1573|     93|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     93|    return (ret_value);                                                                                      \
  |  | 1575|     93|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 6771|     93|} /* end H5T_is_numeric_with_unusual_unused_bits() */
H5T.c:H5T__close_cb:
 1868|    237|{
 1869|    237|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    237|#define SUCCEED 0
  ------------------
 1870|       |
 1871|    237|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    237|    {                                                                                                        \
  |  | 1461|    237|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    237|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    237|                                                                                                             \
  |  |  |  | 1267|    237|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    237|        {
  ------------------
 1872|       |
 1873|       |    /* Sanity check */
 1874|    237|    assert(dt);
 1875|       |
 1876|       |    /* If this datatype is VOL-managed (i.e.: has a VOL object),
 1877|       |     * close it through the VOL connector.
 1878|       |     */
 1879|    237|    if (NULL != dt->vol_obj) {
  ------------------
  |  Branch (1879:9): [True: 0, False: 237]
  ------------------
 1880|       |        /* Close the connector-managed datatype data */
 1881|      0|        if (H5VL_datatype_close(dt->vol_obj, H5P_DATASET_XFER_DEFAULT, request) < 0)
  ------------------
  |  |  160|      0|#define H5P_DATASET_XFER_DEFAULT (H5OPEN H5P_LST_DATASET_XFER_ID_g)
  ------------------
  |  Branch (1881:13): [True: 0, False: 0]
  ------------------
 1882|      0|            HGOTO_ERROR(H5E_DATATYPE, H5E_CLOSEERROR, FAIL, "unable to close datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1883|       |
 1884|       |        /* Free the VOL object */
 1885|      0|        if (H5VL_free_object(dt->vol_obj) < 0)
  ------------------
  |  Branch (1885:13): [True: 0, False: 0]
  ------------------
 1886|      0|            HGOTO_ERROR(H5E_ATTR, H5E_CANTDEC, FAIL, "unable to free VOL object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1887|      0|        dt->vol_obj = NULL;
 1888|      0|    } /* end if */
 1889|       |
 1890|       |    /* Close the datatype */
 1891|    237|    if (H5T_close(dt) < 0)
  ------------------
  |  Branch (1891:9): [True: 0, False: 237]
  ------------------
 1892|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CLOSEERROR, FAIL, "unable to close datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1893|       |
 1894|    237|done:
 1895|    237|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    237|    ;                                                                                                        \
  |  | 1573|    237|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    237|    return (ret_value);                                                                                      \
  |  | 1575|    237|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1896|    237|} /* end H5T__close_cb() */
H5T.c:H5T__init_inf:
  655|      1|{
  656|      1|    H5T_t        *dst_p;               /* Datatype type operate on */
  657|      1|    H5T_atomic_t *dst;                 /* Datatype's atomic info   */
  658|      1|    uint8_t      *d;                   /* Pointer to value to set  */
  659|      1|    size_t        half_size;           /* Half the type size       */
  660|      1|    size_t        u;                   /* Local index value        */
  661|      1|    herr_t        ret_value = SUCCEED; /* Return value             */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  662|       |
  663|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
  664|       |
  665|       |    /* Get the float datatype */
  666|      1|    if (NULL == (dst_p = (H5T_t *)H5I_object(H5T_NATIVE_FLOAT_g)))
  ------------------
  |  Branch (666:9): [True: 0, False: 1]
  ------------------
  667|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  668|      1|    dst = &dst_p->shared->u.atomic;
  669|       |
  670|       |    /* Check that we can re-order the bytes correctly */
  671|      1|    if (H5T_ORDER_LE != H5T_native_order_g && H5T_ORDER_BE != H5T_native_order_g)
  ------------------
  |  Branch (671:9): [True: 0, False: 1]
  |  Branch (671:47): [True: 0, False: 0]
  ------------------
  672|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unsupported byte order");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  673|       |
  674|       |    /* +Inf */
  675|      1|    d = (uint8_t *)&H5T_NATIVE_FLOAT_POS_INF_g;
  676|      1|    H5T__bit_set(d, dst->u.f.sign, (size_t)1, false);
  677|      1|    H5T__bit_set(d, dst->u.f.epos, dst->u.f.esize, true);
  678|      1|    H5T__bit_set(d, dst->u.f.mpos, dst->u.f.msize, false);
  679|       |
  680|       |    /* Swap the bytes if the machine architecture is big-endian */
  681|      1|    if (H5T_ORDER_BE == H5T_native_order_g) {
  ------------------
  |  Branch (681:9): [True: 0, False: 1]
  ------------------
  682|      0|        half_size = dst_p->shared->size / 2;
  683|      0|        for (u = 0; u < half_size; u++) {
  ------------------
  |  Branch (683:21): [True: 0, False: 0]
  ------------------
  684|      0|            uint8_t tmp                      = d[dst_p->shared->size - (u + 1)];
  685|      0|            d[dst_p->shared->size - (u + 1)] = d[u];
  686|      0|            d[u]                             = tmp;
  687|      0|        } /* end for */
  688|      0|    }     /* end if */
  689|       |
  690|       |    /* -Inf */
  691|      1|    d = (uint8_t *)&H5T_NATIVE_FLOAT_NEG_INF_g;
  692|      1|    H5T__bit_set(d, dst->u.f.sign, (size_t)1, true);
  693|      1|    H5T__bit_set(d, dst->u.f.epos, dst->u.f.esize, true);
  694|      1|    H5T__bit_set(d, dst->u.f.mpos, dst->u.f.msize, false);
  695|       |
  696|       |    /* Swap the bytes if the machine architecture is big-endian */
  697|      1|    if (H5T_ORDER_BE == H5T_native_order_g) {
  ------------------
  |  Branch (697:9): [True: 0, False: 1]
  ------------------
  698|      0|        half_size = dst_p->shared->size / 2;
  699|      0|        for (u = 0; u < half_size; u++) {
  ------------------
  |  Branch (699:21): [True: 0, False: 0]
  ------------------
  700|      0|            uint8_t tmp                      = d[dst_p->shared->size - (u + 1)];
  701|      0|            d[dst_p->shared->size - (u + 1)] = d[u];
  702|      0|            d[u]                             = tmp;
  703|      0|        } /* end for */
  704|      0|    }     /* end if */
  705|       |
  706|       |    /* Get the double datatype */
  707|      1|    if (NULL == (dst_p = (H5T_t *)H5I_object(H5T_NATIVE_DOUBLE_g)))
  ------------------
  |  Branch (707:9): [True: 0, False: 1]
  ------------------
  708|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  709|      1|    dst = &dst_p->shared->u.atomic;
  710|       |
  711|       |    /* Check that we can re-order the bytes correctly */
  712|      1|    if (H5T_ORDER_LE != H5T_native_order_g && H5T_ORDER_BE != H5T_native_order_g)
  ------------------
  |  Branch (712:9): [True: 0, False: 1]
  |  Branch (712:47): [True: 0, False: 0]
  ------------------
  713|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unsupported byte order");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  714|       |
  715|       |    /* +Inf */
  716|      1|    d = (uint8_t *)&H5T_NATIVE_DOUBLE_POS_INF_g;
  717|      1|    H5T__bit_set(d, dst->u.f.sign, (size_t)1, false);
  718|      1|    H5T__bit_set(d, dst->u.f.epos, dst->u.f.esize, true);
  719|      1|    H5T__bit_set(d, dst->u.f.mpos, dst->u.f.msize, false);
  720|       |
  721|       |    /* Swap the bytes if the machine architecture is big-endian */
  722|      1|    if (H5T_ORDER_BE == H5T_native_order_g) {
  ------------------
  |  Branch (722:9): [True: 0, False: 1]
  ------------------
  723|      0|        half_size = dst_p->shared->size / 2;
  724|      0|        for (u = 0; u < half_size; u++) {
  ------------------
  |  Branch (724:21): [True: 0, False: 0]
  ------------------
  725|      0|            uint8_t tmp                      = d[dst_p->shared->size - (u + 1)];
  726|      0|            d[dst_p->shared->size - (u + 1)] = d[u];
  727|      0|            d[u]                             = tmp;
  728|      0|        } /* end for */
  729|      0|    }     /* end if */
  730|       |
  731|       |    /* -Inf */
  732|      1|    d = (uint8_t *)&H5T_NATIVE_DOUBLE_NEG_INF_g;
  733|      1|    H5T__bit_set(d, dst->u.f.sign, (size_t)1, true);
  734|      1|    H5T__bit_set(d, dst->u.f.epos, dst->u.f.esize, true);
  735|      1|    H5T__bit_set(d, dst->u.f.mpos, dst->u.f.msize, false);
  736|       |
  737|       |    /* Swap the bytes if the machine architecture is big-endian */
  738|      1|    if (H5T_ORDER_BE == H5T_native_order_g) {
  ------------------
  |  Branch (738:9): [True: 0, False: 1]
  ------------------
  739|      0|        half_size = dst_p->shared->size / 2;
  740|      0|        for (u = 0; u < half_size; u++) {
  ------------------
  |  Branch (740:21): [True: 0, False: 0]
  ------------------
  741|      0|            uint8_t tmp                      = d[dst_p->shared->size - (u + 1)];
  742|      0|            d[dst_p->shared->size - (u + 1)] = d[u];
  743|      0|            d[u]                             = tmp;
  744|      0|        } /* end for */
  745|      0|    }     /* end if */
  746|       |
  747|       |#ifdef H5_HAVE__FLOAT16
  748|       |    /* Get the _Float16 datatype */
  749|       |    if (NULL == (dst_p = (H5T_t *)H5I_object(H5T_NATIVE_FLOAT16_g)))
  750|       |        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype");
  751|       |    dst = &dst_p->shared->u.atomic;
  752|       |
  753|       |    /* Check that we can re-order the bytes correctly */
  754|       |    if (H5T_ORDER_LE != H5T_native_order_g && H5T_ORDER_BE != H5T_native_order_g)
  755|       |        HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unsupported byte order");
  756|       |
  757|       |    /* +Inf */
  758|       |    d = (uint8_t *)&H5T_NATIVE_FLOAT16_POS_INF_g;
  759|       |    H5T__bit_set(d, dst->u.f.sign, (size_t)1, false);
  760|       |    H5T__bit_set(d, dst->u.f.epos, dst->u.f.esize, true);
  761|       |    H5T__bit_set(d, dst->u.f.mpos, dst->u.f.msize, false);
  762|       |
  763|       |    /* Swap the bytes if the machine architecture is big-endian */
  764|       |    if (H5T_ORDER_BE == H5T_native_order_g) {
  765|       |        half_size = dst_p->shared->size / 2;
  766|       |        for (u = 0; u < half_size; u++) {
  767|       |            uint8_t tmp                      = d[dst_p->shared->size - (u + 1)];
  768|       |            d[dst_p->shared->size - (u + 1)] = d[u];
  769|       |            d[u]                             = tmp;
  770|       |        } /* end for */
  771|       |    }     /* end if */
  772|       |
  773|       |    /* -Inf */
  774|       |    d = (uint8_t *)&H5T_NATIVE_FLOAT16_NEG_INF_g;
  775|       |    H5T__bit_set(d, dst->u.f.sign, (size_t)1, true);
  776|       |    H5T__bit_set(d, dst->u.f.epos, dst->u.f.esize, true);
  777|       |    H5T__bit_set(d, dst->u.f.mpos, dst->u.f.msize, false);
  778|       |
  779|       |    /* Swap the bytes if the machine architecture is big-endian */
  780|       |    if (H5T_ORDER_BE == H5T_native_order_g) {
  781|       |        half_size = dst_p->shared->size / 2;
  782|       |        for (u = 0; u < half_size; u++) {
  783|       |            uint8_t tmp                      = d[dst_p->shared->size - (u + 1)];
  784|       |            d[dst_p->shared->size - (u + 1)] = d[u];
  785|       |            d[u]                             = tmp;
  786|       |        } /* end for */
  787|       |    }     /* end if */
  788|       |#endif
  789|       |
  790|      1|done:
  791|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  792|      1|} /* end H5T__init_inf() */
H5T.c:H5T__unlock_cb:
 1650|     93|{
 1651|     93|    H5T_t *dt = (H5T_t *)_dt;
 1652|     93|    int   *n  = (int *)_udata;
 1653|       |
 1654|     93|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     93|    {                                                                                                        \
  |  | 1467|     93|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     93|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     93|        {
  ------------------
 1655|       |
 1656|     93|    assert(dt);
 1657|       |
 1658|     93|    if (dt->shared && (H5T_STATE_IMMUTABLE == dt->shared->state)) {
  ------------------
  |  Branch (1658:9): [True: 93, False: 0]
  |  Branch (1658:23): [True: 90, False: 3]
  ------------------
 1659|     90|        dt->shared->state = H5T_STATE_RDONLY;
 1660|     90|        (*n)++;
 1661|     90|    }
 1662|       |
 1663|     93|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     93|    ;                                                                                                        \
  |  | 1573|     93|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     93|    return (ret_value);                                                                                      \
  |  | 1575|     93|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1664|     93|} /* end H5T__unlock_cb() */
H5T.c:H5T__register_int:
 2578|    179|{
 2579|    179|    H5T_conv_func_t conv_func;           /* Conversion function wrapper */
 2580|    179|    herr_t          ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    179|#define SUCCEED 0
  ------------------
 2581|       |
 2582|    179|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    179|    {                                                                                                        \
  |  | 1461|    179|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    179|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    179|                                                                                                             \
  |  |  |  | 1267|    179|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    179|        {
  ------------------
 2583|       |
 2584|       |    /* Check args */
 2585|    179|    assert(H5T_PERS_HARD == pers || H5T_PERS_SOFT == pers);
 2586|    179|    assert(name && *name);
 2587|    179|    assert(src);
 2588|    179|    assert(dst);
 2589|    179|    assert(func);
 2590|       |
 2591|       |    /* Set up conversion function wrapper */
 2592|    179|    conv_func.is_app     = false;
 2593|    179|    conv_func.u.lib_func = func;
 2594|       |
 2595|       |    /* Register conversion */
 2596|    179|    if (H5T__register(pers, name, src, dst, &conv_func) < 0)
  ------------------
  |  Branch (2596:9): [True: 0, False: 179]
  ------------------
 2597|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2598|    179|                    "unable to register internal datatype conversion routine");
 2599|       |
 2600|    179|done:
 2601|    179|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    179|    ;                                                                                                        \
  |  | 1573|    179|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    179|    return (ret_value);                                                                                      \
  |  | 1575|    179|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2602|    179|} /* end H5T__register_int() */
H5T.c:H5T__register:
 2622|    179|{
 2623|    179|    H5T_path_t *old_path = NULL;             /*existing conversion path   */
 2624|    179|    H5T_path_t *new_path = NULL;             /*new conversion path        */
 2625|    179|    H5T_cdata_t cdata;                       /*temporary conversion data  */
 2626|    179|    H5T_t      *tmp_stype = NULL;            /*temporary source datatype */
 2627|    179|    H5T_t      *tmp_dtype = NULL;            /*temporary destination datatype */
 2628|    179|    hid_t       tmp_sid   = H5I_INVALID_HID; /*temporary datatype ID */
  ------------------
  |  |   75|    179|#define H5I_INVALID_HID (-1)
  ------------------
 2629|    179|    hid_t       tmp_did   = H5I_INVALID_HID; /*temporary datatype ID */
  ------------------
  |  |   75|    179|#define H5I_INVALID_HID (-1)
  ------------------
 2630|    179|    int         i;                           /*counter                    */
 2631|    179|    herr_t      ret_value = SUCCEED;         /*return value               */
  ------------------
  |  |  283|    179|#define SUCCEED 0
  ------------------
 2632|       |
 2633|    179|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    179|    {                                                                                                        \
  |  | 1461|    179|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    179|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    179|                                                                                                             \
  |  |  |  | 1267|    179|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    179|        {
  ------------------
 2634|       |
 2635|       |    /* Check args */
 2636|    179|    assert(src);
 2637|    179|    assert(dst);
 2638|    179|    assert(conv);
 2639|    179|    assert(H5T_PERS_HARD == pers || H5T_PERS_SOFT == pers);
 2640|    179|    assert(name && *name);
 2641|       |
 2642|    179|    if (H5T_PERS_HARD == pers) {
  ------------------
  |  Branch (2642:9): [True: 157, False: 22]
  ------------------
 2643|       |        /* Only bother to register the path if it's not a no-op path (for this machine) */
 2644|    157|        if (H5T_cmp(src, dst, false)) {
  ------------------
  |  Branch (2644:13): [True: 152, False: 5]
  ------------------
 2645|       |            /* Locate or create a new conversion path */
 2646|    152|            if (NULL == (new_path = H5T__path_find_real(src, dst, name, conv)))
  ------------------
  |  Branch (2646:17): [True: 0, False: 152]
  ------------------
 2647|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to locate/allocate conversion path");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2648|       |
 2649|       |            /* Notify all other functions to recalculate private data since some
 2650|       |             * functions might cache a list of conversion functions.  For
 2651|       |             * instance, the compound type converter caches a list of conversion
 2652|       |             * functions for the members, so adding a new function should cause
 2653|       |             * the list to be recalculated to use the new function.
 2654|       |             */
 2655|  8.37k|            for (i = 0; i < H5T_g.npaths; i++)
  ------------------
  |  Branch (2655:25): [True: 8.22k, False: 152]
  ------------------
 2656|  8.22k|                if (new_path != H5T_g.path[i])
  ------------------
  |  Branch (2656:21): [True: 8.07k, False: 152]
  ------------------
 2657|  8.07k|                    H5T_g.path[i]->cdata.recalc = true;
 2658|    152|        } /* end if */
 2659|    157|    }     /* end if */
 2660|     22|    else {
 2661|     22|        H5T_conv_ctx_t conv_ctx = {0};
 2662|       |
 2663|       |        /*
 2664|       |         * Get the datatype conversion exception callback structure.
 2665|       |         * Note that we have to first check if an API context has been
 2666|       |         * pushed, since we could have arrived here during library
 2667|       |         * initialization of the H5T package.
 2668|       |         */
 2669|     22|        if (!conv->is_app && H5CX_pushed() && (H5CX_get_dt_conv_cb(&conv_ctx.u.init.cb_struct) < 0))
  ------------------
  |  Branch (2669:13): [True: 22, False: 0]
  |  Branch (2669:30): [True: 0, False: 22]
  |  Branch (2669:47): [True: 0, False: 0]
  ------------------
 2670|      0|            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTGET, FAIL, "unable to get conversion exception callback");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2671|       |
 2672|       |        /* Add function to end of soft list */
 2673|     22|        if ((size_t)H5T_g.nsoft >= H5T_g.asoft) {
  ------------------
  |  Branch (2673:13): [True: 1, False: 21]
  ------------------
 2674|      1|            size_t      na = MAX(32, 2 * H5T_g.asoft);
  ------------------
  |  |  300|      1|#define MAX(a, b)        (((a) > (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (300:27): [True: 1, False: 0]
  |  |  ------------------
  ------------------
 2675|      1|            H5T_soft_t *x;
 2676|       |
 2677|      1|            if (NULL == (x = (H5T_soft_t *)H5MM_realloc(H5T_g.soft, na * sizeof(H5T_soft_t))))
  ------------------
  |  Branch (2677:17): [True: 0, False: 1]
  ------------------
 2678|      0|                HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2679|      1|            H5T_g.asoft = na;
 2680|      1|            H5T_g.soft  = x;
 2681|      1|        } /* end if */
 2682|     22|        strncpy(H5T_g.soft[H5T_g.nsoft].name, name, (size_t)H5T_NAMELEN - 1);
  ------------------
  |  |   26|     22|#define H5T_NAMELEN 32
  ------------------
 2683|     22|        H5T_g.soft[H5T_g.nsoft].name[H5T_NAMELEN - 1] = '\0';
  ------------------
  |  |   26|     22|#define H5T_NAMELEN 32
  ------------------
 2684|     22|        H5T_g.soft[H5T_g.nsoft].src                   = src->shared->type;
 2685|     22|        H5T_g.soft[H5T_g.nsoft].dst                   = dst->shared->type;
 2686|     22|        H5T_g.soft[H5T_g.nsoft].conv                  = *conv;
 2687|     22|        H5T_g.nsoft++;
 2688|       |
 2689|       |        /*
 2690|       |         * Any existing path (except the no-op path) to which this new soft
 2691|       |         * conversion function applies should be replaced by a new path that
 2692|       |         * uses this function.
 2693|       |         */
 2694|     22|        for (i = 1; i < H5T_g.npaths; i++) {
  ------------------
  |  Branch (2694:21): [True: 0, False: 22]
  ------------------
 2695|      0|            old_path = H5T_g.path[i];
 2696|      0|            assert(old_path);
 2697|       |
 2698|       |            /* Does the new soft conversion function apply to this path? */
 2699|      0|            if (old_path->is_hard || old_path->src->shared->type != src->shared->type ||
  ------------------
  |  Branch (2699:17): [True: 0, False: 0]
  |  Branch (2699:38): [True: 0, False: 0]
  ------------------
 2700|      0|                old_path->dst->shared->type != dst->shared->type)
  ------------------
  |  Branch (2700:17): [True: 0, False: 0]
  ------------------
 2701|      0|                continue;
 2702|       |
 2703|      0|            memset(&cdata, 0, sizeof cdata);
 2704|      0|            cdata.command = H5T_CONV_INIT;
 2705|      0|            if (conv->is_app) {
  ------------------
  |  Branch (2705:17): [True: 0, False: 0]
  ------------------
 2706|      0|                if (NULL == (tmp_stype = H5T_copy(old_path->src, H5T_COPY_ALL)))
  ------------------
  |  Branch (2706:21): [True: 0, False: 0]
  ------------------
 2707|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCOPY, FAIL, "unable to copy src datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2708|      0|                if (NULL == (tmp_dtype = H5T_copy(old_path->dst, H5T_COPY_ALL)))
  ------------------
  |  Branch (2708:21): [True: 0, False: 0]
  ------------------
 2709|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCOPY, FAIL, "unable to copy dst datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2710|       |
 2711|      0|                if ((tmp_sid = H5I_register(H5I_DATATYPE, tmp_stype, false)) < 0)
  ------------------
  |  Branch (2711:21): [True: 0, False: 0]
  ------------------
 2712|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2713|      0|                                "unable to register ID for source datatype");
 2714|      0|                if ((tmp_did = H5I_register(H5I_DATATYPE, tmp_dtype, false)) < 0)
  ------------------
  |  Branch (2714:21): [True: 0, False: 0]
  ------------------
 2715|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2716|      0|                                "unable to register ID for destination datatype");
 2717|       |
 2718|      0|                if ((conv->u.app_func)(tmp_sid, tmp_did, &cdata, 0, 0, 0, NULL, NULL, H5CX_get_dxpl()) < 0) {
  ------------------
  |  Branch (2718:21): [True: 0, False: 0]
  ------------------
 2719|      0|                    if (H5I_dec_ref(tmp_sid) < 0)
  ------------------
  |  Branch (2719:25): [True: 0, False: 0]
  ------------------
 2720|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTDEC, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2721|      0|                                    "unable to decrement reference count on temporary ID");
 2722|      0|                    if (H5I_dec_ref(tmp_did) < 0)
  ------------------
  |  Branch (2722:25): [True: 0, False: 0]
  ------------------
 2723|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTDEC, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2724|      0|                                    "unable to decrement reference count on temporary ID");
 2725|      0|                    tmp_sid = tmp_did = H5I_INVALID_HID;
  ------------------
  |  |   75|      0|#define H5I_INVALID_HID (-1)
  ------------------
 2726|      0|                    tmp_stype = tmp_dtype = NULL;
 2727|      0|                    if (H5E_clear_stack() < 0)
  ------------------
  |  Branch (2727:25): [True: 0, False: 0]
  ------------------
 2728|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTRESET, FAIL, "unable to clear current error stack");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2729|      0|                    continue;
 2730|      0|                } /* end if */
 2731|      0|            }     /* end if */
 2732|      0|            else if ((conv->u.lib_func)(old_path->src, old_path->dst, &cdata, &conv_ctx, 0, 0, 0, NULL,
  ------------------
  |  Branch (2732:22): [True: 0, False: 0]
  ------------------
 2733|      0|                                        NULL) < 0) {
 2734|      0|                if (H5E_clear_stack() < 0)
  ------------------
  |  Branch (2734:21): [True: 0, False: 0]
  ------------------
 2735|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_CANTRESET, FAIL, "unable to clear current error stack");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2736|      0|                continue;
 2737|      0|            } /* end if */
 2738|       |
 2739|       |            /* Create a new conversion path */
 2740|      0|            if (NULL == (new_path = H5FL_CALLOC(H5T_path_t)))
  ------------------
  |  |   78|      0|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (2740:17): [True: 0, False: 0]
  ------------------
 2741|      0|                HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2742|      0|            strncpy(new_path->name, name, (size_t)H5T_NAMELEN - 1);
  ------------------
  |  |   26|      0|#define H5T_NAMELEN 32
  ------------------
 2743|      0|            new_path->name[H5T_NAMELEN - 1] = '\0';
  ------------------
  |  |   26|      0|#define H5T_NAMELEN 32
  ------------------
 2744|      0|            if (NULL == (new_path->src = H5T_copy(old_path->src, H5T_COPY_ALL)) ||
  ------------------
  |  Branch (2744:17): [True: 0, False: 0]
  ------------------
 2745|      0|                NULL == (new_path->dst = H5T_copy(old_path->dst, H5T_COPY_ALL)))
  ------------------
  |  Branch (2745:17): [True: 0, False: 0]
  ------------------
 2746|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to copy data types");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2747|      0|            new_path->conv    = *conv;
 2748|      0|            new_path->is_hard = false;
 2749|      0|            new_path->cdata   = cdata;
 2750|       |
 2751|       |            /* Replace previous path */
 2752|      0|            H5T_g.path[i] = new_path;
 2753|      0|            new_path      = NULL; /*so we don't free it on error*/
 2754|       |
 2755|       |            /* Free old path */
 2756|      0|            conv_ctx.u.free.src_type_id = tmp_sid;
 2757|      0|            conv_ctx.u.free.dst_type_id = tmp_did;
 2758|      0|            if (H5T__path_free(old_path, &conv_ctx) < 0)
  ------------------
  |  Branch (2758:17): [True: 0, False: 0]
  ------------------
 2759|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTFREE, FAIL, "unable to free datatype conversion path");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2760|       |
 2761|       |            /* Release temporary atoms */
 2762|      0|            if (tmp_sid >= 0) {
  ------------------
  |  Branch (2762:17): [True: 0, False: 0]
  ------------------
 2763|      0|                if (H5I_dec_ref(tmp_sid) < 0)
  ------------------
  |  Branch (2763:21): [True: 0, False: 0]
  ------------------
 2764|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_CANTDEC, FAIL, "can't decrement reference on temporary ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2765|      0|                tmp_sid   = H5I_INVALID_HID;
  ------------------
  |  |   75|      0|#define H5I_INVALID_HID (-1)
  ------------------
 2766|      0|                tmp_stype = NULL;
 2767|      0|            }
 2768|      0|            if (tmp_did >= 0) {
  ------------------
  |  Branch (2768:17): [True: 0, False: 0]
  ------------------
 2769|      0|                if (H5I_dec_ref(tmp_did) < 0)
  ------------------
  |  Branch (2769:21): [True: 0, False: 0]
  ------------------
 2770|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_CANTDEC, FAIL, "can't decrement reference on temporary ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2771|      0|                tmp_did   = H5I_INVALID_HID;
  ------------------
  |  |   75|      0|#define H5I_INVALID_HID (-1)
  ------------------
 2772|      0|                tmp_dtype = NULL;
 2773|      0|            }
 2774|       |
 2775|       |            /* We don't care about any failures during the freeing process */
 2776|      0|            if (H5E_clear_stack() < 0)
  ------------------
  |  Branch (2776:17): [True: 0, False: 0]
  ------------------
 2777|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTRESET, FAIL, "unable to clear current error stack");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2778|      0|        } /* end for */
 2779|     22|    }     /* end else */
 2780|       |
 2781|    179|done:
 2782|    179|    if (ret_value < 0) {
  ------------------
  |  Branch (2782:9): [True: 0, False: 179]
  ------------------
 2783|      0|        if (new_path) {
  ------------------
  |  Branch (2783:13): [True: 0, False: 0]
  ------------------
 2784|      0|            if (new_path->src && (H5T_close_real(new_path->src) < 0))
  ------------------
  |  Branch (2784:17): [True: 0, False: 0]
  |  Branch (2784:34): [True: 0, False: 0]
  ------------------
 2785|      0|                HDONE_ERROR(H5E_DATATYPE, H5E_CANTCLOSEOBJ, FAIL, "unable to close datatype");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2786|      0|            if (new_path->dst && (H5T_close_real(new_path->dst) < 0))
  ------------------
  |  Branch (2786:17): [True: 0, False: 0]
  |  Branch (2786:34): [True: 0, False: 0]
  ------------------
 2787|      0|                HDONE_ERROR(H5E_DATATYPE, H5E_CANTCLOSEOBJ, FAIL, "unable to close datatype");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2788|      0|            new_path = H5FL_FREE(H5T_path_t, new_path);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 2789|      0|        } /* end if */
 2790|      0|    }     /* end if */
 2791|       |
 2792|    179|    if (tmp_sid >= 0) {
  ------------------
  |  Branch (2792:9): [True: 0, False: 179]
  ------------------
 2793|      0|        if (H5I_dec_ref(tmp_sid) < 0)
  ------------------
  |  Branch (2793:13): [True: 0, False: 0]
  ------------------
 2794|      0|            HDONE_ERROR(H5E_DATATYPE, H5E_CANTDEC, FAIL, "can't decrement reference on temporary ID");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2795|      0|    }
 2796|    179|    else if (tmp_stype) {
  ------------------
  |  Branch (2796:14): [True: 0, False: 179]
  ------------------
 2797|      0|        if (H5T_close(tmp_stype) < 0)
  ------------------
  |  Branch (2797:13): [True: 0, False: 0]
  ------------------
 2798|      0|            HDONE_ERROR(H5E_DATATYPE, H5E_CANTCLOSEOBJ, FAIL, "can't close temporary datatype");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2799|      0|    }
 2800|    179|    if (tmp_did >= 0) {
  ------------------
  |  Branch (2800:9): [True: 0, False: 179]
  ------------------
 2801|      0|        if (H5I_dec_ref(tmp_did) < 0)
  ------------------
  |  Branch (2801:13): [True: 0, False: 0]
  ------------------
 2802|      0|            HDONE_ERROR(H5E_DATATYPE, H5E_CANTDEC, FAIL, "can't decrement reference on temporary ID");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2803|      0|    }
 2804|    179|    else if (tmp_dtype) {
  ------------------
  |  Branch (2804:14): [True: 0, False: 179]
  ------------------
 2805|      0|        if (H5T_close(tmp_dtype) < 0)
  ------------------
  |  Branch (2805:13): [True: 0, False: 0]
  ------------------
 2806|      0|            HDONE_ERROR(H5E_DATATYPE, H5E_CANTCLOSEOBJ, FAIL, "can't close temporary datatype");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2807|      0|    }
 2808|       |
 2809|    179|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    179|    ;                                                                                                        \
  |  | 1573|    179|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    179|    return (ret_value);                                                                                      \
  |  | 1575|    179|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2810|    179|} /* end H5T__register() */
H5T.c:H5T__initiate_copy:
 3490|    465|{
 3491|    465|    H5T_t *new_dt    = NULL; /* Copy of datatype */
 3492|    465|    H5T_t *ret_value = NULL; /* Return value */
 3493|       |
 3494|    465|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    465|    {                                                                                                        \
  |  | 1461|    465|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    465|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    465|                                                                                                             \
  |  |  |  | 1267|    465|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    465|        {
  ------------------
 3495|       |
 3496|       |    /* Allocate space */
 3497|    465|    if (NULL == (new_dt = H5FL_MALLOC(H5T_t)))
  ------------------
  |  |   75|    465|#define H5FL_MALLOC(t) (t *)H5FL_reg_malloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|    465|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (3497:9): [True: 0, False: 465]
  ------------------
 3498|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTALLOC, NULL, "H5T_t memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3499|    465|    if (NULL == (new_dt->shared = H5FL_MALLOC(H5T_shared_t)))
  ------------------
  |  |   75|    465|#define H5FL_MALLOC(t) (t *)H5FL_reg_malloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|    465|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (3499:9): [True: 0, False: 465]
  ------------------
 3500|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTALLOC, NULL, "H5T_shared_t memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3501|       |
 3502|       |    /* Copy shared information */
 3503|    465|    *(new_dt->shared) = *(old_dt->shared);
 3504|       |
 3505|       |    /* Increment ref count on owned VOL object */
 3506|    465|    if (new_dt->shared->owned_vol_obj)
  ------------------
  |  Branch (3506:9): [True: 37, False: 428]
  ------------------
 3507|     37|        (void)H5VL_object_inc_rc(new_dt->shared->owned_vol_obj);
 3508|       |
 3509|       |    /* Reset vol_obj field */
 3510|    465|    new_dt->vol_obj = NULL;
 3511|       |
 3512|       |    /* Set return value */
 3513|    465|    ret_value = new_dt;
 3514|       |
 3515|    465|done:
 3516|    465|    if (ret_value == NULL)
  ------------------
  |  Branch (3516:9): [True: 0, False: 465]
  ------------------
 3517|      0|        if (new_dt) {
  ------------------
  |  Branch (3517:13): [True: 0, False: 0]
  ------------------
 3518|      0|            if (new_dt->shared) {
  ------------------
  |  Branch (3518:17): [True: 0, False: 0]
  ------------------
 3519|      0|                if (new_dt->shared->owned_vol_obj && H5VL_free_object(new_dt->shared->owned_vol_obj) < 0)
  ------------------
  |  Branch (3519:21): [True: 0, False: 0]
  |  Branch (3519:54): [True: 0, False: 0]
  ------------------
 3520|      0|                    HDONE_ERROR(H5E_DATATYPE, H5E_CANTCLOSEOBJ, NULL, "unable to close owned VOL object");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3521|      0|                new_dt->shared = H5FL_FREE(H5T_shared_t, new_dt->shared);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 3522|      0|            } /* end if */
 3523|      0|            new_dt = H5FL_FREE(H5T_t, new_dt);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 3524|      0|        } /* end if */
 3525|       |
 3526|    465|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    465|    ;                                                                                                        \
  |  | 1573|    465|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    465|    return (ret_value);                                                                                      \
  |  | 1575|    465|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 3527|    465|} /* end H5T__initiate_copy() */
H5T.c:H5T__copy_all:
 3566|      6|{
 3567|      6|    H5T_t *ret_value = NULL; /* Return value */
 3568|       |
 3569|      6|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      6|    {                                                                                                        \
  |  | 1461|      6|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      6|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      6|                                                                                                             \
  |  |  |  | 1267|      6|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      6|        {
  ------------------
 3570|       |
 3571|       |    /* Copy datatype, with correct method */
 3572|      6|    if (NULL == (ret_value = H5T_copy(old_dt, H5T_COPY_ALL)))
  ------------------
  |  Branch (3572:9): [True: 0, False: 6]
  ------------------
 3573|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCOPY, NULL, "can't make 'all' copy of datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3574|       |
 3575|      6|done:
 3576|      6|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      6|    ;                                                                                                        \
  |  | 1573|      6|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      6|    return (ret_value);                                                                                      \
  |  | 1575|      6|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 3577|      6|} /* end H5T__copy_transient() */
H5T.c:H5T__complete_copy:
 3595|    465|{
 3596|    465|    H5T_t   *tmp = NULL;          /* Temporary copy of compound field's datatype */
 3597|    465|    char    *s;                   /* Temporary copy of compound field name / enum value name */
 3598|    465|    unsigned i;                   /* Local index variable */
 3599|    465|    herr_t   ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    465|#define SUCCEED 0
  ------------------
 3600|       |
 3601|    465|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    465|    {                                                                                                        \
  |  | 1461|    465|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    465|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    465|                                                                                                             \
  |  |  |  | 1267|    465|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    465|        {
  ------------------
 3602|       |
 3603|       |    /* Update fields in the new struct, if we aren't sharing an already opened
 3604|       |     * committed datatype */
 3605|    465|    if (!reopened_fo) {
  ------------------
  |  Branch (3605:9): [True: 465, False: 0]
  ------------------
 3606|       |        /* Copy parent information */
 3607|    465|        if (old_dt->shared->parent)
  ------------------
  |  Branch (3607:13): [True: 9, False: 456]
  ------------------
 3608|      9|            if (NULL == (new_dt->shared->parent = (*copyfn)(old_dt->shared->parent)))
  ------------------
  |  Branch (3608:17): [True: 0, False: 9]
  ------------------
 3609|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCOPY, FAIL, "can't copy datatype's parent type");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3610|       |
 3611|    465|        switch (new_dt->shared->type) {
 3612|      0|            case H5T_COMPOUND: {
  ------------------
  |  Branch (3612:13): [True: 0, False: 465]
  ------------------
 3613|      0|                ssize_t accum_change = 0; /* Amount of change in the offset of the fields */
 3614|       |
 3615|       |                /*
 3616|       |                 * Copy all member fields to new type, then overwrite the
 3617|       |                 * name and type fields of each new member with copied values.
 3618|       |                 * That is, H5T_copy() is a deep copy.
 3619|       |                 */
 3620|       |                /* Only malloc if space has been allocated for members - NAF */
 3621|      0|                if (new_dt->shared->u.compnd.nalloc > 0) {
  ------------------
  |  Branch (3621:21): [True: 0, False: 0]
  ------------------
 3622|      0|                    if (NULL == (new_dt->shared->u.compnd.memb =
  ------------------
  |  Branch (3622:25): [True: 0, False: 0]
  ------------------
 3623|      0|                                     H5MM_malloc(new_dt->shared->u.compnd.nalloc * sizeof(H5T_cmemb_t))))
  ------------------
  |  |   38|      0|#define H5MM_malloc(Z) malloc(Z)
  ------------------
 3624|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTALLOC, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3625|       |
 3626|      0|                    H5MM_memcpy(new_dt->shared->u.compnd.memb, old_dt->shared->u.compnd.memb,
  ------------------
  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
 3627|      0|                                new_dt->shared->u.compnd.nmembs * sizeof(H5T_cmemb_t));
 3628|      0|                } /* end if */
 3629|       |
 3630|      0|                for (i = 0; i < new_dt->shared->u.compnd.nmembs; i++) {
  ------------------
  |  Branch (3630:29): [True: 0, False: 0]
  ------------------
 3631|      0|                    unsigned j;
 3632|      0|                    int      old_match;
 3633|       |
 3634|      0|                    if (NULL == (s = H5MM_xstrdup(new_dt->shared->u.compnd.memb[i].name)))
  ------------------
  |  Branch (3634:25): [True: 0, False: 0]
  ------------------
 3635|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCOPY, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3636|      0|                                    "can't copy string for compound field's name");
 3637|      0|                    new_dt->shared->u.compnd.memb[i].name = s;
 3638|      0|                    if (NULL == (tmp = (*copyfn)(old_dt->shared->u.compnd.memb[i].type)))
  ------------------
  |  Branch (3638:25): [True: 0, False: 0]
  ------------------
 3639|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCOPY, FAIL, "can't copy compound field's datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3640|      0|                    new_dt->shared->u.compnd.memb[i].type = tmp;
 3641|      0|                    assert(tmp != NULL);
 3642|       |
 3643|       |                    /* Range check against compound member's offset */
 3644|      0|                    if ((accum_change < 0) &&
  ------------------
  |  Branch (3644:25): [True: 0, False: 0]
  ------------------
 3645|      0|                        ((ssize_t)new_dt->shared->u.compnd.memb[i].offset < accum_change))
  ------------------
  |  Branch (3645:25): [True: 0, False: 0]
  ------------------
 3646|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_BADVALUE, FAIL, "invalid field size in datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3647|       |
 3648|       |                    /* Apply the accumulated size change to the offset of the field */
 3649|      0|                    new_dt->shared->u.compnd.memb[i].offset += (size_t)accum_change;
 3650|       |
 3651|      0|                    if (old_dt->shared->u.compnd.sorted != H5T_SORT_VALUE) {
  ------------------
  |  Branch (3651:25): [True: 0, False: 0]
  ------------------
 3652|      0|                        for (old_match = -1, j = 0; j < old_dt->shared->u.compnd.nmembs; j++) {
  ------------------
  |  Branch (3652:53): [True: 0, False: 0]
  ------------------
 3653|      0|                            if (!strcmp(new_dt->shared->u.compnd.memb[i].name,
  ------------------
  |  Branch (3653:33): [True: 0, False: 0]
  ------------------
 3654|      0|                                        old_dt->shared->u.compnd.memb[j].name)) {
 3655|      0|                                old_match = (int)j;
 3656|      0|                                break;
 3657|      0|                            } /* end if */
 3658|      0|                        }     /* end for */
 3659|       |
 3660|       |                        /* check if we couldn't find a match */
 3661|      0|                        if (old_match < 0)
  ------------------
  |  Branch (3661:29): [True: 0, False: 0]
  ------------------
 3662|      0|                            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCOPY, FAIL, "fields in datatype corrupted");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3663|      0|                    } /* end if */
 3664|      0|                    else
 3665|      0|                        old_match = (int)i;
 3666|       |
 3667|       |                    /* If the field changed size, add that change to the accumulated size change */
 3668|      0|                    if (new_dt->shared->u.compnd.memb[i].type->shared->size !=
  ------------------
  |  Branch (3668:25): [True: 0, False: 0]
  ------------------
 3669|      0|                        old_dt->shared->u.compnd.memb[old_match].type->shared->size) {
 3670|       |                        /* Adjust the size of the member */
 3671|      0|                        new_dt->shared->u.compnd.memb[i].size =
 3672|      0|                            (old_dt->shared->u.compnd.memb[old_match].size * tmp->shared->size) /
 3673|      0|                            old_dt->shared->u.compnd.memb[old_match].type->shared->size;
 3674|       |
 3675|      0|                        accum_change +=
 3676|      0|                            (ssize_t)(new_dt->shared->u.compnd.memb[i].type->shared->size -
 3677|      0|                                      old_dt->shared->u.compnd.memb[old_match].type->shared->size);
 3678|      0|                    } /* end if */
 3679|      0|                }     /* end for */
 3680|       |
 3681|       |                /* Range check against datatype size */
 3682|      0|                if ((accum_change < 0) && ((ssize_t)new_dt->shared->size < accum_change))
  ------------------
  |  Branch (3682:21): [True: 0, False: 0]
  |  Branch (3682:43): [True: 0, False: 0]
  ------------------
 3683|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_BADVALUE, FAIL, "invalid field size in datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3684|       |
 3685|       |                /* Apply the accumulated size change to the size of the compound struct */
 3686|      0|                new_dt->shared->size += (size_t)accum_change;
 3687|      0|            } break;
 3688|       |
 3689|      0|            case H5T_ENUM:
  ------------------
  |  Branch (3689:13): [True: 0, False: 465]
  ------------------
 3690|       |                /*
 3691|       |                 * Copy all member fields to new type, then overwrite the name fields
 3692|       |                 * of each new member with copied values. That is, H5T_copy() is a
 3693|       |                 * deep copy.
 3694|       |                 */
 3695|      0|                if (old_dt->shared->u.enumer.nalloc > 0) {
  ------------------
  |  Branch (3695:21): [True: 0, False: 0]
  ------------------
 3696|      0|                    if (NULL == (new_dt->shared->u.enumer.name =
  ------------------
  |  Branch (3696:25): [True: 0, False: 0]
  ------------------
 3697|      0|                                     H5MM_malloc(new_dt->shared->u.enumer.nalloc * sizeof(char *))))
  ------------------
  |  |   38|      0|#define H5MM_malloc(Z) malloc(Z)
  ------------------
 3698|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTALLOC, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3699|      0|                                    "enam name array memory allocation failed");
 3700|      0|                    if (NULL == (new_dt->shared->u.enumer.value =
  ------------------
  |  Branch (3700:25): [True: 0, False: 0]
  ------------------
 3701|      0|                                     H5MM_malloc(new_dt->shared->u.enumer.nalloc * new_dt->shared->size)))
  ------------------
  |  |   38|      0|#define H5MM_malloc(Z) malloc(Z)
  ------------------
 3702|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTALLOC, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3703|      0|                                    "enam value array memory allocation failed");
 3704|      0|                    H5MM_memcpy(new_dt->shared->u.enumer.value, old_dt->shared->u.enumer.value,
  ------------------
  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
 3705|      0|                                new_dt->shared->u.enumer.nmembs * new_dt->shared->size);
 3706|      0|                    for (i = 0; i < new_dt->shared->u.enumer.nmembs; i++) {
  ------------------
  |  Branch (3706:33): [True: 0, False: 0]
  ------------------
 3707|      0|                        if (NULL == (s = H5MM_xstrdup(old_dt->shared->u.enumer.name[i])))
  ------------------
  |  Branch (3707:29): [True: 0, False: 0]
  ------------------
 3708|      0|                            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCOPY, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3709|      0|                                        "can't copy string for enum value's name");
 3710|      0|                        new_dt->shared->u.enumer.name[i] = s;
 3711|      0|                    }
 3712|      0|                }
 3713|      0|                else {
 3714|       |                    /* Empty enum */
 3715|      0|                    memset(&new_dt->shared->u.enumer, 0, sizeof(H5T_enum_t));
 3716|      0|                }
 3717|      0|                break;
 3718|       |
 3719|      9|            case H5T_VLEN:
  ------------------
  |  Branch (3719:13): [True: 9, False: 456]
  ------------------
 3720|     62|            case H5T_REFERENCE:
  ------------------
  |  Branch (3720:13): [True: 53, False: 412]
  ------------------
 3721|     62|                if (set_memory_type)
  ------------------
  |  Branch (3721:21): [True: 39, False: 23]
  ------------------
 3722|       |                    /* H5T_copy converts any type into a memory type */
 3723|     39|                    if (H5T_set_loc(new_dt, NULL, H5T_LOC_MEMORY) < 0)
  ------------------
  |  Branch (3723:25): [True: 0, False: 39]
  ------------------
 3724|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3725|     62|                break;
 3726|       |
 3727|     62|            case H5T_OPAQUE:
  ------------------
  |  Branch (3727:13): [True: 0, False: 465]
  ------------------
 3728|       |                /*
 3729|       |                 * Copy the tag name.
 3730|       |                 */
 3731|      0|                new_dt->shared->u.opaque.tag = H5MM_xstrdup(new_dt->shared->u.opaque.tag);
 3732|      0|                break;
 3733|       |
 3734|      0|            case H5T_ARRAY:
  ------------------
  |  Branch (3734:13): [True: 0, False: 465]
  ------------------
 3735|       |                /* Re-compute the array's size, in case it's base type changed size */
 3736|      0|                new_dt->shared->size = new_dt->shared->u.array.nelem * new_dt->shared->parent->shared->size;
 3737|      0|                break;
 3738|       |
 3739|      0|            case H5T_NO_CLASS:
  ------------------
  |  Branch (3739:13): [True: 0, False: 465]
  ------------------
 3740|    246|            case H5T_INTEGER:
  ------------------
  |  Branch (3740:13): [True: 246, False: 219]
  ------------------
 3741|    339|            case H5T_FLOAT:
  ------------------
  |  Branch (3741:13): [True: 93, False: 372]
  ------------------
 3742|    339|            case H5T_TIME:
  ------------------
  |  Branch (3742:13): [True: 0, False: 465]
  ------------------
 3743|    403|            case H5T_STRING:
  ------------------
  |  Branch (3743:13): [True: 64, False: 401]
  ------------------
 3744|    403|            case H5T_BITFIELD:
  ------------------
  |  Branch (3744:13): [True: 0, False: 465]
  ------------------
 3745|    403|            case H5T_NCLASSES:
  ------------------
  |  Branch (3745:13): [True: 0, False: 465]
  ------------------
 3746|    403|            default:
  ------------------
  |  Branch (3746:13): [True: 0, False: 465]
  ------------------
 3747|    403|                break;
 3748|    465|        } /* end switch */
 3749|    465|    }     /* end if */
 3750|       |
 3751|       |    /* Set the cached location & name path if the original type was a named
 3752|       |     * type and the new type is also named.
 3753|       |     */
 3754|    465|    if (H5O_loc_reset(&new_dt->oloc) < 0)
  ------------------
  |  Branch (3754:9): [True: 0, False: 465]
  ------------------
 3755|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTRESET, FAIL, "unable to initialize location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3756|    465|    if (H5G_name_reset(&new_dt->path) < 0)
  ------------------
  |  Branch (3756:9): [True: 0, False: 465]
  ------------------
 3757|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTOPENOBJ, FAIL, "unable to reset path");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3758|       |
 3759|    465|    if (new_dt->shared->state == H5T_STATE_NAMED || new_dt->shared->state == H5T_STATE_OPEN) {
  ------------------
  |  Branch (3759:9): [True: 0, False: 465]
  |  Branch (3759:53): [True: 0, False: 465]
  ------------------
 3760|      0|        if (H5O_loc_copy_deep(&(new_dt->oloc), &(old_dt->oloc)) < 0)
  ------------------
  |  Branch (3760:13): [True: 0, False: 0]
  ------------------
 3761|      0|            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCOPY, FAIL, "can't copy object location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3762|      0|        if (H5G_name_copy(&(new_dt->path), &(old_dt->path), H5_COPY_DEEP) < 0)
  ------------------
  |  Branch (3762:13): [True: 0, False: 0]
  ------------------
 3763|      0|            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTOPENOBJ, FAIL, "unable to copy path");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3764|      0|    } /* end if */
 3765|       |
 3766|       |    /* Copy shared location information if the new type is named or if it is
 3767|       |     * shared in the heap.
 3768|       |     */
 3769|    465|    if ((old_dt->sh_loc.type == H5O_SHARE_TYPE_SOHM || old_dt->sh_loc.type == H5O_SHARE_TYPE_HERE) ||
  ------------------
  |  |  249|    930|#define H5O_SHARE_TYPE_SOHM      1 /* Message is stored in SOHM heap */
  ------------------
                  if ((old_dt->sh_loc.type == H5O_SHARE_TYPE_SOHM || old_dt->sh_loc.type == H5O_SHARE_TYPE_HERE) ||
  ------------------
  |  |  251|    465|#define H5O_SHARE_TYPE_HERE      3 /* Message is stored in this object header, but is shareable */
  ------------------
  |  Branch (3769:10): [True: 0, False: 465]
  |  Branch (3769:56): [True: 0, False: 465]
  ------------------
 3770|    465|        new_dt->shared->state == H5T_STATE_NAMED || new_dt->shared->state == H5T_STATE_OPEN) {
  ------------------
  |  Branch (3770:9): [True: 0, False: 465]
  |  Branch (3770:53): [True: 0, False: 465]
  ------------------
 3771|      0|        if (H5O_set_shared(&(new_dt->sh_loc), &(old_dt->sh_loc)) < 0)
  ------------------
  |  Branch (3771:13): [True: 0, False: 0]
  ------------------
 3772|      0|            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCOPY, FAIL, "can't copy shared information");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3773|      0|    } /* end if */
 3774|    465|    else
 3775|       |        /* Reset shared component info */
 3776|    465|        H5O_msg_reset_share(H5O_DTYPE_ID, new_dt);
  ------------------
  |  |  209|    465|#define H5O_DTYPE_ID       0x0003 /* Datatype Message.  */
  ------------------
 3777|       |
 3778|    465|done:
 3779|    465|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    465|    ;                                                                                                        \
  |  | 1573|    465|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    465|    return (ret_value);                                                                                      \
  |  | 1575|    465|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 3780|    465|} /* end H5T__complete_copy() */
H5T.c:H5T__path_find_real:
 5100|    259|{
 5101|    259|    H5T_conv_ctx_t tmp_ctx      = {0};   /* Temporary conversion context object */
 5102|    259|    H5T_path_t    *matched_path = NULL;  /* Path existing in the table */
 5103|    259|    H5T_path_t    *path         = NULL;  /* Pointer to current path */
 5104|    259|    bool           noop_conv    = false; /* Whether this is a no-op conversion */
 5105|    259|    bool           new_path     = false; /* Whether we're creating a new path */
 5106|    259|    bool new_api_func = false; /* If the caller is an API function specifying a new conversion function */
 5107|    259|    bool new_lib_func = false; /* If the caller is a private function specifying a new conversion function */
 5108|    259|    int  old_npaths;           /* Previous number of paths in table */
 5109|    259|    int  last_cmp         = 0; /* Value of last comparison during binary search */
 5110|    259|    int  path_idx         = 0; /* Index into path table for path */
 5111|    259|    H5T_path_t *ret_value = NULL; /* Return value */
 5112|       |
 5113|    259|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    259|    {                                                                                                        \
  |  | 1461|    259|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    259|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    259|                                                                                                             \
  |  |  |  | 1267|    259|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    259|        {
  ------------------
 5114|       |
 5115|       |    /* Sanity check */
 5116|    259|    assert(src);
 5117|    259|    assert(src->shared);
 5118|    259|    assert(dst);
 5119|    259|    assert(dst->shared);
 5120|       |
 5121|       |    /*
 5122|       |     * Get the datatype conversion exception callback structure.
 5123|       |     * Note that we have to first check if an API context has been
 5124|       |     * pushed, since we could have arrived here during library
 5125|       |     * initialization of the H5T package.
 5126|       |     */
 5127|    259|    if (H5CX_pushed() && (H5CX_get_dt_conv_cb(&tmp_ctx.u.init.cb_struct) < 0))
  ------------------
  |  Branch (5127:9): [True: 107, False: 152]
  |  Branch (5127:26): [True: 0, False: 107]
  ------------------
 5128|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTGET, NULL, "unable to get conversion exception callback");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5129|       |
 5130|       |    /* Make sure the path table is initialized */
 5131|    259|    if ((0 == H5T_g.npaths) && (H5T__init_path_table() < 0))
  ------------------
  |  Branch (5131:9): [True: 1, False: 258]
  |  Branch (5131:32): [True: 0, False: 1]
  ------------------
 5132|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, NULL, "unable to initialize type conversion path table");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5133|       |
 5134|       |    /* Find the conversion path. If no "force conversion" flags are
 5135|       |     * set and the source and destination types are equal, then use
 5136|       |     * the no-op conversion path. Otherwise, do a binary search over
 5137|       |     * the remaining entries.
 5138|       |     */
 5139|    259|    noop_conv =
 5140|    259|        src->shared->force_conv == false && dst->shared->force_conv == false && 0 == H5T_cmp(src, dst, true);
  ------------------
  |  Branch (5140:9): [True: 238, False: 21]
  |  Branch (5140:45): [True: 238, False: 0]
  |  Branch (5140:81): [True: 83, False: 155]
  ------------------
 5141|    259|    if (noop_conv)
  ------------------
  |  Branch (5141:9): [True: 83, False: 176]
  ------------------
 5142|     83|        matched_path = H5T_g.path[0];
 5143|    176|    else {
 5144|       |        /* Search the table of conversion paths */
 5145|    176|        if (H5T__path_table_search(src, dst, &path_idx, &last_cmp))
  ------------------
  |  Branch (5145:13): [True: 59, False: 117]
  ------------------
 5146|     59|            matched_path = H5T_g.path[path_idx];
 5147|    176|    }
 5148|       |
 5149|       |    /* Keep a record of the number of paths in the table, in case one of the
 5150|       |     * initialization calls below (hard or soft) causes more entries to be
 5151|       |     * added to the table - QAK, 1/26/02
 5152|       |     */
 5153|    259|    old_npaths = H5T_g.npaths;
 5154|       |
 5155|       |    /* Set a few convenience variables */
 5156|    259|    new_api_func = (matched_path && conv->is_app && conv->u.app_func);
  ------------------
  |  Branch (5156:21): [True: 142, False: 117]
  |  Branch (5156:37): [True: 0, False: 142]
  |  Branch (5156:53): [True: 0, False: 0]
  ------------------
 5157|    259|    new_lib_func = (matched_path && !conv->is_app && conv->u.lib_func);
  ------------------
  |  Branch (5157:21): [True: 142, False: 117]
  |  Branch (5157:37): [True: 142, False: 0]
  |  Branch (5157:54): [True: 42, False: 100]
  ------------------
 5158|       |
 5159|       |    /* If we didn't find the path, if the caller is an API function specifying
 5160|       |     * a new hard conversion function, or if the caller is a private function
 5161|       |     * specifying a new hard conversion and the path is a soft conversion, then
 5162|       |     * create a new path and add the new function to the path.
 5163|       |     */
 5164|    259|    new_path = !matched_path || new_api_func || (new_lib_func && !matched_path->is_hard);
  ------------------
  |  Branch (5164:16): [True: 117, False: 142]
  |  Branch (5164:33): [True: 0, False: 142]
  |  Branch (5164:50): [True: 42, False: 100]
  |  Branch (5164:66): [True: 0, False: 42]
  ------------------
 5165|       |
 5166|    259|    if (new_path) {
  ------------------
  |  Branch (5166:9): [True: 117, False: 142]
  ------------------
 5167|    117|        if (NULL == (path = H5FL_CALLOC(H5T_path_t)))
  ------------------
  |  |   78|    117|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|    117|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (5167:13): [True: 0, False: 117]
  ------------------
 5168|      0|            HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed for type conversion path");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5169|    117|        if (name && *name) {
  ------------------
  |  Branch (5169:13): [True: 110, False: 7]
  |  Branch (5169:21): [True: 110, False: 0]
  ------------------
 5170|    110|            strncpy(path->name, name, (size_t)H5T_NAMELEN - 1);
  ------------------
  |  |   26|    110|#define H5T_NAMELEN 32
  ------------------
 5171|    110|            path->name[H5T_NAMELEN - 1] = '\0';
  ------------------
  |  |   26|    110|#define H5T_NAMELEN 32
  ------------------
 5172|    110|        } /* end if */
 5173|      7|        else
 5174|      7|            snprintf(path->name, sizeof(path->name), "NONAME");
 5175|    117|        if (NULL == (path->src = H5T_copy(src, H5T_COPY_ALL)))
  ------------------
  |  Branch (5175:13): [True: 0, False: 117]
  ------------------
 5176|      0|            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, NULL, "unable to copy datatype for conversion path");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5177|    117|        if (NULL == (path->dst = H5T_copy(dst, H5T_COPY_ALL)))
  ------------------
  |  Branch (5177:13): [True: 0, False: 117]
  ------------------
 5178|      0|            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, NULL, "unable to copy datatype for conversion path");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5179|    117|    } /* end if */
 5180|    142|    else
 5181|    142|        path = matched_path;
 5182|       |
 5183|       |    /* Initialize the path if it's a new path */
 5184|    259|    if (new_path && H5T__path_find_init_new_path(path, src, dst, conv, &tmp_ctx) < 0)
  ------------------
  |  Branch (5184:9): [True: 117, False: 142]
  |  Branch (5184:21): [True: 0, False: 117]
  ------------------
 5185|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, NULL, "unable to initialize new conversion path");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5186|       |
 5187|       |    /* Fail if the path still doesn't have a conversion function at this point */
 5188|    259|    if (!path->conv.u.app_func)
  ------------------
  |  Branch (5188:9): [True: 0, False: 259]
  ------------------
 5189|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, NULL, "no appropriate function for conversion path");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5190|       |
 5191|       |    /* Check if paths were inserted into the table through a recursive call
 5192|       |     * and re-compute the correct location for this path if so. - QAK, 1/26/02
 5193|       |     */
 5194|    259|    if (old_npaths != H5T_g.npaths)
  ------------------
  |  Branch (5194:9): [True: 0, False: 259]
  ------------------
 5195|      0|        if (H5T__path_table_search(src, dst, &path_idx, &last_cmp))
  ------------------
  |  Branch (5195:13): [True: 0, False: 0]
  ------------------
 5196|      0|            matched_path = H5T_g.path[path_idx];
 5197|       |
 5198|       |    /* Replace an existing table entry or add a new entry */
 5199|    259|    if (matched_path && new_path) {
  ------------------
  |  Branch (5199:9): [True: 142, False: 117]
  |  Branch (5199:25): [True: 0, False: 142]
  ------------------
 5200|      0|        assert(matched_path == H5T_g.path[path_idx]);
 5201|       |
 5202|      0|        tmp_ctx.u.free.src_type_id = H5I_INVALID_HID;
  ------------------
  |  |   75|      0|#define H5I_INVALID_HID (-1)
  ------------------
 5203|      0|        tmp_ctx.u.free.dst_type_id = H5I_INVALID_HID;
  ------------------
  |  |   75|      0|#define H5I_INVALID_HID (-1)
  ------------------
 5204|      0|        if (H5T__path_free(matched_path, &tmp_ctx) < 0)
  ------------------
  |  Branch (5204:13): [True: 0, False: 0]
  ------------------
 5205|      0|            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTFREE, NULL, "unable to free datatype conversion path");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5206|       |
 5207|      0|        H5T_g.path[path_idx] = path;
 5208|      0|    }
 5209|    259|    else if (new_path) {
  ------------------
  |  Branch (5209:14): [True: 117, False: 142]
  ------------------
 5210|       |        /* Make space in the table for the new path if necessary */
 5211|    117|        if ((size_t)H5T_g.npaths >= H5T_g.apaths) {
  ------------------
  |  Branch (5211:13): [True: 0, False: 117]
  ------------------
 5212|      0|            size_t       na = MAX(H5T_DEF_CONV_TABLE_SLOTS, 2 * H5T_g.apaths);
  ------------------
  |  |  300|      0|#define MAX(a, b)        (((a) > (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (300:27): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 5213|      0|            H5T_path_t **x;
 5214|       |
 5215|      0|            if (NULL == (x = H5MM_realloc(H5T_g.path, na * sizeof(H5T_path_t *))))
  ------------------
  |  Branch (5215:17): [True: 0, False: 0]
  ------------------
 5216|      0|                HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5217|      0|            H5T_g.apaths = na;
 5218|      0|            H5T_g.path   = x;
 5219|      0|        }
 5220|       |
 5221|       |        /* Adjust final location in table for new path if the last comparison
 5222|       |         * of paths during binary search was > 0, then shift down all path
 5223|       |         * entries in the table starting at that location to make room for
 5224|       |         * the new path
 5225|       |         */
 5226|    117|        assert(last_cmp != 0);
 5227|    117|        if (last_cmp > 0)
  ------------------
  |  Branch (5227:13): [True: 51, False: 66]
  ------------------
 5228|     51|            path_idx++;
 5229|    117|        memmove(H5T_g.path + path_idx + 1, H5T_g.path + path_idx,
 5230|    117|                (size_t)(H5T_g.npaths - path_idx) * sizeof(H5T_path_t *));
 5231|       |
 5232|    117|        H5T_g.npaths++;
 5233|    117|        H5T_g.path[path_idx] = path;
 5234|    117|    }
 5235|       |
 5236|    259|    ret_value = path;
 5237|       |
 5238|    259|done:
 5239|    259|    if (!ret_value && path && new_path) {
  ------------------
  |  Branch (5239:9): [True: 0, False: 259]
  |  Branch (5239:23): [True: 0, False: 0]
  |  Branch (5239:31): [True: 0, False: 0]
  ------------------
 5240|      0|        if (path->src && (H5T_close_real(path->src) < 0))
  ------------------
  |  Branch (5240:13): [True: 0, False: 0]
  |  Branch (5240:26): [True: 0, False: 0]
  ------------------
 5241|      0|            HDONE_ERROR(H5E_DATATYPE, H5E_CANTCLOSEOBJ, NULL, "unable to close datatype");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5242|      0|        if (path->dst && (H5T_close_real(path->dst) < 0))
  ------------------
  |  Branch (5242:13): [True: 0, False: 0]
  |  Branch (5242:26): [True: 0, False: 0]
  ------------------
 5243|      0|            HDONE_ERROR(H5E_DATATYPE, H5E_CANTCLOSEOBJ, NULL, "unable to close datatype");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5244|      0|        path = H5FL_FREE(H5T_path_t, path);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 5245|      0|    }
 5246|       |
 5247|    259|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    259|    ;                                                                                                        \
  |  | 1573|    259|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    259|    return (ret_value);                                                                                      \
  |  | 1575|    259|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 5248|    259|} /* end H5T__path_find_real() */
H5T.c:H5T__init_path_table:
 5263|      1|{
 5264|      1|    herr_t ret_value = SUCCEED;
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
 5265|       |
 5266|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
 5267|       |
 5268|       |    /* Sanity check */
 5269|      1|    if (0 != H5T_g.npaths)
  ------------------
  |  Branch (5269:9): [True: 0, False: 1]
  ------------------
 5270|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_ALREADYINIT, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5271|      1|                    "datatype conversion path table is already initialized");
 5272|       |
 5273|      1|    if (NULL == (H5T_g.path = H5MM_calloc(H5T_DEF_CONV_TABLE_SLOTS * sizeof(H5T_path_t *))))
  ------------------
  |  |   36|      1|#define H5MM_calloc(Z) calloc(1, Z)
  ------------------
  |  Branch (5273:9): [True: 0, False: 1]
  ------------------
 5274|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTALLOC, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5275|      1|                    "memory allocation failed for type conversion path table");
 5276|      1|    H5T_g.apaths = H5T_DEF_CONV_TABLE_SLOTS;
  ------------------
  |  |   67|      1|#define H5T_DEF_CONV_TABLE_SLOTS 128
  ------------------
 5277|       |
 5278|       |    /*
 5279|       |     * Allocate a path for the no-op conversion function
 5280|       |     * and set it as the first entry in the table
 5281|       |     */
 5282|      1|    if (NULL == (H5T_g.path[0] = H5FL_CALLOC(H5T_path_t)))
  ------------------
  |  |   78|      1|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|      1|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (5282:9): [True: 0, False: 1]
  ------------------
 5283|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTALLOC, FAIL, "memory allocation failed for no-op conversion path");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5284|       |
 5285|       |    /* Initialize the no-op path */
 5286|      1|    snprintf(H5T_g.path[0]->name, sizeof(H5T_g.path[0]->name), "no-op");
 5287|      1|    H5T_g.path[0]->conv.is_app     = false;
 5288|      1|    H5T_g.path[0]->conv.u.lib_func = H5T__conv_noop;
 5289|      1|    H5T_g.path[0]->cdata.command   = H5T_CONV_INIT;
 5290|       |
 5291|      1|    if (H5T__conv_noop(NULL, NULL, &(H5T_g.path[0]->cdata), NULL, 0, 0, 0, NULL, NULL) < 0) {
  ------------------
  |  Branch (5291:9): [True: 0, False: 1]
  ------------------
 5292|       |#ifdef H5T_DEBUG
 5293|       |        if (H5DEBUG(T))
 5294|       |            fprintf(H5DEBUG(T), "H5T: unable to initialize no-op conversion function (ignored)\n");
 5295|       |#endif
 5296|       |        /* Ignore any errors from the conversion function */
 5297|      0|        if (H5E_clear_stack() < 0)
  ------------------
  |  Branch (5297:13): [True: 0, False: 0]
  ------------------
 5298|      0|            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTRESET, FAIL, "unable to clear current error stack");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5299|      0|    } /* end if */
 5300|       |
 5301|      1|    H5T_g.path[0]->is_noop = true;
 5302|       |
 5303|       |    /* Set # of initial paths in the table */
 5304|      1|    H5T_g.npaths = 1;
 5305|       |
 5306|      1|done:
 5307|      1|    if (ret_value < 0) {
  ------------------
  |  Branch (5307:9): [True: 0, False: 1]
  ------------------
 5308|      0|        if (H5T_g.path)
  ------------------
  |  Branch (5308:13): [True: 0, False: 0]
  ------------------
 5309|      0|            H5FL_FREE(H5T_path_t, H5T_g.path[0]);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 5310|      0|        H5MM_free(H5T_g.path);
  ------------------
  |  |   37|      0|#define H5MM_free(Z)   free(Z)
  ------------------
 5311|      0|    }
 5312|       |
 5313|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 5314|      1|} /* end H5T__init_path_table() */
H5T.c:H5T__path_find_init_new_path:
 5329|    117|{
 5330|    117|    H5T_t *tmp_stype = NULL;            /* temporary source datatype */
 5331|    117|    H5T_t *tmp_dtype = NULL;            /* temporary destination datatype */
 5332|    117|    hid_t  src_id    = H5I_INVALID_HID; /* source datatype identifier */
  ------------------
  |  |   75|    117|#define H5I_INVALID_HID (-1)
  ------------------
 5333|    117|    hid_t  dst_id    = H5I_INVALID_HID; /* destination datatype identifier */
  ------------------
  |  |   75|    117|#define H5I_INVALID_HID (-1)
  ------------------
 5334|    117|    herr_t status    = SUCCEED;
  ------------------
  |  |  283|    117|#define SUCCEED 0
  ------------------
 5335|    117|    herr_t ret_value = SUCCEED;
  ------------------
  |  |  283|    117|#define SUCCEED 0
  ------------------
 5336|       |
 5337|    117|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    117|    {                                                                                                        \
  |  | 1461|    117|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    117|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    117|                                                                                                             \
  |  |  |  | 1267|    117|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    117|        {
  ------------------
 5338|       |
 5339|    117|    assert(path);
 5340|    117|    assert(conv);
 5341|    117|    assert(conv_ctx);
 5342|    117|    assert(NULL == path->conv.u.app_func);
 5343|       |
 5344|       |    /* If a hard conversion function was specified, initialize that
 5345|       |     * function and finish setting up the new path.
 5346|       |     */
 5347|    117|    if (conv->u.app_func) {
  ------------------
  |  Branch (5347:9): [True: 110, False: 7]
  ------------------
 5348|    110|        path->cdata.command = H5T_CONV_INIT;
 5349|    110|        if (conv->is_app) {
  ------------------
  |  Branch (5349:13): [True: 0, False: 110]
  ------------------
 5350|       |            /* Copy the conversion path's source and destination datatypes and
 5351|       |             * register an ID for them so we can pass these to the application
 5352|       |             * conversion function
 5353|       |             */
 5354|      0|            if (path->src && (NULL == (tmp_stype = H5T_copy(path->src, H5T_COPY_ALL))))
  ------------------
  |  Branch (5354:17): [True: 0, False: 0]
  |  Branch (5354:30): [True: 0, False: 0]
  ------------------
 5355|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCOPY, FAIL, "unable to copy source datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5356|      0|            if (path->dst && (NULL == (tmp_dtype = H5T_copy(path->dst, H5T_COPY_ALL))))
  ------------------
  |  Branch (5356:17): [True: 0, False: 0]
  |  Branch (5356:30): [True: 0, False: 0]
  ------------------
 5357|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCOPY, FAIL, "unable to copy destination datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5358|       |
 5359|      0|            if (tmp_stype && ((src_id = H5I_register(H5I_DATATYPE, tmp_stype, false)) < 0))
  ------------------
  |  Branch (5359:17): [True: 0, False: 0]
  |  Branch (5359:30): [True: 0, False: 0]
  ------------------
 5360|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5361|      0|                            "unable to register ID for source datatype");
 5362|      0|            if (tmp_dtype && ((dst_id = H5I_register(H5I_DATATYPE, tmp_dtype, false)) < 0))
  ------------------
  |  Branch (5362:17): [True: 0, False: 0]
  |  Branch (5362:30): [True: 0, False: 0]
  ------------------
 5363|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5364|      0|                            "unable to register ID for destination datatype");
 5365|       |
 5366|      0|            status = (conv->u.app_func)(src_id, dst_id, &(path->cdata), 0, 0, 0, NULL, NULL, H5CX_get_dxpl());
 5367|      0|        }
 5368|    110|        else
 5369|    110|            status = (conv->u.lib_func)(path->src, path->dst, &(path->cdata), conv_ctx, 0, 0, 0, NULL, NULL);
 5370|       |
 5371|    110|        if (status < 0)
  ------------------
  |  Branch (5371:13): [True: 0, False: 110]
  ------------------
 5372|      0|            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to initialize conversion function");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5373|       |
 5374|    110|        if (src_id >= 0) {
  ------------------
  |  Branch (5374:13): [True: 0, False: 110]
  ------------------
 5375|      0|            if (H5I_dec_ref(src_id) < 0)
  ------------------
  |  Branch (5375:17): [True: 0, False: 0]
  ------------------
 5376|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTDEC, FAIL, "can't decrement reference on temporary ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5377|      0|            src_id    = H5I_INVALID_HID;
  ------------------
  |  |   75|      0|#define H5I_INVALID_HID (-1)
  ------------------
 5378|      0|            tmp_stype = NULL;
 5379|      0|        }
 5380|    110|        if (dst_id >= 0) {
  ------------------
  |  Branch (5380:13): [True: 0, False: 110]
  ------------------
 5381|      0|            if (H5I_dec_ref(dst_id) < 0)
  ------------------
  |  Branch (5381:17): [True: 0, False: 0]
  ------------------
 5382|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTDEC, FAIL, "can't decrement reference on temporary ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5383|      0|            dst_id    = H5I_INVALID_HID;
  ------------------
  |  |   75|      0|#define H5I_INVALID_HID (-1)
  ------------------
 5384|      0|            tmp_dtype = NULL;
 5385|      0|        }
 5386|       |
 5387|    110|        path->conv    = *conv;
 5388|    110|        path->is_hard = true;
 5389|    110|    }
 5390|       |
 5391|       |    /*
 5392|       |     * Otherwise, scan the soft list for an applicable function
 5393|       |     * and add it to the path.
 5394|       |     */
 5395|    117|    assert(path->conv.u.app_func || (src && dst));
 5396|    154|    for (int i = H5T_g.nsoft - 1; i >= 0 && !path->conv.u.app_func; --i) {
  ------------------
  |  Branch (5396:35): [True: 154, False: 0]
  |  Branch (5396:45): [True: 37, False: 117]
  ------------------
 5397|     37|        bool path_init_error = false;
 5398|       |
 5399|     37|        if (src->shared->type != H5T_g.soft[i].src || dst->shared->type != H5T_g.soft[i].dst)
  ------------------
  |  Branch (5399:13): [True: 18, False: 19]
  |  Branch (5399:55): [True: 0, False: 19]
  ------------------
 5400|     18|            continue;
 5401|       |
 5402|     19|        path->cdata.command = H5T_CONV_INIT;
 5403|     19|        if (H5T_g.soft[i].conv.is_app) {
  ------------------
  |  Branch (5403:13): [True: 0, False: 19]
  ------------------
 5404|       |            /* Copy the conversion path's source and destination datatypes and
 5405|       |             * register an ID for them so we can pass these to the application
 5406|       |             * conversion function
 5407|       |             */
 5408|      0|            if (NULL == (tmp_stype = H5T_copy(path->src, H5T_COPY_ALL)))
  ------------------
  |  Branch (5408:17): [True: 0, False: 0]
  ------------------
 5409|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCOPY, FAIL, "unable to copy source datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5410|      0|            if (NULL == (tmp_dtype = H5T_copy(path->dst, H5T_COPY_ALL)))
  ------------------
  |  Branch (5410:17): [True: 0, False: 0]
  ------------------
 5411|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCOPY, FAIL, "unable to copy destination datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5412|       |
 5413|      0|            if ((src_id = H5I_register(H5I_DATATYPE, tmp_stype, false)) < 0)
  ------------------
  |  Branch (5413:17): [True: 0, False: 0]
  ------------------
 5414|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5415|      0|                            "unable to register ID for source datatype");
 5416|      0|            if ((dst_id = H5I_register(H5I_DATATYPE, tmp_dtype, false)) < 0)
  ------------------
  |  Branch (5416:17): [True: 0, False: 0]
  ------------------
 5417|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5418|      0|                            "unable to register ID for destination datatype");
 5419|       |
 5420|      0|            status = (H5T_g.soft[i].conv.u.app_func)(src_id, dst_id, &(path->cdata), 0, 0, 0, NULL, NULL,
 5421|      0|                                                     H5CX_get_dxpl());
 5422|      0|        }
 5423|     19|        else
 5424|     19|            status = (H5T_g.soft[i].conv.u.lib_func)(path->src, path->dst, &(path->cdata), conv_ctx, 0, 0, 0,
 5425|     19|                                                     NULL, NULL);
 5426|       |
 5427|     19|        if (status < 0) {
  ------------------
  |  Branch (5427:13): [True: 12, False: 7]
  ------------------
 5428|     12|            memset(&(path->cdata), 0, sizeof(H5T_cdata_t));
 5429|       |            /* ignore the error */
 5430|     12|            if (H5E_clear_stack() < 0)
  ------------------
  |  Branch (5430:17): [True: 0, False: 12]
  ------------------
 5431|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTRESET, FAIL, "unable to clear current error stack");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5432|     12|            path_init_error = true;
 5433|     12|        }
 5434|       |
 5435|       |        /* Finish operation, if no error */
 5436|     19|        if (!path_init_error) {
  ------------------
  |  Branch (5436:13): [True: 7, False: 12]
  ------------------
 5437|      7|            strncpy(path->name, H5T_g.soft[i].name, (size_t)H5T_NAMELEN);
  ------------------
  |  |   26|      7|#define H5T_NAMELEN 32
  ------------------
 5438|      7|            path->name[H5T_NAMELEN - 1] = '\0';
  ------------------
  |  |   26|      7|#define H5T_NAMELEN 32
  ------------------
 5439|      7|            path->conv                  = H5T_g.soft[i].conv;
 5440|      7|            path->is_hard               = false;
 5441|      7|        }
 5442|       |
 5443|     19|        if (src_id >= 0) {
  ------------------
  |  Branch (5443:13): [True: 0, False: 19]
  ------------------
 5444|      0|            if (H5I_dec_ref(src_id) < 0)
  ------------------
  |  Branch (5444:17): [True: 0, False: 0]
  ------------------
 5445|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTDEC, FAIL, "can't decrement reference on temporary ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5446|      0|            src_id    = H5I_INVALID_HID;
  ------------------
  |  |   75|      0|#define H5I_INVALID_HID (-1)
  ------------------
 5447|      0|            tmp_stype = NULL;
 5448|      0|        }
 5449|     19|        if (dst_id >= 0) {
  ------------------
  |  Branch (5449:13): [True: 0, False: 19]
  ------------------
 5450|      0|            if (H5I_dec_ref(dst_id) < 0)
  ------------------
  |  Branch (5450:17): [True: 0, False: 0]
  ------------------
 5451|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTDEC, FAIL, "can't decrement reference on temporary ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5452|      0|            dst_id    = H5I_INVALID_HID;
  ------------------
  |  |   75|      0|#define H5I_INVALID_HID (-1)
  ------------------
 5453|      0|            tmp_dtype = NULL;
 5454|      0|        }
 5455|     19|    }
 5456|       |
 5457|    117|done:
 5458|    117|    if (src_id >= 0) {
  ------------------
  |  Branch (5458:9): [True: 0, False: 117]
  ------------------
 5459|      0|        if (H5I_dec_ref(src_id) < 0)
  ------------------
  |  Branch (5459:13): [True: 0, False: 0]
  ------------------
 5460|      0|            HDONE_ERROR(H5E_DATATYPE, H5E_CANTDEC, FAIL, "can't decrement reference on temporary ID");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5461|      0|    }
 5462|    117|    else if (tmp_stype) {
  ------------------
  |  Branch (5462:14): [True: 0, False: 117]
  ------------------
 5463|      0|        if (H5T_close(tmp_stype) < 0)
  ------------------
  |  Branch (5463:13): [True: 0, False: 0]
  ------------------
 5464|      0|            HDONE_ERROR(H5E_DATATYPE, H5E_CANTCLOSEOBJ, FAIL, "can't close temporary datatype");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5465|      0|    }
 5466|    117|    if (dst_id >= 0) {
  ------------------
  |  Branch (5466:9): [True: 0, False: 117]
  ------------------
 5467|      0|        if (H5I_dec_ref(dst_id) < 0)
  ------------------
  |  Branch (5467:13): [True: 0, False: 0]
  ------------------
 5468|      0|            HDONE_ERROR(H5E_DATATYPE, H5E_CANTDEC, FAIL, "can't decrement reference on temporary ID");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5469|      0|    }
 5470|    117|    else if (tmp_dtype) {
  ------------------
  |  Branch (5470:14): [True: 0, False: 117]
  ------------------
 5471|      0|        if (H5T_close(tmp_dtype) < 0)
  ------------------
  |  Branch (5471:13): [True: 0, False: 0]
  ------------------
 5472|      0|            HDONE_ERROR(H5E_DATATYPE, H5E_CANTCLOSEOBJ, FAIL, "can't close temporary datatype");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5473|      0|    }
 5474|       |
 5475|    117|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    117|    ;                                                                                                        \
  |  | 1573|    117|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    117|    return (ret_value);                                                                                      \
  |  | 1575|    117|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 5476|    117|}
H5T.c:H5T__path_free:
 5491|    118|{
 5492|    118|    herr_t status    = SUCCEED;
  ------------------
  |  |  283|    118|#define SUCCEED 0
  ------------------
 5493|    118|    int    nprint    = 0;
 5494|    118|    herr_t ret_value = SUCCEED;
  ------------------
  |  |  283|    118|#define SUCCEED 0
  ------------------
 5495|       |
 5496|    118|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    118|    {                                                                                                        \
  |  | 1461|    118|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    118|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    118|                                                                                                             \
  |  |  |  | 1267|    118|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    118|        {
  ------------------
 5497|       |
 5498|    118|    assert(path);
 5499|    118|    assert(conv_ctx);
 5500|       |
 5501|    118|    if (path->conv.u.app_func) {
  ------------------
  |  Branch (5501:9): [True: 118, False: 0]
  ------------------
 5502|    118|        H5T__print_path_stats(path, &nprint);
 5503|       |
 5504|    118|        path->cdata.command = H5T_CONV_FREE;
 5505|       |
 5506|    118|        if (path->conv.is_app)
  ------------------
  |  Branch (5506:13): [True: 0, False: 118]
  ------------------
 5507|      0|            status = (path->conv.u.app_func)(conv_ctx->u.free.src_type_id, conv_ctx->u.free.dst_type_id,
 5508|      0|                                             &(path->cdata), 0, 0, 0, NULL, NULL, H5CX_get_dxpl());
 5509|    118|        else
 5510|    118|            status =
 5511|    118|                (path->conv.u.lib_func)(path->src, path->dst, &(path->cdata), conv_ctx, 0, 0, 0, NULL, NULL);
 5512|       |
 5513|    118|        if (status < 0) {
  ------------------
  |  Branch (5513:13): [True: 0, False: 118]
  ------------------
 5514|       |            /* Ignore any error from shutting down the path */
 5515|      0|            if (H5E_clear_stack() < 0)
  ------------------
  |  Branch (5515:17): [True: 0, False: 0]
  ------------------
 5516|       |                /* Push error, but keep going */
 5517|      0|                HDONE_ERROR(H5E_DATATYPE, H5E_CANTRESET, FAIL, "unable to clear current error stack");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5518|       |
 5519|       |#ifdef H5T_DEBUG
 5520|       |            if (H5DEBUG(T)) {
 5521|       |                fprintf(H5DEBUG(T), "H5T: conversion function 0x%016zx free failed for %s (ignored)\n",
 5522|       |                        path->conv.is_app ? (size_t)path->conv.u.app_func : (size_t)path->conv.u.lib_func,
 5523|       |                        path->name);
 5524|       |            }
 5525|       |#endif
 5526|      0|        }
 5527|    118|    }
 5528|       |
 5529|    118|    if (path->src && (H5T_close_real(path->src) < 0))
  ------------------
  |  Branch (5529:9): [True: 117, False: 1]
  |  Branch (5529:22): [True: 0, False: 117]
  ------------------
 5530|       |        /* Push error, but keep going */
 5531|      0|        HDONE_ERROR(H5E_DATATYPE, H5E_CANTCLOSEOBJ, FAIL, "unable to close source datatype");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5532|    118|    if (path->dst && (H5T_close_real(path->dst) < 0))
  ------------------
  |  Branch (5532:9): [True: 117, False: 1]
  |  Branch (5532:22): [True: 0, False: 117]
  ------------------
 5533|       |        /* Push error, but keep going */
 5534|      0|        HDONE_ERROR(H5E_DATATYPE, H5E_CANTCLOSEOBJ, FAIL, "unable to close destination datatype");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5535|       |
 5536|    118|    path = H5FL_FREE(H5T_path_t, path);
  ------------------
  |  |   81|    118|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|    118|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 5537|       |
 5538|    118|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    118|    ;                                                                                                        \
  |  | 1573|    118|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    118|    return (ret_value);                                                                                      \
  |  | 1575|    118|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 5539|    118|}
H5T.c:H5T_path_match:
 5554|    777|{
 5555|    777|    bool ret_value = true;
 5556|       |
 5557|    777|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|    777|    {                                                                                                        \
  |  | 1425|    777|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    777|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|    777|        {
  ------------------
 5558|       |
 5559|    777|    assert(path);
 5560|       |
 5561|    777|    if (
 5562|       |        /* Check that the specified conversion function persistence matches */
 5563|    777|        ((H5T_PERS_SOFT == pers && path->is_hard) || (H5T_PERS_HARD == pers && !path->is_hard)) ||
  ------------------
  |  Branch (5563:11): [True: 777, False: 0]
  |  Branch (5563:36): [True: 770, False: 7]
  |  Branch (5563:55): [True: 0, False: 7]
  |  Branch (5563:80): [True: 0, False: 0]
  ------------------
 5564|       |
 5565|       |        /* Check that the specified conversion path name matches */
 5566|    777|        (name && *name && strcmp(name, path->name) != 0) ||
  ------------------
  |  Branch (5566:10): [True: 0, False: 7]
  |  Branch (5566:18): [True: 0, False: 0]
  |  Branch (5566:27): [True: 0, False: 0]
  ------------------
 5567|       |
 5568|       |        /*
 5569|       |         * Check that the specified source and destination datatypes match
 5570|       |         * the source and destination datatypes in the conversion path
 5571|       |         */
 5572|    777|        (src && H5T_cmp(src, path->src, false)) || (dst && H5T_cmp(dst, path->dst, false)) ||
  ------------------
  |  Branch (5572:10): [True: 0, False: 7]
  |  Branch (5572:17): [True: 0, False: 0]
  |  Branch (5572:53): [True: 0, False: 7]
  |  Branch (5572:60): [True: 0, False: 0]
  ------------------
 5573|       |
 5574|       |        /*
 5575|       |         * Check that the specified VOL object pointer matches the `owned_vol_obj`
 5576|       |         * field for either the source datatype or destination datatype in the
 5577|       |         * conversion path
 5578|       |         */
 5579|    777|        (owned_vol_obj && (H5T_path_match_find_type_with_volobj(path->src, owned_vol_obj) == false) &&
  ------------------
  |  Branch (5579:10): [True: 7, False: 0]
  |  Branch (5579:27): [True: 0, False: 7]
  ------------------
 5580|      7|         (H5T_path_match_find_type_with_volobj(path->dst, owned_vol_obj) == false)) ||
  ------------------
  |  Branch (5580:10): [True: 0, False: 0]
  ------------------
 5581|       |
 5582|       |        /* Check that the specified conversion function matches */
 5583|    777|        (func && func != path->conv.u.app_func))
  ------------------
  |  Branch (5583:10): [True: 0, False: 7]
  |  Branch (5583:18): [True: 0, False: 0]
  ------------------
 5584|    770|        ret_value = false;
 5585|       |
 5586|    777|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    777|    ;                                                                                                        \
  |  | 1573|    777|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    777|    return (ret_value);                                                                                      \
  |  | 1575|    777|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 5587|    777|} /* H5T_path_match() */
H5T.c:H5T_path_match_find_type_with_volobj:
 5602|      7|{
 5603|      7|    bool ret_value = false;
 5604|       |
 5605|      7|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      7|    {                                                                                                        \
  |  | 1425|      7|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      7|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      7|        {
  ------------------
 5606|       |
 5607|      7|    assert(datatype);
 5608|      7|    assert(owned_vol_obj);
 5609|       |
 5610|      7|    ret_value = (datatype->shared->owned_vol_obj == owned_vol_obj);
 5611|      7|    if (!ret_value) {
  ------------------
  |  Branch (5611:9): [True: 0, False: 7]
  ------------------
 5612|      0|        switch (datatype->shared->type) {
 5613|      0|            case H5T_COMPOUND:
  ------------------
  |  Branch (5613:13): [True: 0, False: 0]
  ------------------
 5614|      0|                for (unsigned i = 0; i < datatype->shared->u.compnd.nmembs; i++) {
  ------------------
  |  Branch (5614:38): [True: 0, False: 0]
  ------------------
 5615|      0|                    if (ret_value)
  ------------------
  |  Branch (5615:25): [True: 0, False: 0]
  ------------------
 5616|      0|                        break;
 5617|      0|                    ret_value = H5T_path_match_find_type_with_volobj(datatype->shared->u.compnd.memb[i].type,
 5618|      0|                                                                     owned_vol_obj);
 5619|      0|                }
 5620|      0|                break;
 5621|       |
 5622|      0|            case H5T_VLEN:
  ------------------
  |  Branch (5622:13): [True: 0, False: 0]
  ------------------
 5623|       |                /* Should be an error if no parent, but simplify logic for a true/false return value */
 5624|      0|                if (datatype->shared->parent)
  ------------------
  |  Branch (5624:21): [True: 0, False: 0]
  ------------------
 5625|      0|                    ret_value = H5T_path_match_find_type_with_volobj(datatype->shared->parent, owned_vol_obj);
 5626|      0|                break;
 5627|       |
 5628|      0|            case H5T_ARRAY:
  ------------------
  |  Branch (5628:13): [True: 0, False: 0]
  ------------------
 5629|       |                /* Should be an error if no parent, but simplify logic for a true/false return value */
 5630|      0|                if (datatype->shared->parent)
  ------------------
  |  Branch (5630:21): [True: 0, False: 0]
  ------------------
 5631|      0|                    ret_value = H5T_path_match_find_type_with_volobj(datatype->shared->parent, owned_vol_obj);
 5632|      0|                break;
 5633|       |
 5634|      0|            case H5T_INTEGER:
  ------------------
  |  Branch (5634:13): [True: 0, False: 0]
  ------------------
 5635|      0|            case H5T_FLOAT:
  ------------------
  |  Branch (5635:13): [True: 0, False: 0]
  ------------------
 5636|      0|            case H5T_TIME:
  ------------------
  |  Branch (5636:13): [True: 0, False: 0]
  ------------------
 5637|      0|            case H5T_STRING:
  ------------------
  |  Branch (5637:13): [True: 0, False: 0]
  ------------------
 5638|      0|            case H5T_BITFIELD:
  ------------------
  |  Branch (5638:13): [True: 0, False: 0]
  ------------------
 5639|      0|            case H5T_OPAQUE:
  ------------------
  |  Branch (5639:13): [True: 0, False: 0]
  ------------------
 5640|      0|            case H5T_REFERENCE: /* Should have been determined by above check */
  ------------------
  |  Branch (5640:13): [True: 0, False: 0]
  ------------------
 5641|      0|            case H5T_ENUM:
  ------------------
  |  Branch (5641:13): [True: 0, False: 0]
  ------------------
 5642|      0|            case H5T_NO_CLASS: /* Error value, but simplify logic for a true/false return value */
  ------------------
  |  Branch (5642:13): [True: 0, False: 0]
  ------------------
 5643|      0|            case H5T_NCLASSES: /* Error value, but simplify logic for a true/false return value */
  ------------------
  |  Branch (5643:13): [True: 0, False: 0]
  ------------------
 5644|      0|            default:
  ------------------
  |  Branch (5644:13): [True: 0, False: 0]
  ------------------
 5645|      0|                ret_value = false;
 5646|      0|                break;
 5647|      0|        }
 5648|      0|    }
 5649|       |
 5650|      7|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 5651|      7|}
H5T.c:H5T__path_table_search:
 4984|    185|{
 4985|    185|    int  lt, rt, md;        /* Left, middle, and right edges */
 4986|    185|    int  cmp;               /* Comparison result  */
 4987|    185|    bool ret_value = false; /* Return value */
 4988|       |
 4989|    185|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|    185|    {                                                                                                        \
  |  | 1467|    185|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|    185|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|    185|        {
  ------------------
 4990|       |
 4991|       |    /* Sanity check */
 4992|    185|    assert(0 != H5T_g.npaths);
 4993|    185|    assert(src);
 4994|    185|    assert(src->shared);
 4995|    185|    assert(dst);
 4996|    185|    assert(dst->shared);
 4997|    185|    assert(idx);
 4998|       |
 4999|       |    /* Find the conversion path in the table, using a binary search */
 5000|       |    /* NOTE: Doesn't match against entry 0, which is the no-op path */
 5001|    185|    lt = md = 1;
 5002|    185|    rt      = H5T_g.npaths;
 5003|    185|    cmp     = -1;
 5004|       |
 5005|  1.18k|    while (cmp && lt < rt) {
  ------------------
  |  Branch (5005:12): [True: 1.12k, False: 64]
  |  Branch (5005:19): [True: 1.00k, False: 121]
  ------------------
 5006|  1.00k|        md = (lt + rt) / 2;
 5007|  1.00k|        assert(H5T_g.path[md]);
 5008|  1.00k|        cmp = H5T_cmp(src, H5T_g.path[md]->src, false);
 5009|  1.00k|        if (0 == cmp)
  ------------------
  |  Branch (5009:13): [True: 374, False: 627]
  ------------------
 5010|    374|            cmp = H5T_cmp(dst, H5T_g.path[md]->dst, false);
 5011|  1.00k|        if (cmp < 0)
  ------------------
  |  Branch (5011:13): [True: 461, False: 540]
  ------------------
 5012|    461|            rt = md;
 5013|    540|        else if (cmp > 0)
  ------------------
  |  Branch (5013:18): [True: 476, False: 64]
  ------------------
 5014|    476|            lt = md + 1;
 5015|     64|        else
 5016|       |            /* Match found */
 5017|     64|            ret_value = true;
 5018|  1.00k|    }
 5019|       |
 5020|       |    /* Set middle index & comparison values */
 5021|    185|    *idx = md;
 5022|    185|    if (last_cmp)
  ------------------
  |  Branch (5022:9): [True: 176, False: 9]
  ------------------
 5023|    176|        *last_cmp = cmp;
 5024|       |
 5025|    185|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    185|    ;                                                                                                        \
  |  | 1573|    185|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    185|    return (ret_value);                                                                                      \
  |  | 1575|    185|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 5026|    185|} /* end H5T__path_table_search() */

H5T__array_create:
  133|      1|{
  134|      1|    unsigned u;                /* Local index variable */
  135|      1|    H5T_t   *ret_value = NULL; /* New array data type	*/
  136|       |
  137|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
  138|       |
  139|      1|    assert(base);
  140|      1|    assert(ndims <= H5S_MAX_RANK);
  141|      1|    assert(dim);
  142|       |
  143|       |    /* Build new type */
  144|      1|    if (NULL == (ret_value = H5T__alloc()))
  ------------------
  |  Branch (144:9): [True: 0, False: 1]
  ------------------
  145|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  146|      1|    ret_value->shared->type = H5T_ARRAY;
  147|       |
  148|       |    /* Copy the base type of the array */
  149|      1|    if (NULL == (ret_value->shared->parent = H5T_copy(base, H5T_COPY_ALL)))
  ------------------
  |  Branch (149:9): [True: 0, False: 1]
  ------------------
  150|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCOPY, NULL, "unable to copy base datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  151|       |
  152|       |    /* Set the array parameters */
  153|      1|    ret_value->shared->u.array.ndims = ndims;
  154|       |
  155|       |    /* Copy the array dimensions & compute the # of elements in the array */
  156|      2|    for (u = 0, ret_value->shared->u.array.nelem = 1; u < ndims; u++) {
  ------------------
  |  Branch (156:55): [True: 1, False: 1]
  ------------------
  157|      1|        H5_CHECKED_ASSIGN(ret_value->shared->u.array.dim[u], size_t, dim[u], hsize_t);
  ------------------
  |  |  977|      1|    do {                                                                                                     \
  |  |  978|      1|        (dst) = (dsttype)(src);                                                                              \
  |  |  979|      1|    } while (0)
  |  |  ------------------
  |  |  |  Branch (979:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  158|      1|        ret_value->shared->u.array.nelem *= (size_t)dim[u];
  159|      1|    } /* end for */
  160|       |
  161|       |    /* Set the array's size (number of elements * element datatype's size) */
  162|      1|    ret_value->shared->size = ret_value->shared->parent->shared->size * ret_value->shared->u.array.nelem;
  163|       |
  164|       |    /* Set the "force conversion" flag if the base datatype indicates */
  165|      1|    if (base->shared->force_conv == true)
  ------------------
  |  Branch (165:9): [True: 0, False: 1]
  ------------------
  166|      0|        ret_value->shared->force_conv = true;
  167|       |
  168|       |    /* Array datatypes need a later version of the datatype object header message */
  169|      1|    ret_value->shared->version = MAX(base->shared->version, H5O_DTYPE_VERSION_2);
  ------------------
  |  |  300|      1|#define MAX(a, b)        (((a) > (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (300:27): [True: 0, False: 1]
  |  |  ------------------
  ------------------
  170|       |
  171|      1|done:
  172|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  173|      1|} /* end H5T__array_create */

H5T__bit_set:
  328|     12|{
  329|     12|    int idx;
  330|       |
  331|     12|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     12|    {                                                                                                        \
  |  | 1467|     12|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     12|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     12|        {
  ------------------
  332|       |
  333|       |    /* Normalize */
  334|     12|    idx = (int)offset / 8;
  335|     12|    offset %= 8;
  336|       |
  337|       |    /* The first partial byte */
  338|     12|    if (size && offset % 8) {
  ------------------
  |  Branch (338:9): [True: 12, False: 0]
  |  Branch (338:17): [True: 8, False: 4]
  ------------------
  339|      8|        size_t   nbits = MIN(size, 8 - offset);
  ------------------
  |  |  293|      8|#define MIN(a, b)        (((a) < (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (293:27): [True: 0, False: 8]
  |  |  ------------------
  ------------------
  340|      8|        unsigned mask  = ((unsigned)1 << nbits) - 1;
  341|       |
  342|      8|        if (value)
  ------------------
  |  Branch (342:13): [True: 6, False: 2]
  ------------------
  343|      6|            buf[idx] = (uint8_t)(buf[idx] | (mask << offset));
  344|      2|        else
  345|      2|            buf[idx] &= (uint8_t)(~(mask << offset));
  346|       |
  347|      8|        idx++;
  348|      8|        size -= nbits;
  349|      8|    }
  350|       |
  351|       |    /* The middle bytes */
  352|     28|    while (size >= 8) {
  ------------------
  |  Branch (352:12): [True: 16, False: 12]
  ------------------
  353|     16|        buf[idx++] = (uint8_t)(value ? 0xff : 0x00);
  ------------------
  |  Branch (353:32): [True: 0, False: 16]
  ------------------
  354|     16|        size -= 8;
  355|     16|    }
  356|       |
  357|       |    /* The last partial byte */
  358|     12|    if (size) {
  ------------------
  |  Branch (358:9): [True: 8, False: 4]
  ------------------
  359|      8|        if (value)
  ------------------
  |  Branch (359:13): [True: 4, False: 4]
  ------------------
  360|      4|            buf[idx] |= (uint8_t)(((unsigned)1 << size) - 1);
  361|      4|        else
  362|      4|            buf[idx] &= (uint8_t)(~(((unsigned)1 << size) - 1));
  363|      8|    }
  364|       |
  365|     12|    FUNC_LEAVE_NOAPI_VOID
  ------------------
  |  | 1578|     12|    ;                                                                                                        \
  |  | 1579|     12|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1580|     12|    return;                                                                                                  \
  |  | 1581|     12|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  366|     12|} /* end H5T__bit_set() */

H5T_get_actual_type:
 1303|     93|{
 1304|     93|    H5T_t *ret_value = NULL; /* Return value */
 1305|       |
 1306|     93|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|     93|    {                                                                                                        \
  |  | 1425|     93|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|     93|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|     93|        {
  ------------------
 1307|       |
 1308|       |    /* Check if the datatype is committed */
 1309|     93|    if (NULL == dt->vol_obj)
  ------------------
  |  Branch (1309:9): [True: 93, False: 0]
  ------------------
 1310|     93|        ret_value = dt;
 1311|      0|    else
 1312|      0|        ret_value = (H5T_t *)H5VL_object_data(dt->vol_obj);
 1313|       |
 1314|     93|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     93|    ;                                                                                                        \
  |  | 1573|     93|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     93|    return (ret_value);                                                                                      \
  |  | 1575|     93|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1315|     93|} /* end H5T_get_actual_type() */

H5T__conv_noop:
  230|     28|{
  231|     28|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     28|#define SUCCEED 0
  ------------------
  232|       |
  233|     28|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     28|    {                                                                                                        \
  |  | 1461|     28|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     28|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     28|                                                                                                             \
  |  |  |  | 1267|     28|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     28|        {
  ------------------
  234|       |
  235|     28|    switch (cdata->command) {
  236|      5|        case H5T_CONV_INIT:
  ------------------
  |  Branch (236:9): [True: 5, False: 23]
  ------------------
  237|      5|            cdata->need_bkg = H5T_BKG_NO;
  238|      5|            break;
  239|       |
  240|     18|        case H5T_CONV_CONV:
  ------------------
  |  Branch (240:9): [True: 18, False: 10]
  ------------------
  241|       |            /* Nothing to convert */
  242|     18|            break;
  243|       |
  244|      5|        case H5T_CONV_FREE:
  ------------------
  |  Branch (244:9): [True: 5, False: 23]
  ------------------
  245|      5|            break;
  246|       |
  247|      0|        default:
  ------------------
  |  Branch (247:9): [True: 0, False: 28]
  ------------------
  248|      0|            HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  249|     28|    } /* end switch */
  250|       |
  251|     28|done:
  252|     28|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     28|    ;                                                                                                        \
  |  | 1573|     28|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     28|    return (ret_value);                                                                                      \
  |  | 1575|     28|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  253|     28|} /* end H5T__conv_noop() */

H5T__conv_float_schar:
 1531|      2|{
 1532|      2|    H5_GCC_CLANG_DIAG_OFF("float-equal")
 1533|      2|    H5T_CONV_Fx(FLOAT, SCHAR, float, signed char, SCHAR_MIN, SCHAR_MAX);
  ------------------
  |  |  710|      2|    do {                                                                                                     \
  |  |  711|      2|        H5T_CONV(H5T_CONV_Fx, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  712|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (712:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1534|      2|    H5_GCC_CLANG_DIAG_ON("float-equal")
 1535|      2|}
H5T__conv_float_uchar:
 1551|      2|{
 1552|      2|    H5_GCC_CLANG_DIAG_OFF("float-equal")
 1553|      2|    H5T_CONV_Fx(FLOAT, UCHAR, float, unsigned char, 0, UCHAR_MAX);
  ------------------
  |  |  710|      2|    do {                                                                                                     \
  |  |  711|      2|        H5T_CONV(H5T_CONV_Fx, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  712|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (712:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1554|      2|    H5_GCC_CLANG_DIAG_ON("float-equal")
 1555|      2|}
H5T__conv_float_short:
 1571|      2|{
 1572|      2|    H5_GCC_CLANG_DIAG_OFF("float-equal")
 1573|      2|    H5T_CONV_Fx(FLOAT, SHORT, float, short, SHRT_MIN, SHRT_MAX);
  ------------------
  |  |  710|      2|    do {                                                                                                     \
  |  |  711|      2|        H5T_CONV(H5T_CONV_Fx, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  712|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (712:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1574|      2|    H5_GCC_CLANG_DIAG_ON("float-equal")
 1575|      2|}
H5T__conv_float_ushort:
 1591|      2|{
 1592|      2|    H5_GCC_CLANG_DIAG_OFF("float-equal")
 1593|      2|    H5T_CONV_Fx(FLOAT, USHORT, float, unsigned short, 0, USHRT_MAX);
  ------------------
  |  |  710|      2|    do {                                                                                                     \
  |  |  711|      2|        H5T_CONV(H5T_CONV_Fx, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  712|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (712:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1594|      2|    H5_GCC_CLANG_DIAG_ON("float-equal")
 1595|      2|}
H5T__conv_float_int:
 1611|      2|{
 1612|      2|    H5_GCC_CLANG_DIAG_OFF("float-equal")
 1613|      2|    H5T_CONV_Fx(FLOAT, INT, float, int, INT_MIN, INT_MAX);
  ------------------
  |  |  710|      2|    do {                                                                                                     \
  |  |  711|      2|        H5T_CONV(H5T_CONV_Fx, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  712|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (712:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1614|      2|    H5_GCC_CLANG_DIAG_ON("float-equal")
 1615|      2|}
H5T__conv_float_uint:
 1631|      2|{
 1632|      2|    H5_GCC_CLANG_DIAG_OFF("float-equal")
 1633|      2|    H5T_CONV_Fx(FLOAT, UINT, float, unsigned int, 0, UINT_MAX);
  ------------------
  |  |  710|      2|    do {                                                                                                     \
  |  |  711|      2|        H5T_CONV(H5T_CONV_Fx, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  712|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (712:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1634|      2|    H5_GCC_CLANG_DIAG_ON("float-equal")
 1635|      2|}
H5T__conv_float_long:
 1651|      2|{
 1652|      2|    H5_GCC_CLANG_DIAG_OFF("float-equal")
 1653|      2|    H5T_CONV_Fx(FLOAT, LONG, float, long, LONG_MIN, LONG_MAX);
  ------------------
  |  |  710|      2|    do {                                                                                                     \
  |  |  711|      2|        H5T_CONV(H5T_CONV_Fx, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  712|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (712:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1654|      2|    H5_GCC_CLANG_DIAG_ON("float-equal")
 1655|      2|}
H5T__conv_float_ulong:
 1671|      2|{
 1672|      2|    H5_GCC_CLANG_DIAG_OFF("float-equal")
 1673|      2|    H5T_CONV_Fx(FLOAT, ULONG, float, unsigned long, 0, ULONG_MAX);
  ------------------
  |  |  710|      2|    do {                                                                                                     \
  |  |  711|      2|        H5T_CONV(H5T_CONV_Fx, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  712|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (712:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1674|      2|    H5_GCC_CLANG_DIAG_ON("float-equal")
 1675|      2|}
H5T__conv_float_double:
 1754|      2|{
 1755|      2|    H5T_CONV_fF(FLOAT, DOUBLE, float, double, -, -);
  ------------------
  |  |  506|      2|    do {                                                                                                     \
  |  |  507|      2|        HDcompile_assert(sizeof(ST) <= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  508|      2|        H5T_CONV(H5T_CONV_xX, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  509|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (509:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1756|      2|}
H5T__conv_float_ldouble:
 1772|      2|{
 1773|      2|    H5T_CONV_fF(FLOAT, LDOUBLE, float, long double, -, -);
  ------------------
  |  |  506|      2|    do {                                                                                                     \
  |  |  507|      2|        HDcompile_assert(sizeof(ST) <= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  508|      2|        H5T_CONV(H5T_CONV_xX, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  509|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (509:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1774|      2|}
H5T__conv_double_schar:
 1790|      2|{
 1791|      2|    H5_GCC_CLANG_DIAG_OFF("float-equal")
 1792|      2|    H5T_CONV_Fx(DOUBLE, SCHAR, double, signed char, SCHAR_MIN, SCHAR_MAX);
  ------------------
  |  |  710|      2|    do {                                                                                                     \
  |  |  711|      2|        H5T_CONV(H5T_CONV_Fx, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  712|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (712:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1793|      2|    H5_GCC_CLANG_DIAG_ON("float-equal")
 1794|      2|}
H5T__conv_double_uchar:
 1810|      2|{
 1811|      2|    H5_GCC_CLANG_DIAG_OFF("float-equal")
 1812|      2|    H5T_CONV_Fx(DOUBLE, UCHAR, double, unsigned char, 0, UCHAR_MAX);
  ------------------
  |  |  710|      2|    do {                                                                                                     \
  |  |  711|      2|        H5T_CONV(H5T_CONV_Fx, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  712|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (712:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1813|      2|    H5_GCC_CLANG_DIAG_ON("float-equal")
 1814|      2|}
H5T__conv_double_short:
 1830|      2|{
 1831|      2|    H5_GCC_CLANG_DIAG_OFF("float-equal")
 1832|      2|    H5T_CONV_Fx(DOUBLE, SHORT, double, short, SHRT_MIN, SHRT_MAX);
  ------------------
  |  |  710|      2|    do {                                                                                                     \
  |  |  711|      2|        H5T_CONV(H5T_CONV_Fx, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  712|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (712:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1833|      2|    H5_GCC_CLANG_DIAG_ON("float-equal")
 1834|      2|}
H5T__conv_double_ushort:
 1850|      2|{
 1851|      2|    H5_GCC_CLANG_DIAG_OFF("float-equal")
 1852|      2|    H5T_CONV_Fx(DOUBLE, USHORT, double, unsigned short, 0, USHRT_MAX);
  ------------------
  |  |  710|      2|    do {                                                                                                     \
  |  |  711|      2|        H5T_CONV(H5T_CONV_Fx, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  712|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (712:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1853|      2|    H5_GCC_CLANG_DIAG_ON("float-equal")
 1854|      2|}
H5T__conv_double_int:
 1870|      2|{
 1871|      2|    H5_GCC_CLANG_DIAG_OFF("float-equal")
 1872|      2|    H5T_CONV_Fx(DOUBLE, INT, double, int, INT_MIN, INT_MAX);
  ------------------
  |  |  710|      2|    do {                                                                                                     \
  |  |  711|      2|        H5T_CONV(H5T_CONV_Fx, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  712|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (712:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1873|      2|    H5_GCC_CLANG_DIAG_ON("float-equal")
 1874|      2|}
H5T__conv_double_uint:
 1890|      2|{
 1891|      2|    H5_GCC_CLANG_DIAG_OFF("float-equal")
 1892|      2|    H5T_CONV_Fx(DOUBLE, UINT, double, unsigned int, 0, UINT_MAX);
  ------------------
  |  |  710|      2|    do {                                                                                                     \
  |  |  711|      2|        H5T_CONV(H5T_CONV_Fx, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  712|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (712:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1893|      2|    H5_GCC_CLANG_DIAG_ON("float-equal")
 1894|      2|}
H5T__conv_double_long:
 1910|      2|{
 1911|      2|    H5_GCC_CLANG_DIAG_OFF("float-equal")
 1912|      2|    H5T_CONV_Fx(DOUBLE, LONG, double, long, LONG_MIN, LONG_MAX);
  ------------------
  |  |  710|      2|    do {                                                                                                     \
  |  |  711|      2|        H5T_CONV(H5T_CONV_Fx, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  712|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (712:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1913|      2|    H5_GCC_CLANG_DIAG_ON("float-equal")
 1914|      2|}
H5T__conv_double_ulong:
 1930|      2|{
 1931|      2|    H5_GCC_CLANG_DIAG_OFF("float-equal")
 1932|      2|    H5T_CONV_Fx(DOUBLE, ULONG, double, unsigned long, 0, ULONG_MAX);
  ------------------
  |  |  710|      2|    do {                                                                                                     \
  |  |  711|      2|        H5T_CONV(H5T_CONV_Fx, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  712|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (712:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1933|      2|    H5_GCC_CLANG_DIAG_ON("float-equal")
 1934|      2|}
H5T__conv_double_float:
 2013|      2|{
 2014|      2|    H5T_CONV_Ff(DOUBLE, FLOAT, double, float, -FLT_MAX, FLT_MAX);
  ------------------
  |  |  552|      2|    do {                                                                                                     \
  |  |  553|      2|        HDcompile_assert(sizeof(ST) >= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  554|      2|        H5T_CONV(H5T_CONV_Ff, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  555|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (555:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2015|      2|}
H5T__conv_double_ldouble:
 2031|      2|{
 2032|      2|    H5T_CONV_fF(DOUBLE, LDOUBLE, double, long double, -, -);
  ------------------
  |  |  506|      2|    do {                                                                                                     \
  |  |  507|      2|        HDcompile_assert(sizeof(ST) <= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  508|      2|        H5T_CONV(H5T_CONV_xX, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  509|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (509:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2033|      2|}
H5T__conv_ldouble_schar:
 2049|      2|{
 2050|      2|    H5_GCC_CLANG_DIAG_OFF("float-equal")
 2051|      2|    H5T_CONV_Fx(LDOUBLE, SCHAR, long double, signed char, SCHAR_MIN, SCHAR_MAX);
  ------------------
  |  |  710|      2|    do {                                                                                                     \
  |  |  711|      2|        H5T_CONV(H5T_CONV_Fx, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  712|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (712:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2052|      2|    H5_GCC_CLANG_DIAG_ON("float-equal")
 2053|      2|}
H5T__conv_ldouble_uchar:
 2069|      2|{
 2070|      2|    H5_GCC_CLANG_DIAG_OFF("float-equal")
 2071|      2|    H5T_CONV_Fx(LDOUBLE, UCHAR, long double, unsigned char, 0, UCHAR_MAX);
  ------------------
  |  |  710|      2|    do {                                                                                                     \
  |  |  711|      2|        H5T_CONV(H5T_CONV_Fx, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  712|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (712:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2072|      2|    H5_GCC_CLANG_DIAG_ON("float-equal")
 2073|      2|}
H5T__conv_ldouble_short:
 2089|      2|{
 2090|      2|    H5_GCC_CLANG_DIAG_OFF("float-equal")
 2091|      2|    H5T_CONV_Fx(LDOUBLE, SHORT, long double, short, SHRT_MIN, SHRT_MAX);
  ------------------
  |  |  710|      2|    do {                                                                                                     \
  |  |  711|      2|        H5T_CONV(H5T_CONV_Fx, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  712|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (712:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2092|      2|    H5_GCC_CLANG_DIAG_ON("float-equal")
 2093|      2|}
H5T__conv_ldouble_ushort:
 2109|      2|{
 2110|      2|    H5_GCC_CLANG_DIAG_OFF("float-equal")
 2111|      2|    H5T_CONV_Fx(LDOUBLE, USHORT, long double, unsigned short, 0, USHRT_MAX);
  ------------------
  |  |  710|      2|    do {                                                                                                     \
  |  |  711|      2|        H5T_CONV(H5T_CONV_Fx, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  712|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (712:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2112|      2|    H5_GCC_CLANG_DIAG_ON("float-equal")
 2113|      2|}
H5T__conv_ldouble_int:
 2129|      2|{
 2130|      2|    H5_GCC_CLANG_DIAG_OFF("float-equal")
 2131|      2|    H5T_CONV_Fx(LDOUBLE, INT, long double, int, INT_MIN, INT_MAX);
  ------------------
  |  |  710|      2|    do {                                                                                                     \
  |  |  711|      2|        H5T_CONV(H5T_CONV_Fx, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  712|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (712:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2132|      2|    H5_GCC_CLANG_DIAG_ON("float-equal")
 2133|      2|}
H5T__conv_ldouble_uint:
 2149|      2|{
 2150|      2|    H5_GCC_CLANG_DIAG_OFF("float-equal")
 2151|      2|    H5T_CONV_Fx(LDOUBLE, UINT, long double, unsigned int, 0, UINT_MAX);
  ------------------
  |  |  710|      2|    do {                                                                                                     \
  |  |  711|      2|        H5T_CONV(H5T_CONV_Fx, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  712|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (712:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2152|      2|    H5_GCC_CLANG_DIAG_ON("float-equal")
 2153|      2|}
H5T__conv_ldouble_long:
 2169|      2|{
 2170|      2|    H5_GCC_CLANG_DIAG_OFF("float-equal")
 2171|      2|    H5T_CONV_Fx(LDOUBLE, LONG, long double, long, LONG_MIN, LONG_MAX);
  ------------------
  |  |  710|      2|    do {                                                                                                     \
  |  |  711|      2|        H5T_CONV(H5T_CONV_Fx, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  712|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (712:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2172|      2|    H5_GCC_CLANG_DIAG_ON("float-equal")
 2173|      2|}
H5T__conv_ldouble_ulong:
 2189|      2|{
 2190|      2|    H5_GCC_CLANG_DIAG_OFF("float-equal")
 2191|      2|    H5T_CONV_Fx(LDOUBLE, ULONG, long double, unsigned long, 0, ULONG_MAX);
  ------------------
  |  |  710|      2|    do {                                                                                                     \
  |  |  711|      2|        H5T_CONV(H5T_CONV_Fx, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  712|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (712:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2192|      2|    H5_GCC_CLANG_DIAG_ON("float-equal")
 2193|      2|}
H5T__conv_ldouble_float:
 2278|      2|{
 2279|      2|    H5T_CONV_Ff(LDOUBLE, FLOAT, long double, float, -FLT_MAX, FLT_MAX);
  ------------------
  |  |  552|      2|    do {                                                                                                     \
  |  |  553|      2|        HDcompile_assert(sizeof(ST) >= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  554|      2|        H5T_CONV(H5T_CONV_Ff, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  555|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (555:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2280|      2|}
H5T__conv_ldouble_double:
 2296|      2|{
 2297|      2|    H5T_CONV_Ff(LDOUBLE, DOUBLE, long double, double, -DBL_MAX, DBL_MAX);
  ------------------
  |  |  552|      2|    do {                                                                                                     \
  |  |  553|      2|        HDcompile_assert(sizeof(ST) >= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  554|      2|        H5T_CONV(H5T_CONV_Ff, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  555|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (555:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2298|      2|}

H5T__conv_schar_uchar:
  911|      2|{
  912|      2|    H5T_CONV_su(SCHAR, UCHAR, signed char, unsigned char, -, -);
  ------------------
  |  |  468|      2|    do {                                                                                                     \
  |  |  469|      2|        HDcompile_assert(sizeof(ST) == sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  470|      2|        H5T_CONV(H5T_CONV_su, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  471|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (471:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  913|      2|}
H5T__conv_schar_short:
  928|      2|{
  929|      2|    H5T_CONV_sS(SCHAR, SHORT, signed char, short, -, -);
  ------------------
  |  |  256|      2|    do {                                                                                                     \
  |  |  257|      2|        HDcompile_assert(sizeof(ST) <= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  258|      2|        H5T_CONV(H5T_CONV_xX, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  259|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (259:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  930|      2|}
H5T__conv_schar_ushort:
  945|      2|{
  946|      2|    H5T_CONV_sU(SCHAR, USHORT, signed char, unsigned short, -, -);
  ------------------
  |  |  286|      2|    do {                                                                                                     \
  |  |  287|      2|        HDcompile_assert(sizeof(ST) <= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  288|      2|        H5T_CONV(H5T_CONV_sU, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  289|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (289:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  947|      2|}
H5T__conv_schar_int:
  962|      2|{
  963|      2|    H5T_CONV_sS(SCHAR, INT, signed char, int, -, -);
  ------------------
  |  |  256|      2|    do {                                                                                                     \
  |  |  257|      2|        HDcompile_assert(sizeof(ST) <= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  258|      2|        H5T_CONV(H5T_CONV_xX, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  259|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (259:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  964|      2|}
H5T__conv_schar_uint:
  979|      2|{
  980|      2|    H5T_CONV_sU(SCHAR, UINT, signed char, unsigned, -, -);
  ------------------
  |  |  286|      2|    do {                                                                                                     \
  |  |  287|      2|        HDcompile_assert(sizeof(ST) <= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  288|      2|        H5T_CONV(H5T_CONV_sU, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  289|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (289:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  981|      2|}
H5T__conv_schar_llong:
 1030|      2|{
 1031|      2|    H5T_CONV_sS(SCHAR, LLONG, signed char, long long, -, -);
  ------------------
  |  |  256|      2|    do {                                                                                                     \
  |  |  257|      2|        HDcompile_assert(sizeof(ST) <= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  258|      2|        H5T_CONV(H5T_CONV_xX, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  259|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (259:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1032|      2|}
H5T__conv_schar_ullong:
 1047|      2|{
 1048|      2|    H5T_CONV_sU(SCHAR, ULLONG, signed char, unsigned long long, -, -);
  ------------------
  |  |  286|      2|    do {                                                                                                     \
  |  |  287|      2|        HDcompile_assert(sizeof(ST) <= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  288|      2|        H5T_CONV(H5T_CONV_sU, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  289|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (289:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1049|      2|}
H5T__conv_schar_float:
 1084|      2|{
 1085|      2|    H5T_CONV_xF(SCHAR, FLOAT, signed char, float, -, -);
  ------------------
  |  |  649|      2|    do {                                                                                                     \
  |  |  650|      2|        H5T_CONV(H5T_CONV_xF, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  651|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (651:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1086|      2|}
H5T__conv_schar_double:
 1102|      2|{
 1103|      2|    H5T_CONV_xF(SCHAR, DOUBLE, signed char, double, -, -);
  ------------------
  |  |  649|      2|    do {                                                                                                     \
  |  |  650|      2|        H5T_CONV(H5T_CONV_xF, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  651|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (651:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1104|      2|}
H5T__conv_schar_ldouble:
 1120|      2|{
 1121|      2|    H5T_CONV_xF(SCHAR, LDOUBLE, signed char, long double, -, -);
  ------------------
  |  |  649|      2|    do {                                                                                                     \
  |  |  650|      2|        H5T_CONV(H5T_CONV_xF, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  651|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (651:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1122|      2|}
H5T__conv_uchar_schar:
 1137|      2|{
 1138|      2|    H5T_CONV_us(UCHAR, SCHAR, unsigned char, signed char, -, SCHAR_MAX);
  ------------------
  |  |  500|      2|    do {                                                                                                     \
  |  |  501|      2|        HDcompile_assert(sizeof(ST) == sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  502|      2|        H5T_CONV(H5T_CONV_us, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  503|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (503:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1139|      2|}
H5T__conv_uchar_short:
 1154|      2|{
 1155|      2|    H5T_CONV_uS(UCHAR, SHORT, unsigned char, short, -, SHRT_MAX);
  ------------------
  |  |  369|      2|    do {                                                                                                     \
  |  |  370|      2|        HDcompile_assert(sizeof(ST) <= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  371|      2|        H5T_CONV(H5T_CONV_uS, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  372|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (372:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1156|      2|}
H5T__conv_uchar_ushort:
 1171|      2|{
 1172|      2|    H5T_CONV_uU(UCHAR, USHORT, unsigned char, unsigned short, -, -);
  ------------------
  |  |  375|      2|    do {                                                                                                     \
  |  |  376|      2|        HDcompile_assert(sizeof(ST) <= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  377|      2|        H5T_CONV(H5T_CONV_xX, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  378|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (378:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1173|      2|}
H5T__conv_uchar_int:
 1188|      2|{
 1189|      2|    H5T_CONV_uS(UCHAR, INT, unsigned char, int, -, INT_MAX);
  ------------------
  |  |  369|      2|    do {                                                                                                     \
  |  |  370|      2|        HDcompile_assert(sizeof(ST) <= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  371|      2|        H5T_CONV(H5T_CONV_uS, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  372|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (372:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1190|      2|}
H5T__conv_uchar_uint:
 1205|      2|{
 1206|      2|    H5T_CONV_uU(UCHAR, UINT, unsigned char, unsigned, -, -);
  ------------------
  |  |  375|      2|    do {                                                                                                     \
  |  |  376|      2|        HDcompile_assert(sizeof(ST) <= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  377|      2|        H5T_CONV(H5T_CONV_xX, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  378|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (378:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1207|      2|}
H5T__conv_uchar_llong:
 1256|      2|{
 1257|      2|    H5T_CONV_uS(UCHAR, LLONG, unsigned char, long long, -, LLONG_MAX);
  ------------------
  |  |  369|      2|    do {                                                                                                     \
  |  |  370|      2|        HDcompile_assert(sizeof(ST) <= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  371|      2|        H5T_CONV(H5T_CONV_uS, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  372|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (372:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1258|      2|}
H5T__conv_uchar_ullong:
 1273|      2|{
 1274|      2|    H5T_CONV_uU(UCHAR, ULLONG, unsigned char, unsigned long long, -, -);
  ------------------
  |  |  375|      2|    do {                                                                                                     \
  |  |  376|      2|        HDcompile_assert(sizeof(ST) <= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  377|      2|        H5T_CONV(H5T_CONV_xX, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  378|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (378:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1275|      2|}
H5T__conv_uchar_float:
 1310|      2|{
 1311|      2|    H5T_CONV_xF(UCHAR, FLOAT, unsigned char, float, -, -);
  ------------------
  |  |  649|      2|    do {                                                                                                     \
  |  |  650|      2|        H5T_CONV(H5T_CONV_xF, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  651|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (651:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1312|      2|}
H5T__conv_uchar_double:
 1328|      2|{
 1329|      2|    H5T_CONV_xF(UCHAR, DOUBLE, unsigned char, double, -, -);
  ------------------
  |  |  649|      2|    do {                                                                                                     \
  |  |  650|      2|        H5T_CONV(H5T_CONV_xF, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  651|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (651:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1330|      2|}
H5T__conv_uchar_ldouble:
 1346|      2|{
 1347|      2|    H5T_CONV_xF(UCHAR, LDOUBLE, unsigned char, long double, -, -);
  ------------------
  |  |  649|      2|    do {                                                                                                     \
  |  |  650|      2|        H5T_CONV(H5T_CONV_xF, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  651|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (651:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1348|      2|}
H5T__conv_short_schar:
 1363|      2|{
 1364|      2|    H5T_CONV_Ss(SHORT, SCHAR, short, signed char, SCHAR_MIN, SCHAR_MAX);
  ------------------
  |  |  381|      2|    do {                                                                                                     \
  |  |  382|      2|        HDcompile_assert(sizeof(ST) >= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  383|      2|        H5T_CONV(H5T_CONV_Xx, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  384|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (384:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1365|      2|}
H5T__conv_short_uchar:
 1380|      2|{
 1381|      2|    H5T_CONV_Su(SHORT, UCHAR, short, unsigned char, -, UCHAR_MAX);
  ------------------
  |  |  424|      2|    do {                                                                                                     \
  |  |  425|      2|        HDcompile_assert(sizeof(ST) >= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  426|      2|        H5T_CONV(H5T_CONV_Su, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  427|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (427:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1382|      2|}
H5T__conv_short_ushort:
 1397|      2|{
 1398|      2|    H5T_CONV_su(SHORT, USHORT, short, unsigned short, -, -);
  ------------------
  |  |  468|      2|    do {                                                                                                     \
  |  |  469|      2|        HDcompile_assert(sizeof(ST) == sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  470|      2|        H5T_CONV(H5T_CONV_su, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  471|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (471:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1399|      2|}
H5T__conv_short_int:
 1414|      2|{
 1415|      2|    H5T_CONV_sS(SHORT, INT, short, int, -, -);
  ------------------
  |  |  256|      2|    do {                                                                                                     \
  |  |  257|      2|        HDcompile_assert(sizeof(ST) <= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  258|      2|        H5T_CONV(H5T_CONV_xX, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  259|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (259:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1416|      2|}
H5T__conv_short_uint:
 1431|      2|{
 1432|      2|    H5T_CONV_sU(SHORT, UINT, short, unsigned, -, -);
  ------------------
  |  |  286|      2|    do {                                                                                                     \
  |  |  287|      2|        HDcompile_assert(sizeof(ST) <= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  288|      2|        H5T_CONV(H5T_CONV_sU, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  289|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (289:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1433|      2|}
H5T__conv_short_llong:
 1482|      2|{
 1483|      2|    H5T_CONV_sS(SHORT, LLONG, short, long long, -, -);
  ------------------
  |  |  256|      2|    do {                                                                                                     \
  |  |  257|      2|        HDcompile_assert(sizeof(ST) <= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  258|      2|        H5T_CONV(H5T_CONV_xX, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  259|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (259:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1484|      2|}
H5T__conv_short_ullong:
 1499|      2|{
 1500|      2|    H5T_CONV_sU(SHORT, ULLONG, short, unsigned long long, -, -);
  ------------------
  |  |  286|      2|    do {                                                                                                     \
  |  |  287|      2|        HDcompile_assert(sizeof(ST) <= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  288|      2|        H5T_CONV(H5T_CONV_sU, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  289|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (289:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1501|      2|}
H5T__conv_short_float:
 1536|      2|{
 1537|      2|    H5T_CONV_xF(SHORT, FLOAT, short, float, -, -);
  ------------------
  |  |  649|      2|    do {                                                                                                     \
  |  |  650|      2|        H5T_CONV(H5T_CONV_xF, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  651|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (651:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1538|      2|}
H5T__conv_short_double:
 1554|      2|{
 1555|      2|    H5T_CONV_xF(SHORT, DOUBLE, short, double, -, -);
  ------------------
  |  |  649|      2|    do {                                                                                                     \
  |  |  650|      2|        H5T_CONV(H5T_CONV_xF, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  651|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (651:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1556|      2|}
H5T__conv_short_ldouble:
 1572|      2|{
 1573|      2|    H5T_CONV_xF(SHORT, LDOUBLE, short, long double, -, -);
  ------------------
  |  |  649|      2|    do {                                                                                                     \
  |  |  650|      2|        H5T_CONV(H5T_CONV_xF, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  651|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (651:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1574|      2|}
H5T__conv_ushort_schar:
 1589|      2|{
 1590|      2|    H5T_CONV_Us(USHORT, SCHAR, unsigned short, signed char, -, SCHAR_MAX);
  ------------------
  |  |  430|      2|    do {                                                                                                     \
  |  |  431|      2|        HDcompile_assert(sizeof(ST) >= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  432|      2|        H5T_CONV(H5T_CONV_Ux, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  433|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (433:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1591|      2|}
H5T__conv_ushort_uchar:
 1606|      2|{
 1607|      2|    H5T_CONV_Uu(USHORT, UCHAR, unsigned short, unsigned char, -, UCHAR_MAX);
  ------------------
  |  |  436|      2|    do {                                                                                                     \
  |  |  437|      2|        HDcompile_assert(sizeof(ST) >= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  438|      2|        H5T_CONV(H5T_CONV_Ux, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  439|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (439:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1608|      2|}
H5T__conv_ushort_short:
 1623|      2|{
 1624|      2|    H5T_CONV_us(USHORT, SHORT, unsigned short, short, -, SHRT_MAX);
  ------------------
  |  |  500|      2|    do {                                                                                                     \
  |  |  501|      2|        HDcompile_assert(sizeof(ST) == sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  502|      2|        H5T_CONV(H5T_CONV_us, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  503|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (503:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1625|      2|}
H5T__conv_ushort_int:
 1640|      2|{
 1641|      2|    H5T_CONV_uS(USHORT, INT, unsigned short, int, -, INT_MAX);
  ------------------
  |  |  369|      2|    do {                                                                                                     \
  |  |  370|      2|        HDcompile_assert(sizeof(ST) <= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  371|      2|        H5T_CONV(H5T_CONV_uS, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  372|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (372:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1642|      2|}
H5T__conv_ushort_uint:
 1657|      2|{
 1658|      2|    H5T_CONV_uU(USHORT, UINT, unsigned short, unsigned, -, -);
  ------------------
  |  |  375|      2|    do {                                                                                                     \
  |  |  376|      2|        HDcompile_assert(sizeof(ST) <= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  377|      2|        H5T_CONV(H5T_CONV_xX, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  378|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (378:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1659|      2|}
H5T__conv_ushort_llong:
 1708|      2|{
 1709|      2|    H5T_CONV_uS(USHORT, LLONG, unsigned short, long long, -, LLONG_MAX);
  ------------------
  |  |  369|      2|    do {                                                                                                     \
  |  |  370|      2|        HDcompile_assert(sizeof(ST) <= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  371|      2|        H5T_CONV(H5T_CONV_uS, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  372|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (372:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1710|      2|}
H5T__conv_ushort_ullong:
 1725|      2|{
 1726|      2|    H5T_CONV_uU(USHORT, ULLONG, unsigned short, unsigned long long, -, -);
  ------------------
  |  |  375|      2|    do {                                                                                                     \
  |  |  376|      2|        HDcompile_assert(sizeof(ST) <= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  377|      2|        H5T_CONV(H5T_CONV_xX, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  378|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (378:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1727|      2|}
H5T__conv_ushort_float:
 1765|      2|{
 1766|      2|    H5T_CONV_xF(USHORT, FLOAT, unsigned short, float, -, -);
  ------------------
  |  |  649|      2|    do {                                                                                                     \
  |  |  650|      2|        H5T_CONV(H5T_CONV_xF, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  651|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (651:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1767|      2|}
H5T__conv_ushort_double:
 1783|      2|{
 1784|      2|    H5T_CONV_xF(USHORT, DOUBLE, unsigned short, double, -, -);
  ------------------
  |  |  649|      2|    do {                                                                                                     \
  |  |  650|      2|        H5T_CONV(H5T_CONV_xF, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  651|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (651:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1785|      2|}
H5T__conv_ushort_ldouble:
 1801|      2|{
 1802|      2|    H5T_CONV_xF(USHORT, LDOUBLE, unsigned short, long double, -, -);
  ------------------
  |  |  649|      2|    do {                                                                                                     \
  |  |  650|      2|        H5T_CONV(H5T_CONV_xF, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  651|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (651:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1803|      2|}
H5T__conv_int_schar:
 1818|      2|{
 1819|      2|    H5T_CONV_Ss(INT, SCHAR, int, signed char, SCHAR_MIN, SCHAR_MAX);
  ------------------
  |  |  381|      2|    do {                                                                                                     \
  |  |  382|      2|        HDcompile_assert(sizeof(ST) >= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  383|      2|        H5T_CONV(H5T_CONV_Xx, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  384|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (384:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1820|      2|}
H5T__conv_int_uchar:
 1835|      2|{
 1836|      2|    H5T_CONV_Su(INT, UCHAR, int, unsigned char, -, UCHAR_MAX);
  ------------------
  |  |  424|      2|    do {                                                                                                     \
  |  |  425|      2|        HDcompile_assert(sizeof(ST) >= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  426|      2|        H5T_CONV(H5T_CONV_Su, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  427|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (427:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1837|      2|}
H5T__conv_int_short:
 1852|      2|{
 1853|      2|    H5T_CONV_Ss(INT, SHORT, int, short, SHRT_MIN, SHRT_MAX);
  ------------------
  |  |  381|      2|    do {                                                                                                     \
  |  |  382|      2|        HDcompile_assert(sizeof(ST) >= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  383|      2|        H5T_CONV(H5T_CONV_Xx, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  384|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (384:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1854|      2|}
H5T__conv_int_ushort:
 1869|      2|{
 1870|      2|    H5T_CONV_Su(INT, USHORT, int, unsigned short, -, USHRT_MAX);
  ------------------
  |  |  424|      2|    do {                                                                                                     \
  |  |  425|      2|        HDcompile_assert(sizeof(ST) >= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  426|      2|        H5T_CONV(H5T_CONV_Su, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  427|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (427:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1871|      2|}
H5T__conv_int_uint:
 1886|      2|{
 1887|      2|    H5T_CONV_su(INT, UINT, int, unsigned, -, -);
  ------------------
  |  |  468|      2|    do {                                                                                                     \
  |  |  469|      2|        HDcompile_assert(sizeof(ST) == sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  470|      2|        H5T_CONV(H5T_CONV_su, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  471|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (471:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1888|      2|}
H5T__conv_int_llong:
 1937|      2|{
 1938|      2|    H5T_CONV_sS(INT, LLONG, int, long long, -, -);
  ------------------
  |  |  256|      2|    do {                                                                                                     \
  |  |  257|      2|        HDcompile_assert(sizeof(ST) <= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  258|      2|        H5T_CONV(H5T_CONV_xX, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  259|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (259:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1939|      2|}
H5T__conv_int_ullong:
 1954|      2|{
 1955|      2|    H5T_CONV_sU(INT, ULLONG, int, unsigned long long, -, -);
  ------------------
  |  |  286|      2|    do {                                                                                                     \
  |  |  287|      2|        HDcompile_assert(sizeof(ST) <= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  288|      2|        H5T_CONV(H5T_CONV_sU, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  289|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (289:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1956|      2|}
H5T__conv_int_float:
 1994|      2|{
 1995|      2|    H5T_CONV_xF(INT, FLOAT, int, float, -, -);
  ------------------
  |  |  649|      2|    do {                                                                                                     \
  |  |  650|      2|        H5T_CONV(H5T_CONV_xF, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  651|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (651:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1996|      2|}
H5T__conv_int_double:
 2012|      2|{
 2013|      2|    H5T_CONV_xF(INT, DOUBLE, int, double, -, -);
  ------------------
  |  |  649|      2|    do {                                                                                                     \
  |  |  650|      2|        H5T_CONV(H5T_CONV_xF, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  651|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (651:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2014|      2|}
H5T__conv_int_ldouble:
 2030|      2|{
 2031|      2|    H5T_CONV_xF(INT, LDOUBLE, int, long double, -, -);
  ------------------
  |  |  649|      2|    do {                                                                                                     \
  |  |  650|      2|        H5T_CONV(H5T_CONV_xF, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  651|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (651:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2032|      2|}
H5T__conv_uint_schar:
 2047|      2|{
 2048|      2|    H5T_CONV_Us(UINT, SCHAR, unsigned, signed char, -, SCHAR_MAX);
  ------------------
  |  |  430|      2|    do {                                                                                                     \
  |  |  431|      2|        HDcompile_assert(sizeof(ST) >= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  432|      2|        H5T_CONV(H5T_CONV_Ux, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  433|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (433:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2049|      2|}
H5T__conv_uint_uchar:
 2064|      2|{
 2065|      2|    H5T_CONV_Uu(UINT, UCHAR, unsigned, unsigned char, -, UCHAR_MAX);
  ------------------
  |  |  436|      2|    do {                                                                                                     \
  |  |  437|      2|        HDcompile_assert(sizeof(ST) >= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  438|      2|        H5T_CONV(H5T_CONV_Ux, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  439|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (439:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2066|      2|}
H5T__conv_uint_short:
 2081|      2|{
 2082|      2|    H5T_CONV_Us(UINT, SHORT, unsigned, short, -, SHRT_MAX);
  ------------------
  |  |  430|      2|    do {                                                                                                     \
  |  |  431|      2|        HDcompile_assert(sizeof(ST) >= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  432|      2|        H5T_CONV(H5T_CONV_Ux, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  433|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (433:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2083|      2|}
H5T__conv_uint_ushort:
 2098|      2|{
 2099|      2|    H5T_CONV_Uu(UINT, USHORT, unsigned, unsigned short, -, USHRT_MAX);
  ------------------
  |  |  436|      2|    do {                                                                                                     \
  |  |  437|      2|        HDcompile_assert(sizeof(ST) >= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  438|      2|        H5T_CONV(H5T_CONV_Ux, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  439|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (439:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2100|      2|}
H5T__conv_uint_int:
 2115|      2|{
 2116|      2|    H5T_CONV_us(UINT, INT, unsigned, int, -, INT_MAX);
  ------------------
  |  |  500|      2|    do {                                                                                                     \
  |  |  501|      2|        HDcompile_assert(sizeof(ST) == sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  502|      2|        H5T_CONV(H5T_CONV_us, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  503|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (503:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2117|      2|}
H5T__conv_uint_llong:
 2166|      2|{
 2167|      2|    H5T_CONV_uS(UINT, LLONG, unsigned, long long, -, LLONG_MAX);
  ------------------
  |  |  369|      2|    do {                                                                                                     \
  |  |  370|      2|        HDcompile_assert(sizeof(ST) <= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  371|      2|        H5T_CONV(H5T_CONV_uS, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  372|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (372:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2168|      2|}
H5T__conv_uint_ullong:
 2183|      2|{
 2184|      2|    H5T_CONV_uU(UINT, ULLONG, unsigned, unsigned long long, -, -);
  ------------------
  |  |  375|      2|    do {                                                                                                     \
  |  |  376|      2|        HDcompile_assert(sizeof(ST) <= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  377|      2|        H5T_CONV(H5T_CONV_xX, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  378|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (378:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2185|      2|}
H5T__conv_uint_float:
 2223|      2|{
 2224|      2|    H5T_CONV_xF(UINT, FLOAT, unsigned int, float, -, -);
  ------------------
  |  |  649|      2|    do {                                                                                                     \
  |  |  650|      2|        H5T_CONV(H5T_CONV_xF, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  651|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (651:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2225|      2|}
H5T__conv_uint_double:
 2241|      2|{
 2242|      2|    H5T_CONV_xF(UINT, DOUBLE, unsigned int, double, -, -);
  ------------------
  |  |  649|      2|    do {                                                                                                     \
  |  |  650|      2|        H5T_CONV(H5T_CONV_xF, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  651|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (651:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2243|      2|}
H5T__conv_uint_ldouble:
 2259|      2|{
 2260|      2|    H5T_CONV_xF(UINT, LDOUBLE, unsigned int, long double, -, -);
  ------------------
  |  |  649|      2|    do {                                                                                                     \
  |  |  650|      2|        H5T_CONV(H5T_CONV_xF, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  651|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (651:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2261|      2|}
H5T__conv_long_float:
 2452|      2|{
 2453|      2|    H5T_CONV_xF(LONG, FLOAT, long, float, -, -);
  ------------------
  |  |  649|      2|    do {                                                                                                     \
  |  |  650|      2|        H5T_CONV(H5T_CONV_xF, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  651|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (651:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2454|      2|}
H5T__conv_long_double:
 2470|      2|{
 2471|      2|    H5T_CONV_xF(LONG, DOUBLE, long, double, -, -);
  ------------------
  |  |  649|      2|    do {                                                                                                     \
  |  |  650|      2|        H5T_CONV(H5T_CONV_xF, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  651|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (651:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2472|      2|}
H5T__conv_long_ldouble:
 2488|      2|{
 2489|      2|    H5T_CONV_xF(LONG, LDOUBLE, long, long double, -, -);
  ------------------
  |  |  649|      2|    do {                                                                                                     \
  |  |  650|      2|        H5T_CONV(H5T_CONV_xF, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  651|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (651:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2490|      2|}
H5T__conv_ulong_float:
 2681|      2|{
 2682|      2|    H5T_CONV_xF(ULONG, FLOAT, unsigned long, float, -, -);
  ------------------
  |  |  649|      2|    do {                                                                                                     \
  |  |  650|      2|        H5T_CONV(H5T_CONV_xF, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  651|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (651:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2683|      2|}
H5T__conv_ulong_double:
 2699|      2|{
 2700|      2|    H5T_CONV_xF(ULONG, DOUBLE, unsigned long, double, -, -);
  ------------------
  |  |  649|      2|    do {                                                                                                     \
  |  |  650|      2|        H5T_CONV(H5T_CONV_xF, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  651|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (651:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2701|      2|}
H5T__conv_ulong_ldouble:
 2717|      2|{
 2718|      2|    H5T_CONV_xF(ULONG, LDOUBLE, unsigned long, long double, -, -);
  ------------------
  |  |  649|      2|    do {                                                                                                     \
  |  |  650|      2|        H5T_CONV(H5T_CONV_xF, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, Y)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  819|      2|#define H5T_CONV_DECL_PREC(PREC) H5_GLUE(H5T_CONV_DECL_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      2|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  |  ------------------
  |  |  |  |  |  |  829|      0|#define H5T_CONV_SET_PREC(PREC) H5_GLUE(H5T_CONV_SET_PREC_, PREC)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  651|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (651:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2719|      2|}
H5T__conv_llong_schar:
 2734|      2|{
 2735|      2|    H5T_CONV_Ss(LLONG, SCHAR, long long, signed char, SCHAR_MIN, SCHAR_MAX);
  ------------------
  |  |  381|      2|    do {                                                                                                     \
  |  |  382|      2|        HDcompile_assert(sizeof(ST) >= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  383|      2|        H5T_CONV(H5T_CONV_Xx, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  384|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (384:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2736|      2|}
H5T__conv_llong_uchar:
 2751|      2|{
 2752|      2|    H5T_CONV_Su(LLONG, UCHAR, long long, unsigned char, -, UCHAR_MAX);
  ------------------
  |  |  424|      2|    do {                                                                                                     \
  |  |  425|      2|        HDcompile_assert(sizeof(ST) >= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  426|      2|        H5T_CONV(H5T_CONV_Su, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  427|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (427:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2753|      2|}
H5T__conv_llong_short:
 2768|      2|{
 2769|      2|    H5T_CONV_Ss(LLONG, SHORT, long long, short, SHRT_MIN, SHRT_MAX);
  ------------------
  |  |  381|      2|    do {                                                                                                     \
  |  |  382|      2|        HDcompile_assert(sizeof(ST) >= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  383|      2|        H5T_CONV(H5T_CONV_Xx, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  384|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (384:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2770|      2|}
H5T__conv_llong_ushort:
 2785|      2|{
 2786|      2|    H5T_CONV_Su(LLONG, USHORT, long long, unsigned short, -, USHRT_MAX);
  ------------------
  |  |  424|      2|    do {                                                                                                     \
  |  |  425|      2|        HDcompile_assert(sizeof(ST) >= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  426|      2|        H5T_CONV(H5T_CONV_Su, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  427|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (427:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2787|      2|}
H5T__conv_llong_int:
 2802|      2|{
 2803|      2|    H5T_CONV_Ss(LLONG, INT, long long, int, INT_MIN, INT_MAX);
  ------------------
  |  |  381|      2|    do {                                                                                                     \
  |  |  382|      2|        HDcompile_assert(sizeof(ST) >= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  383|      2|        H5T_CONV(H5T_CONV_Xx, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  384|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (384:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2804|      2|}
H5T__conv_llong_uint:
 2819|      2|{
 2820|      2|    H5T_CONV_Su(LLONG, UINT, long long, unsigned, -, UINT_MAX);
  ------------------
  |  |  424|      2|    do {                                                                                                     \
  |  |  425|      2|        HDcompile_assert(sizeof(ST) >= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  426|      2|        H5T_CONV(H5T_CONV_Su, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  427|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (427:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2821|      2|}
H5T__conv_llong_ullong:
 2870|      2|{
 2871|      2|    H5T_CONV_su(LLONG, ULLONG, long long, unsigned long long, -, -);
  ------------------
  |  |  468|      2|    do {                                                                                                     \
  |  |  469|      2|        HDcompile_assert(sizeof(ST) == sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  470|      2|        H5T_CONV(H5T_CONV_su, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  471|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (471:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2872|      2|}
H5T__conv_ullong_schar:
 2965|      2|{
 2966|      2|    H5T_CONV_Us(ULLONG, SCHAR, unsigned long long, signed char, -, SCHAR_MAX);
  ------------------
  |  |  430|      2|    do {                                                                                                     \
  |  |  431|      2|        HDcompile_assert(sizeof(ST) >= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  432|      2|        H5T_CONV(H5T_CONV_Ux, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  433|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (433:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2967|      2|}
H5T__conv_ullong_uchar:
 2982|      2|{
 2983|      2|    H5T_CONV_Uu(ULLONG, UCHAR, unsigned long long, unsigned char, -, UCHAR_MAX);
  ------------------
  |  |  436|      2|    do {                                                                                                     \
  |  |  437|      2|        HDcompile_assert(sizeof(ST) >= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  438|      2|        H5T_CONV(H5T_CONV_Ux, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  439|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (439:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2984|      2|}
H5T__conv_ullong_short:
 2999|      2|{
 3000|      2|    H5T_CONV_Us(ULLONG, SHORT, unsigned long long, short, -, SHRT_MAX);
  ------------------
  |  |  430|      2|    do {                                                                                                     \
  |  |  431|      2|        HDcompile_assert(sizeof(ST) >= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  432|      2|        H5T_CONV(H5T_CONV_Ux, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  433|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (433:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3001|      2|}
H5T__conv_ullong_ushort:
 3016|      2|{
 3017|      2|    H5T_CONV_Uu(ULLONG, USHORT, unsigned long long, unsigned short, -, USHRT_MAX);
  ------------------
  |  |  436|      2|    do {                                                                                                     \
  |  |  437|      2|        HDcompile_assert(sizeof(ST) >= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  438|      2|        H5T_CONV(H5T_CONV_Ux, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  439|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (439:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3018|      2|}
H5T__conv_ullong_int:
 3033|      2|{
 3034|      2|    H5T_CONV_Us(ULLONG, INT, unsigned long long, int, -, INT_MAX);
  ------------------
  |  |  430|      2|    do {                                                                                                     \
  |  |  431|      2|        HDcompile_assert(sizeof(ST) >= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  432|      2|        H5T_CONV(H5T_CONV_Ux, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  433|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (433:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3035|      2|}
H5T__conv_ullong_uint:
 3050|      5|{
 3051|      5|    H5T_CONV_Uu(ULLONG, UINT, unsigned long long, unsigned, -, UINT_MAX);
  ------------------
  |  |  436|      5|    do {                                                                                                     \
  |  |  437|      5|        HDcompile_assert(sizeof(ST) >= sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      5|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  438|      5|        H5T_CONV(H5T_CONV_Ux, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      5|    {                                                                                                        \
  |  |  |  |  963|      5|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      5|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      5|                                                                                                             \
  |  |  |  |  965|      5|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      5|    {                                                                                                        \
  |  |  |  |  |  | 1461|      5|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      5|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      5|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      5|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      5|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      5|                                                                                                             \
  |  |  |  |  967|      5|        {                                                                                                    \
  |  |  |  |  968|      5|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      5|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      5|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      5|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      5|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      5|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      5|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      5|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      5|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      5|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      5|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      5|                                                                                                             \
  |  |  |  |  980|      5|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 4]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 4]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      3|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 3, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      3|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 3]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 3]
  |  |  |  |  ------------------
  |  |  |  |  999|      3|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      3|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 3]
  |  |  |  |  ------------------
  |  |  |  | 1001|      3|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      3|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      3|                                                                                                             \
  |  |  |  | 1004|      3|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      3|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 3]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      3|                    else {                                                                                   \
  |  |  |  | 1011|      3|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      3|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      3|                    }                                                                                        \
  |  |  |  | 1014|      3|                                                                                                             \
  |  |  |  | 1015|      3|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      3|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 3, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      3|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 3]
  |  |  |  |  ------------------
  |  |  |  | 1018|      3|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 3]
  |  |  |  |  ------------------
  |  |  |  | 1019|      3|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 3]
  |  |  |  |  ------------------
  |  |  |  | 1020|      3|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 3, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      3|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 3]
  |  |  |  |  ------------------
  |  |  |  | 1022|      3|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 3]
  |  |  |  |  ------------------
  |  |  |  | 1023|      3|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 3]
  |  |  |  |  ------------------
  |  |  |  | 1024|      3|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      3|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      3|                                                                                                             \
  |  |  |  | 1027|      3|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      3|                                                                                                             \
  |  |  |  | 1029|      3|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      3|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      6|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 3, False: 3]
  |  |  |  |  ------------------
  |  |  |  | 1032|      3|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      3|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 3]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      3|                        else {                                                                               \
  |  |  |  | 1060|      3|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      3|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      3|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      3|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      3|                        } /* end else */                                                                     \
  |  |  |  | 1065|      3|                                                                                                             \
  |  |  |  | 1066|      3|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      3|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 3]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      3|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 3]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      3|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 3]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      3|                        else {                                                                               \
  |  |  |  | 1085|      3|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      3|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      3|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 3]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      3|    else {                                                                                                   \
  |  |  |  |  |  |  919|      3|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      6|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 3, False: 3]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      3|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      3|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      3|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      3|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      3|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      3|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      3|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      3|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      3|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      3|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      3|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      3|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      3|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      3|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      3|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      3|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      3|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      3|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      3|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      3|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      3|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      3|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      3|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      3|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      3|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      3|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      3|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      3|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      3|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      3|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      3|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      3|                        }                                                                                    \
  |  |  |  | 1089|      3|                                                                                                             \
  |  |  |  | 1090|      3|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      3|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      3|                    } /* end while */                                                                        \
  |  |  |  | 1093|      3|                    break;                                                                                   \
  |  |  |  | 1094|      3|                                                                                                             \
  |  |  |  | 1095|      3|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 5]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      5|            }                                                                                                \
  |  |  |  | 1098|      5|        }                                                                                                    \
  |  |  |  | 1099|      5|                                                                                                             \
  |  |  |  | 1100|      5|done:                                                                                                        \
  |  |  |  | 1101|      5|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      5|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      5|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      5|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      5|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      5|    }
  |  |  ------------------
  |  |  439|      5|    } while (0)
  |  |  ------------------
  |  |  |  Branch (439:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3052|      5|}
H5T__conv_ullong_llong:
 3101|      2|{
 3102|      2|    H5T_CONV_us(ULLONG, LLONG, unsigned long long, long long, -, LLONG_MAX);
  ------------------
  |  |  500|      2|    do {                                                                                                     \
  |  |  501|      2|        HDcompile_assert(sizeof(ST) == sizeof(DT));                                                          \
  |  |  ------------------
  |  |  |  | 1611|      2|#define HDcompile_assert(e) ((void)sizeof(char[!!(e) ? 1 : -1]))
  |  |  ------------------
  |  |  502|      2|        H5T_CONV(H5T_CONV_us, STYPE, DTYPE, ST, DT, D_MIN, D_MAX, N)                                         \
  |  |  ------------------
  |  |  |  |  962|      2|    {                                                                                                        \
  |  |  |  |  963|      2|        herr_t ret_value = SUCCEED; /* Return value         */                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  283|      2|#define SUCCEED 0
  |  |  |  |  ------------------
  |  |  |  |  964|      2|                                                                                                             \
  |  |  |  |  965|      2|        FUNC_ENTER_PACKAGE                                                                                   \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1460|      2|    {                                                                                                        \
  |  |  |  |  |  | 1461|      2|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1265|      2|    bool err_occurred = false;                                                                               \
  |  |  |  |  |  |  |  | 1266|      2|                                                                                                             \
  |  |  |  |  |  |  |  | 1267|      2|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 1462|      2|        {
  |  |  |  |  ------------------
  |  |  |  |  966|      2|                                                                                                             \
  |  |  |  |  967|      2|        {                                                                                                    \
  |  |  |  |  968|      2|            size_t elmtno;              /*element number        */                                           \
  |  |  |  |  969|      2|            H5T_CONV_DECL_PREC(PREC)    /*declare precision variables, or not */                             \
  |  |  |  |  970|      2|            void   *src_buf;            /*'raw' source buffer        */                                      \
  |  |  |  |  971|      2|            void   *dst_buf;            /*'raw' destination buffer    */                                     \
  |  |  |  |  972|      2|            ST     *src, *s;            /*source buffer            */                                        \
  |  |  |  |  973|      2|            DT     *dst, *d;            /*destination buffer        */                                       \
  |  |  |  |  974|      2|            ST      src_aligned;        /*source aligned type        */                                      \
  |  |  |  |  975|      2|            DT      dst_aligned;        /*destination aligned type    */                                     \
  |  |  |  |  976|      2|            bool    s_mv, d_mv;         /*move data to align it?    */                                       \
  |  |  |  |  977|      2|            ssize_t s_stride, d_stride; /*src and dst strides        */                                      \
  |  |  |  |  978|      2|            size_t  safe;               /*how many elements are safe to process in each pass */              \
  |  |  |  |  979|      2|                                                                                                             \
  |  |  |  |  980|      2|            switch (cdata->command) {                                                                        \
  |  |  |  |  981|      1|                case H5T_CONV_INIT:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (981:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  982|      1|                    /* Sanity check and initialize statistics */                                             \
  |  |  |  |  983|      1|                    cdata->need_bkg = H5T_BKG_NO;                                                            \
  |  |  |  |  984|      1|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (984:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (984:39): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  985|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  986|      1|                    if (st->shared->size != sizeof(ST) || dt->shared->size != sizeof(DT))                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (986:25): [True: 0, False: 1]
  |  |  |  |  |  Branch (986:59): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  987|      1|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "disagreement about datatype size");   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  988|      1|                    CI_ALLOC_PRIV                                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1141|      1|#define CI_ALLOC_PRIV                cdata->priv = NULL;
  |  |  |  |  ------------------
  |  |  |  |  989|      1|                    break;                                                                                   \
  |  |  |  |  990|      1|                                                                                                             \
  |  |  |  |  991|      1|                case H5T_CONV_FREE:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (991:17): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |  992|      1|                    /* Print and free statistics */                                                          \
  |  |  |  |  993|      1|                    CI_PRINT_STATS(STYPE, DTYPE);                                                            \
  |  |  |  |  994|      1|                    CI_FREE_PRIV                                                                             \
  |  |  |  |  995|      1|                    break;                                                                                   \
  |  |  |  |  996|      1|                                                                                                             \
  |  |  |  |  997|      1|                case H5T_CONV_CONV:                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (997:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |  998|      0|                    if (NULL == st || NULL == dt)                                                            \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (998:25): [True: 0, False: 0]
  |  |  |  |  |  Branch (998:39): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  999|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "invalid datatype");                   \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1000|      0|                    if (NULL == conv_ctx)                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1000:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1001|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1002|      0|                                    "invalid datatype conversion context pointer");                          \
  |  |  |  | 1003|      0|                                                                                                             \
  |  |  |  | 1004|      0|                    /* Initialize source & destination strides */                                            \
  |  |  |  | 1005|      0|                    if (buf_stride) {                                                                        \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1005:25): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1006|      0|                        assert(buf_stride >= sizeof(ST));                                                    \
  |  |  |  | 1007|      0|                        assert(buf_stride >= sizeof(DT));                                                    \
  |  |  |  | 1008|      0|                        s_stride = d_stride = (ssize_t)buf_stride;                                           \
  |  |  |  | 1009|      0|                    }                                                                                        \
  |  |  |  | 1010|      0|                    else {                                                                                   \
  |  |  |  | 1011|      0|                        s_stride = sizeof(ST);                                                               \
  |  |  |  | 1012|      0|                        d_stride = sizeof(DT);                                                               \
  |  |  |  | 1013|      0|                    }                                                                                        \
  |  |  |  | 1014|      0|                                                                                                             \
  |  |  |  | 1015|      0|                    /* Is alignment required for source or dest? */                                          \
  |  |  |  | 1016|      0|                    s_mv = H5T_NATIVE_##STYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1016:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1017|      0|                           ((size_t)buf % H5T_NATIVE_##STYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1017:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1018|      0|                            /* Cray */ ((size_t)((ST *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1018:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1019|      0|                            (size_t)s_stride % H5T_NATIVE_##STYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1019:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1020|      0|                    d_mv = H5T_NATIVE_##DTYPE##_ALIGN_g > 1 &&                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1020:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1021|      0|                           ((size_t)buf % H5T_NATIVE_##DTYPE##_ALIGN_g ||                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1021:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1022|      0|                            /* Cray */ ((size_t)((DT *)buf) != (size_t)buf) ||                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1022:40): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1023|      0|                            (size_t)d_stride % H5T_NATIVE_##DTYPE##_ALIGN_g);                                \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1023:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1024|      0|                    CI_INC_SRC(s_mv)                                                                         \
  |  |  |  | 1025|      0|                    CI_INC_DST(d_mv)                                                                         \
  |  |  |  | 1026|      0|                                                                                                             \
  |  |  |  | 1027|      0|                    H5T_CONV_SET_PREC(PREC) /*init precision variables, or not */                            \
  |  |  |  | 1028|      0|                                                                                                             \
  |  |  |  | 1029|      0|                    /* The outer loop of the type conversion macro, controlling which */                     \
  |  |  |  | 1030|      0|                    /* direction the buffer is walked */                                                     \
  |  |  |  | 1031|      0|                    while (nelmts > 0) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1031:28): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1032|      0|                        /* Check if we need to go backwards through the buffer */                            \
  |  |  |  | 1033|      0|                        if (d_stride > s_stride) {                                                           \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1033:29): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1034|      0|                            /* Compute the number of "safe" destination elements at */                       \
  |  |  |  | 1035|      0|                            /* the end of the buffer (Those which don't overlap with */                      \
  |  |  |  | 1036|      0|                            /* any source elements at the beginning of the buffer) */                        \
  |  |  |  | 1037|      0|                            safe = nelmts - (((nelmts * (size_t)s_stride) + (size_t)(d_stride - 1)) /        \
  |  |  |  | 1038|      0|                                             (size_t)d_stride);                                              \
  |  |  |  | 1039|      0|                                                                                                             \
  |  |  |  | 1040|      0|                            /* If we're down to the last few elements, just wrap up */                       \
  |  |  |  | 1041|      0|                            /* with a "real" reverse copy */                                                 \
  |  |  |  | 1042|      0|                            if (safe < 2) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1042:33): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1043|      0|                                src      = (ST *)(src_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1044|      0|                                                                (nelmts - 1) * (size_t)s_stride));      \
  |  |  |  | 1045|      0|                                dst      = (DT *)(dst_buf = (void *)((uint8_t *)buf +                        \
  |  |  |  | 1046|      0|                                                                (nelmts - 1) * (size_t)d_stride));      \
  |  |  |  | 1047|      0|                                s_stride = -s_stride;                                                        \
  |  |  |  | 1048|      0|                                d_stride = -d_stride;                                                        \
  |  |  |  | 1049|      0|                                                                                                             \
  |  |  |  | 1050|      0|                                safe = nelmts;                                                               \
  |  |  |  | 1051|      0|                            } /* end if */                                                                   \
  |  |  |  | 1052|      0|                            else {                                                                           \
  |  |  |  | 1053|      0|                                src = (ST *)(src_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1054|      0|                                                                (nelmts - safe) * (size_t)s_stride));        \
  |  |  |  | 1055|      0|                                dst = (DT *)(dst_buf = (void *)((uint8_t *)buf +                             \
  |  |  |  | 1056|      0|                                                                (nelmts - safe) * (size_t)d_stride));        \
  |  |  |  | 1057|      0|                            } /* end else */                                                                 \
  |  |  |  | 1058|      0|                        }     /* end if */                                                                   \
  |  |  |  | 1059|      0|                        else {                                                                               \
  |  |  |  | 1060|      0|                            /* Single forward pass over all data */                                          \
  |  |  |  | 1061|      0|                            src  = (ST *)(src_buf = buf);                                                    \
  |  |  |  | 1062|      0|                            dst  = (DT *)(dst_buf = buf);                                                    \
  |  |  |  | 1063|      0|                            safe = nelmts;                                                                   \
  |  |  |  | 1064|      0|                        } /* end else */                                                                     \
  |  |  |  | 1065|      0|                                                                                                             \
  |  |  |  | 1066|      0|                        /* Perform loop over elements to convert */                                          \
  |  |  |  | 1067|      0|                        if (s_mv && d_mv) {                                                                  \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1067:29): [True: 0, False: 0]
  |  |  |  |  |  Branch (1067:37): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1068|      0|                            /* Alignment is required for both source and dest */                             \
  |  |  |  | 1069|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1070|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DALIGN, POST_SALIGN, POST_DALIGN, GUTS,      \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1071|      0|                                                STYPE, DTYPE, s, d, ST, DT, D_MIN, D_MAX)                    \
  |  |  |  | 1072|      0|                        }                                                                                    \
  |  |  |  | 1073|      0|                        else if (s_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1073:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1074|      0|                            /* Alignment is required only for source */                                      \
  |  |  |  | 1075|      0|                            s = &src_aligned;                                                                \
  |  |  |  | 1076|      0|                            H5T_CONV_LOOP_OUTER(PRE_SALIGN, PRE_DNOALIGN, POST_SALIGN, POST_DNOALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1077|      0|                                                STYPE, DTYPE, s, dst, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1078|      0|                        }                                                                                    \
  |  |  |  | 1079|      0|                        else if (d_mv) {                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1079:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  | 1080|      0|                            /* Alignment is required only for destination */                                 \
  |  |  |  | 1081|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DALIGN, POST_SNOALIGN, POST_DALIGN, GUTS,  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1082|      0|                                                STYPE, DTYPE, src, d, ST, DT, D_MIN, D_MAX)                  \
  |  |  |  | 1083|      0|                        }                                                                                    \
  |  |  |  | 1084|      0|                        else {                                                                               \
  |  |  |  | 1085|      0|                            /* Alignment is not required for both source and destination */                  \
  |  |  |  | 1086|      0|                            H5T_CONV_LOOP_OUTER(PRE_SNOALIGN, PRE_DNOALIGN, POST_SNOALIGN, POST_DNOALIGN,    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  914|      0|    if (conv_ctx->u.conv.cb_struct.func) {                                                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (914:9): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  915|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS, GUTS, STYPE,     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  916|      0|                      DTYPE, S, D, ST, DT, D_MIN, D_MAX)                                                     \
  |  |  |  |  |  |  917|      0|    }                                                                                                        \
  |  |  |  |  |  |  918|      0|    else {                                                                                                   \
  |  |  |  |  |  |  919|      0|        H5T_CONV_LOOP(PRE_SALIGN_GUTS, PRE_DALIGN_GUTS, POST_SALIGN_GUTS, POST_DALIGN_GUTS,                  \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  936|      0|    for (elmtno = 0; elmtno < safe; elmtno++) {                                                              \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (936:22): [True: 0, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  937|      0|        /* Handle source pre-alignment */                                                                    \
  |  |  |  |  |  |  |  |  938|      0|        H5_GLUE(H5T_CONV_LOOP_, PRE_SALIGN_GUTS)                                                             \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  939|      0|        (ST)                                                                                                 \
  |  |  |  |  |  |  |  |  940|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  941|      0|            /* Handle destination pre-alignment */                                                           \
  |  |  |  |  |  |  |  |  942|      0|            H5_GLUE(H5T_CONV_LOOP_, PRE_DALIGN_GUTS)(DT)                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  943|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  944|      0|            /* ... user-defined stuff here -- the conversion ... */                                          \
  |  |  |  |  |  |  |  |  945|      0|            H5T_CONV_LOOP_GUTS(GUTS, STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                               \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  927|      0|    H5_GLUE(GUTS, _CORE)(STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  946|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  947|      0|            /* Handle source post-alignment */                                                               \
  |  |  |  |  |  |  |  |  948|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_SALIGN_GUTS)(ST)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  949|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  950|      0|            /* Handle destination post-alignment */                                                          \
  |  |  |  |  |  |  |  |  951|      0|            H5_GLUE(H5T_CONV_LOOP_, POST_DALIGN_GUTS)(DT)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  893|      0|#define H5_GLUE(x, y)        x##y
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  952|      0|                                                                                                             \
  |  |  |  |  |  |  |  |  953|      0|            /* Advance pointers */                                                                           \
  |  |  |  |  |  |  |  |  954|      0|            src_buf = (void *)((uint8_t *)src_buf + s_stride);                                               \
  |  |  |  |  |  |  |  |  955|      0|        src         = (ST *)src_buf;                                                                         \
  |  |  |  |  |  |  |  |  956|      0|        dst_buf     = (void *)((uint8_t *)dst_buf + d_stride);                                               \
  |  |  |  |  |  |  |  |  957|      0|        dst         = (DT *)dst_buf;                                                                         \
  |  |  |  |  |  |  |  |  958|      0|    }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  920|      0|                      H5_GLUE(GUTS, _NOEX), STYPE, DTYPE, S, D, ST, DT, D_MIN, D_MAX)                        \
  |  |  |  |  |  |  921|      0|    }
  |  |  |  |  ------------------
  |  |  |  | 1087|      0|                                                GUTS, STYPE, DTYPE, src, dst, ST, DT, D_MIN, D_MAX)          \
  |  |  |  | 1088|      0|                        }                                                                                    \
  |  |  |  | 1089|      0|                                                                                                             \
  |  |  |  | 1090|      0|                        /* Decrement number of elements left to convert */                                   \
  |  |  |  | 1091|      0|                        nelmts -= safe;                                                                      \
  |  |  |  | 1092|      0|                    } /* end while */                                                                        \
  |  |  |  | 1093|      0|                    break;                                                                                   \
  |  |  |  | 1094|      0|                                                                                                             \
  |  |  |  | 1095|      0|                default:                                                                                     \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1095:17): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  | 1096|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");          \
  |  |  |  |  ------------------
  |  |  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 1097|      2|            }                                                                                                \
  |  |  |  | 1098|      2|        }                                                                                                    \
  |  |  |  | 1099|      2|                                                                                                             \
  |  |  |  | 1100|      2|done:                                                                                                        \
  |  |  |  | 1101|      2|        FUNC_LEAVE_NOAPI(ret_value)                                                                          \
  |  |  |  |  ------------------
  |  |  |  |  |  | 1572|      2|    ;                                                                                                        \
  |  |  |  |  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  |  |  |  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  |  |  |  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  |  |  |  |  ------------------
  |  |  |  | 1102|      2|    }
  |  |  ------------------
  |  |  503|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (503:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3103|      2|}

H5T__conv_ref:
   53|     12|{
   54|     12|    uint8_t *s        = NULL;        /* source buffer                        */
   55|     12|    uint8_t *d        = NULL;        /* destination buffer                   */
   56|     12|    uint8_t *b        = NULL;        /* background buffer                    */
   57|     12|    ssize_t  s_stride = 0;           /* src stride                  */
   58|     12|    ssize_t  d_stride = 0;           /* dst stride                  */
   59|     12|    ssize_t  b_stride;               /* bkg stride                           */
   60|     12|    size_t   safe          = 0;      /* how many elements are safe to process in each pass */
   61|     12|    void    *conv_buf      = NULL;   /* temporary conversion buffer          */
   62|     12|    size_t   conv_buf_size = 0;      /* size of conversion buffer in bytes   */
   63|     12|    size_t   elmtno        = 0;      /* element number counter               */
   64|     12|    size_t   orig_d_stride = 0;      /* Original destination stride (used for error handling) */
   65|     12|    size_t   orig_nelmts   = nelmts; /* Original # of elements to convert (used for error handling) */
   66|     12|    bool     convert_forward =
   67|     12|        true; /* Current direction of conversion (forward or backward, used for error handling) */
   68|     12|    bool conversions_made =
   69|     12|        false; /* Flag to indicate conversions have been performed, used for error handling */
   70|     12|    herr_t ret_value = SUCCEED; /* return value                         */
  ------------------
  |  |  283|     12|#define SUCCEED 0
  ------------------
   71|       |
   72|     12|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     12|    {                                                                                                        \
  |  | 1461|     12|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     12|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     12|                                                                                                             \
  |  |  |  | 1267|     12|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     12|        {
  ------------------
   73|       |
   74|     12|    switch (cdata->command) {
   75|     12|        case H5T_CONV_INIT:
  ------------------
  |  Branch (75:9): [True: 12, False: 0]
  ------------------
   76|       |            /*
   77|       |             * First, determine if this conversion function applies to the
   78|       |             * conversion path SRC-->DST.  If not, return failure;
   79|       |             * otherwise initialize the `priv' field of `cdata' with
   80|       |             * information that remains (almost) constant for this
   81|       |             * conversion path.
   82|       |             */
   83|     12|            if (NULL == src || NULL == dst)
  ------------------
  |  Branch (83:17): [True: 0, False: 12]
  |  Branch (83:32): [True: 0, False: 12]
  ------------------
   84|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_BADTYPE, FAIL, "not a datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   85|     12|            if (H5T_REFERENCE != src->shared->type)
  ------------------
  |  Branch (85:17): [True: 0, False: 12]
  ------------------
   86|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_BADTYPE, FAIL, "not a H5T_REFERENCE datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   87|     12|            if (H5T_REFERENCE != dst->shared->type)
  ------------------
  |  Branch (87:17): [True: 0, False: 12]
  ------------------
   88|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_BADTYPE, FAIL, "not a H5T_REFERENCE datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   89|       |            /* Only allow for source reference that is not an opaque type, destination must be opaque */
   90|     12|            if (!dst->shared->u.atomic.u.r.opaque)
  ------------------
  |  Branch (90:17): [True: 12, False: 0]
  ------------------
   91|     12|                HGOTO_ERROR(H5E_DATATYPE, H5E_BADTYPE, FAIL, "not an H5T_STD_REF datatype");
  ------------------
  |  |   68|     12|    do {                                                                                                     \
  |  |   69|     12|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     12|    do {                                                                                                     \
  |  |  |  |   40|     12|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     12|    do {                                                                                                     \
  |  |  |  |  |  |   31|     12|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     12|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     12|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     12|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     12|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     12|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     12|    do {                                                                                                     \
  |  |  |  |   92|     12|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     12|        goto done;                                                                                           \
  |  |  |  |   94|     12|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     12|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   92|       |
   93|       |            /* Reference types don't need a background buffer */
   94|      0|            cdata->need_bkg = H5T_BKG_NO;
   95|      0|            break;
   96|       |
   97|      0|        case H5T_CONV_FREE:
  ------------------
  |  Branch (97:9): [True: 0, False: 12]
  ------------------
   98|      0|            break;
   99|       |
  100|      0|        case H5T_CONV_CONV: {
  ------------------
  |  Branch (100:9): [True: 0, False: 12]
  ------------------
  101|       |            /*
  102|       |             * Conversion.
  103|       |             */
  104|      0|            if (NULL == src || NULL == dst)
  ------------------
  |  Branch (104:17): [True: 0, False: 0]
  |  Branch (104:32): [True: 0, False: 0]
  ------------------
  105|      0|                HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  106|       |
  107|      0|            assert(src->shared->u.atomic.u.r.cls);
  108|       |
  109|       |            /* Initialize source & destination strides */
  110|      0|            if (buf_stride) {
  ------------------
  |  Branch (110:17): [True: 0, False: 0]
  ------------------
  111|      0|                assert(buf_stride >= src->shared->size);
  112|      0|                assert(buf_stride >= dst->shared->size);
  113|      0|                H5_CHECK_OVERFLOW(buf_stride, size_t, ssize_t);
  114|      0|                s_stride = d_stride = (ssize_t)buf_stride;
  115|      0|            } /* end if */
  116|      0|            else {
  117|      0|                H5_CHECK_OVERFLOW(src->shared->size, size_t, ssize_t);
  118|      0|                H5_CHECK_OVERFLOW(dst->shared->size, size_t, ssize_t);
  119|      0|                s_stride = (ssize_t)src->shared->size;
  120|      0|                d_stride = (ssize_t)dst->shared->size;
  121|      0|            } /* end else */
  122|      0|            if (bkg) {
  ------------------
  |  Branch (122:17): [True: 0, False: 0]
  ------------------
  123|      0|                if (bkg_stride)
  ------------------
  |  Branch (123:21): [True: 0, False: 0]
  ------------------
  124|      0|                    b_stride = (ssize_t)bkg_stride;
  125|      0|                else
  126|      0|                    b_stride = d_stride;
  127|      0|            } /* end if */
  128|      0|            else
  129|      0|                b_stride = 0;
  130|       |
  131|       |            /* Save info for unraveling on errors */
  132|      0|            orig_d_stride   = (size_t)d_stride;
  133|      0|            convert_forward = !(d_stride > s_stride);
  134|       |
  135|       |            /* The outer loop of the type conversion macro, controlling which */
  136|       |            /* direction the buffer is walked */
  137|      0|            while (nelmts > 0) {
  ------------------
  |  Branch (137:20): [True: 0, False: 0]
  ------------------
  138|       |                /* Check if we need to go backwards through the buffer */
  139|      0|                if (d_stride > s_stride) {
  ------------------
  |  Branch (139:21): [True: 0, False: 0]
  ------------------
  140|       |                    /* Sanity check */
  141|      0|                    assert(s_stride > 0);
  142|      0|                    assert(d_stride > 0);
  143|      0|                    assert(b_stride >= 0);
  144|       |
  145|       |                    /* Compute the number of "safe" destination elements at */
  146|       |                    /* the end of the buffer (Those which don't overlap with */
  147|       |                    /* any source elements at the beginning of the buffer) */
  148|      0|                    safe =
  149|      0|                        nelmts - (((nelmts * (size_t)s_stride) + ((size_t)d_stride - 1)) / (size_t)d_stride);
  150|       |
  151|       |                    /* If we're down to the last few elements, just wrap up */
  152|       |                    /* with a "real" reverse copy */
  153|      0|                    if (safe < 2) {
  ------------------
  |  Branch (153:25): [True: 0, False: 0]
  ------------------
  154|      0|                        s = (uint8_t *)buf + (nelmts - 1) * (size_t)s_stride;
  155|      0|                        d = (uint8_t *)buf + (nelmts - 1) * (size_t)d_stride;
  156|      0|                        if (bkg)
  ------------------
  |  Branch (156:29): [True: 0, False: 0]
  ------------------
  157|      0|                            b = (uint8_t *)bkg + (nelmts - 1) * (size_t)b_stride;
  158|      0|                        s_stride = -s_stride;
  159|      0|                        d_stride = -d_stride;
  160|      0|                        b_stride = -b_stride;
  161|       |
  162|      0|                        safe = nelmts;
  163|      0|                    } /* end if */
  164|      0|                    else {
  165|      0|                        s = (uint8_t *)buf + (nelmts - safe) * (size_t)s_stride;
  166|      0|                        d = (uint8_t *)buf + (nelmts - safe) * (size_t)d_stride;
  167|      0|                        if (bkg)
  ------------------
  |  Branch (167:29): [True: 0, False: 0]
  ------------------
  168|      0|                            b = (uint8_t *)bkg + (nelmts - safe) * (size_t)b_stride;
  169|      0|                    } /* end else */
  170|      0|                }     /* end if */
  171|      0|                else {
  172|       |                    /* Single forward pass over all data */
  173|      0|                    s = d = (uint8_t *)buf;
  174|      0|                    b     = (uint8_t *)bkg;
  175|      0|                    safe  = nelmts;
  176|      0|                } /* end else */
  177|       |
  178|      0|                for (elmtno = 0; elmtno < safe; elmtno++) {
  ------------------
  |  Branch (178:34): [True: 0, False: 0]
  ------------------
  179|      0|                    size_t buf_size;
  180|      0|                    bool   dst_copy = false;
  181|      0|                    bool   is_nil; /* Whether reference is "nil" */
  182|       |
  183|       |                    /* Check for "nil" source reference */
  184|      0|                    if ((*(src->shared->u.atomic.u.r.cls->isnull))(src->shared->u.atomic.u.r.file, s,
  ------------------
  |  Branch (184:25): [True: 0, False: 0]
  ------------------
  185|      0|                                                                   &is_nil) < 0)
  186|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTGET, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  187|      0|                                    "can't check if reference data is 'nil'");
  188|       |
  189|      0|                    if (is_nil) {
  ------------------
  |  Branch (189:25): [True: 0, False: 0]
  ------------------
  190|       |                        /* Write "nil" reference to destination location */
  191|      0|                        if ((*(dst->shared->u.atomic.u.r.cls->setnull))(dst->shared->u.atomic.u.r.file, d,
  ------------------
  |  Branch (191:29): [True: 0, False: 0]
  ------------------
  192|      0|                                                                        b) < 0)
  193|      0|                            HGOTO_ERROR(H5E_DATATYPE, H5E_WRITEERROR, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  194|      0|                                        "can't set reference data to 'nil'");
  195|      0|                    } /* end else-if */
  196|      0|                    else {
  197|       |                        /* Get size of references */
  198|      0|                        if (0 == (buf_size = src->shared->u.atomic.u.r.cls->getsize(
  ------------------
  |  Branch (198:29): [True: 0, False: 0]
  ------------------
  199|      0|                                      src->shared->u.atomic.u.r.file, s, src->shared->size,
  200|      0|                                      dst->shared->u.atomic.u.r.file, &dst_copy)))
  201|      0|                            HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "unable to obtain size of reference");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  202|       |
  203|       |                        /* Check if conversion buffer is large enough, resize if necessary. */
  204|      0|                        if (conv_buf_size < buf_size) {
  ------------------
  |  Branch (204:29): [True: 0, False: 0]
  ------------------
  205|      0|                            conv_buf_size = buf_size;
  206|      0|                            if (NULL == (conv_buf = H5FL_BLK_REALLOC(ref_seq, conv_buf, conv_buf_size)))
  ------------------
  |  |  155|      0|#define H5FL_BLK_REALLOC(t, blk, new_size) (uint8_t *)H5FL_blk_realloc(&(H5FL_BLK_NAME(t)), (blk), (new_size))
  |  |  ------------------
  |  |  |  |  131|      0|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
  |  Branch (206:33): [True: 0, False: 0]
  ------------------
  207|      0|                                HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  208|      0|                                            "memory allocation failed for type conversion");
  209|      0|                            memset(conv_buf, 0, conv_buf_size);
  210|      0|                        } /* end if */
  211|       |
  212|      0|                        if (dst_copy && (src->shared->u.atomic.u.r.loc == H5T_LOC_DISK))
  ------------------
  |  Branch (212:29): [True: 0, False: 0]
  |  Branch (212:41): [True: 0, False: 0]
  ------------------
  213|      0|                            H5MM_memcpy(conv_buf, s, buf_size);
  ------------------
  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  214|      0|                        else {
  215|       |                            /* Read reference */
  216|      0|                            if (src->shared->u.atomic.u.r.cls->read(
  ------------------
  |  Branch (216:33): [True: 0, False: 0]
  ------------------
  217|      0|                                    src->shared->u.atomic.u.r.file, s, src->shared->size,
  218|      0|                                    dst->shared->u.atomic.u.r.file, conv_buf, buf_size) < 0)
  219|      0|                                HGOTO_ERROR(H5E_DATATYPE, H5E_READERROR, FAIL, "can't read reference data");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  220|      0|                        } /* end else */
  221|       |
  222|      0|                        if (dst_copy && (dst->shared->u.atomic.u.r.loc == H5T_LOC_DISK))
  ------------------
  |  Branch (222:29): [True: 0, False: 0]
  |  Branch (222:41): [True: 0, False: 0]
  ------------------
  223|      0|                            H5MM_memcpy(d, conv_buf, buf_size);
  ------------------
  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  224|      0|                        else {
  225|       |                            /* Write reference to destination location */
  226|      0|                            if (dst->shared->u.atomic.u.r.cls->write(
  ------------------
  |  Branch (226:33): [True: 0, False: 0]
  ------------------
  227|      0|                                    src->shared->u.atomic.u.r.file, conv_buf, buf_size,
  228|      0|                                    src->shared->u.atomic.u.r.rtype, dst->shared->u.atomic.u.r.file, d,
  229|      0|                                    dst->shared->size, b) < 0)
  230|      0|                                HGOTO_ERROR(H5E_DATATYPE, H5E_WRITEERROR, FAIL, "can't write reference data");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  231|      0|                        } /* end else */
  232|      0|                    }     /* end else */
  233|       |
  234|       |                    /* Indicate that elements have been converted, in case of error */
  235|      0|                    conversions_made = true;
  236|       |
  237|       |                    /* Advance pointers */
  238|      0|                    s += s_stride;
  239|      0|                    d += d_stride;
  240|       |
  241|      0|                    if (b)
  ------------------
  |  Branch (241:25): [True: 0, False: 0]
  ------------------
  242|      0|                        b += b_stride;
  243|      0|                } /* end for */
  244|       |
  245|       |                /* Decrement number of elements left to convert */
  246|      0|                nelmts -= safe;
  247|      0|            } /* end while */
  248|      0|        }     /* end case */
  249|      0|        break;
  250|       |
  251|      0|        default: /* Some other command we don't know about yet.*/
  ------------------
  |  Branch (251:9): [True: 0, False: 12]
  ------------------
  252|      0|            HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  253|     12|    } /* end switch */
  254|       |
  255|     12|done:
  256|       |    /* Release converted elements on error */
  257|     12|    if (ret_value < 0 && conversions_made) {
  ------------------
  |  Branch (257:9): [True: 12, False: 0]
  |  Branch (257:26): [True: 0, False: 12]
  ------------------
  258|      0|        H5R_ref_priv_t ref_priv;
  259|      0|        size_t         dest_count;
  260|       |
  261|       |        /* Set up for first pass to destroy references */
  262|      0|        if (nelmts < orig_nelmts || (convert_forward && elmtno < safe)) {
  ------------------
  |  Branch (262:13): [True: 0, False: 0]
  |  Branch (262:38): [True: 0, False: 0]
  |  Branch (262:57): [True: 0, False: 0]
  ------------------
  263|      0|            dest_count = orig_nelmts - nelmts;
  264|       |
  265|       |            /* Set pointer to correct location, based on direction chosen */
  266|      0|            if (convert_forward) {
  ------------------
  |  Branch (266:17): [True: 0, False: 0]
  ------------------
  267|      0|                d = (uint8_t *)buf;
  268|      0|                dest_count += elmtno; /* Include partial iteration in first pass, for forward conversions */
  269|      0|            }
  270|      0|            else
  271|      0|                d = (uint8_t *)buf + (nelmts * orig_d_stride);
  272|       |
  273|       |            /* Destroy references that have already been converted */
  274|      0|            while (dest_count > 0) {
  ------------------
  |  Branch (274:20): [True: 0, False: 0]
  ------------------
  275|      0|                memcpy(&ref_priv, d, sizeof(H5R_ref_priv_t));
  276|      0|                H5R__destroy(&ref_priv); /* Ignore errors at this point */
  277|      0|                d += orig_d_stride;
  278|      0|                dest_count--;
  279|      0|            }
  280|      0|        }
  281|       |
  282|       |        /* Do any remaining partial iteration, if converting backwards */
  283|      0|        if (!convert_forward && elmtno < safe) {
  ------------------
  |  Branch (283:13): [True: 0, False: 0]
  |  Branch (283:33): [True: 0, False: 0]
  ------------------
  284|      0|            dest_count = elmtno;
  285|       |
  286|       |            /* Set pointer to correct location */
  287|      0|            if (d_stride > 0)
  ------------------
  |  Branch (287:17): [True: 0, False: 0]
  ------------------
  288|      0|                d = (uint8_t *)buf + ((nelmts - safe) * orig_d_stride);
  289|      0|            else
  290|      0|                d = (uint8_t *)buf + ((nelmts - elmtno) * orig_d_stride);
  291|       |
  292|       |            /* Destroy references that have already been converted */
  293|      0|            while (dest_count > 0) {
  ------------------
  |  Branch (293:20): [True: 0, False: 0]
  ------------------
  294|      0|                memcpy(&ref_priv, d, sizeof(H5R_ref_priv_t));
  295|      0|                H5R__destroy(&ref_priv); /* Ignore errors at this point */
  296|      0|                d += orig_d_stride;
  297|      0|                dest_count--;
  298|      0|            }
  299|      0|        }
  300|      0|    }
  301|       |
  302|       |    /* Release the conversion buffer (always allocated, except on errors) */
  303|     12|    if (conv_buf)
  ------------------
  |  Branch (303:9): [True: 0, False: 12]
  ------------------
  304|      0|        conv_buf = H5FL_BLK_FREE(ref_seq, conv_buf);
  ------------------
  |  |  152|      0|#define H5FL_BLK_FREE(t, blk) (uint8_t *)H5FL_blk_free(&(H5FL_BLK_NAME(t)), blk)
  |  |  ------------------
  |  |  |  |  131|      0|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
  305|       |
  306|     12|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     12|    ;                                                                                                        \
  |  | 1573|     12|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     12|    return (ret_value);                                                                                      \
  |  | 1575|     12|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  307|     12|} /* end H5T__conv_ref() */

H5T__conv_vlen:
  140|      9|{
  141|      9|    H5T_vlen_alloc_info_t vl_alloc_info;         /* VL allocation info */
  142|      9|    H5T_conv_ctx_t        tmp_conv_ctx  = {0};   /* Temporary conversion context */
  143|      9|    H5T_path_t           *tpath         = NULL;  /* Type conversion path             */
  144|      9|    bool                  noop_conv     = false; /* Flag to indicate a noop conversion */
  145|      9|    bool                  write_to_file = false; /* Flag to indicate writing to file */
  146|      9|    htri_t                parent_is_vlen;        /* Flag to indicate parent is vlen datatype */
  147|      9|    size_t                bg_seq_len = 0;        /* The number of elements in the background sequence */
  148|      9|    H5T_t                *tsrc_cpy   = NULL;     /* Temporary copy of source base datatype */
  149|      9|    H5T_t                *tdst_cpy   = NULL;     /* Temporary copy of destination base datatype */
  150|      9|    hid_t                 tsrc_id    = H5I_INVALID_HID; /* Temporary type atom */
  ------------------
  |  |   75|      9|#define H5I_INVALID_HID (-1)
  ------------------
  151|      9|    hid_t                 tdst_id    = H5I_INVALID_HID; /* Temporary type atom */
  ------------------
  |  |   75|      9|#define H5I_INVALID_HID (-1)
  ------------------
  152|      9|    uint8_t              *s          = NULL;            /* Source buffer            */
  153|      9|    uint8_t              *d          = NULL;            /* Destination buffer        */
  154|      9|    uint8_t              *b          = NULL;            /* Background buffer        */
  155|      9|    ssize_t               s_stride   = 0;               /* Src stride */
  156|      9|    ssize_t               d_stride   = 0;               /* Dst stride */
  157|      9|    ssize_t               b_stride;                     /* Bkg stride            */
  158|      9|    size_t                safe = 0;              /* How many elements are safe to process in each pass */
  159|      9|    size_t                src_base_size;         /* Source base size*/
  160|      9|    size_t                dst_base_size;         /* Destination base size*/
  161|      9|    void                 *conv_buf      = NULL;  /* Temporary conversion buffer          */
  162|      9|    size_t                conv_buf_size = 0;     /* Size of conversion buffer in bytes */
  163|      9|    void                 *tmp_buf       = NULL;  /* Temporary background buffer          */
  164|      9|    size_t                tmp_buf_size  = 0;     /* Size of temporary bkg buffer         */
  165|      9|    bool                  nested        = false; /* Flag of nested VL case             */
  166|      9|    size_t                elmtno        = 0;     /* Element number counter               */
  167|      9|    size_t                orig_d_stride = 0;     /* Original destination stride (used for error handling) */
  168|      9|    size_t orig_nelmts = nelmts; /* Original # of elements to convert (used for error handling) */
  169|      9|    bool   convert_forward =
  170|      9|        true; /* Current direction of conversion (forward or backward, used for error handling) */
  171|      9|    bool conversions_made =
  172|      9|        false; /* Flag to indicate conversions have been performed, used for error handling */
  173|      9|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      9|#define SUCCEED 0
  ------------------
  174|       |
  175|      9|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      9|    {                                                                                                        \
  |  | 1461|      9|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      9|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      9|                                                                                                             \
  |  |  |  | 1267|      9|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      9|        {
  ------------------
  176|       |
  177|      9|    switch (cdata->command) {
  178|      3|        case H5T_CONV_INIT:
  ------------------
  |  Branch (178:9): [True: 3, False: 6]
  ------------------
  179|       |            /*
  180|       |             * First, determine if this conversion function applies to the
  181|       |             * conversion path SRC_ID-->DST_ID.  If not, return failure;
  182|       |             * otherwise initialize the `priv' field of `cdata' with
  183|       |             * information that remains (almost) constant for this
  184|       |             * conversion path.
  185|       |             */
  186|      3|            if (NULL == src || NULL == dst)
  ------------------
  |  Branch (186:17): [True: 0, False: 3]
  |  Branch (186:32): [True: 0, False: 3]
  ------------------
  187|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_BADTYPE, FAIL, "not a datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  188|      3|            if (H5T_VLEN != src->shared->type)
  ------------------
  |  Branch (188:17): [True: 0, False: 3]
  ------------------
  189|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_BADTYPE, FAIL, "not a H5T_VLEN datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  190|      3|            if (H5T_VLEN != dst->shared->type)
  ------------------
  |  Branch (190:17): [True: 0, False: 3]
  ------------------
  191|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_BADTYPE, FAIL, "not a H5T_VLEN datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  192|      3|            if (H5T_VLEN_STRING == src->shared->u.vlen.type && H5T_VLEN_STRING == dst->shared->u.vlen.type) {
  ------------------
  |  Branch (192:17): [True: 0, False: 3]
  |  Branch (192:64): [True: 0, False: 0]
  ------------------
  193|      0|                if ((H5T_CSET_ASCII == src->shared->u.vlen.cset &&
  ------------------
  |  Branch (193:22): [True: 0, False: 0]
  ------------------
  194|      0|                     H5T_CSET_UTF8 == dst->shared->u.vlen.cset) ||
  ------------------
  |  Branch (194:22): [True: 0, False: 0]
  ------------------
  195|      0|                    (H5T_CSET_ASCII == dst->shared->u.vlen.cset && H5T_CSET_UTF8 == src->shared->u.vlen.cset))
  ------------------
  |  Branch (195:22): [True: 0, False: 0]
  |  Branch (195:68): [True: 0, False: 0]
  ------------------
  196|      0|                    HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  197|      0|                                "The library doesn't convert between strings of ASCII and UTF");
  198|      0|            } /* end if */
  199|       |
  200|       |            /* Variable-length types don't need a background buffer */
  201|      3|            cdata->need_bkg = H5T_BKG_NO;
  202|       |
  203|      3|            break;
  204|       |
  205|      3|        case H5T_CONV_FREE:
  ------------------
  |  Branch (205:9): [True: 3, False: 6]
  ------------------
  206|       |            /* QAK - Nothing to do currently */
  207|      3|            break;
  208|       |
  209|      3|        case H5T_CONV_CONV:
  ------------------
  |  Branch (209:9): [True: 3, False: 6]
  ------------------
  210|       |            /*
  211|       |             * Conversion.
  212|       |             */
  213|      3|            if (NULL == src || NULL == dst)
  ------------------
  |  Branch (213:17): [True: 0, False: 3]
  |  Branch (213:32): [True: 0, False: 3]
  ------------------
  214|      0|                HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  215|      3|            if (NULL == conv_ctx)
  ------------------
  |  Branch (215:17): [True: 0, False: 3]
  ------------------
  216|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_BADVALUE, FAIL, "invalid datatype conversion context pointer");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  217|       |
  218|       |            /* Initialize temporary conversion context */
  219|      3|            tmp_conv_ctx = *conv_ctx;
  220|       |
  221|       |            /* Initialize source & destination strides */
  222|      3|            if (buf_stride) {
  ------------------
  |  Branch (222:17): [True: 0, False: 3]
  ------------------
  223|      0|                assert(buf_stride >= src->shared->size);
  224|      0|                assert(buf_stride >= dst->shared->size);
  225|      0|                H5_CHECK_OVERFLOW(buf_stride, size_t, ssize_t);
  226|      0|                s_stride = d_stride = (ssize_t)buf_stride;
  227|      0|            } /* end if */
  228|      3|            else {
  229|      3|                H5_CHECK_OVERFLOW(src->shared->size, size_t, ssize_t);
  230|      3|                H5_CHECK_OVERFLOW(dst->shared->size, size_t, ssize_t);
  231|      3|                s_stride = (ssize_t)src->shared->size;
  232|      3|                d_stride = (ssize_t)dst->shared->size;
  233|      3|            } /* end else */
  234|      3|            if (bkg) {
  ------------------
  |  Branch (234:17): [True: 0, False: 3]
  ------------------
  235|      0|                if (bkg_stride)
  ------------------
  |  Branch (235:21): [True: 0, False: 0]
  ------------------
  236|      0|                    b_stride = (ssize_t)bkg_stride;
  237|      0|                else
  238|      0|                    b_stride = d_stride;
  239|      0|            } /* end if */
  240|      3|            else
  241|      3|                b_stride = 0;
  242|       |
  243|       |            /* Get the size of the base types in src & dst */
  244|      3|            src_base_size = H5T_get_size(src->shared->parent);
  245|      3|            dst_base_size = H5T_get_size(dst->shared->parent);
  246|       |
  247|       |            /* Set up conversion path for base elements */
  248|      3|            if (NULL == (tpath = H5T_path_find(src->shared->parent, dst->shared->parent)))
  ------------------
  |  Branch (248:17): [True: 0, False: 3]
  ------------------
  249|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  250|      3|                            "unable to convert between src and dest datatypes");
  251|      3|            else if (!H5T_path_noop(tpath)) {
  ------------------
  |  Branch (251:22): [True: 0, False: 3]
  ------------------
  252|      0|                if (NULL == (tsrc_cpy = H5T_copy(src->shared->parent, H5T_COPY_ALL)))
  ------------------
  |  Branch (252:21): [True: 0, False: 0]
  ------------------
  253|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCOPY, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  254|      0|                                "unable to copy src base type for conversion");
  255|       |                /* References need to know about the src file */
  256|      0|                if (tsrc_cpy->shared->type == H5T_REFERENCE)
  ------------------
  |  Branch (256:21): [True: 0, False: 0]
  ------------------
  257|      0|                    if (H5T_set_loc(tsrc_cpy, src->shared->u.vlen.file, src->shared->u.vlen.loc) < 0)
  ------------------
  |  Branch (257:25): [True: 0, False: 0]
  ------------------
  258|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTSET, FAIL, "can't set datatype location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  259|       |
  260|      0|                if (NULL == (tdst_cpy = H5T_copy(dst->shared->parent, H5T_COPY_ALL)))
  ------------------
  |  Branch (260:21): [True: 0, False: 0]
  ------------------
  261|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCOPY, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  262|      0|                                "unable to copy dst base type for conversion");
  263|       |                /* References need to know about the dst file */
  264|      0|                if (tdst_cpy->shared->type == H5T_REFERENCE)
  ------------------
  |  Branch (264:21): [True: 0, False: 0]
  ------------------
  265|      0|                    if (H5T_set_loc(tdst_cpy, dst->shared->u.vlen.file, dst->shared->u.vlen.loc) < 0)
  ------------------
  |  Branch (265:25): [True: 0, False: 0]
  ------------------
  266|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTSET, FAIL, "can't set datatype location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  267|       |
  268|       |                /* Create IDs for the variable-length base datatypes if the conversion path
  269|       |                 * uses an application conversion function or if a conversion exception function
  270|       |                 * was provided.
  271|       |                 */
  272|      0|                if (tpath->conv.is_app || conv_ctx->u.conv.cb_struct.func) {
  ------------------
  |  Branch (272:21): [True: 0, False: 0]
  |  Branch (272:43): [True: 0, False: 0]
  ------------------
  273|      0|                    if ((tsrc_id = H5I_register(H5I_DATATYPE, tsrc_cpy, false)) < 0)
  ------------------
  |  Branch (273:25): [True: 0, False: 0]
  ------------------
  274|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  275|      0|                                    "unable to register ID for source base datatype");
  276|      0|                    if ((tdst_id = H5I_register(H5I_DATATYPE, tdst_cpy, false)) < 0)
  ------------------
  |  Branch (276:25): [True: 0, False: 0]
  ------------------
  277|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  278|      0|                                    "unable to register ID for destination base datatype");
  279|      0|                }
  280|       |
  281|       |                /* Update IDs in conversion context */
  282|      0|                tmp_conv_ctx.u.conv.src_type_id = tsrc_id;
  283|      0|                tmp_conv_ctx.u.conv.dst_type_id = tdst_id;
  284|      0|            } /* end else-if */
  285|      3|            else
  286|      3|                noop_conv = true;
  287|       |
  288|       |            /* Check if we need a temporary buffer for this conversion */
  289|      3|            if ((parent_is_vlen = H5T_detect_class(dst->shared->parent, H5T_VLEN, false)) < 0)
  ------------------
  |  Branch (289:17): [True: 0, False: 3]
  ------------------
  290|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_SYSTEM, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  291|      3|                            "internal error when detecting variable-length class");
  292|      3|            if (tpath->cdata.need_bkg || parent_is_vlen) {
  ------------------
  |  Branch (292:17): [True: 0, False: 3]
  |  Branch (292:42): [True: 0, False: 3]
  ------------------
  293|       |                /* Set up initial background buffer */
  294|      0|                tmp_buf_size = MAX(src_base_size, dst_base_size);
  ------------------
  |  |  300|      0|#define MAX(a, b)        (((a) > (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (300:27): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  295|      0|                if (NULL == (tmp_buf = H5FL_BLK_CALLOC(vlen_seq, tmp_buf_size)))
  ------------------
  |  |  149|      0|#define H5FL_BLK_CALLOC(t, size) (uint8_t *)H5FL_blk_calloc(&(H5FL_BLK_NAME(t)), (size))
  |  |  ------------------
  |  |  |  |  131|      0|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
  |  Branch (295:21): [True: 0, False: 0]
  ------------------
  296|      0|                    HGOTO_ERROR(H5E_RESOURCE, H5E_CANTALLOC, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  297|      0|                                "memory allocation failed for type conversion");
  298|      0|            } /* end if */
  299|       |
  300|       |            /* Get the allocation info */
  301|      3|            if (H5CX_get_vlen_alloc_info(&vl_alloc_info) < 0)
  ------------------
  |  Branch (301:17): [True: 0, False: 3]
  ------------------
  302|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTGET, FAIL, "unable to retrieve VL allocation info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  303|       |
  304|       |            /* Set flags to indicate we are writing to or reading from the file */
  305|      3|            if (dst->shared->u.vlen.file != NULL)
  ------------------
  |  Branch (305:17): [True: 0, False: 3]
  ------------------
  306|      0|                write_to_file = true;
  307|       |
  308|       |            /* Set the flag for nested VL case */
  309|      3|            if (write_to_file && parent_is_vlen && bkg != NULL)
  ------------------
  |  Branch (309:17): [True: 0, False: 3]
  |  Branch (309:34): [True: 0, False: 0]
  |  Branch (309:52): [True: 0, False: 0]
  ------------------
  310|      0|                nested = true;
  311|       |
  312|       |            /* Save info for unraveling on errors */
  313|      3|            orig_d_stride   = (size_t)d_stride;
  314|      3|            convert_forward = !(d_stride > s_stride);
  315|       |
  316|       |            /* The outer loop of the type conversion macro, controlling which */
  317|       |            /* direction the buffer is walked */
  318|      3|            while (nelmts > 0) {
  ------------------
  |  Branch (318:20): [True: 3, False: 0]
  ------------------
  319|       |                /* Check if we need to go backwards through the buffer */
  320|      3|                if (d_stride > s_stride) {
  ------------------
  |  Branch (320:21): [True: 0, False: 3]
  ------------------
  321|       |                    /* Sanity check */
  322|      0|                    assert(s_stride > 0);
  323|      0|                    assert(d_stride > 0);
  324|      0|                    assert(b_stride >= 0);
  325|       |
  326|       |                    /* Compute the number of "safe" destination elements at */
  327|       |                    /* the end of the buffer (Those which don't overlap with */
  328|       |                    /* any source elements at the beginning of the buffer) */
  329|      0|                    safe =
  330|      0|                        nelmts - (((nelmts * (size_t)s_stride) + ((size_t)d_stride - 1)) / (size_t)d_stride);
  331|       |
  332|       |                    /* If we're down to the last few elements, just wrap up */
  333|       |                    /* with a "real" reverse copy */
  334|      0|                    if (safe < 2) {
  ------------------
  |  Branch (334:25): [True: 0, False: 0]
  ------------------
  335|      0|                        s = (uint8_t *)buf + (nelmts - 1) * (size_t)s_stride;
  336|      0|                        d = (uint8_t *)buf + (nelmts - 1) * (size_t)d_stride;
  337|      0|                        if (bkg)
  ------------------
  |  Branch (337:29): [True: 0, False: 0]
  ------------------
  338|      0|                            b = (uint8_t *)bkg + (nelmts - 1) * (size_t)b_stride;
  339|      0|                        s_stride = -s_stride;
  340|      0|                        d_stride = -d_stride;
  341|      0|                        b_stride = -b_stride;
  342|       |
  343|      0|                        safe = nelmts;
  344|      0|                    } /* end if */
  345|      0|                    else {
  346|      0|                        s = (uint8_t *)buf + (nelmts - safe) * (size_t)s_stride;
  347|      0|                        d = (uint8_t *)buf + (nelmts - safe) * (size_t)d_stride;
  348|      0|                        if (bkg)
  ------------------
  |  Branch (348:29): [True: 0, False: 0]
  ------------------
  349|      0|                            b = (uint8_t *)bkg + (nelmts - safe) * (size_t)b_stride;
  350|      0|                    } /* end else */
  351|      0|                }     /* end if */
  352|      3|                else {
  353|       |                    /* Single forward pass over all data */
  354|      3|                    s = d = (uint8_t *)buf;
  355|      3|                    b     = (uint8_t *)bkg;
  356|      3|                    safe  = nelmts;
  357|      3|                } /* end else */
  358|       |
  359|      3|                for (elmtno = 0; elmtno < safe; elmtno++) {
  ------------------
  |  Branch (359:34): [True: 3, False: 0]
  ------------------
  360|      3|                    bool is_nil; /* Whether sequence is "nil" */
  361|       |
  362|       |                    /* Check for "nil" source sequence */
  363|      3|                    if ((*(src->shared->u.vlen.cls->isnull))(src->shared->u.vlen.file, s, &is_nil) < 0)
  ------------------
  |  Branch (363:25): [True: 0, False: 3]
  ------------------
  364|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTGET, FAIL, "can't check if VL data is 'nil'");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  365|      3|                    else if (is_nil) {
  ------------------
  |  Branch (365:30): [True: 0, False: 3]
  ------------------
  366|       |                        /* Write "nil" sequence to destination location */
  367|      0|                        if ((*(dst->shared->u.vlen.cls->setnull))(dst->shared->u.vlen.file, d, b) < 0)
  ------------------
  |  Branch (367:29): [True: 0, False: 0]
  ------------------
  368|      0|                            HGOTO_ERROR(H5E_DATATYPE, H5E_WRITEERROR, FAIL, "can't set VL data to 'nil'");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  369|      0|                    } /* end else-if */
  370|      3|                    else {
  371|      3|                        size_t seq_len; /* The number of elements in the current sequence */
  372|       |
  373|       |                        /* Get length of element sequences */
  374|      3|                        if ((*(src->shared->u.vlen.cls->getlen))(src->shared->u.vlen.file, s, &seq_len) < 0)
  ------------------
  |  Branch (374:29): [True: 0, False: 3]
  ------------------
  375|      0|                            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTGET, FAIL, "bad sequence length");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  376|       |
  377|       |                        /* If we are reading from memory and there is no conversion, just get the pointer to
  378|       |                         * sequence */
  379|      3|                        if (write_to_file && noop_conv) {
  ------------------
  |  Branch (379:29): [True: 0, False: 3]
  |  Branch (379:46): [True: 0, False: 0]
  ------------------
  380|       |                            /* Get direct pointer to sequence */
  381|      0|                            if (NULL == (conv_buf = (*(src->shared->u.vlen.cls->getptr))(s)))
  ------------------
  |  Branch (381:33): [True: 0, False: 0]
  ------------------
  382|      0|                                HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid source pointer");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  383|      0|                        } /* end if */
  384|      3|                        else {
  385|      3|                            size_t src_size, dst_size; /*source & destination total size in bytes*/
  386|       |
  387|      3|                            src_size = seq_len * src_base_size;
  388|      3|                            dst_size = seq_len * dst_base_size;
  389|       |
  390|       |                            /* Check if conversion buffer is large enough, resize if
  391|       |                             * necessary.  If the SEQ_LEN is 0, allocate a minimal size buffer.
  392|       |                             */
  393|      3|                            if (!seq_len && !conv_buf) {
  ------------------
  |  Branch (393:33): [True: 0, False: 3]
  |  Branch (393:45): [True: 0, False: 0]
  ------------------
  394|      0|                                conv_buf_size = H5T_VLEN_MIN_CONF_BUF_SIZE;
  ------------------
  |  |   36|      0|#define H5T_VLEN_MIN_CONF_BUF_SIZE 4096
  ------------------
  395|      0|                                if (NULL == (conv_buf = H5FL_BLK_CALLOC(vlen_seq, conv_buf_size)))
  ------------------
  |  |  149|      0|#define H5FL_BLK_CALLOC(t, size) (uint8_t *)H5FL_blk_calloc(&(H5FL_BLK_NAME(t)), (size))
  |  |  ------------------
  |  |  |  |  131|      0|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
  |  Branch (395:37): [True: 0, False: 0]
  ------------------
  396|      0|                                    HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  397|      0|                                                "memory allocation failed for type conversion");
  398|      0|                            } /* end if */
  399|      3|                            else if (conv_buf_size < MAX(src_size, dst_size)) {
  ------------------
  |  |  300|      3|#define MAX(a, b)        (((a) > (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (300:27): [True: 0, False: 3]
  |  |  ------------------
  ------------------
  |  Branch (399:38): [True: 3, False: 0]
  ------------------
  400|       |                                /* Only allocate conversion buffer in H5T_VLEN_MIN_CONF_BUF_SIZE increments */
  401|      3|                                conv_buf_size = ((MAX(src_size, dst_size) / H5T_VLEN_MIN_CONF_BUF_SIZE) + 1) *
  ------------------
  |  |  300|      3|#define MAX(a, b)        (((a) > (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (300:27): [True: 0, False: 3]
  |  |  ------------------
  ------------------
                                              conv_buf_size = ((MAX(src_size, dst_size) / H5T_VLEN_MIN_CONF_BUF_SIZE) + 1) *
  ------------------
  |  |   36|      3|#define H5T_VLEN_MIN_CONF_BUF_SIZE 4096
  ------------------
  402|      3|                                                H5T_VLEN_MIN_CONF_BUF_SIZE;
  ------------------
  |  |   36|      3|#define H5T_VLEN_MIN_CONF_BUF_SIZE 4096
  ------------------
  403|      3|                                if (NULL == (conv_buf = H5FL_BLK_REALLOC(vlen_seq, conv_buf, conv_buf_size)))
  ------------------
  |  |  155|      3|#define H5FL_BLK_REALLOC(t, blk, new_size) (uint8_t *)H5FL_blk_realloc(&(H5FL_BLK_NAME(t)), (blk), (new_size))
  |  |  ------------------
  |  |  |  |  131|      3|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
  |  Branch (403:37): [True: 0, False: 3]
  ------------------
  404|      0|                                    HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  405|      3|                                                "memory allocation failed for type conversion");
  406|      3|                                memset(conv_buf, 0, conv_buf_size);
  407|      3|                            } /* end else-if */
  408|       |
  409|       |                            /* Read in VL sequence */
  410|      3|                            if ((*(src->shared->u.vlen.cls->read))(src->shared->u.vlen.file, s, conv_buf,
  ------------------
  |  Branch (410:33): [True: 3, False: 0]
  ------------------
  411|      3|                                                                   src_size) < 0)
  412|      3|                                HGOTO_ERROR(H5E_DATATYPE, H5E_READERROR, FAIL, "can't read VL data");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  413|      3|                        } /* end else */
  414|       |
  415|      0|                        if (!noop_conv) {
  ------------------
  |  Branch (415:29): [True: 0, False: 0]
  ------------------
  416|       |                            /* Check if temporary buffer is large enough, resize if necessary */
  417|       |                            /* (Chain off the conversion buffer size) */
  418|      0|                            if (tmp_buf && tmp_buf_size < conv_buf_size) {
  ------------------
  |  Branch (418:33): [True: 0, False: 0]
  |  Branch (418:44): [True: 0, False: 0]
  ------------------
  419|       |                                /* Set up initial background buffer */
  420|      0|                                tmp_buf_size = conv_buf_size;
  421|      0|                                if (NULL == (tmp_buf = H5FL_BLK_REALLOC(vlen_seq, tmp_buf, tmp_buf_size)))
  ------------------
  |  |  155|      0|#define H5FL_BLK_REALLOC(t, blk, new_size) (uint8_t *)H5FL_blk_realloc(&(H5FL_BLK_NAME(t)), (blk), (new_size))
  |  |  ------------------
  |  |  |  |  131|      0|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
  |  Branch (421:37): [True: 0, False: 0]
  ------------------
  422|      0|                                    HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  423|      0|                                                "memory allocation failed for type conversion");
  424|      0|                                memset(tmp_buf, 0, tmp_buf_size);
  425|      0|                            } /* end if */
  426|       |
  427|       |                            /* If we are writing and there is a nested VL type, read
  428|       |                             * the sequence into the background buffer */
  429|      0|                            if (nested) {
  ------------------
  |  Branch (429:33): [True: 0, False: 0]
  ------------------
  430|       |                                /* Sanity check */
  431|      0|                                assert(write_to_file);
  432|       |
  433|       |                                /* Get length of background element sequence */
  434|      0|                                if ((*(dst->shared->u.vlen.cls->getlen))(dst->shared->u.vlen.file, b,
  ------------------
  |  Branch (434:37): [True: 0, False: 0]
  ------------------
  435|      0|                                                                         &bg_seq_len) < 0)
  436|      0|                                    HGOTO_ERROR(H5E_DATATYPE, H5E_CANTGET, FAIL, "bad sequence length");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  437|       |
  438|       |                                /* Read sequence if length > 0 */
  439|      0|                                if (bg_seq_len > 0) {
  ------------------
  |  Branch (439:37): [True: 0, False: 0]
  ------------------
  440|      0|                                    if (tmp_buf_size < (bg_seq_len * MAX(src_base_size, dst_base_size))) {
  ------------------
  |  |  300|      0|#define MAX(a, b)        (((a) > (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (300:27): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  |  Branch (440:41): [True: 0, False: 0]
  ------------------
  441|      0|                                        tmp_buf_size = (bg_seq_len * MAX(src_base_size, dst_base_size));
  ------------------
  |  |  300|      0|#define MAX(a, b)        (((a) > (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (300:27): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  442|      0|                                        if (NULL ==
  ------------------
  |  Branch (442:45): [True: 0, False: 0]
  ------------------
  443|      0|                                            (tmp_buf = H5FL_BLK_REALLOC(vlen_seq, tmp_buf, tmp_buf_size)))
  ------------------
  |  |  155|      0|#define H5FL_BLK_REALLOC(t, blk, new_size) (uint8_t *)H5FL_blk_realloc(&(H5FL_BLK_NAME(t)), (blk), (new_size))
  |  |  ------------------
  |  |  |  |  131|      0|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
  444|      0|                                            HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  445|      0|                                                        "memory allocation failed for type conversion");
  446|      0|                                        memset(tmp_buf, 0, tmp_buf_size);
  447|      0|                                    } /* end if */
  448|       |
  449|       |                                    /* Read in background VL sequence */
  450|      0|                                    if ((*(dst->shared->u.vlen.cls->read))(dst->shared->u.vlen.file, b,
  ------------------
  |  Branch (450:41): [True: 0, False: 0]
  ------------------
  451|      0|                                                                           tmp_buf,
  452|      0|                                                                           bg_seq_len * dst_base_size) < 0)
  453|      0|                                        HGOTO_ERROR(H5E_DATATYPE, H5E_READERROR, FAIL, "can't read VL data");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  454|      0|                                } /* end if */
  455|       |
  456|       |                                /* If the sequence gets shorter, pad out the original sequence with zeros */
  457|      0|                                if (bg_seq_len < seq_len)
  ------------------
  |  Branch (457:37): [True: 0, False: 0]
  ------------------
  458|      0|                                    memset((uint8_t *)tmp_buf + dst_base_size * bg_seq_len, 0,
  459|      0|                                           (seq_len - bg_seq_len) * dst_base_size);
  460|      0|                            } /* end if */
  461|       |
  462|       |                            /* Convert VL sequence */
  463|      0|                            tmp_conv_ctx.u.conv.recursive = true;
  464|      0|                            if (H5T_convert_with_ctx(tpath, tsrc_cpy, tdst_cpy, &tmp_conv_ctx, seq_len,
  ------------------
  |  Branch (464:33): [True: 0, False: 0]
  ------------------
  465|      0|                                                     (size_t)0, (size_t)0, conv_buf, tmp_buf) < 0)
  466|      0|                                HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCONVERT, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  467|      0|                                            "datatype conversion failed");
  468|      0|                            tmp_conv_ctx.u.conv.recursive = false;
  469|      0|                        } /* end if */
  470|       |
  471|       |                        /* Write sequence to destination location */
  472|      0|                        if ((*(dst->shared->u.vlen.cls->write))(dst->shared->u.vlen.file, &vl_alloc_info, d,
  ------------------
  |  Branch (472:29): [True: 0, False: 0]
  ------------------
  473|      0|                                                                conv_buf, b, seq_len, dst_base_size) < 0)
  474|      0|                            HGOTO_ERROR(H5E_DATATYPE, H5E_WRITEERROR, FAIL, "can't write VL data");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  475|       |
  476|      0|                        if (!noop_conv) {
  ------------------
  |  Branch (476:29): [True: 0, False: 0]
  ------------------
  477|       |                            /* For nested VL case, free leftover heap objects from the deeper level if the
  478|       |                             * length of new data elements is shorter than the old data elements.*/
  479|      0|                            if (nested && seq_len < bg_seq_len) {
  ------------------
  |  Branch (479:33): [True: 0, False: 0]
  |  Branch (479:43): [True: 0, False: 0]
  ------------------
  480|      0|                                uint8_t *tmp;
  481|      0|                                size_t   u;
  482|       |
  483|       |                                /* Sanity check */
  484|      0|                                assert(write_to_file);
  485|       |
  486|      0|                                tmp = (uint8_t *)tmp_buf + seq_len * dst_base_size;
  487|      0|                                for (u = seq_len; u < bg_seq_len; u++, tmp += dst_base_size) {
  ------------------
  |  Branch (487:51): [True: 0, False: 0]
  ------------------
  488|       |                                    /* Recursively free destination data */
  489|      0|                                    if (H5T__conv_vlen_nested_free(tmp, dst->shared->parent) < 0)
  ------------------
  |  Branch (489:41): [True: 0, False: 0]
  ------------------
  490|      0|                                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREMOVE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  491|      0|                                                    "unable to remove heap object");
  492|      0|                                } /* end for */
  493|      0|                            }     /* end if */
  494|      0|                        }         /* end if */
  495|      0|                    }             /* end else */
  496|       |
  497|       |                    /* Indicate that elements have been converted, in case of error */
  498|      0|                    conversions_made = true;
  499|       |
  500|       |                    /* Advance pointers */
  501|      0|                    s += s_stride;
  502|      0|                    d += d_stride;
  503|       |
  504|      0|                    if (b)
  ------------------
  |  Branch (504:25): [True: 0, False: 0]
  ------------------
  505|      0|                        b += b_stride;
  506|      0|                } /* end for */
  507|       |
  508|       |                /* Decrement number of elements left to convert */
  509|      0|                nelmts -= safe;
  510|      0|            } /* end while */
  511|       |
  512|      0|            break;
  513|       |
  514|      0|        default: /* Some other command we don't know about yet.*/
  ------------------
  |  Branch (514:9): [True: 0, False: 9]
  ------------------
  515|      0|            HGOTO_ERROR(H5E_DATATYPE, H5E_UNSUPPORTED, FAIL, "unknown conversion command");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  516|      9|    } /* end switch */
  517|       |
  518|      9|done:
  519|       |    /* Release converted elements on error */
  520|      9|    if (ret_value < 0 && conversions_made) {
  ------------------
  |  Branch (520:9): [True: 3, False: 6]
  |  Branch (520:26): [True: 0, False: 3]
  ------------------
  521|      0|        size_t dest_count;
  522|       |
  523|       |        /* Set up for first pass to destroy references */
  524|      0|        if (nelmts < orig_nelmts || (convert_forward && elmtno < safe)) {
  ------------------
  |  Branch (524:13): [True: 0, False: 0]
  |  Branch (524:38): [True: 0, False: 0]
  |  Branch (524:57): [True: 0, False: 0]
  ------------------
  525|      0|            dest_count = orig_nelmts - nelmts;
  526|       |
  527|       |            /* Set pointer to correct location, based on direction chosen */
  528|      0|            if (convert_forward) {
  ------------------
  |  Branch (528:17): [True: 0, False: 0]
  ------------------
  529|      0|                d = (uint8_t *)buf;
  530|      0|                dest_count += elmtno; /* Include partial iteration in first pass, for forward conversions */
  531|      0|            }
  532|      0|            else
  533|      0|                d = (uint8_t *)buf + (nelmts * orig_d_stride);
  534|       |
  535|       |            /* Destroy vlen elements that have already been converted */
  536|      0|            while (dest_count > 0) {
  ------------------
  |  Branch (536:20): [True: 0, False: 0]
  ------------------
  537|      0|                H5T_vlen_reclaim_elmt(d, dst); /* Ignore errors at this point */
  538|      0|                d += orig_d_stride;
  539|      0|                dest_count--;
  540|      0|            }
  541|      0|        }
  542|       |
  543|       |        /* Do any remaining partial iteration, if converting backwards */
  544|      0|        if (!convert_forward && elmtno < safe) {
  ------------------
  |  Branch (544:13): [True: 0, False: 0]
  |  Branch (544:33): [True: 0, False: 0]
  ------------------
  545|      0|            dest_count = elmtno;
  546|       |
  547|       |            /* Set pointer to correct location */
  548|      0|            if (d_stride > 0)
  ------------------
  |  Branch (548:17): [True: 0, False: 0]
  ------------------
  549|      0|                d = (uint8_t *)buf + ((nelmts - safe) * orig_d_stride);
  550|      0|            else
  551|      0|                d = (uint8_t *)buf + ((nelmts - elmtno) * orig_d_stride);
  552|       |
  553|       |            /* Destroy references that have already been converted */
  554|      0|            while (dest_count > 0) {
  ------------------
  |  Branch (554:20): [True: 0, False: 0]
  ------------------
  555|      0|                H5T_vlen_reclaim_elmt(d, dst); /* Ignore errors at this point */
  556|      0|                d += orig_d_stride;
  557|      0|                dest_count--;
  558|      0|            }
  559|      0|        }
  560|      0|    }
  561|       |
  562|      9|    if (tsrc_id >= 0) {
  ------------------
  |  Branch (562:9): [True: 0, False: 9]
  ------------------
  563|      0|        if (H5I_dec_ref(tsrc_id) < 0)
  ------------------
  |  Branch (563:13): [True: 0, False: 0]
  ------------------
  564|      0|            HDONE_ERROR(H5E_DATATYPE, H5E_CANTDEC, FAIL, "can't decrement reference on temporary ID");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  565|      0|    }
  566|      9|    else if (tsrc_cpy) {
  ------------------
  |  Branch (566:14): [True: 0, False: 9]
  ------------------
  567|      0|        if (H5T_close(tsrc_cpy) < 0)
  ------------------
  |  Branch (567:13): [True: 0, False: 0]
  ------------------
  568|      0|            HDONE_ERROR(H5E_DATATYPE, H5E_CANTCLOSEOBJ, FAIL, "can't close temporary datatype");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  569|      0|    }
  570|      9|    if (tdst_id >= 0) {
  ------------------
  |  Branch (570:9): [True: 0, False: 9]
  ------------------
  571|      0|        if (H5I_dec_ref(tdst_id) < 0)
  ------------------
  |  Branch (571:13): [True: 0, False: 0]
  ------------------
  572|      0|            HDONE_ERROR(H5E_DATATYPE, H5E_CANTDEC, FAIL, "can't decrement reference on temporary ID");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  573|      0|    }
  574|      9|    else if (tdst_cpy) {
  ------------------
  |  Branch (574:14): [True: 0, False: 9]
  ------------------
  575|      0|        if (H5T_close(tdst_cpy) < 0)
  ------------------
  |  Branch (575:13): [True: 0, False: 0]
  ------------------
  576|      0|            HDONE_ERROR(H5E_DATATYPE, H5E_CANTCLOSEOBJ, FAIL, "can't close temporary datatype");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  577|      0|    }
  578|       |
  579|       |    /* If the conversion buffer doesn't need to be freed, reset its pointer */
  580|      9|    if (write_to_file && noop_conv)
  ------------------
  |  Branch (580:9): [True: 0, False: 9]
  |  Branch (580:26): [True: 0, False: 0]
  ------------------
  581|      0|        conv_buf = NULL;
  582|       |    /* Release the conversion buffer (always allocated, except on errors) */
  583|      9|    if (conv_buf)
  ------------------
  |  Branch (583:9): [True: 3, False: 6]
  ------------------
  584|      3|        conv_buf = H5FL_BLK_FREE(vlen_seq, conv_buf);
  ------------------
  |  |  152|      3|#define H5FL_BLK_FREE(t, blk) (uint8_t *)H5FL_blk_free(&(H5FL_BLK_NAME(t)), blk)
  |  |  ------------------
  |  |  |  |  131|      3|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
  585|       |    /* Release the background buffer, if we have one */
  586|      9|    if (tmp_buf)
  ------------------
  |  Branch (586:9): [True: 0, False: 9]
  ------------------
  587|      0|        tmp_buf = H5FL_BLK_FREE(vlen_seq, tmp_buf);
  ------------------
  |  |  152|      0|#define H5FL_BLK_FREE(t, blk) (uint8_t *)H5FL_blk_free(&(H5FL_BLK_NAME(t)), blk)
  |  |  ------------------
  |  |  |  |  131|      0|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
  588|       |
  589|      9|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      9|    ;                                                                                                        \
  |  | 1573|      9|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      9|    return (ret_value);                                                                                      \
  |  | 1575|      9|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  590|      9|} /* end H5T__conv_vlen() */

H5T__print_path_stats:
   84|    118|{
   85|    118|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|    118|    {                                                                                                        \
  |  | 1467|    118|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|    118|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|    118|        {
  ------------------
   86|       |
   87|       |#ifdef H5T_DEBUG
   88|       |    if (H5DEBUG(T) && path->stats.ncalls > 0) {
   89|       |        hsize_t nbytes;
   90|       |        char    bandwidth[32];
   91|       |        struct {
   92|       |            char *user;
   93|       |            char *system;
   94|       |            char *elapsed;
   95|       |        } timestrs = {H5_timer_get_time_string(path->stats.times.user),
   96|       |                      H5_timer_get_time_string(path->stats.times.system),
   97|       |                      H5_timer_get_time_string(path->stats.times.elapsed)};
   98|       |
   99|       |        if (nprint && 0 == (*nprint)++) {
  100|       |            fprintf(H5DEBUG(T), "H5T: type conversion statistics:\n");
  101|       |            fprintf(H5DEBUG(T), "   %-16s %10s %10s %8s %8s %8s %10s\n", "Conversion", "Elmts", "Calls",
  102|       |                    "User", "System", "Elapsed", "Bandwidth");
  103|       |            fprintf(H5DEBUG(T), "   %-16s %10s %10s %8s %8s %8s %10s\n", "----------", "-----", "-----",
  104|       |                    "----", "------", "-------", "---------");
  105|       |        } /* end if */
  106|       |
  107|       |        if (path->src && path->dst)
  108|       |            nbytes = MAX(H5T_get_size(path->src), H5T_get_size(path->dst));
  109|       |        else if (path->src)
  110|       |            nbytes = H5T_get_size(path->src);
  111|       |        else if (path->dst)
  112|       |            nbytes = H5T_get_size(path->dst);
  113|       |        else
  114|       |            nbytes = 0;
  115|       |        nbytes *= path->stats.nelmts;
  116|       |        H5_bandwidth(bandwidth, sizeof(bandwidth), (double)nbytes, path->stats.times.elapsed);
  117|       |        fprintf(H5DEBUG(T), "   %-16s %10" PRIdHSIZE " %10u %8s %8s %8s %10s\n", path->name,
  118|       |                path->stats.nelmts, path->stats.ncalls, timestrs.user, timestrs.system, timestrs.elapsed,
  119|       |                bandwidth);
  120|       |        free(timestrs.user);
  121|       |        free(timestrs.system);
  122|       |        free(timestrs.elapsed);
  123|       |    }
  124|       |#endif
  125|       |
  126|    118|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|    118|    ;                                                                                                        \
  |  | 1573|    118|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    118|    return (ret_value);                                                                                      \
  |  | 1575|    118|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  127|    118|} /* end H5T__print_path_stats() */

H5T__init_native_float_types:
  465|      1|{
  466|      1|    fenv_t           saved_fenv;
  467|      1|    H5T_fpoint_det_t det;
  468|      1|    H5T_t           *dt        = NULL;
  469|      1|    herr_t           ret_value = SUCCEED;
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  470|       |
  471|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
  472|       |
  473|       |    /* Turn off floating-point exceptions while initializing to avoid
  474|       |     * tripping over signaling NaNs while looking at "don't care" bits.
  475|       |     */
  476|      1|    if (feholdexcept(&saved_fenv) != 0)
  ------------------
  |  Branch (476:9): [True: 0, False: 1]
  ------------------
  477|      1|        HSYS_GOTO_ERROR(H5E_DATATYPE, H5E_CANTSET, FAIL, "can't save floating-point environment");
  ------------------
  |  |  125|      0|    {                                                                                                        \
  |  |  126|      0|        int myerrno = errno;                                                                                 \
  |  |  127|      0|        /* Other projects may rely on the description format to get the errno and any changes should be      \
  |  |  128|      0|         * considered as an API change                                                                       \
  |  |  129|      0|         */                                                                                                  \
  |  |  130|      0|        HGOTO_ERROR(majorcode, minorcode, retcode, "%s, errno = %d, error message = '%s'", str, myerrno,     \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  131|      0|                    strerror(myerrno));                                                                      \
  |  |  132|      0|    }
  ------------------
  478|       |
  479|       |    /* H5T_NATIVE_FLOAT */
  480|       |
  481|       |    /* Get the type's characteristics */
  482|      1|    memset(&det, 0, sizeof(H5T_fpoint_det_t));
  483|      1|    DETECT_F(float, det);
  ------------------
  |  |   66|      1|    do {                                                                                                     \
  |  |   67|      1|        TYPE    _v1, _v2, _v3;                                                                               \
  |  |   68|      1|        uint8_t _buf1[sizeof(TYPE)], _buf3[sizeof(TYPE)];                                                    \
  |  |   69|      1|        uint8_t _pad_mask[sizeof(TYPE)];                                                                     \
  |  |   70|      1|        uint8_t _byte_mask;                                                                                  \
  |  |   71|      1|        int     _i, _j, _last = -1;                                                                          \
  |  |   72|      1|                                                                                                             \
  |  |   73|      1|        memset(&INFO, 0, sizeof(INFO));                                                                      \
  |  |   74|      1|        INFO.size = sizeof(TYPE);                                                                            \
  |  |   75|      1|                                                                                                             \
  |  |   76|      1|        /* Initialize padding mask */                                                                        \
  |  |   77|      1|        memset(_pad_mask, 0, sizeof(_pad_mask));                                                             \
  |  |   78|      1|                                                                                                             \
  |  |   79|      1|        /* Padding bits.  Set a variable to 4.0, then flip each bit and see if                               \
  |  |   80|      1|         * the modified variable is equal ("==") to the original.  Build a                                   \
  |  |   81|      1|         * padding bitmask to indicate which bits in the type are padding (i.e.                              \
  |  |   82|      1|         * have no effect on the value and should be ignored by subsequent                                   \
  |  |   83|      1|         * steps).  This is necessary because padding bits can change arbitrarily                            \
  |  |   84|      1|         * and interfere with detection of the various properties below unless we                            \
  |  |   85|      1|         * know to ignore them. */                                                                           \
  |  |   86|      1|        _v1 = (TYPE)4.0L;                                                                                    \
  |  |   87|      1|        H5MM_memcpy(_buf1, (const void *)&_v1, sizeof(TYPE));                                                \
  |  |  ------------------
  |  |  |  |   41|      1|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  ------------------
  |  |   88|      5|        for (_i = 0; _i < (int)sizeof(TYPE); _i++)                                                           \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 4, False: 1]
  |  |  ------------------
  |  |   89|     36|            for (_byte_mask = (uint8_t)1; _byte_mask; _byte_mask = (uint8_t)(_byte_mask << 1)) {             \
  |  |  ------------------
  |  |  |  Branch (89:43): [True: 32, False: 4]
  |  |  ------------------
  |  |   90|     32|                _buf1[_i] ^= _byte_mask;                                                                     \
  |  |   91|     32|                H5MM_memcpy((void *)&_v2, (const void *)_buf1, sizeof(TYPE));                                \
  |  |  ------------------
  |  |  |  |   41|     32|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  ------------------
  |  |   92|     32|                H5_GCC_CLANG_DIAG_OFF("float-equal")                                                         \
  |  |   93|     32|                if (_v1 != _v2)                                                                              \
  |  |  ------------------
  |  |  |  Branch (93:21): [True: 32, False: 0]
  |  |  ------------------
  |  |   94|     32|                    _pad_mask[_i] |= _byte_mask;                                                             \
  |  |   95|     32|                H5_GCC_CLANG_DIAG_ON("float-equal")                                                          \
  |  |   96|     32|                _buf1[_i] ^= _byte_mask;                                                                     \
  |  |   97|     32|            }                                                                                                \
  |  |   98|      1|                                                                                                             \
  |  |   99|      1|        /* Byte Order */                                                                                     \
  |  |  100|      5|        for (_i = 0, _v1 = (TYPE)0.0L, _v2 = (TYPE)1.0L; _i < (int)sizeof(TYPE); _i++) {                     \
  |  |  ------------------
  |  |  |  Branch (100:58): [True: 4, False: 1]
  |  |  ------------------
  |  |  101|      4|            _v3 = _v1;                                                                                       \
  |  |  102|      4|            _v1 += _v2;                                                                                      \
  |  |  103|      4|            _v2 /= (TYPE)256.0L;                                                                             \
  |  |  104|      4|            H5MM_memcpy(_buf1, (const void *)&_v1, sizeof(TYPE));                                            \
  |  |  ------------------
  |  |  |  |   41|      4|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  ------------------
  |  |  105|      4|            H5MM_memcpy(_buf3, (const void *)&_v3, sizeof(TYPE));                                            \
  |  |  ------------------
  |  |  |  |   41|      4|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  ------------------
  |  |  106|      4|            _j = H5T__byte_cmp(sizeof(TYPE), _buf3, _buf1, _pad_mask);                                       \
  |  |  107|      4|            if (_j >= 0) {                                                                                   \
  |  |  ------------------
  |  |  |  Branch (107:17): [True: 3, False: 1]
  |  |  ------------------
  |  |  108|      3|                INFO.perm[_i] = _j;                                                                          \
  |  |  109|      3|                _last         = _i;                                                                          \
  |  |  110|      3|            }                                                                                                \
  |  |  111|      4|        }                                                                                                    \
  |  |  112|      1|        if (H5T__fix_order(sizeof(TYPE), _last, INFO.perm, &INFO.order) < 0)                                 \
  |  |  ------------------
  |  |  |  Branch (112:13): [True: 0, False: 1]
  |  |  ------------------
  |  |  113|      1|            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "failed to detect byte order");                    \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  114|      1|                                                                                                             \
  |  |  115|      1|        /* Implicit mantissa bit */                                                                          \
  |  |  116|      1|        _v1 = (TYPE)0.5L;                                                                                    \
  |  |  117|      1|        _v2 = (TYPE)1.0L;                                                                                    \
  |  |  118|      1|        if (H5T__imp_bit(sizeof(TYPE), INFO.perm, &_v1, &_v2, _pad_mask, &(INFO.imp)) < 0)                   \
  |  |  ------------------
  |  |  |  Branch (118:13): [True: 0, False: 1]
  |  |  ------------------
  |  |  119|      1|            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "failed to determine implicit bit");               \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  120|      1|        INFO.norm = INFO.imp ? H5T_NORM_IMPLIED : H5T_NORM_NONE;                                             \
  |  |  ------------------
  |  |  |  Branch (120:21): [True: 1, False: 0]
  |  |  ------------------
  |  |  121|      1|                                                                                                             \
  |  |  122|      1|        /* Sign bit */                                                                                       \
  |  |  123|      1|        _v1 = (TYPE)1.0L;                                                                                    \
  |  |  124|      1|        _v2 = (TYPE)-1.0L;                                                                                   \
  |  |  125|      1|        if (H5T__bit_cmp(sizeof(TYPE), INFO.perm, &_v1, &_v2, _pad_mask, &(INFO.sign)) < 0)                  \
  |  |  ------------------
  |  |  |  Branch (125:13): [True: 0, False: 1]
  |  |  ------------------
  |  |  126|      1|            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "failed to determine sign bit");                   \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  127|      1|                                                                                                             \
  |  |  128|      1|        /* Mantissa */                                                                                       \
  |  |  129|      1|        INFO.mpos = 0;                                                                                       \
  |  |  130|      1|                                                                                                             \
  |  |  131|      1|        _v1 = (TYPE)1.0L;                                                                                    \
  |  |  132|      1|        _v2 = (TYPE)1.5L;                                                                                    \
  |  |  133|      1|        if (H5T__bit_cmp(sizeof(TYPE), INFO.perm, &_v1, &_v2, _pad_mask, &(INFO.msize)) < 0)                 \
  |  |  ------------------
  |  |  |  Branch (133:13): [True: 0, False: 1]
  |  |  ------------------
  |  |  134|      1|            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "failed to determine mantissa");                   \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  135|      1|        INFO.msize += 1 + (unsigned)(INFO.imp ? 0 : 1) - INFO.mpos;                                          \
  |  |  ------------------
  |  |  |  Branch (135:38): [True: 1, False: 0]
  |  |  ------------------
  |  |  136|      1|                                                                                                             \
  |  |  137|      1|        /* Exponent */                                                                                       \
  |  |  138|      1|        INFO.epos  = INFO.mpos + INFO.msize;                                                                 \
  |  |  139|      1|        INFO.esize = INFO.sign - INFO.epos;                                                                  \
  |  |  140|      1|                                                                                                             \
  |  |  141|      1|        _v1        = (TYPE)1.0L;                                                                             \
  |  |  142|      1|        INFO.ebias = H5T__find_bias(INFO.epos, INFO.esize, INFO.perm, &_v1);                                 \
  |  |  143|      1|        H5T__set_precision(&(INFO));                                                                         \
  |  |  144|      1|        COMP_ALIGNMENT(TYPE, INFO.comp_align);                                                               \
  |  |  ------------------
  |  |  |  |  149|      1|    {                                                                                                        \
  |  |  |  |  150|      1|        struct {                                                                                             \
  |  |  |  |  151|      1|            char c;                                                                                          \
  |  |  |  |  152|      1|            TYPE x;                                                                                          \
  |  |  |  |  153|      1|        } s;                                                                                                 \
  |  |  |  |  154|      1|                                                                                                             \
  |  |  |  |  155|      1|        COMP_ALIGN = (unsigned)((char *)(&(s.x)) - (char *)(&s));                                            \
  |  |  |  |  156|      1|    }
  |  |  ------------------
  |  |  145|      1|    } while (0)
  |  |  ------------------
  |  |  |  Branch (145:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  484|       |
  485|       |    /* Allocate and fill type structure */
  486|      1|    if (NULL == (dt = H5T__alloc()))
  ------------------
  |  Branch (486:9): [True: 0, False: 1]
  ------------------
  487|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  488|      1|    dt->shared->state              = H5T_STATE_IMMUTABLE;
  489|      1|    dt->shared->type               = H5T_FLOAT;
  490|      1|    dt->shared->size               = det.size;
  491|      1|    dt->shared->u.atomic.order     = det.order;
  492|      1|    dt->shared->u.atomic.offset    = det.offset;
  493|      1|    dt->shared->u.atomic.prec      = det.prec;
  494|      1|    dt->shared->u.atomic.lsb_pad   = H5T_PAD_ZERO;
  495|      1|    dt->shared->u.atomic.msb_pad   = H5T_PAD_ZERO;
  496|      1|    dt->shared->u.atomic.u.f.sign  = det.sign;
  497|      1|    dt->shared->u.atomic.u.f.epos  = det.epos;
  498|      1|    dt->shared->u.atomic.u.f.esize = det.esize;
  499|      1|    dt->shared->u.atomic.u.f.ebias = det.ebias;
  500|      1|    dt->shared->u.atomic.u.f.mpos  = det.mpos;
  501|      1|    dt->shared->u.atomic.u.f.msize = det.msize;
  502|      1|    dt->shared->u.atomic.u.f.norm  = det.norm;
  503|      1|    dt->shared->u.atomic.u.f.pad   = H5T_PAD_ZERO;
  504|       |
  505|       |    /* Register the type and set global variables */
  506|      1|    if ((H5T_NATIVE_FLOAT_g = H5I_register(H5I_DATATYPE, dt, false)) < 0)
  ------------------
  |  Branch (506:9): [True: 0, False: 1]
  ------------------
  507|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  508|      1|    H5T_NATIVE_FLOAT_ALIGN_g = det.comp_align;
  509|       |
  510|       |    /* H5T_NATIVE_DOUBLE */
  511|       |
  512|       |    /* Get the type's characteristics */
  513|      1|    memset(&det, 0, sizeof(H5T_fpoint_det_t));
  514|      1|    DETECT_F(double, det);
  ------------------
  |  |   66|      1|    do {                                                                                                     \
  |  |   67|      1|        TYPE    _v1, _v2, _v3;                                                                               \
  |  |   68|      1|        uint8_t _buf1[sizeof(TYPE)], _buf3[sizeof(TYPE)];                                                    \
  |  |   69|      1|        uint8_t _pad_mask[sizeof(TYPE)];                                                                     \
  |  |   70|      1|        uint8_t _byte_mask;                                                                                  \
  |  |   71|      1|        int     _i, _j, _last = -1;                                                                          \
  |  |   72|      1|                                                                                                             \
  |  |   73|      1|        memset(&INFO, 0, sizeof(INFO));                                                                      \
  |  |   74|      1|        INFO.size = sizeof(TYPE);                                                                            \
  |  |   75|      1|                                                                                                             \
  |  |   76|      1|        /* Initialize padding mask */                                                                        \
  |  |   77|      1|        memset(_pad_mask, 0, sizeof(_pad_mask));                                                             \
  |  |   78|      1|                                                                                                             \
  |  |   79|      1|        /* Padding bits.  Set a variable to 4.0, then flip each bit and see if                               \
  |  |   80|      1|         * the modified variable is equal ("==") to the original.  Build a                                   \
  |  |   81|      1|         * padding bitmask to indicate which bits in the type are padding (i.e.                              \
  |  |   82|      1|         * have no effect on the value and should be ignored by subsequent                                   \
  |  |   83|      1|         * steps).  This is necessary because padding bits can change arbitrarily                            \
  |  |   84|      1|         * and interfere with detection of the various properties below unless we                            \
  |  |   85|      1|         * know to ignore them. */                                                                           \
  |  |   86|      1|        _v1 = (TYPE)4.0L;                                                                                    \
  |  |   87|      1|        H5MM_memcpy(_buf1, (const void *)&_v1, sizeof(TYPE));                                                \
  |  |  ------------------
  |  |  |  |   41|      1|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  ------------------
  |  |   88|      9|        for (_i = 0; _i < (int)sizeof(TYPE); _i++)                                                           \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 8, False: 1]
  |  |  ------------------
  |  |   89|     72|            for (_byte_mask = (uint8_t)1; _byte_mask; _byte_mask = (uint8_t)(_byte_mask << 1)) {             \
  |  |  ------------------
  |  |  |  Branch (89:43): [True: 64, False: 8]
  |  |  ------------------
  |  |   90|     64|                _buf1[_i] ^= _byte_mask;                                                                     \
  |  |   91|     64|                H5MM_memcpy((void *)&_v2, (const void *)_buf1, sizeof(TYPE));                                \
  |  |  ------------------
  |  |  |  |   41|     64|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  ------------------
  |  |   92|     64|                H5_GCC_CLANG_DIAG_OFF("float-equal")                                                         \
  |  |   93|     64|                if (_v1 != _v2)                                                                              \
  |  |  ------------------
  |  |  |  Branch (93:21): [True: 64, False: 0]
  |  |  ------------------
  |  |   94|     64|                    _pad_mask[_i] |= _byte_mask;                                                             \
  |  |   95|     64|                H5_GCC_CLANG_DIAG_ON("float-equal")                                                          \
  |  |   96|     64|                _buf1[_i] ^= _byte_mask;                                                                     \
  |  |   97|     64|            }                                                                                                \
  |  |   98|      1|                                                                                                             \
  |  |   99|      1|        /* Byte Order */                                                                                     \
  |  |  100|      9|        for (_i = 0, _v1 = (TYPE)0.0L, _v2 = (TYPE)1.0L; _i < (int)sizeof(TYPE); _i++) {                     \
  |  |  ------------------
  |  |  |  Branch (100:58): [True: 8, False: 1]
  |  |  ------------------
  |  |  101|      8|            _v3 = _v1;                                                                                       \
  |  |  102|      8|            _v1 += _v2;                                                                                      \
  |  |  103|      8|            _v2 /= (TYPE)256.0L;                                                                             \
  |  |  104|      8|            H5MM_memcpy(_buf1, (const void *)&_v1, sizeof(TYPE));                                            \
  |  |  ------------------
  |  |  |  |   41|      8|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  ------------------
  |  |  105|      8|            H5MM_memcpy(_buf3, (const void *)&_v3, sizeof(TYPE));                                            \
  |  |  ------------------
  |  |  |  |   41|      8|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  ------------------
  |  |  106|      8|            _j = H5T__byte_cmp(sizeof(TYPE), _buf3, _buf1, _pad_mask);                                       \
  |  |  107|      8|            if (_j >= 0) {                                                                                   \
  |  |  ------------------
  |  |  |  Branch (107:17): [True: 7, False: 1]
  |  |  ------------------
  |  |  108|      7|                INFO.perm[_i] = _j;                                                                          \
  |  |  109|      7|                _last         = _i;                                                                          \
  |  |  110|      7|            }                                                                                                \
  |  |  111|      8|        }                                                                                                    \
  |  |  112|      1|        if (H5T__fix_order(sizeof(TYPE), _last, INFO.perm, &INFO.order) < 0)                                 \
  |  |  ------------------
  |  |  |  Branch (112:13): [True: 0, False: 1]
  |  |  ------------------
  |  |  113|      1|            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "failed to detect byte order");                    \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  114|      1|                                                                                                             \
  |  |  115|      1|        /* Implicit mantissa bit */                                                                          \
  |  |  116|      1|        _v1 = (TYPE)0.5L;                                                                                    \
  |  |  117|      1|        _v2 = (TYPE)1.0L;                                                                                    \
  |  |  118|      1|        if (H5T__imp_bit(sizeof(TYPE), INFO.perm, &_v1, &_v2, _pad_mask, &(INFO.imp)) < 0)                   \
  |  |  ------------------
  |  |  |  Branch (118:13): [True: 0, False: 1]
  |  |  ------------------
  |  |  119|      1|            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "failed to determine implicit bit");               \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  120|      1|        INFO.norm = INFO.imp ? H5T_NORM_IMPLIED : H5T_NORM_NONE;                                             \
  |  |  ------------------
  |  |  |  Branch (120:21): [True: 1, False: 0]
  |  |  ------------------
  |  |  121|      1|                                                                                                             \
  |  |  122|      1|        /* Sign bit */                                                                                       \
  |  |  123|      1|        _v1 = (TYPE)1.0L;                                                                                    \
  |  |  124|      1|        _v2 = (TYPE)-1.0L;                                                                                   \
  |  |  125|      1|        if (H5T__bit_cmp(sizeof(TYPE), INFO.perm, &_v1, &_v2, _pad_mask, &(INFO.sign)) < 0)                  \
  |  |  ------------------
  |  |  |  Branch (125:13): [True: 0, False: 1]
  |  |  ------------------
  |  |  126|      1|            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "failed to determine sign bit");                   \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  127|      1|                                                                                                             \
  |  |  128|      1|        /* Mantissa */                                                                                       \
  |  |  129|      1|        INFO.mpos = 0;                                                                                       \
  |  |  130|      1|                                                                                                             \
  |  |  131|      1|        _v1 = (TYPE)1.0L;                                                                                    \
  |  |  132|      1|        _v2 = (TYPE)1.5L;                                                                                    \
  |  |  133|      1|        if (H5T__bit_cmp(sizeof(TYPE), INFO.perm, &_v1, &_v2, _pad_mask, &(INFO.msize)) < 0)                 \
  |  |  ------------------
  |  |  |  Branch (133:13): [True: 0, False: 1]
  |  |  ------------------
  |  |  134|      1|            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "failed to determine mantissa");                   \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  135|      1|        INFO.msize += 1 + (unsigned)(INFO.imp ? 0 : 1) - INFO.mpos;                                          \
  |  |  ------------------
  |  |  |  Branch (135:38): [True: 1, False: 0]
  |  |  ------------------
  |  |  136|      1|                                                                                                             \
  |  |  137|      1|        /* Exponent */                                                                                       \
  |  |  138|      1|        INFO.epos  = INFO.mpos + INFO.msize;                                                                 \
  |  |  139|      1|        INFO.esize = INFO.sign - INFO.epos;                                                                  \
  |  |  140|      1|                                                                                                             \
  |  |  141|      1|        _v1        = (TYPE)1.0L;                                                                             \
  |  |  142|      1|        INFO.ebias = H5T__find_bias(INFO.epos, INFO.esize, INFO.perm, &_v1);                                 \
  |  |  143|      1|        H5T__set_precision(&(INFO));                                                                         \
  |  |  144|      1|        COMP_ALIGNMENT(TYPE, INFO.comp_align);                                                               \
  |  |  ------------------
  |  |  |  |  149|      1|    {                                                                                                        \
  |  |  |  |  150|      1|        struct {                                                                                             \
  |  |  |  |  151|      1|            char c;                                                                                          \
  |  |  |  |  152|      1|            TYPE x;                                                                                          \
  |  |  |  |  153|      1|        } s;                                                                                                 \
  |  |  |  |  154|      1|                                                                                                             \
  |  |  |  |  155|      1|        COMP_ALIGN = (unsigned)((char *)(&(s.x)) - (char *)(&s));                                            \
  |  |  |  |  156|      1|    }
  |  |  ------------------
  |  |  145|      1|    } while (0)
  |  |  ------------------
  |  |  |  Branch (145:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  515|       |
  516|       |    /* Allocate and fill type structure */
  517|      1|    if (NULL == (dt = H5T__alloc()))
  ------------------
  |  Branch (517:9): [True: 0, False: 1]
  ------------------
  518|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  519|      1|    dt->shared->state              = H5T_STATE_IMMUTABLE;
  520|      1|    dt->shared->type               = H5T_FLOAT;
  521|      1|    dt->shared->size               = det.size;
  522|      1|    dt->shared->u.atomic.order     = det.order;
  523|      1|    dt->shared->u.atomic.offset    = det.offset;
  524|      1|    dt->shared->u.atomic.prec      = det.prec;
  525|      1|    dt->shared->u.atomic.lsb_pad   = H5T_PAD_ZERO;
  526|      1|    dt->shared->u.atomic.msb_pad   = H5T_PAD_ZERO;
  527|      1|    dt->shared->u.atomic.u.f.sign  = det.sign;
  528|      1|    dt->shared->u.atomic.u.f.epos  = det.epos;
  529|      1|    dt->shared->u.atomic.u.f.esize = det.esize;
  530|      1|    dt->shared->u.atomic.u.f.ebias = det.ebias;
  531|      1|    dt->shared->u.atomic.u.f.mpos  = det.mpos;
  532|      1|    dt->shared->u.atomic.u.f.msize = det.msize;
  533|      1|    dt->shared->u.atomic.u.f.norm  = det.norm;
  534|      1|    dt->shared->u.atomic.u.f.pad   = H5T_PAD_ZERO;
  535|       |
  536|       |    /* Register the type and set global variables */
  537|      1|    if ((H5T_NATIVE_DOUBLE_g = H5I_register(H5I_DATATYPE, dt, false)) < 0)
  ------------------
  |  Branch (537:9): [True: 0, False: 1]
  ------------------
  538|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  539|      1|    H5T_NATIVE_DOUBLE_ALIGN_g = det.comp_align;
  540|       |
  541|       |    /* H5T_NATIVE_LDOUBLE */
  542|       |
  543|       |    /* Get the type's characteristics */
  544|      1|    memset(&det, 0, sizeof(H5T_fpoint_det_t));
  545|      1|    DETECT_F(long double, det);
  ------------------
  |  |   66|      1|    do {                                                                                                     \
  |  |   67|      1|        TYPE    _v1, _v2, _v3;                                                                               \
  |  |   68|      1|        uint8_t _buf1[sizeof(TYPE)], _buf3[sizeof(TYPE)];                                                    \
  |  |   69|      1|        uint8_t _pad_mask[sizeof(TYPE)];                                                                     \
  |  |   70|      1|        uint8_t _byte_mask;                                                                                  \
  |  |   71|      1|        int     _i, _j, _last = -1;                                                                          \
  |  |   72|      1|                                                                                                             \
  |  |   73|      1|        memset(&INFO, 0, sizeof(INFO));                                                                      \
  |  |   74|      1|        INFO.size = sizeof(TYPE);                                                                            \
  |  |   75|      1|                                                                                                             \
  |  |   76|      1|        /* Initialize padding mask */                                                                        \
  |  |   77|      1|        memset(_pad_mask, 0, sizeof(_pad_mask));                                                             \
  |  |   78|      1|                                                                                                             \
  |  |   79|      1|        /* Padding bits.  Set a variable to 4.0, then flip each bit and see if                               \
  |  |   80|      1|         * the modified variable is equal ("==") to the original.  Build a                                   \
  |  |   81|      1|         * padding bitmask to indicate which bits in the type are padding (i.e.                              \
  |  |   82|      1|         * have no effect on the value and should be ignored by subsequent                                   \
  |  |   83|      1|         * steps).  This is necessary because padding bits can change arbitrarily                            \
  |  |   84|      1|         * and interfere with detection of the various properties below unless we                            \
  |  |   85|      1|         * know to ignore them. */                                                                           \
  |  |   86|      1|        _v1 = (TYPE)4.0L;                                                                                    \
  |  |   87|      1|        H5MM_memcpy(_buf1, (const void *)&_v1, sizeof(TYPE));                                                \
  |  |  ------------------
  |  |  |  |   41|      1|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  ------------------
  |  |   88|     17|        for (_i = 0; _i < (int)sizeof(TYPE); _i++)                                                           \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 16, False: 1]
  |  |  ------------------
  |  |   89|    144|            for (_byte_mask = (uint8_t)1; _byte_mask; _byte_mask = (uint8_t)(_byte_mask << 1)) {             \
  |  |  ------------------
  |  |  |  Branch (89:43): [True: 128, False: 16]
  |  |  ------------------
  |  |   90|    128|                _buf1[_i] ^= _byte_mask;                                                                     \
  |  |   91|    128|                H5MM_memcpy((void *)&_v2, (const void *)_buf1, sizeof(TYPE));                                \
  |  |  ------------------
  |  |  |  |   41|    128|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  ------------------
  |  |   92|    128|                H5_GCC_CLANG_DIAG_OFF("float-equal")                                                         \
  |  |   93|    128|                if (_v1 != _v2)                                                                              \
  |  |  ------------------
  |  |  |  Branch (93:21): [True: 80, False: 48]
  |  |  ------------------
  |  |   94|    128|                    _pad_mask[_i] |= _byte_mask;                                                             \
  |  |   95|    128|                H5_GCC_CLANG_DIAG_ON("float-equal")                                                          \
  |  |   96|    128|                _buf1[_i] ^= _byte_mask;                                                                     \
  |  |   97|    128|            }                                                                                                \
  |  |   98|      1|                                                                                                             \
  |  |   99|      1|        /* Byte Order */                                                                                     \
  |  |  100|     17|        for (_i = 0, _v1 = (TYPE)0.0L, _v2 = (TYPE)1.0L; _i < (int)sizeof(TYPE); _i++) {                     \
  |  |  ------------------
  |  |  |  Branch (100:58): [True: 16, False: 1]
  |  |  ------------------
  |  |  101|     16|            _v3 = _v1;                                                                                       \
  |  |  102|     16|            _v1 += _v2;                                                                                      \
  |  |  103|     16|            _v2 /= (TYPE)256.0L;                                                                             \
  |  |  104|     16|            H5MM_memcpy(_buf1, (const void *)&_v1, sizeof(TYPE));                                            \
  |  |  ------------------
  |  |  |  |   41|     16|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  ------------------
  |  |  105|     16|            H5MM_memcpy(_buf3, (const void *)&_v3, sizeof(TYPE));                                            \
  |  |  ------------------
  |  |  |  |   41|     16|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  |  |  ------------------
  |  |  106|     16|            _j = H5T__byte_cmp(sizeof(TYPE), _buf3, _buf1, _pad_mask);                                       \
  |  |  107|     16|            if (_j >= 0) {                                                                                   \
  |  |  ------------------
  |  |  |  Branch (107:17): [True: 8, False: 8]
  |  |  ------------------
  |  |  108|      8|                INFO.perm[_i] = _j;                                                                          \
  |  |  109|      8|                _last         = _i;                                                                          \
  |  |  110|      8|            }                                                                                                \
  |  |  111|     16|        }                                                                                                    \
  |  |  112|      1|        if (H5T__fix_order(sizeof(TYPE), _last, INFO.perm, &INFO.order) < 0)                                 \
  |  |  ------------------
  |  |  |  Branch (112:13): [True: 0, False: 1]
  |  |  ------------------
  |  |  113|      1|            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "failed to detect byte order");                    \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  114|      1|                                                                                                             \
  |  |  115|      1|        /* Implicit mantissa bit */                                                                          \
  |  |  116|      1|        _v1 = (TYPE)0.5L;                                                                                    \
  |  |  117|      1|        _v2 = (TYPE)1.0L;                                                                                    \
  |  |  118|      1|        if (H5T__imp_bit(sizeof(TYPE), INFO.perm, &_v1, &_v2, _pad_mask, &(INFO.imp)) < 0)                   \
  |  |  ------------------
  |  |  |  Branch (118:13): [True: 0, False: 1]
  |  |  ------------------
  |  |  119|      1|            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "failed to determine implicit bit");               \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  120|      1|        INFO.norm = INFO.imp ? H5T_NORM_IMPLIED : H5T_NORM_NONE;                                             \
  |  |  ------------------
  |  |  |  Branch (120:21): [True: 0, False: 1]
  |  |  ------------------
  |  |  121|      1|                                                                                                             \
  |  |  122|      1|        /* Sign bit */                                                                                       \
  |  |  123|      1|        _v1 = (TYPE)1.0L;                                                                                    \
  |  |  124|      1|        _v2 = (TYPE)-1.0L;                                                                                   \
  |  |  125|      1|        if (H5T__bit_cmp(sizeof(TYPE), INFO.perm, &_v1, &_v2, _pad_mask, &(INFO.sign)) < 0)                  \
  |  |  ------------------
  |  |  |  Branch (125:13): [True: 0, False: 1]
  |  |  ------------------
  |  |  126|      1|            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "failed to determine sign bit");                   \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  127|      1|                                                                                                             \
  |  |  128|      1|        /* Mantissa */                                                                                       \
  |  |  129|      1|        INFO.mpos = 0;                                                                                       \
  |  |  130|      1|                                                                                                             \
  |  |  131|      1|        _v1 = (TYPE)1.0L;                                                                                    \
  |  |  132|      1|        _v2 = (TYPE)1.5L;                                                                                    \
  |  |  133|      1|        if (H5T__bit_cmp(sizeof(TYPE), INFO.perm, &_v1, &_v2, _pad_mask, &(INFO.msize)) < 0)                 \
  |  |  ------------------
  |  |  |  Branch (133:13): [True: 0, False: 1]
  |  |  ------------------
  |  |  134|      1|            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "failed to determine mantissa");                   \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  135|      1|        INFO.msize += 1 + (unsigned)(INFO.imp ? 0 : 1) - INFO.mpos;                                          \
  |  |  ------------------
  |  |  |  Branch (135:38): [True: 0, False: 1]
  |  |  ------------------
  |  |  136|      1|                                                                                                             \
  |  |  137|      1|        /* Exponent */                                                                                       \
  |  |  138|      1|        INFO.epos  = INFO.mpos + INFO.msize;                                                                 \
  |  |  139|      1|        INFO.esize = INFO.sign - INFO.epos;                                                                  \
  |  |  140|      1|                                                                                                             \
  |  |  141|      1|        _v1        = (TYPE)1.0L;                                                                             \
  |  |  142|      1|        INFO.ebias = H5T__find_bias(INFO.epos, INFO.esize, INFO.perm, &_v1);                                 \
  |  |  143|      1|        H5T__set_precision(&(INFO));                                                                         \
  |  |  144|      1|        COMP_ALIGNMENT(TYPE, INFO.comp_align);                                                               \
  |  |  ------------------
  |  |  |  |  149|      1|    {                                                                                                        \
  |  |  |  |  150|      1|        struct {                                                                                             \
  |  |  |  |  151|      1|            char c;                                                                                          \
  |  |  |  |  152|      1|            TYPE x;                                                                                          \
  |  |  |  |  153|      1|        } s;                                                                                                 \
  |  |  |  |  154|      1|                                                                                                             \
  |  |  |  |  155|      1|        COMP_ALIGN = (unsigned)((char *)(&(s.x)) - (char *)(&s));                                            \
  |  |  |  |  156|      1|    }
  |  |  ------------------
  |  |  145|      1|    } while (0)
  |  |  ------------------
  |  |  |  Branch (145:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  546|       |
  547|       |    /* Allocate and fill type structure */
  548|      1|    if (NULL == (dt = H5T__alloc()))
  ------------------
  |  Branch (548:9): [True: 0, False: 1]
  ------------------
  549|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  550|      1|    dt->shared->state              = H5T_STATE_IMMUTABLE;
  551|      1|    dt->shared->type               = H5T_FLOAT;
  552|      1|    dt->shared->size               = det.size;
  553|      1|    dt->shared->u.atomic.order     = det.order;
  554|      1|    dt->shared->u.atomic.offset    = det.offset;
  555|      1|    dt->shared->u.atomic.prec      = det.prec;
  556|      1|    dt->shared->u.atomic.lsb_pad   = H5T_PAD_ZERO;
  557|      1|    dt->shared->u.atomic.msb_pad   = H5T_PAD_ZERO;
  558|      1|    dt->shared->u.atomic.u.f.sign  = det.sign;
  559|      1|    dt->shared->u.atomic.u.f.epos  = det.epos;
  560|      1|    dt->shared->u.atomic.u.f.esize = det.esize;
  561|      1|    dt->shared->u.atomic.u.f.ebias = det.ebias;
  562|      1|    dt->shared->u.atomic.u.f.mpos  = det.mpos;
  563|      1|    dt->shared->u.atomic.u.f.msize = det.msize;
  564|      1|    dt->shared->u.atomic.u.f.norm  = det.norm;
  565|      1|    dt->shared->u.atomic.u.f.pad   = H5T_PAD_ZERO;
  566|       |
  567|       |    /* Register the type and set global variables */
  568|      1|    if ((H5T_NATIVE_LDOUBLE_g = H5I_register(H5I_DATATYPE, dt, false)) < 0)
  ------------------
  |  Branch (568:9): [True: 0, False: 1]
  ------------------
  569|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  570|      1|    H5T_NATIVE_LDOUBLE_ALIGN_g = det.comp_align;
  571|       |
  572|       |    /* Set the platform's alignment (assumes long double's order
  573|       |     * is true for all types)
  574|       |     */
  575|      1|    H5T_native_order_g = det.order;
  576|       |
  577|       |#ifdef H5_HAVE__FLOAT16
  578|       |    /* H5T_NATIVE_FLOAT16 */
  579|       |
  580|       |    /* Get the type's characteristics */
  581|       |    memset(&det, 0, sizeof(H5T_fpoint_det_t));
  582|       |    DETECT_F(H5__Float16, det);
  583|       |
  584|       |    /* Allocate and fill type structure */
  585|       |    if (NULL == (dt = H5T__alloc()))
  586|       |        HGOTO_ERROR(H5E_DATATYPE, H5E_NOSPACE, FAIL, "datatype allocation failed");
  587|       |    dt->shared->state              = H5T_STATE_IMMUTABLE;
  588|       |    dt->shared->type               = H5T_FLOAT;
  589|       |    dt->shared->size               = det.size;
  590|       |    dt->shared->u.atomic.order     = det.order;
  591|       |    dt->shared->u.atomic.offset    = det.offset;
  592|       |    dt->shared->u.atomic.prec      = det.prec;
  593|       |    dt->shared->u.atomic.lsb_pad   = H5T_PAD_ZERO;
  594|       |    dt->shared->u.atomic.msb_pad   = H5T_PAD_ZERO;
  595|       |    dt->shared->u.atomic.u.f.sign  = det.sign;
  596|       |    dt->shared->u.atomic.u.f.epos  = det.epos;
  597|       |    dt->shared->u.atomic.u.f.esize = det.esize;
  598|       |    dt->shared->u.atomic.u.f.ebias = det.ebias;
  599|       |    dt->shared->u.atomic.u.f.mpos  = det.mpos;
  600|       |    dt->shared->u.atomic.u.f.msize = det.msize;
  601|       |    dt->shared->u.atomic.u.f.norm  = det.norm;
  602|       |    dt->shared->u.atomic.u.f.pad   = H5T_PAD_ZERO;
  603|       |
  604|       |    /* Register the type and set global variables */
  605|       |    if ((H5T_NATIVE_FLOAT16_g = H5I_register(H5I_DATATYPE, dt, false)) < 0)
  606|       |        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't register ID for built-in datatype");
  607|       |    H5T_NATIVE_FLOAT16_ALIGN_g = det.comp_align;
  608|       |#endif
  609|       |
  610|      1|done:
  611|       |    /* Clear any FE_INVALID exceptions from NaN handling */
  612|      1|    if (feclearexcept(FE_INVALID) != 0)
  ------------------
  |  Branch (612:9): [True: 0, False: 1]
  ------------------
  613|      1|        HSYS_GOTO_ERROR(H5E_DATATYPE, H5E_CANTSET, FAIL, "can't clear floating-point exceptions");
  ------------------
  |  |  125|      0|    {                                                                                                        \
  |  |  126|      0|        int myerrno = errno;                                                                                 \
  |  |  127|      0|        /* Other projects may rely on the description format to get the errno and any changes should be      \
  |  |  128|      0|         * considered as an API change                                                                       \
  |  |  129|      0|         */                                                                                                  \
  |  |  130|      0|        HGOTO_ERROR(majorcode, minorcode, retcode, "%s, errno = %d, error message = '%s'", str, myerrno,     \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  131|      0|                    strerror(myerrno));                                                                      \
  |  |  132|      0|    }
  ------------------
  614|       |
  615|       |    /* Restore the original environment */
  616|      1|    if (feupdateenv(&saved_fenv) != 0)
  ------------------
  |  Branch (616:9): [True: 0, False: 1]
  ------------------
  617|      1|        HSYS_GOTO_ERROR(H5E_DATATYPE, H5E_CANTSET, FAIL, "can't restore floating-point environment");
  ------------------
  |  |  125|      0|    {                                                                                                        \
  |  |  126|      0|        int myerrno = errno;                                                                                 \
  |  |  127|      0|        /* Other projects may rely on the description format to get the errno and any changes should be      \
  |  |  128|      0|         * considered as an API change                                                                       \
  |  |  129|      0|         */                                                                                                  \
  |  |  130|      0|        HGOTO_ERROR(majorcode, minorcode, retcode, "%s, errno = %d, error message = '%s'", str, myerrno,     \
  |  |  ------------------
  |  |  |  |   68|      0|    do {                                                                                                     \
  |  |  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  131|      0|                    strerror(myerrno));                                                                      \
  |  |  132|      0|    }
  ------------------
  618|       |
  619|      1|    if (ret_value < 0) {
  ------------------
  |  Branch (619:9): [True: 0, False: 1]
  ------------------
  620|      0|        if (dt != NULL) {
  ------------------
  |  Branch (620:13): [True: 0, False: 0]
  ------------------
  621|      0|            dt->shared = H5FL_FREE(H5T_shared_t, dt->shared);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  622|      0|            dt         = H5FL_FREE(H5T_t, dt);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  623|      0|        }
  624|      0|    }
  625|       |
  626|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  627|      1|} /* end H5T__init_native_float_types() */
H5Tinit_float.c:H5T__byte_cmp:
  223|     28|{
  224|     28|    const unsigned char *a         = (const unsigned char *)_a;
  225|     28|    const unsigned char *b         = (const unsigned char *)_b;
  226|     28|    int                  ret_value = -1;
  227|       |
  228|     28|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     28|    {                                                                                                        \
  |  | 1467|     28|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     28|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     28|        {
  ------------------
  229|       |
  230|    220|    for (int i = 0; i < n; i++)
  ------------------
  |  Branch (230:21): [True: 210, False: 10]
  ------------------
  231|    210|        if ((a[i] & pad_mask[i]) != (b[i] & pad_mask[i]))
  ------------------
  |  Branch (231:13): [True: 18, False: 192]
  ------------------
  232|     18|            HGOTO_DONE(i);
  ------------------
  |  |   91|     18|    do {                                                                                                     \
  |  |   92|     18|        ret_value = ret_val;                                                                                 \
  |  |   93|     18|        goto done;                                                                                           \
  |  |   94|     18|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  233|       |
  234|     28|done:
  235|     28|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     28|    ;                                                                                                        \
  |  | 1573|     28|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     28|    return (ret_value);                                                                                      \
  |  | 1575|     28|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  236|     28|}
H5Tinit_float.c:H5T__fix_order:
  302|      3|{
  303|      3|    herr_t ret_value = SUCCEED;
  ------------------
  |  |  283|      3|#define SUCCEED 0
  ------------------
  304|       |
  305|      3|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      3|    {                                                                                                        \
  |  | 1461|      3|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      3|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      3|                                                                                                             \
  |  |  |  | 1267|      3|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      3|        {
  ------------------
  306|       |
  307|      3|    if (last <= 0)
  ------------------
  |  Branch (307:9): [True: 0, False: 3]
  ------------------
  308|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "failed to detect byte order");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  309|       |
  310|      3|    if (perm[last] < perm[last - 1] &&
  ------------------
  |  Branch (310:9): [True: 3, False: 0]
  ------------------
  311|       |        /* Only check perm[last - 2] if we have more than 2 points to consider */
  312|      3|        ((last < 2) || (perm[last - 1] < perm[last - 2]))) {
  ------------------
  |  Branch (312:10): [True: 0, False: 3]
  |  Branch (312:24): [True: 3, False: 0]
  ------------------
  313|       |        /* Little endian */
  314|      3|        *order = H5T_ORDER_LE;
  315|     31|        for (int i = 0; i < n; i++)
  ------------------
  |  Branch (315:25): [True: 28, False: 3]
  ------------------
  316|     28|            perm[i] = i;
  317|      3|    }
  318|      0|    else if (perm[last] > perm[last - 1] &&
  ------------------
  |  Branch (318:14): [True: 0, False: 0]
  ------------------
  319|       |             /* Only check perm[last - 2] if we have more than 2 points to consider */
  320|      0|             ((last < 2) || (perm[last - 1] > perm[last - 2]))) {
  ------------------
  |  Branch (320:15): [True: 0, False: 0]
  |  Branch (320:29): [True: 0, False: 0]
  ------------------
  321|       |        /* Big endian */
  322|      0|        *order = H5T_ORDER_BE;
  323|      0|        for (int i = 0; i < n; i++)
  ------------------
  |  Branch (323:25): [True: 0, False: 0]
  ------------------
  324|      0|            perm[i] = (n - 1) - i;
  325|      0|    }
  326|      0|    else {
  327|       |        /* Undetermined endianness - defaults to 'VAX' for historical
  328|       |         * reasons, but there are other mixed-endian systems (like ARM
  329|       |         * in rare cases)
  330|       |         */
  331|      0|        if (0 != n % 2)
  ------------------
  |  Branch (331:13): [True: 0, False: 0]
  ------------------
  332|      0|            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "n is not a power of 2");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  333|       |
  334|      0|        *order = H5T_ORDER_VAX;
  335|      0|        for (int i = 0; i < n; i += 2) {
  ------------------
  |  Branch (335:25): [True: 0, False: 0]
  ------------------
  336|      0|            perm[i]     = (n - 2) - i;
  337|      0|            perm[i + 1] = (n - 1) - i;
  338|      0|        }
  339|      0|    }
  340|       |
  341|      3|done:
  342|      3|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      3|    ;                                                                                                        \
  |  | 1573|      3|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      3|    return (ret_value);                                                                                      \
  |  | 1575|      3|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  343|      3|}
H5Tinit_float.c:H5T__imp_bit:
  372|      3|{
  373|      3|    unsigned char *a = (unsigned char *)_a;
  374|      3|    unsigned char *b = (unsigned char *)_b;
  375|      3|    unsigned       changed;
  376|      3|    unsigned       major;
  377|      3|    unsigned       minor;
  378|      3|    unsigned       msmb; /* Most significant mantissa bit */
  379|      3|    herr_t         ret_value = SUCCEED;
  ------------------
  |  |  283|      3|#define SUCCEED 0
  ------------------
  380|       |
  381|      3|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      3|    {                                                                                                        \
  |  | 1461|      3|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      3|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      3|                                                                                                             \
  |  |  |  | 1267|      3|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      3|        {
  ------------------
  382|       |
  383|       |    /* Look for the least significant bit that has changed between
  384|       |     * A and B.  This is the least significant bit of the exponent.
  385|       |     */
  386|      3|    if (H5T__bit_cmp(n, perm, a, b, pad_mask, &changed) < 0)
  ------------------
  |  Branch (386:9): [True: 0, False: 3]
  ------------------
  387|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "couldn't find LSB");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  388|       |
  389|       |    /* The bit to the right (less significant) of the changed bit should
  390|       |     * be the most significant bit of the mantissa.  If it is non-zero
  391|       |     * then the format does not remove the leading `1' of the mantissa.
  392|       |     */
  393|      3|    msmb  = changed - 1;
  394|      3|    major = msmb / 8;
  395|      3|    minor = msmb % 8;
  396|       |
  397|      3|    *imp_bit = (a[perm[major]] >> minor) & 0x01 ? 0 : 1;
  ------------------
  |  Branch (397:16): [True: 1, False: 2]
  ------------------
  398|       |
  399|      3|done:
  400|      3|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      3|    ;                                                                                                        \
  |  | 1573|      3|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      3|    return (ret_value);                                                                                      \
  |  | 1575|      3|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  401|      3|}
H5Tinit_float.c:H5T__bit_cmp:
  254|      9|{
  255|      9|    unsigned char *a = (unsigned char *)_a;
  256|      9|    unsigned char *b = (unsigned char *)_b;
  257|      9|    unsigned char  aa, bb;
  258|      9|    herr_t         ret_value = SUCCEED;
  ------------------
  |  |  283|      9|#define SUCCEED 0
  ------------------
  259|       |
  260|      9|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      9|    {                                                                                                        \
  |  | 1461|      9|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      9|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      9|                                                                                                             \
  |  |  |  | 1267|      9|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      9|        {
  ------------------
  261|       |
  262|      9|    *first = 0;
  263|       |
  264|     59|    for (unsigned i = 0; i < nbytes; i++) {
  ------------------
  |  Branch (264:26): [True: 59, False: 0]
  ------------------
  265|     59|        if (perm[i] >= (int)nbytes)
  ------------------
  |  Branch (265:13): [True: 0, False: 59]
  ------------------
  266|      0|            HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "failure in bit comparison");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  267|     59|        if ((aa = (unsigned char)(a[perm[i]] & pad_mask[perm[i]])) !=
  ------------------
  |  Branch (267:13): [True: 9, False: 50]
  ------------------
  268|     59|            (bb = (unsigned char)(b[perm[i]] & pad_mask[perm[i]]))) {
  269|       |
  270|     56|            for (unsigned j = 0; j < 8; j++, aa >>= 1, bb >>= 1) {
  ------------------
  |  Branch (270:34): [True: 56, False: 0]
  ------------------
  271|     56|                if ((aa & 1) != (bb & 1)) {
  ------------------
  |  Branch (271:21): [True: 9, False: 47]
  ------------------
  272|      9|                    *first = i * 8 + j;
  273|      9|                    HGOTO_DONE(SUCCEED);
  ------------------
  |  |   91|      9|    do {                                                                                                     \
  |  |   92|      9|        ret_value = ret_val;                                                                                 \
  |  |   93|      9|        goto done;                                                                                           \
  |  |   94|      9|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  274|      9|                }
  275|     56|            }
  276|      9|        }
  277|     59|    }
  278|       |
  279|       |    /* If we got here and didn't set a value, error out */
  280|      0|    HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "didn't find a value for `first`");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  281|       |
  282|      9|done:
  283|      9|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      9|    ;                                                                                                        \
  |  | 1573|      9|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      9|    return (ret_value);                                                                                      \
  |  | 1575|      9|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  284|      0|}
H5Tinit_float.c:H5T__find_bias:
  414|      3|{
  415|      3|    unsigned char *a = (unsigned char *)_a;
  416|      3|    unsigned char  mask;
  417|      3|    unsigned       b, shift = 0, nbits, bias = 0;
  418|       |
  419|      3|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|      3|    {                                                                                                        \
  |  | 1467|      3|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|      3|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|      3|        {
  ------------------
  420|       |
  421|      9|    while (esize > 0) {
  ------------------
  |  Branch (421:12): [True: 6, False: 3]
  ------------------
  422|      6|        nbits = MIN(esize, (8 - epos % 8));
  ------------------
  |  |  293|      6|#define MIN(a, b)        (((a) < (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (293:27): [True: 3, False: 3]
  |  |  ------------------
  ------------------
  423|      6|        mask  = (unsigned char)((1 << nbits) - 1);
  424|      6|        b     = (unsigned)(a[perm[epos / 8]] >> (epos % 8)) & mask;
  425|      6|        bias |= b << shift;
  426|       |
  427|      6|        shift += nbits;
  428|      6|        esize -= nbits;
  429|      6|        epos += nbits;
  430|      6|    }
  431|       |
  432|      3|    FUNC_LEAVE_NOAPI(bias)
  ------------------
  |  | 1572|      3|    ;                                                                                                        \
  |  | 1573|      3|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      3|    return (ret_value);                                                                                      \
  |  | 1575|      3|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  433|      3|}
H5Tinit_float.c:H5T__set_precision:
  445|      3|{
  446|      3|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|      3|    {                                                                                                        \
  |  | 1467|      3|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|      3|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|      3|        {
  ------------------
  447|       |
  448|      3|    d->offset = MIN3(d->mpos, d->epos, d->sign);
  ------------------
  |  |  295|      3|#define MIN3(a, b, c)    MIN(a, MIN(b, c))
  |  |  ------------------
  |  |  |  |  293|      6|#define MIN(a, b)        (((a) < (b)) ? (a) : (b))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (293:27): [True: 3, False: 0]
  |  |  |  |  |  Branch (293:35): [True: 3, False: 0]
  |  |  |  |  |  Branch (293:48): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  449|      3|    d->prec   = d->msize + d->esize + 1;
  450|       |
  451|      3|    FUNC_LEAVE_NOAPI_VOID
  ------------------
  |  | 1578|      3|    ;                                                                                                        \
  |  | 1579|      3|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1580|      3|    return;                                                                                                  \
  |  | 1581|      3|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  452|      3|}

H5T__init_native_internal:
  975|      1|{
  976|       |    /* Here we construct a type that lets us find alignment constraints
  977|       |     * without using the alignof operator, which is not available in C99.
  978|       |     *
  979|       |     * Between each sub-struct's `char` member `c` and member `x`, the
  980|       |     * compiler must insert padding to ensure proper alignment of `x`.
  981|       |     * We can find the alignment constraint of each `x` by looking at
  982|       |     * its offset from the beginning of its sub-struct.
  983|       |     */
  984|      1|    typedef struct {
  985|      1|        struct {
  986|      1|            char        c;
  987|      1|            signed char x;
  988|      1|        } SCHAR;
  989|      1|        struct {
  990|      1|            char          c;
  991|      1|            unsigned char x;
  992|      1|        } UCHAR;
  993|      1|        struct {
  994|      1|            char  c;
  995|      1|            short x;
  996|      1|        } SHORT;
  997|      1|        struct {
  998|      1|            char           c;
  999|      1|            unsigned short x;
 1000|      1|        } USHORT;
 1001|      1|        struct {
 1002|      1|            char c;
 1003|      1|            int  x;
 1004|      1|        } INT;
 1005|      1|        struct {
 1006|      1|            char         c;
 1007|      1|            unsigned int x;
 1008|      1|        } UINT;
 1009|      1|        struct {
 1010|      1|            char c;
 1011|      1|            long x;
 1012|      1|        } LONG;
 1013|      1|        struct {
 1014|      1|            char          c;
 1015|      1|            unsigned long x;
 1016|      1|        } ULONG;
 1017|      1|        struct {
 1018|      1|            char      c;
 1019|      1|            long long x;
 1020|      1|        } LLONG;
 1021|      1|        struct {
 1022|      1|            char               c;
 1023|      1|            unsigned long long x;
 1024|      1|        } ULLONG;
 1025|      1|        struct {
 1026|      1|            char   c;
 1027|      1|            int8_t x;
 1028|      1|        } INT8;
 1029|      1|        struct {
 1030|      1|            char    c;
 1031|      1|            uint8_t x;
 1032|      1|        } UINT8;
 1033|      1|        struct {
 1034|      1|            char         c;
 1035|      1|            int_least8_t x;
 1036|      1|        } INT_LEAST8;
 1037|      1|        struct {
 1038|      1|            char          c;
 1039|      1|            uint_least8_t x;
 1040|      1|        } UINT_LEAST8;
 1041|      1|        struct {
 1042|      1|            char        c;
 1043|      1|            int_fast8_t x;
 1044|      1|        } INT_FAST8;
 1045|      1|        struct {
 1046|      1|            char         c;
 1047|      1|            uint_fast8_t x;
 1048|      1|        } UINT_FAST8;
 1049|      1|        struct {
 1050|      1|            char    c;
 1051|      1|            int16_t x;
 1052|      1|        } INT16;
 1053|      1|        struct {
 1054|      1|            char     c;
 1055|      1|            uint16_t x;
 1056|      1|        } UINT16;
 1057|      1|        struct {
 1058|      1|            char          c;
 1059|      1|            int_least16_t x;
 1060|      1|        } INT_LEAST16;
 1061|      1|        struct {
 1062|      1|            char           c;
 1063|      1|            uint_least16_t x;
 1064|      1|        } UINT_LEAST16;
 1065|      1|        struct {
 1066|      1|            char         c;
 1067|      1|            int_fast16_t x;
 1068|      1|        } INT_FAST16;
 1069|      1|        struct {
 1070|      1|            char          c;
 1071|      1|            uint_fast16_t x;
 1072|      1|        } UINT_FAST16;
 1073|      1|        struct {
 1074|      1|            char    c;
 1075|      1|            int32_t x;
 1076|      1|        } INT32;
 1077|      1|        struct {
 1078|      1|            char     c;
 1079|      1|            uint32_t x;
 1080|      1|        } UINT32;
 1081|      1|        struct {
 1082|      1|            char          c;
 1083|      1|            int_least32_t x;
 1084|      1|        } INT_LEAST32;
 1085|      1|        struct {
 1086|      1|            char           c;
 1087|      1|            uint_least32_t x;
 1088|      1|        } UINT_LEAST32;
 1089|      1|        struct {
 1090|      1|            char         c;
 1091|      1|            int_fast32_t x;
 1092|      1|        } INT_FAST32;
 1093|      1|        struct {
 1094|      1|            char          c;
 1095|      1|            uint_fast32_t x;
 1096|      1|        } UINT_FAST32;
 1097|      1|        struct {
 1098|      1|            char    c;
 1099|      1|            int64_t x;
 1100|      1|        } INT64;
 1101|      1|        struct {
 1102|      1|            char     c;
 1103|      1|            uint64_t x;
 1104|      1|        } UINT64;
 1105|      1|        struct {
 1106|      1|            char          c;
 1107|      1|            int_least64_t x;
 1108|      1|        } INT_LEAST64;
 1109|      1|        struct {
 1110|      1|            char           c;
 1111|      1|            uint_least64_t x;
 1112|      1|        } UINT_LEAST64;
 1113|      1|        struct {
 1114|      1|            char         c;
 1115|      1|            int_fast64_t x;
 1116|      1|        } INT_FAST64;
 1117|      1|        struct {
 1118|      1|            char          c;
 1119|      1|            uint_fast64_t x;
 1120|      1|        } UINT_FAST64;
 1121|      1|        struct {
 1122|      1|            char  c;
 1123|      1|            void *x;
 1124|      1|        } pointer;
 1125|      1|        struct {
 1126|      1|            char  c;
 1127|      1|            hvl_t x;
 1128|      1|        } hvl;
 1129|      1|        struct {
 1130|      1|            char       c;
 1131|      1|            hobj_ref_t x;
 1132|      1|        } hobjref;
 1133|      1|        struct {
 1134|      1|            char            c;
 1135|      1|            hdset_reg_ref_t x;
 1136|      1|        } hdsetregref;
 1137|      1|        struct {
 1138|      1|            char      c;
 1139|      1|            H5R_ref_t x;
 1140|      1|        } ref;
 1141|      1|    } alignments_t;
 1142|       |
 1143|       |    /* Describe a C99 type, `type`, and tell where to write its
 1144|       |     * H5T_t identifier and alignment.  Tables of these descriptions
 1145|       |     * drive the initialization of `H5T_t`s.
 1146|       |     */
 1147|      1|    typedef struct {
 1148|       |        /* Pointer to the global variable that receives the
 1149|       |         * alignment of `type`:
 1150|       |         */
 1151|      1|        size_t *alignmentp;
 1152|      1|        size_t  alignment; // natural alignment of `type`
 1153|       |        /* Pointer to the global variable that receives the
 1154|       |         * identifier for `type`'s H5T_t:
 1155|       |         */
 1156|      1|        hid_t       *hidp;
 1157|      1|        size_t       size;   // sizeof(`type`)
 1158|      1|        H5T_atomic_t atomic; // `type` facts such as signedness
 1159|      1|    } native_int_t;
 1160|       |
 1161|      1|    typedef struct {
 1162|      1|        const native_int_t *table;
 1163|      1|        size_t              nelmts;
 1164|      1|    } native_int_table_t;
 1165|       |
 1166|       |    /* clang-format off */
 1167|       |
 1168|       |    /* Version 19.10 of the PGI C compiler croaks on the following
 1169|       |     * tables if they are `static`, so make them `static` only if
 1170|       |     * some other compiler is used.
 1171|       |     */
 1172|       |#if defined(__PGIC__) && __PGIC__ == 19 && __PGIC_MINOR__ == 10
 1173|       |#   define static_unless_buggy_pgic
 1174|       |#else
 1175|      1|#   define static_unless_buggy_pgic static
 1176|      1|#endif
 1177|       |
 1178|       |    /* The library compiles with a limit on `static` object size, so
 1179|       |     * I broke this table into three.
 1180|       |     */
 1181|      1|    static_unless_buggy_pgic const native_int_t table1[] = {
  ------------------
  |  | 1175|      1|#   define static_unless_buggy_pgic static
  ------------------
 1182|      1|      NATIVE_ENTRY_INITIALIZER(SCHAR, signed char, 0, true)
  ------------------
  |  |  941|      1|#define NATIVE_ENTRY_INITIALIZER(tag, type, precision, has_sign) {  \
  |  |  942|      1|  .alignmentp = &H5T_NATIVE_##tag##_ALIGN_g                         \
  |  |  943|      1|, .alignment = TAG_ALIGNMENT(tag)                                   \
  |  |  ------------------
  |  |  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  |  |  ------------------
  |  |  944|      1|, .hidp = &H5T_NATIVE_##tag##_g                                     \
  |  |  945|      1|, .size = sizeof(type)                                              \
  |  |  946|      1|, .atomic = {                                                       \
  |  |  947|      1|      .offset   = 0                                                 \
  |  |  948|      1|    , .prec     = (precision != 0) ? precision : (sizeof(type) * 8) \
  |  |  ------------------
  |  |  |  Branch (948:19): [Folded - Ignored]
  |  |  ------------------
  |  |  949|      1|    , .lsb_pad  = H5T_PAD_ZERO                                      \
  |  |  950|      1|    , .msb_pad  = H5T_PAD_ZERO                                      \
  |  |  951|      1|    , .u.i.sign = has_sign ? H5T_SGN_2 : H5T_SGN_NONE               \
  |  |  ------------------
  |  |  |  Branch (951:19): [Folded - Ignored]
  |  |  ------------------
  |  |  952|      1|    }                                                               \
  |  |  953|      1|}
  ------------------
 1183|      1|    , NATIVE_ENTRY_INITIALIZER(UCHAR, unsigned char, 0, false)
  ------------------
  |  |  941|      1|#define NATIVE_ENTRY_INITIALIZER(tag, type, precision, has_sign) {  \
  |  |  942|      1|  .alignmentp = &H5T_NATIVE_##tag##_ALIGN_g                         \
  |  |  943|      1|, .alignment = TAG_ALIGNMENT(tag)                                   \
  |  |  ------------------
  |  |  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  |  |  ------------------
  |  |  944|      1|, .hidp = &H5T_NATIVE_##tag##_g                                     \
  |  |  945|      1|, .size = sizeof(type)                                              \
  |  |  946|      1|, .atomic = {                                                       \
  |  |  947|      1|      .offset   = 0                                                 \
  |  |  948|      1|    , .prec     = (precision != 0) ? precision : (sizeof(type) * 8) \
  |  |  ------------------
  |  |  |  Branch (948:19): [Folded - Ignored]
  |  |  ------------------
  |  |  949|      1|    , .lsb_pad  = H5T_PAD_ZERO                                      \
  |  |  950|      1|    , .msb_pad  = H5T_PAD_ZERO                                      \
  |  |  951|      1|    , .u.i.sign = has_sign ? H5T_SGN_2 : H5T_SGN_NONE               \
  |  |  ------------------
  |  |  |  Branch (951:19): [Folded - Ignored]
  |  |  ------------------
  |  |  952|      1|    }                                                               \
  |  |  953|      1|}
  ------------------
 1184|      1|    , NATIVE_ENTRY_INITIALIZER(SHORT, short, 0, true)
  ------------------
  |  |  941|      1|#define NATIVE_ENTRY_INITIALIZER(tag, type, precision, has_sign) {  \
  |  |  942|      1|  .alignmentp = &H5T_NATIVE_##tag##_ALIGN_g                         \
  |  |  943|      1|, .alignment = TAG_ALIGNMENT(tag)                                   \
  |  |  ------------------
  |  |  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  |  |  ------------------
  |  |  944|      1|, .hidp = &H5T_NATIVE_##tag##_g                                     \
  |  |  945|      1|, .size = sizeof(type)                                              \
  |  |  946|      1|, .atomic = {                                                       \
  |  |  947|      1|      .offset   = 0                                                 \
  |  |  948|      1|    , .prec     = (precision != 0) ? precision : (sizeof(type) * 8) \
  |  |  ------------------
  |  |  |  Branch (948:19): [Folded - Ignored]
  |  |  ------------------
  |  |  949|      1|    , .lsb_pad  = H5T_PAD_ZERO                                      \
  |  |  950|      1|    , .msb_pad  = H5T_PAD_ZERO                                      \
  |  |  951|      1|    , .u.i.sign = has_sign ? H5T_SGN_2 : H5T_SGN_NONE               \
  |  |  ------------------
  |  |  |  Branch (951:19): [Folded - Ignored]
  |  |  ------------------
  |  |  952|      1|    }                                                               \
  |  |  953|      1|}
  ------------------
 1185|      1|    , NATIVE_ENTRY_INITIALIZER(USHORT, unsigned short, 0, false)
  ------------------
  |  |  941|      1|#define NATIVE_ENTRY_INITIALIZER(tag, type, precision, has_sign) {  \
  |  |  942|      1|  .alignmentp = &H5T_NATIVE_##tag##_ALIGN_g                         \
  |  |  943|      1|, .alignment = TAG_ALIGNMENT(tag)                                   \
  |  |  ------------------
  |  |  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  |  |  ------------------
  |  |  944|      1|, .hidp = &H5T_NATIVE_##tag##_g                                     \
  |  |  945|      1|, .size = sizeof(type)                                              \
  |  |  946|      1|, .atomic = {                                                       \
  |  |  947|      1|      .offset   = 0                                                 \
  |  |  948|      1|    , .prec     = (precision != 0) ? precision : (sizeof(type) * 8) \
  |  |  ------------------
  |  |  |  Branch (948:19): [Folded - Ignored]
  |  |  ------------------
  |  |  949|      1|    , .lsb_pad  = H5T_PAD_ZERO                                      \
  |  |  950|      1|    , .msb_pad  = H5T_PAD_ZERO                                      \
  |  |  951|      1|    , .u.i.sign = has_sign ? H5T_SGN_2 : H5T_SGN_NONE               \
  |  |  ------------------
  |  |  |  Branch (951:19): [Folded - Ignored]
  |  |  ------------------
  |  |  952|      1|    }                                                               \
  |  |  953|      1|}
  ------------------
 1186|      1|    , NATIVE_ENTRY_INITIALIZER(INT, int, 0, true)
  ------------------
  |  |  941|      1|#define NATIVE_ENTRY_INITIALIZER(tag, type, precision, has_sign) {  \
  |  |  942|      1|  .alignmentp = &H5T_NATIVE_##tag##_ALIGN_g                         \
  |  |  943|      1|, .alignment = TAG_ALIGNMENT(tag)                                   \
  |  |  ------------------
  |  |  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  |  |  ------------------
  |  |  944|      1|, .hidp = &H5T_NATIVE_##tag##_g                                     \
  |  |  945|      1|, .size = sizeof(type)                                              \
  |  |  946|      1|, .atomic = {                                                       \
  |  |  947|      1|      .offset   = 0                                                 \
  |  |  948|      1|    , .prec     = (precision != 0) ? precision : (sizeof(type) * 8) \
  |  |  ------------------
  |  |  |  Branch (948:19): [Folded - Ignored]
  |  |  ------------------
  |  |  949|      1|    , .lsb_pad  = H5T_PAD_ZERO                                      \
  |  |  950|      1|    , .msb_pad  = H5T_PAD_ZERO                                      \
  |  |  951|      1|    , .u.i.sign = has_sign ? H5T_SGN_2 : H5T_SGN_NONE               \
  |  |  ------------------
  |  |  |  Branch (951:19): [Folded - Ignored]
  |  |  ------------------
  |  |  952|      1|    }                                                               \
  |  |  953|      1|}
  ------------------
 1187|      1|    , NATIVE_ENTRY_INITIALIZER(UINT, unsigned int, 0, false)
  ------------------
  |  |  941|      1|#define NATIVE_ENTRY_INITIALIZER(tag, type, precision, has_sign) {  \
  |  |  942|      1|  .alignmentp = &H5T_NATIVE_##tag##_ALIGN_g                         \
  |  |  943|      1|, .alignment = TAG_ALIGNMENT(tag)                                   \
  |  |  ------------------
  |  |  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  |  |  ------------------
  |  |  944|      1|, .hidp = &H5T_NATIVE_##tag##_g                                     \
  |  |  945|      1|, .size = sizeof(type)                                              \
  |  |  946|      1|, .atomic = {                                                       \
  |  |  947|      1|      .offset   = 0                                                 \
  |  |  948|      1|    , .prec     = (precision != 0) ? precision : (sizeof(type) * 8) \
  |  |  ------------------
  |  |  |  Branch (948:19): [Folded - Ignored]
  |  |  ------------------
  |  |  949|      1|    , .lsb_pad  = H5T_PAD_ZERO                                      \
  |  |  950|      1|    , .msb_pad  = H5T_PAD_ZERO                                      \
  |  |  951|      1|    , .u.i.sign = has_sign ? H5T_SGN_2 : H5T_SGN_NONE               \
  |  |  ------------------
  |  |  |  Branch (951:19): [Folded - Ignored]
  |  |  ------------------
  |  |  952|      1|    }                                                               \
  |  |  953|      1|}
  ------------------
 1188|      1|    , NATIVE_ENTRY_INITIALIZER(INT, int, 0, true)
  ------------------
  |  |  941|      1|#define NATIVE_ENTRY_INITIALIZER(tag, type, precision, has_sign) {  \
  |  |  942|      1|  .alignmentp = &H5T_NATIVE_##tag##_ALIGN_g                         \
  |  |  943|      1|, .alignment = TAG_ALIGNMENT(tag)                                   \
  |  |  ------------------
  |  |  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  |  |  ------------------
  |  |  944|      1|, .hidp = &H5T_NATIVE_##tag##_g                                     \
  |  |  945|      1|, .size = sizeof(type)                                              \
  |  |  946|      1|, .atomic = {                                                       \
  |  |  947|      1|      .offset   = 0                                                 \
  |  |  948|      1|    , .prec     = (precision != 0) ? precision : (sizeof(type) * 8) \
  |  |  ------------------
  |  |  |  Branch (948:19): [Folded - Ignored]
  |  |  ------------------
  |  |  949|      1|    , .lsb_pad  = H5T_PAD_ZERO                                      \
  |  |  950|      1|    , .msb_pad  = H5T_PAD_ZERO                                      \
  |  |  951|      1|    , .u.i.sign = has_sign ? H5T_SGN_2 : H5T_SGN_NONE               \
  |  |  ------------------
  |  |  |  Branch (951:19): [Folded - Ignored]
  |  |  ------------------
  |  |  952|      1|    }                                                               \
  |  |  953|      1|}
  ------------------
 1189|      1|    , NATIVE_ENTRY_INITIALIZER(UINT, unsigned int, 0, false)
  ------------------
  |  |  941|      1|#define NATIVE_ENTRY_INITIALIZER(tag, type, precision, has_sign) {  \
  |  |  942|      1|  .alignmentp = &H5T_NATIVE_##tag##_ALIGN_g                         \
  |  |  943|      1|, .alignment = TAG_ALIGNMENT(tag)                                   \
  |  |  ------------------
  |  |  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  |  |  ------------------
  |  |  944|      1|, .hidp = &H5T_NATIVE_##tag##_g                                     \
  |  |  945|      1|, .size = sizeof(type)                                              \
  |  |  946|      1|, .atomic = {                                                       \
  |  |  947|      1|      .offset   = 0                                                 \
  |  |  948|      1|    , .prec     = (precision != 0) ? precision : (sizeof(type) * 8) \
  |  |  ------------------
  |  |  |  Branch (948:19): [Folded - Ignored]
  |  |  ------------------
  |  |  949|      1|    , .lsb_pad  = H5T_PAD_ZERO                                      \
  |  |  950|      1|    , .msb_pad  = H5T_PAD_ZERO                                      \
  |  |  951|      1|    , .u.i.sign = has_sign ? H5T_SGN_2 : H5T_SGN_NONE               \
  |  |  ------------------
  |  |  |  Branch (951:19): [Folded - Ignored]
  |  |  ------------------
  |  |  952|      1|    }                                                               \
  |  |  953|      1|}
  ------------------
 1190|      1|    , NATIVE_ENTRY_INITIALIZER(LONG, long, 0, true)
  ------------------
  |  |  941|      1|#define NATIVE_ENTRY_INITIALIZER(tag, type, precision, has_sign) {  \
  |  |  942|      1|  .alignmentp = &H5T_NATIVE_##tag##_ALIGN_g                         \
  |  |  943|      1|, .alignment = TAG_ALIGNMENT(tag)                                   \
  |  |  ------------------
  |  |  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  |  |  ------------------
  |  |  944|      1|, .hidp = &H5T_NATIVE_##tag##_g                                     \
  |  |  945|      1|, .size = sizeof(type)                                              \
  |  |  946|      1|, .atomic = {                                                       \
  |  |  947|      1|      .offset   = 0                                                 \
  |  |  948|      1|    , .prec     = (precision != 0) ? precision : (sizeof(type) * 8) \
  |  |  ------------------
  |  |  |  Branch (948:19): [Folded - Ignored]
  |  |  ------------------
  |  |  949|      1|    , .lsb_pad  = H5T_PAD_ZERO                                      \
  |  |  950|      1|    , .msb_pad  = H5T_PAD_ZERO                                      \
  |  |  951|      1|    , .u.i.sign = has_sign ? H5T_SGN_2 : H5T_SGN_NONE               \
  |  |  ------------------
  |  |  |  Branch (951:19): [Folded - Ignored]
  |  |  ------------------
  |  |  952|      1|    }                                                               \
  |  |  953|      1|}
  ------------------
 1191|      1|    , NATIVE_ENTRY_INITIALIZER(ULONG, unsigned long, 0, false)
  ------------------
  |  |  941|      1|#define NATIVE_ENTRY_INITIALIZER(tag, type, precision, has_sign) {  \
  |  |  942|      1|  .alignmentp = &H5T_NATIVE_##tag##_ALIGN_g                         \
  |  |  943|      1|, .alignment = TAG_ALIGNMENT(tag)                                   \
  |  |  ------------------
  |  |  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  |  |  ------------------
  |  |  944|      1|, .hidp = &H5T_NATIVE_##tag##_g                                     \
  |  |  945|      1|, .size = sizeof(type)                                              \
  |  |  946|      1|, .atomic = {                                                       \
  |  |  947|      1|      .offset   = 0                                                 \
  |  |  948|      1|    , .prec     = (precision != 0) ? precision : (sizeof(type) * 8) \
  |  |  ------------------
  |  |  |  Branch (948:19): [Folded - Ignored]
  |  |  ------------------
  |  |  949|      1|    , .lsb_pad  = H5T_PAD_ZERO                                      \
  |  |  950|      1|    , .msb_pad  = H5T_PAD_ZERO                                      \
  |  |  951|      1|    , .u.i.sign = has_sign ? H5T_SGN_2 : H5T_SGN_NONE               \
  |  |  ------------------
  |  |  |  Branch (951:19): [Folded - Ignored]
  |  |  ------------------
  |  |  952|      1|    }                                                               \
  |  |  953|      1|}
  ------------------
 1192|      1|    , NATIVE_ENTRY_INITIALIZER(LLONG, long long, 0, true)
  ------------------
  |  |  941|      1|#define NATIVE_ENTRY_INITIALIZER(tag, type, precision, has_sign) {  \
  |  |  942|      1|  .alignmentp = &H5T_NATIVE_##tag##_ALIGN_g                         \
  |  |  943|      1|, .alignment = TAG_ALIGNMENT(tag)                                   \
  |  |  ------------------
  |  |  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  |  |  ------------------
  |  |  944|      1|, .hidp = &H5T_NATIVE_##tag##_g                                     \
  |  |  945|      1|, .size = sizeof(type)                                              \
  |  |  946|      1|, .atomic = {                                                       \
  |  |  947|      1|      .offset   = 0                                                 \
  |  |  948|      1|    , .prec     = (precision != 0) ? precision : (sizeof(type) * 8) \
  |  |  ------------------
  |  |  |  Branch (948:19): [Folded - Ignored]
  |  |  ------------------
  |  |  949|      1|    , .lsb_pad  = H5T_PAD_ZERO                                      \
  |  |  950|      1|    , .msb_pad  = H5T_PAD_ZERO                                      \
  |  |  951|      1|    , .u.i.sign = has_sign ? H5T_SGN_2 : H5T_SGN_NONE               \
  |  |  ------------------
  |  |  |  Branch (951:19): [Folded - Ignored]
  |  |  ------------------
  |  |  952|      1|    }                                                               \
  |  |  953|      1|}
  ------------------
 1193|      1|    , NATIVE_ENTRY_INITIALIZER(ULLONG, unsigned long long, 0, false)
  ------------------
  |  |  941|      1|#define NATIVE_ENTRY_INITIALIZER(tag, type, precision, has_sign) {  \
  |  |  942|      1|  .alignmentp = &H5T_NATIVE_##tag##_ALIGN_g                         \
  |  |  943|      1|, .alignment = TAG_ALIGNMENT(tag)                                   \
  |  |  ------------------
  |  |  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  |  |  ------------------
  |  |  944|      1|, .hidp = &H5T_NATIVE_##tag##_g                                     \
  |  |  945|      1|, .size = sizeof(type)                                              \
  |  |  946|      1|, .atomic = {                                                       \
  |  |  947|      1|      .offset   = 0                                                 \
  |  |  948|      1|    , .prec     = (precision != 0) ? precision : (sizeof(type) * 8) \
  |  |  ------------------
  |  |  |  Branch (948:19): [Folded - Ignored]
  |  |  ------------------
  |  |  949|      1|    , .lsb_pad  = H5T_PAD_ZERO                                      \
  |  |  950|      1|    , .msb_pad  = H5T_PAD_ZERO                                      \
  |  |  951|      1|    , .u.i.sign = has_sign ? H5T_SGN_2 : H5T_SGN_NONE               \
  |  |  ------------------
  |  |  |  Branch (951:19): [Folded - Ignored]
  |  |  ------------------
  |  |  952|      1|    }                                                               \
  |  |  953|      1|}
  ------------------
 1194|      1|    };
 1195|      1|    static_unless_buggy_pgic const native_int_t table2[] = {
  ------------------
  |  | 1175|      1|#   define static_unless_buggy_pgic static
  ------------------
 1196|      1|      NATIVE_ENTRY_INITIALIZER(INT8, int8_t, 0, true)
  ------------------
  |  |  941|      1|#define NATIVE_ENTRY_INITIALIZER(tag, type, precision, has_sign) {  \
  |  |  942|      1|  .alignmentp = &H5T_NATIVE_##tag##_ALIGN_g                         \
  |  |  943|      1|, .alignment = TAG_ALIGNMENT(tag)                                   \
  |  |  ------------------
  |  |  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  |  |  ------------------
  |  |  944|      1|, .hidp = &H5T_NATIVE_##tag##_g                                     \
  |  |  945|      1|, .size = sizeof(type)                                              \
  |  |  946|      1|, .atomic = {                                                       \
  |  |  947|      1|      .offset   = 0                                                 \
  |  |  948|      1|    , .prec     = (precision != 0) ? precision : (sizeof(type) * 8) \
  |  |  ------------------
  |  |  |  Branch (948:19): [Folded - Ignored]
  |  |  ------------------
  |  |  949|      1|    , .lsb_pad  = H5T_PAD_ZERO                                      \
  |  |  950|      1|    , .msb_pad  = H5T_PAD_ZERO                                      \
  |  |  951|      1|    , .u.i.sign = has_sign ? H5T_SGN_2 : H5T_SGN_NONE               \
  |  |  ------------------
  |  |  |  Branch (951:19): [Folded - Ignored]
  |  |  ------------------
  |  |  952|      1|    }                                                               \
  |  |  953|      1|}
  ------------------
 1197|      1|    , NATIVE_ENTRY_INITIALIZER(UINT8, uint8_t, 0, false)
  ------------------
  |  |  941|      1|#define NATIVE_ENTRY_INITIALIZER(tag, type, precision, has_sign) {  \
  |  |  942|      1|  .alignmentp = &H5T_NATIVE_##tag##_ALIGN_g                         \
  |  |  943|      1|, .alignment = TAG_ALIGNMENT(tag)                                   \
  |  |  ------------------
  |  |  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  |  |  ------------------
  |  |  944|      1|, .hidp = &H5T_NATIVE_##tag##_g                                     \
  |  |  945|      1|, .size = sizeof(type)                                              \
  |  |  946|      1|, .atomic = {                                                       \
  |  |  947|      1|      .offset   = 0                                                 \
  |  |  948|      1|    , .prec     = (precision != 0) ? precision : (sizeof(type) * 8) \
  |  |  ------------------
  |  |  |  Branch (948:19): [Folded - Ignored]
  |  |  ------------------
  |  |  949|      1|    , .lsb_pad  = H5T_PAD_ZERO                                      \
  |  |  950|      1|    , .msb_pad  = H5T_PAD_ZERO                                      \
  |  |  951|      1|    , .u.i.sign = has_sign ? H5T_SGN_2 : H5T_SGN_NONE               \
  |  |  ------------------
  |  |  |  Branch (951:19): [Folded - Ignored]
  |  |  ------------------
  |  |  952|      1|    }                                                               \
  |  |  953|      1|}
  ------------------
 1198|      1|    , NATIVE_ENTRY_INITIALIZER(INT_LEAST8, int_least8_t, 0, true)
  ------------------
  |  |  941|      1|#define NATIVE_ENTRY_INITIALIZER(tag, type, precision, has_sign) {  \
  |  |  942|      1|  .alignmentp = &H5T_NATIVE_##tag##_ALIGN_g                         \
  |  |  943|      1|, .alignment = TAG_ALIGNMENT(tag)                                   \
  |  |  ------------------
  |  |  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  |  |  ------------------
  |  |  944|      1|, .hidp = &H5T_NATIVE_##tag##_g                                     \
  |  |  945|      1|, .size = sizeof(type)                                              \
  |  |  946|      1|, .atomic = {                                                       \
  |  |  947|      1|      .offset   = 0                                                 \
  |  |  948|      1|    , .prec     = (precision != 0) ? precision : (sizeof(type) * 8) \
  |  |  ------------------
  |  |  |  Branch (948:19): [Folded - Ignored]
  |  |  ------------------
  |  |  949|      1|    , .lsb_pad  = H5T_PAD_ZERO                                      \
  |  |  950|      1|    , .msb_pad  = H5T_PAD_ZERO                                      \
  |  |  951|      1|    , .u.i.sign = has_sign ? H5T_SGN_2 : H5T_SGN_NONE               \
  |  |  ------------------
  |  |  |  Branch (951:19): [Folded - Ignored]
  |  |  ------------------
  |  |  952|      1|    }                                                               \
  |  |  953|      1|}
  ------------------
 1199|      1|    , NATIVE_ENTRY_INITIALIZER(UINT_LEAST8, uint_least8_t, 0, false)
  ------------------
  |  |  941|      1|#define NATIVE_ENTRY_INITIALIZER(tag, type, precision, has_sign) {  \
  |  |  942|      1|  .alignmentp = &H5T_NATIVE_##tag##_ALIGN_g                         \
  |  |  943|      1|, .alignment = TAG_ALIGNMENT(tag)                                   \
  |  |  ------------------
  |  |  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  |  |  ------------------
  |  |  944|      1|, .hidp = &H5T_NATIVE_##tag##_g                                     \
  |  |  945|      1|, .size = sizeof(type)                                              \
  |  |  946|      1|, .atomic = {                                                       \
  |  |  947|      1|      .offset   = 0                                                 \
  |  |  948|      1|    , .prec     = (precision != 0) ? precision : (sizeof(type) * 8) \
  |  |  ------------------
  |  |  |  Branch (948:19): [Folded - Ignored]
  |  |  ------------------
  |  |  949|      1|    , .lsb_pad  = H5T_PAD_ZERO                                      \
  |  |  950|      1|    , .msb_pad  = H5T_PAD_ZERO                                      \
  |  |  951|      1|    , .u.i.sign = has_sign ? H5T_SGN_2 : H5T_SGN_NONE               \
  |  |  ------------------
  |  |  |  Branch (951:19): [Folded - Ignored]
  |  |  ------------------
  |  |  952|      1|    }                                                               \
  |  |  953|      1|}
  ------------------
 1200|      1|    , NATIVE_ENTRY_INITIALIZER(INT_FAST8, int_fast8_t, 0, true)
  ------------------
  |  |  941|      1|#define NATIVE_ENTRY_INITIALIZER(tag, type, precision, has_sign) {  \
  |  |  942|      1|  .alignmentp = &H5T_NATIVE_##tag##_ALIGN_g                         \
  |  |  943|      1|, .alignment = TAG_ALIGNMENT(tag)                                   \
  |  |  ------------------
  |  |  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  |  |  ------------------
  |  |  944|      1|, .hidp = &H5T_NATIVE_##tag##_g                                     \
  |  |  945|      1|, .size = sizeof(type)                                              \
  |  |  946|      1|, .atomic = {                                                       \
  |  |  947|      1|      .offset   = 0                                                 \
  |  |  948|      1|    , .prec     = (precision != 0) ? precision : (sizeof(type) * 8) \
  |  |  ------------------
  |  |  |  Branch (948:19): [Folded - Ignored]
  |  |  ------------------
  |  |  949|      1|    , .lsb_pad  = H5T_PAD_ZERO                                      \
  |  |  950|      1|    , .msb_pad  = H5T_PAD_ZERO                                      \
  |  |  951|      1|    , .u.i.sign = has_sign ? H5T_SGN_2 : H5T_SGN_NONE               \
  |  |  ------------------
  |  |  |  Branch (951:19): [Folded - Ignored]
  |  |  ------------------
  |  |  952|      1|    }                                                               \
  |  |  953|      1|}
  ------------------
 1201|      1|    , NATIVE_ENTRY_INITIALIZER(UINT_FAST8, uint_fast8_t, 0, false)
  ------------------
  |  |  941|      1|#define NATIVE_ENTRY_INITIALIZER(tag, type, precision, has_sign) {  \
  |  |  942|      1|  .alignmentp = &H5T_NATIVE_##tag##_ALIGN_g                         \
  |  |  943|      1|, .alignment = TAG_ALIGNMENT(tag)                                   \
  |  |  ------------------
  |  |  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  |  |  ------------------
  |  |  944|      1|, .hidp = &H5T_NATIVE_##tag##_g                                     \
  |  |  945|      1|, .size = sizeof(type)                                              \
  |  |  946|      1|, .atomic = {                                                       \
  |  |  947|      1|      .offset   = 0                                                 \
  |  |  948|      1|    , .prec     = (precision != 0) ? precision : (sizeof(type) * 8) \
  |  |  ------------------
  |  |  |  Branch (948:19): [Folded - Ignored]
  |  |  ------------------
  |  |  949|      1|    , .lsb_pad  = H5T_PAD_ZERO                                      \
  |  |  950|      1|    , .msb_pad  = H5T_PAD_ZERO                                      \
  |  |  951|      1|    , .u.i.sign = has_sign ? H5T_SGN_2 : H5T_SGN_NONE               \
  |  |  ------------------
  |  |  |  Branch (951:19): [Folded - Ignored]
  |  |  ------------------
  |  |  952|      1|    }                                                               \
  |  |  953|      1|}
  ------------------
 1202|      1|    , NATIVE_ENTRY_INITIALIZER(INT16, int16_t, 0, true)
  ------------------
  |  |  941|      1|#define NATIVE_ENTRY_INITIALIZER(tag, type, precision, has_sign) {  \
  |  |  942|      1|  .alignmentp = &H5T_NATIVE_##tag##_ALIGN_g                         \
  |  |  943|      1|, .alignment = TAG_ALIGNMENT(tag)                                   \
  |  |  ------------------
  |  |  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  |  |  ------------------
  |  |  944|      1|, .hidp = &H5T_NATIVE_##tag##_g                                     \
  |  |  945|      1|, .size = sizeof(type)                                              \
  |  |  946|      1|, .atomic = {                                                       \
  |  |  947|      1|      .offset   = 0                                                 \
  |  |  948|      1|    , .prec     = (precision != 0) ? precision : (sizeof(type) * 8) \
  |  |  ------------------
  |  |  |  Branch (948:19): [Folded - Ignored]
  |  |  ------------------
  |  |  949|      1|    , .lsb_pad  = H5T_PAD_ZERO                                      \
  |  |  950|      1|    , .msb_pad  = H5T_PAD_ZERO                                      \
  |  |  951|      1|    , .u.i.sign = has_sign ? H5T_SGN_2 : H5T_SGN_NONE               \
  |  |  ------------------
  |  |  |  Branch (951:19): [Folded - Ignored]
  |  |  ------------------
  |  |  952|      1|    }                                                               \
  |  |  953|      1|}
  ------------------
 1203|      1|    , NATIVE_ENTRY_INITIALIZER(UINT16, uint16_t, 0, false)
  ------------------
  |  |  941|      1|#define NATIVE_ENTRY_INITIALIZER(tag, type, precision, has_sign) {  \
  |  |  942|      1|  .alignmentp = &H5T_NATIVE_##tag##_ALIGN_g                         \
  |  |  943|      1|, .alignment = TAG_ALIGNMENT(tag)                                   \
  |  |  ------------------
  |  |  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  |  |  ------------------
  |  |  944|      1|, .hidp = &H5T_NATIVE_##tag##_g                                     \
  |  |  945|      1|, .size = sizeof(type)                                              \
  |  |  946|      1|, .atomic = {                                                       \
  |  |  947|      1|      .offset   = 0                                                 \
  |  |  948|      1|    , .prec     = (precision != 0) ? precision : (sizeof(type) * 8) \
  |  |  ------------------
  |  |  |  Branch (948:19): [Folded - Ignored]
  |  |  ------------------
  |  |  949|      1|    , .lsb_pad  = H5T_PAD_ZERO                                      \
  |  |  950|      1|    , .msb_pad  = H5T_PAD_ZERO                                      \
  |  |  951|      1|    , .u.i.sign = has_sign ? H5T_SGN_2 : H5T_SGN_NONE               \
  |  |  ------------------
  |  |  |  Branch (951:19): [Folded - Ignored]
  |  |  ------------------
  |  |  952|      1|    }                                                               \
  |  |  953|      1|}
  ------------------
 1204|      1|    , NATIVE_ENTRY_INITIALIZER(INT_LEAST16, int_least16_t, 0, true)
  ------------------
  |  |  941|      1|#define NATIVE_ENTRY_INITIALIZER(tag, type, precision, has_sign) {  \
  |  |  942|      1|  .alignmentp = &H5T_NATIVE_##tag##_ALIGN_g                         \
  |  |  943|      1|, .alignment = TAG_ALIGNMENT(tag)                                   \
  |  |  ------------------
  |  |  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  |  |  ------------------
  |  |  944|      1|, .hidp = &H5T_NATIVE_##tag##_g                                     \
  |  |  945|      1|, .size = sizeof(type)                                              \
  |  |  946|      1|, .atomic = {                                                       \
  |  |  947|      1|      .offset   = 0                                                 \
  |  |  948|      1|    , .prec     = (precision != 0) ? precision : (sizeof(type) * 8) \
  |  |  ------------------
  |  |  |  Branch (948:19): [Folded - Ignored]
  |  |  ------------------
  |  |  949|      1|    , .lsb_pad  = H5T_PAD_ZERO                                      \
  |  |  950|      1|    , .msb_pad  = H5T_PAD_ZERO                                      \
  |  |  951|      1|    , .u.i.sign = has_sign ? H5T_SGN_2 : H5T_SGN_NONE               \
  |  |  ------------------
  |  |  |  Branch (951:19): [Folded - Ignored]
  |  |  ------------------
  |  |  952|      1|    }                                                               \
  |  |  953|      1|}
  ------------------
 1205|      1|    , NATIVE_ENTRY_INITIALIZER(UINT_LEAST16, uint_least16_t, 0, false)
  ------------------
  |  |  941|      1|#define NATIVE_ENTRY_INITIALIZER(tag, type, precision, has_sign) {  \
  |  |  942|      1|  .alignmentp = &H5T_NATIVE_##tag##_ALIGN_g                         \
  |  |  943|      1|, .alignment = TAG_ALIGNMENT(tag)                                   \
  |  |  ------------------
  |  |  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  |  |  ------------------
  |  |  944|      1|, .hidp = &H5T_NATIVE_##tag##_g                                     \
  |  |  945|      1|, .size = sizeof(type)                                              \
  |  |  946|      1|, .atomic = {                                                       \
  |  |  947|      1|      .offset   = 0                                                 \
  |  |  948|      1|    , .prec     = (precision != 0) ? precision : (sizeof(type) * 8) \
  |  |  ------------------
  |  |  |  Branch (948:19): [Folded - Ignored]
  |  |  ------------------
  |  |  949|      1|    , .lsb_pad  = H5T_PAD_ZERO                                      \
  |  |  950|      1|    , .msb_pad  = H5T_PAD_ZERO                                      \
  |  |  951|      1|    , .u.i.sign = has_sign ? H5T_SGN_2 : H5T_SGN_NONE               \
  |  |  ------------------
  |  |  |  Branch (951:19): [Folded - Ignored]
  |  |  ------------------
  |  |  952|      1|    }                                                               \
  |  |  953|      1|}
  ------------------
 1206|      1|    , NATIVE_ENTRY_INITIALIZER(INT_FAST16, int_fast16_t, 0, true)
  ------------------
  |  |  941|      1|#define NATIVE_ENTRY_INITIALIZER(tag, type, precision, has_sign) {  \
  |  |  942|      1|  .alignmentp = &H5T_NATIVE_##tag##_ALIGN_g                         \
  |  |  943|      1|, .alignment = TAG_ALIGNMENT(tag)                                   \
  |  |  ------------------
  |  |  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  |  |  ------------------
  |  |  944|      1|, .hidp = &H5T_NATIVE_##tag##_g                                     \
  |  |  945|      1|, .size = sizeof(type)                                              \
  |  |  946|      1|, .atomic = {                                                       \
  |  |  947|      1|      .offset   = 0                                                 \
  |  |  948|      1|    , .prec     = (precision != 0) ? precision : (sizeof(type) * 8) \
  |  |  ------------------
  |  |  |  Branch (948:19): [Folded - Ignored]
  |  |  ------------------
  |  |  949|      1|    , .lsb_pad  = H5T_PAD_ZERO                                      \
  |  |  950|      1|    , .msb_pad  = H5T_PAD_ZERO                                      \
  |  |  951|      1|    , .u.i.sign = has_sign ? H5T_SGN_2 : H5T_SGN_NONE               \
  |  |  ------------------
  |  |  |  Branch (951:19): [Folded - Ignored]
  |  |  ------------------
  |  |  952|      1|    }                                                               \
  |  |  953|      1|}
  ------------------
 1207|      1|    , NATIVE_ENTRY_INITIALIZER(UINT_FAST16, uint_fast16_t, 0, false)
  ------------------
  |  |  941|      1|#define NATIVE_ENTRY_INITIALIZER(tag, type, precision, has_sign) {  \
  |  |  942|      1|  .alignmentp = &H5T_NATIVE_##tag##_ALIGN_g                         \
  |  |  943|      1|, .alignment = TAG_ALIGNMENT(tag)                                   \
  |  |  ------------------
  |  |  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  |  |  ------------------
  |  |  944|      1|, .hidp = &H5T_NATIVE_##tag##_g                                     \
  |  |  945|      1|, .size = sizeof(type)                                              \
  |  |  946|      1|, .atomic = {                                                       \
  |  |  947|      1|      .offset   = 0                                                 \
  |  |  948|      1|    , .prec     = (precision != 0) ? precision : (sizeof(type) * 8) \
  |  |  ------------------
  |  |  |  Branch (948:19): [Folded - Ignored]
  |  |  ------------------
  |  |  949|      1|    , .lsb_pad  = H5T_PAD_ZERO                                      \
  |  |  950|      1|    , .msb_pad  = H5T_PAD_ZERO                                      \
  |  |  951|      1|    , .u.i.sign = has_sign ? H5T_SGN_2 : H5T_SGN_NONE               \
  |  |  ------------------
  |  |  |  Branch (951:19): [Folded - Ignored]
  |  |  ------------------
  |  |  952|      1|    }                                                               \
  |  |  953|      1|}
  ------------------
 1208|      1|    };
 1209|      1|    static_unless_buggy_pgic const native_int_t table3[] = {
  ------------------
  |  | 1175|      1|#   define static_unless_buggy_pgic static
  ------------------
 1210|      1|      NATIVE_ENTRY_INITIALIZER(INT32, int32_t, 0, true)
  ------------------
  |  |  941|      1|#define NATIVE_ENTRY_INITIALIZER(tag, type, precision, has_sign) {  \
  |  |  942|      1|  .alignmentp = &H5T_NATIVE_##tag##_ALIGN_g                         \
  |  |  943|      1|, .alignment = TAG_ALIGNMENT(tag)                                   \
  |  |  ------------------
  |  |  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  |  |  ------------------
  |  |  944|      1|, .hidp = &H5T_NATIVE_##tag##_g                                     \
  |  |  945|      1|, .size = sizeof(type)                                              \
  |  |  946|      1|, .atomic = {                                                       \
  |  |  947|      1|      .offset   = 0                                                 \
  |  |  948|      1|    , .prec     = (precision != 0) ? precision : (sizeof(type) * 8) \
  |  |  ------------------
  |  |  |  Branch (948:19): [Folded - Ignored]
  |  |  ------------------
  |  |  949|      1|    , .lsb_pad  = H5T_PAD_ZERO                                      \
  |  |  950|      1|    , .msb_pad  = H5T_PAD_ZERO                                      \
  |  |  951|      1|    , .u.i.sign = has_sign ? H5T_SGN_2 : H5T_SGN_NONE               \
  |  |  ------------------
  |  |  |  Branch (951:19): [Folded - Ignored]
  |  |  ------------------
  |  |  952|      1|    }                                                               \
  |  |  953|      1|}
  ------------------
 1211|      1|    , NATIVE_ENTRY_INITIALIZER(UINT32, uint32_t, 0, false)
  ------------------
  |  |  941|      1|#define NATIVE_ENTRY_INITIALIZER(tag, type, precision, has_sign) {  \
  |  |  942|      1|  .alignmentp = &H5T_NATIVE_##tag##_ALIGN_g                         \
  |  |  943|      1|, .alignment = TAG_ALIGNMENT(tag)                                   \
  |  |  ------------------
  |  |  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  |  |  ------------------
  |  |  944|      1|, .hidp = &H5T_NATIVE_##tag##_g                                     \
  |  |  945|      1|, .size = sizeof(type)                                              \
  |  |  946|      1|, .atomic = {                                                       \
  |  |  947|      1|      .offset   = 0                                                 \
  |  |  948|      1|    , .prec     = (precision != 0) ? precision : (sizeof(type) * 8) \
  |  |  ------------------
  |  |  |  Branch (948:19): [Folded - Ignored]
  |  |  ------------------
  |  |  949|      1|    , .lsb_pad  = H5T_PAD_ZERO                                      \
  |  |  950|      1|    , .msb_pad  = H5T_PAD_ZERO                                      \
  |  |  951|      1|    , .u.i.sign = has_sign ? H5T_SGN_2 : H5T_SGN_NONE               \
  |  |  ------------------
  |  |  |  Branch (951:19): [Folded - Ignored]
  |  |  ------------------
  |  |  952|      1|    }                                                               \
  |  |  953|      1|}
  ------------------
 1212|      1|    , NATIVE_ENTRY_INITIALIZER(INT_LEAST32, int_least32_t, 0, true)
  ------------------
  |  |  941|      1|#define NATIVE_ENTRY_INITIALIZER(tag, type, precision, has_sign) {  \
  |  |  942|      1|  .alignmentp = &H5T_NATIVE_##tag##_ALIGN_g                         \
  |  |  943|      1|, .alignment = TAG_ALIGNMENT(tag)                                   \
  |  |  ------------------
  |  |  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  |  |  ------------------
  |  |  944|      1|, .hidp = &H5T_NATIVE_##tag##_g                                     \
  |  |  945|      1|, .size = sizeof(type)                                              \
  |  |  946|      1|, .atomic = {                                                       \
  |  |  947|      1|      .offset   = 0                                                 \
  |  |  948|      1|    , .prec     = (precision != 0) ? precision : (sizeof(type) * 8) \
  |  |  ------------------
  |  |  |  Branch (948:19): [Folded - Ignored]
  |  |  ------------------
  |  |  949|      1|    , .lsb_pad  = H5T_PAD_ZERO                                      \
  |  |  950|      1|    , .msb_pad  = H5T_PAD_ZERO                                      \
  |  |  951|      1|    , .u.i.sign = has_sign ? H5T_SGN_2 : H5T_SGN_NONE               \
  |  |  ------------------
  |  |  |  Branch (951:19): [Folded - Ignored]
  |  |  ------------------
  |  |  952|      1|    }                                                               \
  |  |  953|      1|}
  ------------------
 1213|      1|    , NATIVE_ENTRY_INITIALIZER(UINT_LEAST32, uint_least32_t, 0, false)
  ------------------
  |  |  941|      1|#define NATIVE_ENTRY_INITIALIZER(tag, type, precision, has_sign) {  \
  |  |  942|      1|  .alignmentp = &H5T_NATIVE_##tag##_ALIGN_g                         \
  |  |  943|      1|, .alignment = TAG_ALIGNMENT(tag)                                   \
  |  |  ------------------
  |  |  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  |  |  ------------------
  |  |  944|      1|, .hidp = &H5T_NATIVE_##tag##_g                                     \
  |  |  945|      1|, .size = sizeof(type)                                              \
  |  |  946|      1|, .atomic = {                                                       \
  |  |  947|      1|      .offset   = 0                                                 \
  |  |  948|      1|    , .prec     = (precision != 0) ? precision : (sizeof(type) * 8) \
  |  |  ------------------
  |  |  |  Branch (948:19): [Folded - Ignored]
  |  |  ------------------
  |  |  949|      1|    , .lsb_pad  = H5T_PAD_ZERO                                      \
  |  |  950|      1|    , .msb_pad  = H5T_PAD_ZERO                                      \
  |  |  951|      1|    , .u.i.sign = has_sign ? H5T_SGN_2 : H5T_SGN_NONE               \
  |  |  ------------------
  |  |  |  Branch (951:19): [Folded - Ignored]
  |  |  ------------------
  |  |  952|      1|    }                                                               \
  |  |  953|      1|}
  ------------------
 1214|      1|    , NATIVE_ENTRY_INITIALIZER(INT_FAST32, int_fast32_t, 0, true)
  ------------------
  |  |  941|      1|#define NATIVE_ENTRY_INITIALIZER(tag, type, precision, has_sign) {  \
  |  |  942|      1|  .alignmentp = &H5T_NATIVE_##tag##_ALIGN_g                         \
  |  |  943|      1|, .alignment = TAG_ALIGNMENT(tag)                                   \
  |  |  ------------------
  |  |  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  |  |  ------------------
  |  |  944|      1|, .hidp = &H5T_NATIVE_##tag##_g                                     \
  |  |  945|      1|, .size = sizeof(type)                                              \
  |  |  946|      1|, .atomic = {                                                       \
  |  |  947|      1|      .offset   = 0                                                 \
  |  |  948|      1|    , .prec     = (precision != 0) ? precision : (sizeof(type) * 8) \
  |  |  ------------------
  |  |  |  Branch (948:19): [Folded - Ignored]
  |  |  ------------------
  |  |  949|      1|    , .lsb_pad  = H5T_PAD_ZERO                                      \
  |  |  950|      1|    , .msb_pad  = H5T_PAD_ZERO                                      \
  |  |  951|      1|    , .u.i.sign = has_sign ? H5T_SGN_2 : H5T_SGN_NONE               \
  |  |  ------------------
  |  |  |  Branch (951:19): [Folded - Ignored]
  |  |  ------------------
  |  |  952|      1|    }                                                               \
  |  |  953|      1|}
  ------------------
 1215|      1|    , NATIVE_ENTRY_INITIALIZER(UINT_FAST32, uint_fast32_t, 0, false)
  ------------------
  |  |  941|      1|#define NATIVE_ENTRY_INITIALIZER(tag, type, precision, has_sign) {  \
  |  |  942|      1|  .alignmentp = &H5T_NATIVE_##tag##_ALIGN_g                         \
  |  |  943|      1|, .alignment = TAG_ALIGNMENT(tag)                                   \
  |  |  ------------------
  |  |  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  |  |  ------------------
  |  |  944|      1|, .hidp = &H5T_NATIVE_##tag##_g                                     \
  |  |  945|      1|, .size = sizeof(type)                                              \
  |  |  946|      1|, .atomic = {                                                       \
  |  |  947|      1|      .offset   = 0                                                 \
  |  |  948|      1|    , .prec     = (precision != 0) ? precision : (sizeof(type) * 8) \
  |  |  ------------------
  |  |  |  Branch (948:19): [Folded - Ignored]
  |  |  ------------------
  |  |  949|      1|    , .lsb_pad  = H5T_PAD_ZERO                                      \
  |  |  950|      1|    , .msb_pad  = H5T_PAD_ZERO                                      \
  |  |  951|      1|    , .u.i.sign = has_sign ? H5T_SGN_2 : H5T_SGN_NONE               \
  |  |  ------------------
  |  |  |  Branch (951:19): [Folded - Ignored]
  |  |  ------------------
  |  |  952|      1|    }                                                               \
  |  |  953|      1|}
  ------------------
 1216|      1|    , NATIVE_ENTRY_INITIALIZER(INT64, int64_t, 0, true)
  ------------------
  |  |  941|      1|#define NATIVE_ENTRY_INITIALIZER(tag, type, precision, has_sign) {  \
  |  |  942|      1|  .alignmentp = &H5T_NATIVE_##tag##_ALIGN_g                         \
  |  |  943|      1|, .alignment = TAG_ALIGNMENT(tag)                                   \
  |  |  ------------------
  |  |  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  |  |  ------------------
  |  |  944|      1|, .hidp = &H5T_NATIVE_##tag##_g                                     \
  |  |  945|      1|, .size = sizeof(type)                                              \
  |  |  946|      1|, .atomic = {                                                       \
  |  |  947|      1|      .offset   = 0                                                 \
  |  |  948|      1|    , .prec     = (precision != 0) ? precision : (sizeof(type) * 8) \
  |  |  ------------------
  |  |  |  Branch (948:19): [Folded - Ignored]
  |  |  ------------------
  |  |  949|      1|    , .lsb_pad  = H5T_PAD_ZERO                                      \
  |  |  950|      1|    , .msb_pad  = H5T_PAD_ZERO                                      \
  |  |  951|      1|    , .u.i.sign = has_sign ? H5T_SGN_2 : H5T_SGN_NONE               \
  |  |  ------------------
  |  |  |  Branch (951:19): [Folded - Ignored]
  |  |  ------------------
  |  |  952|      1|    }                                                               \
  |  |  953|      1|}
  ------------------
 1217|      1|    , NATIVE_ENTRY_INITIALIZER(UINT64, uint64_t, 0, false)
  ------------------
  |  |  941|      1|#define NATIVE_ENTRY_INITIALIZER(tag, type, precision, has_sign) {  \
  |  |  942|      1|  .alignmentp = &H5T_NATIVE_##tag##_ALIGN_g                         \
  |  |  943|      1|, .alignment = TAG_ALIGNMENT(tag)                                   \
  |  |  ------------------
  |  |  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  |  |  ------------------
  |  |  944|      1|, .hidp = &H5T_NATIVE_##tag##_g                                     \
  |  |  945|      1|, .size = sizeof(type)                                              \
  |  |  946|      1|, .atomic = {                                                       \
  |  |  947|      1|      .offset   = 0                                                 \
  |  |  948|      1|    , .prec     = (precision != 0) ? precision : (sizeof(type) * 8) \
  |  |  ------------------
  |  |  |  Branch (948:19): [Folded - Ignored]
  |  |  ------------------
  |  |  949|      1|    , .lsb_pad  = H5T_PAD_ZERO                                      \
  |  |  950|      1|    , .msb_pad  = H5T_PAD_ZERO                                      \
  |  |  951|      1|    , .u.i.sign = has_sign ? H5T_SGN_2 : H5T_SGN_NONE               \
  |  |  ------------------
  |  |  |  Branch (951:19): [Folded - Ignored]
  |  |  ------------------
  |  |  952|      1|    }                                                               \
  |  |  953|      1|}
  ------------------
 1218|      1|    , NATIVE_ENTRY_INITIALIZER(INT_LEAST64, int_least64_t, 0, true)
  ------------------
  |  |  941|      1|#define NATIVE_ENTRY_INITIALIZER(tag, type, precision, has_sign) {  \
  |  |  942|      1|  .alignmentp = &H5T_NATIVE_##tag##_ALIGN_g                         \
  |  |  943|      1|, .alignment = TAG_ALIGNMENT(tag)                                   \
  |  |  ------------------
  |  |  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  |  |  ------------------
  |  |  944|      1|, .hidp = &H5T_NATIVE_##tag##_g                                     \
  |  |  945|      1|, .size = sizeof(type)                                              \
  |  |  946|      1|, .atomic = {                                                       \
  |  |  947|      1|      .offset   = 0                                                 \
  |  |  948|      1|    , .prec     = (precision != 0) ? precision : (sizeof(type) * 8) \
  |  |  ------------------
  |  |  |  Branch (948:19): [Folded - Ignored]
  |  |  ------------------
  |  |  949|      1|    , .lsb_pad  = H5T_PAD_ZERO                                      \
  |  |  950|      1|    , .msb_pad  = H5T_PAD_ZERO                                      \
  |  |  951|      1|    , .u.i.sign = has_sign ? H5T_SGN_2 : H5T_SGN_NONE               \
  |  |  ------------------
  |  |  |  Branch (951:19): [Folded - Ignored]
  |  |  ------------------
  |  |  952|      1|    }                                                               \
  |  |  953|      1|}
  ------------------
 1219|      1|    , NATIVE_ENTRY_INITIALIZER(UINT_LEAST64, uint_least64_t, 0, false)
  ------------------
  |  |  941|      1|#define NATIVE_ENTRY_INITIALIZER(tag, type, precision, has_sign) {  \
  |  |  942|      1|  .alignmentp = &H5T_NATIVE_##tag##_ALIGN_g                         \
  |  |  943|      1|, .alignment = TAG_ALIGNMENT(tag)                                   \
  |  |  ------------------
  |  |  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  |  |  ------------------
  |  |  944|      1|, .hidp = &H5T_NATIVE_##tag##_g                                     \
  |  |  945|      1|, .size = sizeof(type)                                              \
  |  |  946|      1|, .atomic = {                                                       \
  |  |  947|      1|      .offset   = 0                                                 \
  |  |  948|      1|    , .prec     = (precision != 0) ? precision : (sizeof(type) * 8) \
  |  |  ------------------
  |  |  |  Branch (948:19): [Folded - Ignored]
  |  |  ------------------
  |  |  949|      1|    , .lsb_pad  = H5T_PAD_ZERO                                      \
  |  |  950|      1|    , .msb_pad  = H5T_PAD_ZERO                                      \
  |  |  951|      1|    , .u.i.sign = has_sign ? H5T_SGN_2 : H5T_SGN_NONE               \
  |  |  ------------------
  |  |  |  Branch (951:19): [Folded - Ignored]
  |  |  ------------------
  |  |  952|      1|    }                                                               \
  |  |  953|      1|}
  ------------------
 1220|      1|    , NATIVE_ENTRY_INITIALIZER(INT_FAST64, int_fast64_t, 0, true)
  ------------------
  |  |  941|      1|#define NATIVE_ENTRY_INITIALIZER(tag, type, precision, has_sign) {  \
  |  |  942|      1|  .alignmentp = &H5T_NATIVE_##tag##_ALIGN_g                         \
  |  |  943|      1|, .alignment = TAG_ALIGNMENT(tag)                                   \
  |  |  ------------------
  |  |  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  |  |  ------------------
  |  |  944|      1|, .hidp = &H5T_NATIVE_##tag##_g                                     \
  |  |  945|      1|, .size = sizeof(type)                                              \
  |  |  946|      1|, .atomic = {                                                       \
  |  |  947|      1|      .offset   = 0                                                 \
  |  |  948|      1|    , .prec     = (precision != 0) ? precision : (sizeof(type) * 8) \
  |  |  ------------------
  |  |  |  Branch (948:19): [Folded - Ignored]
  |  |  ------------------
  |  |  949|      1|    , .lsb_pad  = H5T_PAD_ZERO                                      \
  |  |  950|      1|    , .msb_pad  = H5T_PAD_ZERO                                      \
  |  |  951|      1|    , .u.i.sign = has_sign ? H5T_SGN_2 : H5T_SGN_NONE               \
  |  |  ------------------
  |  |  |  Branch (951:19): [Folded - Ignored]
  |  |  ------------------
  |  |  952|      1|    }                                                               \
  |  |  953|      1|}
  ------------------
 1221|      1|    , NATIVE_ENTRY_INITIALIZER(UINT_FAST64, uint_fast64_t, 0, false)
  ------------------
  |  |  941|      1|#define NATIVE_ENTRY_INITIALIZER(tag, type, precision, has_sign) {  \
  |  |  942|      1|  .alignmentp = &H5T_NATIVE_##tag##_ALIGN_g                         \
  |  |  943|      1|, .alignment = TAG_ALIGNMENT(tag)                                   \
  |  |  ------------------
  |  |  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  |  |  ------------------
  |  |  944|      1|, .hidp = &H5T_NATIVE_##tag##_g                                     \
  |  |  945|      1|, .size = sizeof(type)                                              \
  |  |  946|      1|, .atomic = {                                                       \
  |  |  947|      1|      .offset   = 0                                                 \
  |  |  948|      1|    , .prec     = (precision != 0) ? precision : (sizeof(type) * 8) \
  |  |  ------------------
  |  |  |  Branch (948:19): [Folded - Ignored]
  |  |  ------------------
  |  |  949|      1|    , .lsb_pad  = H5T_PAD_ZERO                                      \
  |  |  950|      1|    , .msb_pad  = H5T_PAD_ZERO                                      \
  |  |  951|      1|    , .u.i.sign = has_sign ? H5T_SGN_2 : H5T_SGN_NONE               \
  |  |  ------------------
  |  |  |  Branch (951:19): [Folded - Ignored]
  |  |  ------------------
  |  |  952|      1|    }                                                               \
  |  |  953|      1|}
  ------------------
 1222|      1|    };
 1223|      1|    static_unless_buggy_pgic const native_int_table_t table_table[] = {
  ------------------
  |  | 1175|      1|#   define static_unless_buggy_pgic static
  ------------------
 1224|      1|      {table1, NELMTS(table1)}
  ------------------
  |  |  288|      1|#define NELMTS(X) (sizeof(X) / sizeof(X[0]))
  ------------------
 1225|      1|    , {table2, NELMTS(table2)}
  ------------------
  |  |  288|      1|#define NELMTS(X) (sizeof(X) / sizeof(X[0]))
  ------------------
 1226|      1|    , {table3, NELMTS(table3)}
  ------------------
  |  |  288|      1|#define NELMTS(X) (sizeof(X) / sizeof(X[0]))
  ------------------
 1227|      1|    };
 1228|      1|#undef static_unless_buggy_pgic
 1229|       |    /* clang-format on */
 1230|       |
 1231|      1|    size_t      i, j;
 1232|      1|    H5T_order_t byte_order = get_host_byte_order();
 1233|       |
 1234|      4|    for (i = 0; i < NELMTS(table_table); i++) {
  ------------------
  |  |  288|      4|#define NELMTS(X) (sizeof(X) / sizeof(X[0]))
  ------------------
  |  Branch (1234:17): [True: 3, False: 1]
  ------------------
 1235|      3|        const native_int_t *table  = table_table[i].table;
 1236|      3|        size_t              nelmts = table_table[i].nelmts;
 1237|       |
 1238|       |        /* For each C99 type in `table`, create its H5T_t,
 1239|       |         * register a hid_t for the H5T_t, and record the type's
 1240|       |         * alignment and hid_t in the variables named by the
 1241|       |         * table.
 1242|       |         */
 1243|     39|        for (j = 0; j < nelmts; j++) {
  ------------------
  |  Branch (1243:21): [True: 36, False: 3]
  ------------------
 1244|     36|            H5T_t *dt;
 1245|       |
 1246|     36|            if (NULL == (dt = H5T__alloc()))
  ------------------
  |  Branch (1246:17): [True: 0, False: 36]
  ------------------
 1247|      0|                return FAIL;
  ------------------
  |  |  284|      0|#define FAIL    (-1)
  ------------------
 1248|       |
 1249|     36|            dt->shared->state          = H5T_STATE_IMMUTABLE;
 1250|     36|            dt->shared->type           = H5T_INTEGER;
 1251|     36|            dt->shared->size           = table[j].size;
 1252|     36|            dt->shared->u.atomic       = table[j].atomic;
 1253|     36|            dt->shared->u.atomic.order = byte_order;
 1254|     36|            *table[j].alignmentp       = table[j].alignment;
 1255|       |
 1256|     36|            if ((*table[j].hidp = H5I_register(H5I_DATATYPE, dt, false)) < 0)
  ------------------
  |  Branch (1256:17): [True: 0, False: 36]
  ------------------
 1257|      0|                return FAIL;
  ------------------
  |  |  284|      0|#define FAIL    (-1)
  ------------------
 1258|     36|        }
 1259|      3|    }
 1260|       |
 1261|      1|    H5T_POINTER_ALIGN_g     = TAG_ALIGNMENT(pointer);
  ------------------
  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  ------------------
 1262|      1|    H5T_HVL_ALIGN_g         = TAG_ALIGNMENT(hvl);
  ------------------
  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  ------------------
 1263|      1|    H5T_HOBJREF_ALIGN_g     = TAG_ALIGNMENT(hobjref);
  ------------------
  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  ------------------
 1264|      1|    H5T_HDSETREGREF_ALIGN_g = TAG_ALIGNMENT(hdsetregref);
  ------------------
  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  ------------------
 1265|      1|    H5T_REF_ALIGN_g         = TAG_ALIGNMENT(ref);
  ------------------
  |  |  938|      1|#define TAG_ALIGNMENT(tag) (offsetof(alignments_t, tag.x) - offsetof(alignments_t, tag))
  ------------------
 1266|       |
 1267|      1|    return SUCCEED;
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
 1268|      1|}
H5Tnative.c:get_host_byte_order:
  958|      1|{
  959|      1|    static const union {
  960|      1|        uint64_t u64;
  961|      1|        char     byte[8];
  962|      1|    } endian_exemplar = {.byte = {1}};
  963|       |
  964|      1|    return (endian_exemplar.u64 == 1) ? H5T_ORDER_LE : H5T_ORDER_BE;
  ------------------
  |  Branch (964:12): [True: 1, False: 0]
  ------------------
  965|      1|}

H5Toh.c:H5O__dtype_isa:
   88|      1|{
   89|      1|    htri_t ret_value = FAIL; /* Return value */
  ------------------
  |  |  284|      1|#define FAIL    (-1)
  ------------------
   90|       |
   91|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
   92|       |
   93|      1|    assert(oh);
   94|       |
   95|      1|    if ((ret_value = H5O_msg_exists_oh(oh, H5O_DTYPE_ID)) < 0)
  ------------------
  |  |  209|      1|#define H5O_DTYPE_ID       0x0003 /* Datatype Message.  */
  ------------------
  |  Branch (95:9): [True: 0, False: 1]
  ------------------
   96|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "unable to read object header");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   97|       |
   98|      1|done:
   99|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  100|      1|} /* end H5O__dtype_isa() */

H5T__ref_set_loc:
  160|     64|{
  161|     64|    htri_t ret_value = false; /* Indicate success, but no location change */
  162|       |
  163|     64|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     64|    {                                                                                                        \
  |  | 1461|     64|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     64|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     64|                                                                                                             \
  |  |  |  | 1267|     64|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     64|        {
  ------------------
  164|     64|    H5T_REF_LOG_DEBUG("loc=%d", (int)loc);
  ------------------
  |  |   56|     64|    do {                                                                                                     \
  |  |   57|     64|    } while (0)
  |  |  ------------------
  |  |  |  Branch (57:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  165|       |
  166|     64|    assert(dt);
  167|       |    /* f is NULL when loc == H5T_LOC_MEMORY */
  168|     64|    assert(loc >= H5T_LOC_BADLOC && loc < H5T_LOC_MAXLOC);
  169|       |
  170|       |    /* Only change the location if it's different */
  171|     64|    if (loc == dt->shared->u.atomic.u.r.loc && file == dt->shared->u.atomic.u.r.file)
  ------------------
  |  Branch (171:9): [True: 25, False: 39]
  |  Branch (171:48): [True: 25, False: 0]
  ------------------
  172|     25|        HGOTO_DONE(false);
  ------------------
  |  |   91|     25|    do {                                                                                                     \
  |  |   92|     25|        ret_value = ret_val;                                                                                 \
  |  |   93|     25|        goto done;                                                                                           \
  |  |   94|     25|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  173|       |
  174|     39|    switch (loc) {
  175|     30|        case H5T_LOC_MEMORY: /* Memory based reference datatype */
  ------------------
  |  Branch (175:9): [True: 30, False: 9]
  ------------------
  176|       |
  177|       |            /* NB. We allow for the file to be non-NULL when doing
  178|       |             * memory-to-memory conversion */
  179|       |
  180|       |            /* Mark this type as being stored in memory */
  181|     30|            dt->shared->u.atomic.u.r.loc = H5T_LOC_MEMORY;
  182|       |
  183|       |            /* Release owned file */
  184|     30|            if (dt->shared->owned_vol_obj) {
  ------------------
  |  Branch (184:17): [True: 27, False: 3]
  ------------------
  185|     27|                if (H5VL_free_object(dt->shared->owned_vol_obj) < 0)
  ------------------
  |  Branch (185:21): [True: 0, False: 27]
  ------------------
  186|      0|                    HGOTO_ERROR(H5E_REFERENCE, H5E_CANTCLOSEOBJ, FAIL, "unable to close owned VOL object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  187|     27|                dt->shared->owned_vol_obj = NULL;
  188|     27|            } /* end if */
  189|       |
  190|       |            /* Reset file ID (since this reference is in memory) */
  191|     30|            dt->shared->u.atomic.u.r.file = file; /* file is NULL */
  192|       |
  193|     30|            if (dt->shared->u.atomic.u.r.opaque) {
  ------------------
  |  Branch (193:17): [True: 1, False: 29]
  ------------------
  194|       |                /* Size in memory, disk size is different */
  195|      1|                dt->shared->size          = H5T_REF_MEM_SIZE;
  ------------------
  |  |   37|      1|#define H5T_REF_MEM_SIZE         (H5R_REF_BUF_SIZE)
  |  |  ------------------
  |  |  |  |   38|      1|#define H5R_REF_BUF_SIZE (64)
  |  |  ------------------
  ------------------
  196|      1|                dt->shared->u.atomic.prec = 8 * dt->shared->size;
  197|       |
  198|       |                /* Set up the function pointers to access the reference in memory */
  199|      1|                dt->shared->u.atomic.u.r.cls = &H5T_ref_mem_g;
  200|      1|            } /* end if */
  201|     29|            else if (dt->shared->u.atomic.u.r.rtype == H5R_OBJECT1) {
  ------------------
  |  Branch (201:22): [True: 28, False: 1]
  ------------------
  202|       |                /* Size in memory, disk size is different */
  203|     28|                dt->shared->size          = H5T_REF_OBJ_MEM_SIZE;
  ------------------
  |  |   38|     28|#define H5T_REF_OBJ_MEM_SIZE     (H5R_OBJ_REF_BUF_SIZE)
  |  |  ------------------
  |  |  |  |   29|     28|#define H5R_OBJ_REF_BUF_SIZE      sizeof(haddr_t)
  |  |  ------------------
  ------------------
  204|     28|                dt->shared->u.atomic.prec = 8 * dt->shared->size;
  205|       |
  206|       |                /* Unused for now */
  207|     28|                dt->shared->u.atomic.u.r.cls = NULL;
  208|     28|            } /* end else-if */
  209|      1|            else if (dt->shared->u.atomic.u.r.rtype == H5R_DATASET_REGION1) {
  ------------------
  |  Branch (209:22): [True: 1, False: 0]
  ------------------
  210|       |                /* Size in memory, disk size is different */
  211|      1|                dt->shared->size          = H5T_REF_DSETREG_MEM_SIZE;
  ------------------
  |  |   39|      1|#define H5T_REF_DSETREG_MEM_SIZE (H5R_DSET_REG_REF_BUF_SIZE)
  |  |  ------------------
  |  |  |  |   30|      1|#define H5R_DSET_REG_REF_BUF_SIZE (sizeof(haddr_t) + 4)
  |  |  ------------------
  ------------------
  212|      1|                dt->shared->u.atomic.prec = 8 * dt->shared->size;
  213|       |
  214|       |                /* Unused for now */
  215|      1|                dt->shared->u.atomic.u.r.cls = NULL;
  216|      1|            } /* end else-if */
  217|      0|            else
  218|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_BADTYPE, FAIL, "invalid location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  219|     30|            break;
  220|       |
  221|     30|        case H5T_LOC_DISK: /* Disk based reference datatype */
  ------------------
  |  Branch (221:9): [True: 9, False: 30]
  ------------------
  222|      9|            assert(file);
  223|       |
  224|       |            /* Mark this type as being stored on disk */
  225|      9|            dt->shared->u.atomic.u.r.loc = H5T_LOC_DISK;
  226|       |
  227|       |            /* Set file pointer (since this reference is on disk) */
  228|      9|            dt->shared->u.atomic.u.r.file = file;
  229|       |
  230|       |            /* dt now owns a reference to file */
  231|      9|            if (H5T_own_vol_obj(dt, file) < 0)
  ------------------
  |  Branch (231:17): [True: 0, False: 9]
  ------------------
  232|      0|                HGOTO_ERROR(H5E_REFERENCE, H5E_CANTINIT, FAIL, "can't give ownership of VOL object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  233|       |
  234|      9|            if (dt->shared->u.atomic.u.r.rtype == H5R_OBJECT1) {
  ------------------
  |  Branch (234:17): [True: 9, False: 0]
  ------------------
  235|      9|                H5F_t *f;
  236|       |
  237|       |#ifndef NDEBUG
  238|       |                {
  239|       |                    bool is_native = false; /* Whether the file is using the native VOL connector */
  240|       |
  241|       |                    /* Check if using native VOL connector */
  242|       |                    if (H5VL_object_is_native(file, &is_native) < 0)
  243|       |                        HGOTO_ERROR(H5E_REFERENCE, H5E_CANTGET, FAIL,
  244|       |                                    "can't query if file uses native VOL connector");
  245|       |
  246|       |                    /* Must use native VOL connector for this operation */
  247|       |                    assert(is_native);
  248|       |                }
  249|       |#endif /* NDEBUG */
  250|       |
  251|       |                /* Retrieve file from VOL object */
  252|      9|                if (NULL == (f = (H5F_t *)H5VL_object_data(file)))
  ------------------
  |  Branch (252:21): [True: 0, False: 9]
  ------------------
  253|      0|                    HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid VOL object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  254|       |
  255|       |                /* Size on disk, memory size is different */
  256|      9|                dt->shared->size          = H5T_REF_OBJ_DISK_SIZE(f);
  ------------------
  |  |   41|      9|#define H5T_REF_OBJ_DISK_SIZE(f)     (H5F_SIZEOF_ADDR(f))
  |  |  ------------------
  |  |  |  |  130|      9|#define H5F_SIZEOF_ADDR(F)               (H5F_sizeof_addr(F))
  |  |  ------------------
  ------------------
  257|      9|                dt->shared->u.atomic.prec = 8 * dt->shared->size;
  258|       |
  259|       |                /* Set up the function pointers to access the reference in memory */
  260|      9|                dt->shared->u.atomic.u.r.cls = &H5T_ref_obj_disk_g;
  261|      9|            } /* end if */
  262|      0|            else if (dt->shared->u.atomic.u.r.rtype == H5R_DATASET_REGION1) {
  ------------------
  |  Branch (262:22): [True: 0, False: 0]
  ------------------
  263|      0|                H5F_t *f;
  264|       |
  265|       |#ifndef NDEBUG
  266|       |                {
  267|       |                    bool is_native = false; /* Whether the file is using the native VOL connector */
  268|       |
  269|       |                    /* Check if using native VOL connector */
  270|       |                    if (H5VL_object_is_native(file, &is_native) < 0)
  271|       |                        HGOTO_ERROR(H5E_REFERENCE, H5E_CANTGET, FAIL,
  272|       |                                    "can't query if file uses native VOL connector");
  273|       |
  274|       |                    /* Must use native VOL connector for this operation */
  275|       |                    assert(is_native);
  276|       |                }
  277|       |#endif /* NDEBUG */
  278|       |
  279|       |                /* Retrieve file from VOL object */
  280|      0|                if (NULL == (f = (H5F_t *)H5VL_object_data(file)))
  ------------------
  |  Branch (280:21): [True: 0, False: 0]
  ------------------
  281|      0|                    HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid VOL object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  282|       |
  283|       |                /* Size on disk, memory size is different */
  284|      0|                dt->shared->size          = H5T_REF_DSETREG_DISK_SIZE(f);
  ------------------
  |  |   42|      0|#define H5T_REF_DSETREG_DISK_SIZE(f) (H5HG_HEAP_ID_SIZE(f))
  |  |  ------------------
  |  |  |  |   48|      0|#define H5HG_HEAP_ID_SIZE(F) ((size_t)H5F_SIZEOF_ADDR(F) + sizeof(uint32_t))
  |  |  |  |  ------------------
  |  |  |  |  |  |  130|      0|#define H5F_SIZEOF_ADDR(F)               (H5F_sizeof_addr(F))
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  285|      0|                dt->shared->u.atomic.prec = 8 * dt->shared->size;
  286|       |
  287|       |                /* Set up the function pointers to access the reference in memory */
  288|      0|                dt->shared->u.atomic.u.r.cls = &H5T_ref_dsetreg_disk_g;
  289|      0|            } /* end else-if */
  290|      0|            else {
  291|      0|                H5VL_file_cont_info_t cont_info = {H5VL_CONTAINER_INFO_VERSION, 0, 0, 0};
  ------------------
  |  |   37|      0|#define H5VL_CONTAINER_INFO_VERSION 0x01 /* Container info struct version */
  ------------------
  292|      0|                H5VL_file_get_args_t  vol_cb_args; /* Arguments to VOL callback */
  293|      0|                size_t                ref_encode_size;
  294|      0|                H5R_ref_priv_t        fixed_ref;
  295|       |
  296|       |                /* Set up VOL callback arguments */
  297|      0|                vol_cb_args.op_type                 = H5VL_FILE_GET_CONT_INFO;
  298|      0|                vol_cb_args.args.get_cont_info.info = &cont_info;
  299|       |
  300|       |                /* Get container info */
  301|      0|                if (H5VL_file_get(file, &vol_cb_args, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL) < 0)
  ------------------
  |  |  160|      0|#define H5P_DATASET_XFER_DEFAULT (H5OPEN H5P_LST_DATASET_XFER_ID_g)
  ------------------
                              if (H5VL_file_get(file, &vol_cb_args, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL) < 0)
  ------------------
  |  |  442|      0|#define H5_REQUEST_NULL NULL
  ------------------
  |  Branch (301:21): [True: 0, False: 0]
  ------------------
  302|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_CANTGET, FAIL, "unable to get container info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  303|       |
  304|       |                /* Retrieve min encode size (when references have no vlen part) */
  305|      0|                memset(&fixed_ref, 0, sizeof(fixed_ref));
  306|      0|                fixed_ref.type       = (int8_t)H5R_OBJECT2;
  307|      0|                fixed_ref.token_size = (uint8_t)cont_info.token_size;
  308|      0|                if (H5R__encode(NULL, &fixed_ref, NULL, &ref_encode_size, 0) < 0)
  ------------------
  |  Branch (308:21): [True: 0, False: 0]
  ------------------
  309|      0|                    HGOTO_ERROR(H5E_REFERENCE, H5E_CANTGET, FAIL, "can't get encode size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  310|       |
  311|       |                /* Size on disk, memory size is different */
  312|      0|                dt->shared->size =
  313|      0|                    MAX(sizeof(uint32_t) + H5R_ENCODE_HEADER_SIZE + cont_info.blob_id_size, ref_encode_size);
  ------------------
  |  |  300|      0|#define MAX(a, b)        (((a) > (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (300:27): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  314|      0|                dt->shared->u.atomic.prec = 8 * dt->shared->size;
  315|       |
  316|       |                /* Set up the function pointers to access the information on
  317|       |                 * disk. Region and attribute references are stored identically
  318|       |                 * on disk, so use the same functions.
  319|       |                 */
  320|      0|                dt->shared->u.atomic.u.r.cls = &H5T_ref_disk_g;
  321|      0|            }
  322|      9|            break;
  323|       |
  324|      9|        case H5T_LOC_BADLOC:
  ------------------
  |  Branch (324:9): [True: 0, False: 39]
  ------------------
  325|       |            /* Allow undefined location. In H5Odtype.c, H5O_dtype_decode sets undefined
  326|       |             * location for reference type and leaves it for the caller to decide.
  327|       |             */
  328|      0|            dt->shared->u.atomic.u.r.loc = H5T_LOC_BADLOC;
  329|       |
  330|       |            /* Reset file pointer */
  331|      0|            dt->shared->u.atomic.u.r.file = NULL;
  332|       |
  333|       |            /* Reset the function pointers */
  334|      0|            dt->shared->u.atomic.u.r.cls = NULL;
  335|       |
  336|      0|            break;
  337|       |
  338|      0|        case H5T_LOC_MAXLOC: /* MAXLOC is invalid */
  ------------------
  |  Branch (338:9): [True: 0, False: 39]
  ------------------
  339|      0|        default:
  ------------------
  |  Branch (339:9): [True: 0, False: 39]
  ------------------
  340|      0|            HGOTO_ERROR(H5E_DATATYPE, H5E_BADRANGE, FAIL, "invalid reference datatype location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  341|     39|    } /* end switch */
  342|       |
  343|       |    /* Indicate that the location changed */
  344|     39|    ret_value = true;
  345|       |
  346|     64|done:
  347|     64|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     64|    ;                                                                                                        \
  |  | 1573|     64|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     64|    return (ret_value);                                                                                      \
  |  | 1575|     64|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  348|     39|} /* end H5T__ref_set_loc() */

H5T__vlen_create:
  178|      1|{
  179|      1|    H5T_t *dt        = NULL; /* New VL datatype */
  180|      1|    H5T_t *ret_value = NULL; /* Return value */
  181|       |
  182|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
  183|       |
  184|       |    /* Check args */
  185|      1|    assert(base);
  186|       |
  187|       |    /* Build new type */
  188|      1|    if (NULL == (dt = H5T__alloc()))
  ------------------
  |  Branch (188:9): [True: 0, False: 1]
  ------------------
  189|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTALLOC, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  190|      1|    dt->shared->type = H5T_VLEN;
  191|       |
  192|       |    /*
  193|       |     * Force conversions (i.e. memory to memory conversions should duplicate
  194|       |     * data, not point to the same VL sequences)
  195|       |     */
  196|      1|    dt->shared->force_conv = true;
  197|      1|    if (NULL == (dt->shared->parent = H5T_copy(base, H5T_COPY_ALL)))
  ------------------
  |  Branch (197:9): [True: 0, False: 1]
  ------------------
  198|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCOPY, NULL, "can't copy base datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  199|       |
  200|       |    /* Inherit encoding version from base type */
  201|      1|    dt->shared->version = base->shared->version;
  202|       |
  203|       |    /* This is a sequence, not a string */
  204|      1|    dt->shared->u.vlen.type = H5T_VLEN_SEQUENCE;
  205|       |
  206|       |    /* Set up VL information */
  207|      1|    if (H5T_set_loc(dt, NULL, H5T_LOC_MEMORY) < 0)
  ------------------
  |  Branch (207:9): [True: 0, False: 1]
  ------------------
  208|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, NULL, "invalid datatype location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  209|       |
  210|       |    /* Set return value */
  211|      1|    ret_value = dt;
  212|       |
  213|      1|done:
  214|      1|    if (!ret_value)
  ------------------
  |  Branch (214:9): [True: 0, False: 1]
  ------------------
  215|      0|        if (dt && H5T_close_real(dt) < 0)
  ------------------
  |  Branch (215:13): [True: 0, False: 0]
  |  Branch (215:19): [True: 0, False: 0]
  ------------------
  216|      0|            HDONE_ERROR(H5E_DATATYPE, H5E_CANTRELEASE, NULL, "unable to release datatype info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  217|       |
  218|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  219|      1|} /* end H5T__vlen_create() */
H5T__vlen_set_loc:
  236|     13|{
  237|     13|    htri_t ret_value = false; /* Indicate success, but no location change */
  238|       |
  239|     13|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     13|    {                                                                                                        \
  |  | 1461|     13|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     13|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     13|                                                                                                             \
  |  |  |  | 1267|     13|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     13|        {
  ------------------
  240|       |
  241|       |    /* check parameters */
  242|     13|    assert(dt);
  243|     13|    assert(loc >= H5T_LOC_BADLOC && loc < H5T_LOC_MAXLOC);
  244|       |
  245|       |    /* Only change the location if it's different */
  246|     13|    if (loc != dt->shared->u.vlen.loc || file != dt->shared->u.vlen.file) {
  ------------------
  |  Branch (246:9): [True: 7, False: 6]
  |  Branch (246:42): [True: 0, False: 6]
  ------------------
  247|      7|        switch (loc) {
  248|      4|            case H5T_LOC_MEMORY: /* Memory based VL datatype */
  ------------------
  |  Branch (248:13): [True: 4, False: 3]
  ------------------
  249|      4|                assert(NULL == file);
  250|       |
  251|       |                /* Mark this type as being stored in memory */
  252|      4|                dt->shared->u.vlen.loc = H5T_LOC_MEMORY;
  253|       |
  254|      4|                if (dt->shared->u.vlen.type == H5T_VLEN_SEQUENCE) {
  ------------------
  |  Branch (254:21): [True: 4, False: 0]
  ------------------
  255|       |                    /* Size in memory, disk size is different */
  256|      4|                    dt->shared->size = sizeof(hvl_t);
  257|       |
  258|       |                    /* Set up the function pointers to access the VL sequence in memory */
  259|      4|                    dt->shared->u.vlen.cls = &H5T_vlen_mem_seq_g;
  260|      4|                } /* end if */
  261|      0|                else if (dt->shared->u.vlen.type == H5T_VLEN_STRING) {
  ------------------
  |  Branch (261:26): [True: 0, False: 0]
  ------------------
  262|       |                    /* Size in memory, disk size is different */
  263|      0|                    dt->shared->size = sizeof(char *);
  264|       |
  265|       |                    /* Set up the function pointers to access the VL string in memory */
  266|      0|                    dt->shared->u.vlen.cls = &H5T_vlen_mem_str_g;
  267|      0|                } /* end else-if */
  268|      0|                else
  269|      0|                    assert(0 && "Invalid VL type");
  270|       |
  271|       |                /* Release owned file */
  272|      4|                if (dt->shared->owned_vol_obj) {
  ------------------
  |  Branch (272:21): [True: 3, False: 1]
  ------------------
  273|      3|                    if (H5VL_free_object(dt->shared->owned_vol_obj) < 0)
  ------------------
  |  Branch (273:25): [True: 0, False: 3]
  ------------------
  274|      0|                        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCLOSEOBJ, FAIL, "unable to close owned VOL object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  275|      3|                    dt->shared->owned_vol_obj = NULL;
  276|      3|                } /* end if */
  277|       |
  278|       |                /* Reset file pointer (since this VL is in memory) */
  279|      4|                dt->shared->u.vlen.file = NULL;
  280|      4|                break;
  281|       |
  282|       |            /* Disk based VL datatype */
  283|      3|            case H5T_LOC_DISK: {
  ------------------
  |  Branch (283:13): [True: 3, False: 4]
  ------------------
  284|      3|                H5VL_file_cont_info_t cont_info = {H5VL_CONTAINER_INFO_VERSION, 0, 0, 0};
  ------------------
  |  |   37|      3|#define H5VL_CONTAINER_INFO_VERSION 0x01 /* Container info struct version */
  ------------------
  285|      3|                H5VL_file_get_args_t  vol_cb_args; /* Arguments to VOL callback */
  286|       |
  287|      3|                assert(file);
  288|       |
  289|       |                /* Mark this type as being stored on disk */
  290|      3|                dt->shared->u.vlen.loc = H5T_LOC_DISK;
  291|       |
  292|       |                /* Set up VOL callback arguments */
  293|      3|                vol_cb_args.op_type                 = H5VL_FILE_GET_CONT_INFO;
  294|      3|                vol_cb_args.args.get_cont_info.info = &cont_info;
  295|       |
  296|       |                /* Get container info */
  297|      3|                if (H5VL_file_get(file, &vol_cb_args, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL) < 0)
  ------------------
  |  |  160|      3|#define H5P_DATASET_XFER_DEFAULT (H5OPEN H5P_LST_DATASET_XFER_ID_g)
  ------------------
                              if (H5VL_file_get(file, &vol_cb_args, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL) < 0)
  ------------------
  |  |  442|      3|#define H5_REQUEST_NULL NULL
  ------------------
  |  Branch (297:21): [True: 0, False: 3]
  ------------------
  298|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_CANTGET, FAIL, "unable to get container info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  299|       |
  300|       |                /* The datatype size is equal to 4 bytes for the sequence length
  301|       |                 * plus the size of a blob id */
  302|      3|                dt->shared->size = 4 + cont_info.blob_id_size;
  303|       |
  304|       |                /* Set up the function pointers to access the VL information on disk */
  305|       |                /* VL sequences and VL strings are stored identically on disk, so use the same functions */
  306|      3|                dt->shared->u.vlen.cls = &H5T_vlen_disk_g;
  307|       |
  308|       |                /* Set file ID (since this VL is on disk) */
  309|      3|                dt->shared->u.vlen.file = file;
  310|       |
  311|       |                /* dt now owns a reference to file */
  312|      3|                if (H5T_own_vol_obj(dt, file) < 0)
  ------------------
  |  Branch (312:21): [True: 0, False: 3]
  ------------------
  313|      0|                    HGOTO_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL, "can't give ownership of VOL object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  314|      3|                break;
  315|      3|            }
  316|       |
  317|      3|            case H5T_LOC_BADLOC:
  ------------------
  |  Branch (317:13): [True: 0, False: 7]
  ------------------
  318|       |                /* Allow undefined location. In H5Odtype.c, H5O_dtype_decode sets undefined
  319|       |                 * location for VL type and leaves it for the caller to decide.
  320|       |                 */
  321|      0|                dt->shared->u.vlen.loc = H5T_LOC_BADLOC;
  322|       |
  323|       |                /* Reset the function pointers to access the VL information */
  324|      0|                dt->shared->u.vlen.cls = NULL;
  325|       |
  326|       |                /* Reset file pointer */
  327|      0|                dt->shared->u.vlen.file = NULL;
  328|      0|                break;
  329|       |
  330|      0|            case H5T_LOC_MAXLOC:
  ------------------
  |  Branch (330:13): [True: 0, False: 7]
  ------------------
  331|       |                /* MAXLOC is invalid */
  332|      0|            default:
  ------------------
  |  Branch (332:13): [True: 0, False: 7]
  ------------------
  333|      0|                HGOTO_ERROR(H5E_DATATYPE, H5E_BADRANGE, FAIL, "invalid VL datatype location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  334|      7|        } /* end switch */
  335|       |
  336|       |        /* Indicate that the location changed */
  337|      7|        ret_value = true;
  338|      7|    } /* end if */
  339|       |
  340|     13|done:
  341|     13|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     13|    ;                                                                                                        \
  |  | 1573|     13|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     13|    return (ret_value);                                                                                      \
  |  | 1575|     13|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  342|     13|} /* end H5T__vlen_set_loc() */
H5Tvlen.c:H5T__vlen_disk_getlen:
  709|      3|{
  710|      3|    const uint8_t *vl = (const uint8_t *)_vl; /* Pointer to the user's hvl_t information */
  711|       |
  712|      3|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|      3|    {                                                                                                        \
  |  | 1467|      3|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|      3|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|      3|        {
  ------------------
  713|       |
  714|       |    /* Check parameters */
  715|      3|    assert(vl);
  716|      3|    assert(seq_len);
  717|       |
  718|       |    /* Get length of sequence (different from blob size) */
  719|      3|    UINT32DECODE(vl, *seq_len);
  ------------------
  |  |  179|      3|    do {                                                                                                     \
  |  |  180|      3|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  181|      3|        (p)++;                                                                                               \
  |  |  182|      3|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  183|      3|        (p)++;                                                                                               \
  |  |  184|      3|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  185|      3|        (p)++;                                                                                               \
  |  |  186|      3|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  187|      3|        (p)++;                                                                                               \
  |  |  188|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  720|       |
  721|      3|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|      3|    ;                                                                                                        \
  |  | 1573|      3|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      3|    return (ret_value);                                                                                      \
  |  | 1575|      3|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  722|      3|} /* end H5T__vlen_disk_getlen() */
H5Tvlen.c:H5T__vlen_disk_isnull:
  735|      3|{
  736|      3|    H5VL_blob_specific_args_t vol_cb_args;                /* Arguments to VOL callback */
  737|      3|    uint8_t                  *vl        = (uint8_t *)_vl; /* Pointer to the user's hvl_t information */
  738|      3|    herr_t                    ret_value = SUCCEED;        /* Return value */
  ------------------
  |  |  283|      3|#define SUCCEED 0
  ------------------
  739|       |
  740|      3|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      3|    {                                                                                                        \
  |  | 1461|      3|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      3|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      3|                                                                                                             \
  |  |  |  | 1267|      3|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      3|        {
  ------------------
  741|       |
  742|       |    /* Check parameters */
  743|      3|    assert(file);
  744|      3|    assert(vl);
  745|      3|    assert(isnull);
  746|       |
  747|       |    /* Skip the sequence's length */
  748|      3|    vl += 4;
  749|       |
  750|       |    /* Set up VOL callback arguments */
  751|      3|    vol_cb_args.op_type             = H5VL_BLOB_ISNULL;
  752|      3|    vol_cb_args.args.is_null.isnull = isnull;
  753|       |
  754|       |    /* Check if blob ID is "nil" */
  755|      3|    if (H5VL_blob_specific(file, vl, &vol_cb_args) < 0)
  ------------------
  |  Branch (755:9): [True: 0, False: 3]
  ------------------
  756|      0|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTGET, FAIL, "unable to check if a blob ID is 'nil'");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  757|       |
  758|      3|done:
  759|      3|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      3|    ;                                                                                                        \
  |  | 1573|      3|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      3|    return (ret_value);                                                                                      \
  |  | 1575|      3|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  760|      3|} /* end H5T__vlen_disk_isnull() */
H5Tvlen.c:H5T__vlen_disk_read:
  815|      3|{
  816|      3|    const uint8_t *vl        = (const uint8_t *)_vl; /* Pointer to the user's hvl_t information */
  817|      3|    herr_t         ret_value = SUCCEED;              /* Return value */
  ------------------
  |  |  283|      3|#define SUCCEED 0
  ------------------
  818|       |
  819|      3|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      3|    {                                                                                                        \
  |  | 1461|      3|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      3|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      3|                                                                                                             \
  |  |  |  | 1267|      3|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      3|        {
  ------------------
  820|       |
  821|       |    /* Check parameters */
  822|      3|    assert(file);
  823|      3|    assert(vl);
  824|      3|    assert(buf);
  825|       |
  826|       |    /* Skip the length of the sequence */
  827|      3|    vl += 4;
  828|       |
  829|       |    /* Retrieve blob */
  830|      3|    if (H5VL_blob_get(file, vl, buf, len, NULL) < 0)
  ------------------
  |  Branch (830:9): [True: 3, False: 0]
  ------------------
  831|      3|        HGOTO_ERROR(H5E_DATATYPE, H5E_CANTGET, FAIL, "unable to get blob");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  832|       |
  833|      3|done:
  834|      3|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      3|    ;                                                                                                        \
  |  | 1573|      3|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      3|    return (ret_value);                                                                                      \
  |  | 1575|      3|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  835|      3|} /* end H5T__vlen_disk_read() */

H5UC_create:
   55|      7|{
   56|      7|    H5UC_t *ret_value; /* Return value */
   57|       |
   58|      7|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|      7|    {                                                                                                        \
  |  | 1392|      7|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      7|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      7|                                                                                                             \
  |  |  |  | 1267|      7|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      7|        {
  ------------------
   59|       |
   60|       |    /* Sanity check */
   61|      7|    assert(o);
   62|      7|    assert(free_func);
   63|       |
   64|       |    /* Allocate ref-counted string structure */
   65|      7|    if (NULL == (ret_value = H5FL_MALLOC(H5UC_t)))
  ------------------
  |  |   75|      7|#define H5FL_MALLOC(t) (t *)H5FL_reg_malloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|      7|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (65:9): [True: 0, False: 7]
  ------------------
   66|      0|        HGOTO_ERROR(H5E_RS, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   67|       |
   68|       |    /* Set the internal fields */
   69|      7|    ret_value->o         = o;
   70|      7|    ret_value->n         = 1;
   71|      7|    ret_value->free_func = free_func;
   72|       |
   73|      7|done:
   74|      7|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
   75|      7|} /* end H5UC_create() */
H5UC_decr:
   98|     17|{
   99|     17|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     17|#define SUCCEED 0
  ------------------
  100|       |
  101|     17|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     17|    {                                                                                                        \
  |  | 1392|     17|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     17|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     17|                                                                                                             \
  |  |  |  | 1267|     17|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     17|        {
  ------------------
  102|       |
  103|       |    /* Sanity check */
  104|     17|    assert(rc);
  105|     17|    assert(rc->o);
  106|     17|    assert(rc->n > 0);
  107|     17|    assert(rc->free_func);
  108|       |
  109|       |    /* Decrement reference count */
  110|     17|    rc->n--;
  111|       |
  112|       |    /* Check if we should delete this object now */
  113|     17|    if (rc->n == 0) {
  ------------------
  |  Branch (113:9): [True: 7, False: 10]
  ------------------
  114|      7|        if ((rc->free_func)(rc->o) < 0) {
  ------------------
  |  Branch (114:13): [True: 0, False: 7]
  ------------------
  115|      0|            rc = H5FL_FREE(H5UC_t, rc);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  116|      0|            HGOTO_ERROR(H5E_RS, H5E_CANTFREE, FAIL, "memory release failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  117|      0|        } /* end if */
  118|      7|        rc = H5FL_FREE(H5UC_t, rc);
  ------------------
  |  |   81|      7|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      7|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  119|      7|    } /* end if */
  120|       |
  121|     17|done:
  122|     17|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     17|    ;                                                                                                        \
  |  | 1573|     17|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     17|    return (ret_value);                                                                                      \
  |  | 1575|     17|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  123|     17|} /* end H5UC_decr() */

H5VL_wrap_object:
  781|     83|{
  782|     83|    void *ret_value = NULL; /* Return value */
  783|       |
  784|     83|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|     83|    {                                                                                                        \
  |  | 1392|     83|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     83|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     83|                                                                                                             \
  |  |  |  | 1267|     83|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     83|        {
  ------------------
  785|       |
  786|       |    /* Sanity checks */
  787|     83|    assert(connector);
  788|     83|    assert(obj);
  789|       |
  790|       |    /* Only wrap object if there's a wrap context */
  791|     83|    if (wrap_ctx) {
  ------------------
  |  Branch (791:9): [True: 0, False: 83]
  ------------------
  792|       |        /* Ask the connector to wrap the object */
  793|      0|        if (NULL == (ret_value = (connector->wrap_cls.wrap_object)(obj, obj_type, wrap_ctx)))
  ------------------
  |  Branch (793:13): [True: 0, False: 0]
  ------------------
  794|      0|            HGOTO_ERROR(H5E_VOL, H5E_CANTGET, NULL, "can't wrap object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  795|      0|    } /* end if */
  796|     83|    else
  797|     83|        ret_value = obj;
  798|       |
  799|     83|done:
  800|     83|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     83|    ;                                                                                                        \
  |  | 1573|     83|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     83|    return (ret_value);                                                                                      \
  |  | 1575|     83|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  801|     83|} /* end H5VL_wrap_object() */
H5VL_unwrap_object:
  847|      7|{
  848|      7|    void *ret_value = NULL; /* Return value */
  849|       |
  850|      7|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|      7|    {                                                                                                        \
  |  | 1392|      7|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      7|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      7|                                                                                                             \
  |  |  |  | 1267|      7|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      7|        {
  ------------------
  851|       |
  852|       |    /* Sanity checks */
  853|      7|    assert(connector);
  854|      7|    assert(obj);
  855|       |
  856|       |    /* Only unwrap object if there's an unwrap callback */
  857|      7|    if (connector->wrap_cls.wrap_object) {
  ------------------
  |  Branch (857:9): [True: 0, False: 7]
  ------------------
  858|       |        /* Ask the connector to unwrap the object */
  859|      0|        if (NULL == (ret_value = (connector->wrap_cls.unwrap_object)(obj)))
  ------------------
  |  Branch (859:13): [True: 0, False: 0]
  ------------------
  860|      0|            HGOTO_ERROR(H5E_VOL, H5E_CANTGET, NULL, "can't unwrap object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  861|      0|    } /* end if */
  862|      7|    else
  863|      7|        ret_value = obj;
  864|       |
  865|      7|done:
  866|      7|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  867|      7|} /* end H5VL_unwrap_object() */
H5VL_attr_open:
 1108|     78|{
 1109|     78|    bool  vol_wrapper_set = false; /* Whether the VOL object wrapping context was set up */
 1110|     78|    void *ret_value       = NULL;  /* Return value */
 1111|       |
 1112|     78|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|     78|    {                                                                                                        \
  |  | 1392|     78|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     78|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     78|                                                                                                             \
  |  |  |  | 1267|     78|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     78|        {
  ------------------
 1113|       |
 1114|       |    /* Set wrapper info in API context */
 1115|     78|    if (H5VL_set_vol_wrapper(vol_obj) < 0)
  ------------------
  |  Branch (1115:9): [True: 0, False: 78]
  ------------------
 1116|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTSET, NULL, "can't set VOL wrapper info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1117|     78|    vol_wrapper_set = true;
 1118|       |
 1119|       |    /* Call the corresponding internal VOL routine */
 1120|     78|    if (NULL == (ret_value = H5VL__attr_open(vol_obj->data, loc_params, vol_obj->connector->cls, name,
  ------------------
  |  Branch (1120:9): [True: 14, False: 64]
  ------------------
 1121|     78|                                             aapl_id, dxpl_id, req)))
 1122|     14|        HGOTO_ERROR(H5E_VOL, H5E_CANTOPENOBJ, NULL, "attribute open failed");
  ------------------
  |  |   68|     14|    do {                                                                                                     \
  |  |   69|     14|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     14|    do {                                                                                                     \
  |  |  |  |   40|     14|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     14|    do {                                                                                                     \
  |  |  |  |  |  |   31|     14|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     14|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     14|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     14|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     14|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     14|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     14|    do {                                                                                                     \
  |  |  |  |   92|     14|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     14|        goto done;                                                                                           \
  |  |  |  |   94|     14|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     14|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1123|       |
 1124|     78|done:
 1125|       |    /* Reset object wrapping info in API context */
 1126|     78|    if (vol_wrapper_set && H5VL_reset_vol_wrapper() < 0)
  ------------------
  |  Branch (1126:9): [True: 78, False: 0]
  |  Branch (1126:28): [True: 0, False: 78]
  ------------------
 1127|      0|        HDONE_ERROR(H5E_VOL, H5E_CANTRESET, NULL, "can't reset VOL wrapper info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1128|       |
 1129|     78|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     78|    ;                                                                                                        \
  |  | 1573|     78|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     78|    return (ret_value);                                                                                      \
  |  | 1575|     78|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1130|     78|} /* end H5VL_attr_open() */
H5VL_attr_read:
 1206|     64|{
 1207|     64|    bool   vol_wrapper_set = false;   /* Whether the VOL object wrapping context was set up */
 1208|     64|    herr_t ret_value       = SUCCEED; /* Return value */
  ------------------
  |  |  283|     64|#define SUCCEED 0
  ------------------
 1209|       |
 1210|     64|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     64|    {                                                                                                        \
  |  | 1392|     64|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     64|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     64|                                                                                                             \
  |  |  |  | 1267|     64|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     64|        {
  ------------------
 1211|       |
 1212|       |    /* Set wrapper info in API context */
 1213|     64|    if (H5VL_set_vol_wrapper(vol_obj) < 0)
  ------------------
  |  Branch (1213:9): [True: 0, False: 64]
  ------------------
 1214|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTSET, FAIL, "can't set VOL wrapper info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1215|     64|    vol_wrapper_set = true;
 1216|       |
 1217|       |    /* Call the corresponding internal VOL routine */
 1218|     64|    if (H5VL__attr_read(vol_obj->data, vol_obj->connector->cls, mem_type_id, buf, dxpl_id, req) < 0)
  ------------------
  |  Branch (1218:9): [True: 3, False: 61]
  ------------------
 1219|      3|        HGOTO_ERROR(H5E_VOL, H5E_READERROR, FAIL, "attribute read failed");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1220|       |
 1221|     64|done:
 1222|       |    /* Reset object wrapping info in API context */
 1223|     64|    if (vol_wrapper_set && H5VL_reset_vol_wrapper() < 0)
  ------------------
  |  Branch (1223:9): [True: 64, False: 0]
  |  Branch (1223:28): [True: 0, False: 64]
  ------------------
 1224|      0|        HDONE_ERROR(H5E_VOL, H5E_CANTRESET, FAIL, "can't reset VOL wrapper info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1225|       |
 1226|     64|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     64|    ;                                                                                                        \
  |  | 1573|     64|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     64|    return (ret_value);                                                                                      \
  |  | 1575|     64|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1227|     64|} /* end H5VL_attr_read() */
H5VL_attr_get:
 1400|     61|{
 1401|     61|    bool   vol_wrapper_set = false;   /* Whether the VOL object wrapping context was set up */
 1402|     61|    herr_t ret_value       = SUCCEED; /* Return value */
  ------------------
  |  |  283|     61|#define SUCCEED 0
  ------------------
 1403|       |
 1404|     61|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     61|    {                                                                                                        \
  |  | 1392|     61|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     61|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     61|                                                                                                             \
  |  |  |  | 1267|     61|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     61|        {
  ------------------
 1405|       |
 1406|       |    /* Set wrapper info in API context */
 1407|     61|    if (H5VL_set_vol_wrapper(vol_obj) < 0)
  ------------------
  |  Branch (1407:9): [True: 0, False: 61]
  ------------------
 1408|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTSET, FAIL, "can't set VOL wrapper info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1409|     61|    vol_wrapper_set = true;
 1410|       |
 1411|       |    /* Call the corresponding internal VOL routine */
 1412|     61|    if (H5VL__attr_get(vol_obj->data, vol_obj->connector->cls, args, dxpl_id, req) < 0)
  ------------------
  |  Branch (1412:9): [True: 0, False: 61]
  ------------------
 1413|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "attribute get failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1414|       |
 1415|     61|done:
 1416|       |    /* Reset object wrapping info in API context */
 1417|     61|    if (vol_wrapper_set && H5VL_reset_vol_wrapper() < 0)
  ------------------
  |  Branch (1417:9): [True: 61, False: 0]
  |  Branch (1417:28): [True: 0, False: 61]
  ------------------
 1418|      0|        HDONE_ERROR(H5E_VOL, H5E_CANTRESET, FAIL, "can't reset VOL wrapper info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1419|       |
 1420|     61|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     61|    ;                                                                                                        \
  |  | 1573|     61|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     61|    return (ret_value);                                                                                      \
  |  | 1575|     61|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1421|     61|} /* end H5VL_attr_get() */
H5VL_attr_specific:
 1501|    107|{
 1502|    107|    bool   vol_wrapper_set = false;   /* Whether the VOL object wrapping context was set up */
 1503|    107|    herr_t ret_value       = SUCCEED; /* Return value */
  ------------------
  |  |  283|    107|#define SUCCEED 0
  ------------------
 1504|       |
 1505|    107|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    107|    {                                                                                                        \
  |  | 1392|    107|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    107|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    107|                                                                                                             \
  |  |  |  | 1267|    107|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    107|        {
  ------------------
 1506|       |
 1507|       |    /* Set wrapper info in API context */
 1508|    107|    if (H5VL_set_vol_wrapper(vol_obj) < 0)
  ------------------
  |  Branch (1508:9): [True: 0, False: 107]
  ------------------
 1509|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTSET, FAIL, "can't set VOL wrapper info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1510|    107|    vol_wrapper_set = true;
 1511|       |
 1512|       |    /* Call the corresponding internal VOL routine */
 1513|       |    /* (Must return value from callback, for iterators) */
 1514|    107|    if ((ret_value =
  ------------------
  |  Branch (1514:9): [True: 12, False: 95]
  ------------------
 1515|    107|             H5VL__attr_specific(vol_obj->data, loc_params, vol_obj->connector->cls, args, dxpl_id, req)) < 0)
 1516|     12|        HERROR(H5E_VOL, H5E_CANTOPERATE, "unable to execute attribute 'specific' callback");
  ------------------
  |  |   30|     12|    do {                                                                                                     \
  |  |   31|     12|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |   32|     12|    } while (0)
  |  |  ------------------
  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1517|       |
 1518|    107|done:
 1519|       |    /* Reset object wrapping info in API context */
 1520|    107|    if (vol_wrapper_set && H5VL_reset_vol_wrapper() < 0)
  ------------------
  |  Branch (1520:9): [True: 107, False: 0]
  |  Branch (1520:28): [True: 0, False: 107]
  ------------------
 1521|      0|        HDONE_ERROR(H5E_VOL, H5E_CANTRESET, FAIL, "can't reset VOL wrapper info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1522|       |
 1523|    107|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    107|    ;                                                                                                        \
  |  | 1573|    107|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    107|    return (ret_value);                                                                                      \
  |  | 1575|    107|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1524|    107|} /* end H5VL_attr_specific() */
H5VL_attr_close:
 1743|     64|{
 1744|     64|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     64|#define SUCCEED 0
  ------------------
 1745|       |
 1746|     64|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     64|    {                                                                                                        \
  |  | 1392|     64|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     64|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     64|                                                                                                             \
  |  |  |  | 1267|     64|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     64|        {
  ------------------
 1747|       |
 1748|       |    /* Sanity check */
 1749|     64|    assert(vol_obj);
 1750|       |
 1751|       |    /* Call the corresponding internal VOL routine */
 1752|     64|    if (H5VL__attr_close(vol_obj->data, vol_obj->connector->cls, dxpl_id, req) < 0)
  ------------------
  |  Branch (1752:9): [True: 0, False: 64]
  ------------------
 1753|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTCLOSEOBJ, FAIL, "attribute close failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1754|       |
 1755|     64|done:
 1756|     64|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     64|    ;                                                                                                        \
  |  | 1573|     64|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     64|    return (ret_value);                                                                                      \
  |  | 1575|     64|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1757|     64|} /* end H5VL_attr_close() */
H5VL_dataset_open:
 1940|     52|{
 1941|     52|    bool  vol_wrapper_set = false; /* Whether the VOL object wrapping context was set up */
 1942|     52|    void *ret_value       = NULL;  /* Return value */
 1943|       |
 1944|     52|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|     52|    {                                                                                                        \
  |  | 1392|     52|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     52|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     52|                                                                                                             \
  |  |  |  | 1267|     52|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     52|        {
  ------------------
 1945|       |
 1946|       |    /* Set wrapper info in API context */
 1947|     52|    if (H5VL_set_vol_wrapper(vol_obj) < 0)
  ------------------
  |  Branch (1947:9): [True: 0, False: 52]
  ------------------
 1948|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTSET, NULL, "can't set VOL wrapper info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1949|     52|    vol_wrapper_set = true;
 1950|       |
 1951|       |    /* Call the corresponding internal VOL routine */
 1952|     52|    if (NULL == (ret_value = H5VL__dataset_open(vol_obj->data, loc_params, vol_obj->connector->cls, name,
  ------------------
  |  Branch (1952:9): [True: 9, False: 43]
  ------------------
 1953|     52|                                                dapl_id, dxpl_id, req)))
 1954|      9|        HGOTO_ERROR(H5E_VOL, H5E_CANTOPENOBJ, NULL, "dataset open failed");
  ------------------
  |  |   68|      9|    do {                                                                                                     \
  |  |   69|      9|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      9|    do {                                                                                                     \
  |  |  |  |   40|      9|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      9|    do {                                                                                                     \
  |  |  |  |  |  |   31|      9|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      9|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      9|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      9|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      9|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      9|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      9|    do {                                                                                                     \
  |  |  |  |   92|      9|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      9|        goto done;                                                                                           \
  |  |  |  |   94|      9|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      9|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1955|       |
 1956|     52|done:
 1957|       |    /* Reset object wrapping info in API context */
 1958|     52|    if (vol_wrapper_set && H5VL_reset_vol_wrapper() < 0)
  ------------------
  |  Branch (1958:9): [True: 52, False: 0]
  |  Branch (1958:28): [True: 0, False: 52]
  ------------------
 1959|      0|        HDONE_ERROR(H5E_VOL, H5E_CANTRESET, NULL, "can't reset VOL wrapper info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1960|       |
 1961|     52|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     52|    ;                                                                                                        \
  |  | 1573|     52|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     52|    return (ret_value);                                                                                      \
  |  | 1575|     52|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1962|     52|} /* end H5VL_dataset_open() */
H5VL_dataset_read:
 2044|     31|{
 2045|     31|    bool          vol_wrapper_set = false; /* Whether the VOL object wrapping context was set up */
 2046|     31|    H5VL_object_t tmp_vol_obj;             /* Temporary VOL object for setting VOL wrapper */
 2047|     31|    herr_t        ret_value = SUCCEED;     /* Return value */
  ------------------
  |  |  283|     31|#define SUCCEED 0
  ------------------
 2048|       |
 2049|     31|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     31|    {                                                                                                        \
  |  | 1392|     31|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     31|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     31|                                                                                                             \
  |  |  |  | 1267|     31|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     31|        {
  ------------------
 2050|       |
 2051|     31|    assert(obj);
 2052|     31|    assert(connector);
 2053|       |
 2054|       |    /* Set wrapper info in API context */
 2055|     31|    tmp_vol_obj.data      = obj[0];
 2056|     31|    tmp_vol_obj.connector = connector;
 2057|     31|    tmp_vol_obj.rc        = 1;
 2058|     31|    if (H5VL_set_vol_wrapper(&tmp_vol_obj) < 0)
  ------------------
  |  Branch (2058:9): [True: 0, False: 31]
  ------------------
 2059|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTSET, FAIL, "can't set VOL wrapper info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2060|     31|    vol_wrapper_set = true;
 2061|       |
 2062|       |    /* Call the corresponding internal VOL routine */
 2063|     31|    if (H5VL__dataset_read(count, obj, connector->cls, mem_type_id, mem_space_id, file_space_id, dxpl_id, buf,
  ------------------
  |  Branch (2063:9): [True: 0, False: 31]
  ------------------
 2064|     31|                           req) < 0)
 2065|      0|        HGOTO_ERROR(H5E_VOL, H5E_READERROR, FAIL, "dataset read failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2066|       |
 2067|     31|done:
 2068|       |    /* Reset object wrapping info in API context */
 2069|     31|    if (vol_wrapper_set && H5VL_reset_vol_wrapper() < 0)
  ------------------
  |  Branch (2069:9): [True: 31, False: 0]
  |  Branch (2069:28): [True: 0, False: 31]
  ------------------
 2070|      0|        HDONE_ERROR(H5E_VOL, H5E_CANTRESET, FAIL, "can't reset VOL wrapper info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2071|       |
 2072|     31|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     31|    ;                                                                                                        \
  |  | 1573|     31|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     31|    return (ret_value);                                                                                      \
  |  | 1575|     31|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2073|     31|} /* end H5VL_dataset_read() */
H5VL_dataset_get:
 2285|    114|{
 2286|    114|    bool   vol_wrapper_set = false;   /* Whether the VOL object wrapping context was set up */
 2287|    114|    herr_t ret_value       = SUCCEED; /* Return value */
  ------------------
  |  |  283|    114|#define SUCCEED 0
  ------------------
 2288|       |
 2289|    114|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    114|    {                                                                                                        \
  |  | 1392|    114|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    114|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    114|                                                                                                             \
  |  |  |  | 1267|    114|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    114|        {
  ------------------
 2290|       |
 2291|       |    /* Set wrapper info in API context */
 2292|    114|    if (H5VL_set_vol_wrapper(vol_obj) < 0)
  ------------------
  |  Branch (2292:9): [True: 0, False: 114]
  ------------------
 2293|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTSET, FAIL, "can't set VOL wrapper info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2294|    114|    vol_wrapper_set = true;
 2295|       |
 2296|       |    /* Call the corresponding internal VOL routine */
 2297|    114|    if (H5VL__dataset_get(vol_obj->data, vol_obj->connector->cls, args, dxpl_id, req) < 0)
  ------------------
  |  Branch (2297:9): [True: 0, False: 114]
  ------------------
 2298|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "dataset get failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2299|       |
 2300|    114|done:
 2301|       |    /* Reset object wrapping info in API context */
 2302|    114|    if (vol_wrapper_set && H5VL_reset_vol_wrapper() < 0)
  ------------------
  |  Branch (2302:9): [True: 114, False: 0]
  |  Branch (2302:28): [True: 0, False: 114]
  ------------------
 2303|      0|        HDONE_ERROR(H5E_VOL, H5E_CANTRESET, FAIL, "can't reset VOL wrapper info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2304|       |
 2305|    114|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    114|    ;                                                                                                        \
  |  | 1573|    114|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    114|    return (ret_value);                                                                                      \
  |  | 1575|    114|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2306|    114|} /* end H5VL_dataset_get() */
H5VL_dataset_close:
 2625|     52|{
 2626|     52|    bool   vol_wrapper_set = false;   /* Whether the VOL object wrapping context was set up */
 2627|     52|    herr_t ret_value       = SUCCEED; /* Return value */
  ------------------
  |  |  283|     52|#define SUCCEED 0
  ------------------
 2628|       |
 2629|     52|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     52|    {                                                                                                        \
  |  | 1392|     52|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     52|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     52|                                                                                                             \
  |  |  |  | 1267|     52|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     52|        {
  ------------------
 2630|       |
 2631|       |    /* Sanity check */
 2632|     52|    assert(vol_obj);
 2633|     52|    assert(vol_obj->data);
 2634|     52|    assert(vol_obj->connector);
 2635|     52|    assert(vol_obj->connector->cls);
 2636|       |
 2637|       |    /* Set wrapper info in API context */
 2638|     52|    if (H5VL_set_vol_wrapper(vol_obj) < 0)
  ------------------
  |  Branch (2638:9): [True: 0, False: 52]
  ------------------
 2639|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTSET, FAIL, "can't set VOL wrapper info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2640|     52|    vol_wrapper_set = true;
 2641|       |
 2642|       |    /* Call the corresponding internal VOL routine */
 2643|     52|    if (H5VL__dataset_close(vol_obj->data, vol_obj->connector->cls, dxpl_id, req) < 0)
  ------------------
  |  Branch (2643:9): [True: 0, False: 52]
  ------------------
 2644|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTCLOSEOBJ, FAIL, "dataset close failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2645|       |
 2646|     52|done:
 2647|       |    /* Reset object wrapping info in API context */
 2648|     52|    if (vol_wrapper_set && H5VL_reset_vol_wrapper() < 0)
  ------------------
  |  Branch (2648:9): [True: 52, False: 0]
  |  Branch (2648:28): [True: 0, False: 52]
  ------------------
 2649|      0|        HDONE_ERROR(H5E_VOL, H5E_CANTRESET, FAIL, "can't reset VOL wrapper info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2650|       |
 2651|     52|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     52|    ;                                                                                                        \
  |  | 1573|     52|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     52|    return (ret_value);                                                                                      \
  |  | 1575|     52|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2652|     52|} /* end H5VL_dataset_close() */
H5VL_file_open:
 3638|     10|{
 3639|     10|    H5VL_class_t *cls;              /* VOL Class structure for callback info    */
 3640|     10|    void         *ret_value = NULL; /* Return value */
 3641|       |
 3642|     10|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|     10|    {                                                                                                        \
  |  | 1392|     10|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     10|        {
  ------------------
 3643|       |
 3644|       |    /* Get the connector's class */
 3645|     10|    if (NULL == (cls = (H5VL_class_t *)H5I_object_verify(connector_prop->connector_id, H5I_VOL)))
  ------------------
  |  Branch (3645:9): [True: 0, False: 10]
  ------------------
 3646|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "not a VOL connector ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3647|       |
 3648|       |    /* Call the corresponding internal VOL routine */
 3649|     10|    if (NULL == (ret_value = H5VL__file_open(cls, name, flags, fapl_id, dxpl_id, req))) {
  ------------------
  |  Branch (3649:9): [True: 3, False: 7]
  ------------------
 3650|      3|        bool is_default_conn = true;
 3651|       |
 3652|       |        /* Opening the file failed - Determine whether we should search
 3653|       |         * the plugin path to see if any other VOL connectors are available
 3654|       |         * to attempt to open the file with. This only occurs if the default
 3655|       |         * VOL connector was used for the initial file open attempt.
 3656|       |         */
 3657|      3|        H5VL__is_default_conn(fapl_id, connector_prop->connector_id, &is_default_conn);
 3658|       |
 3659|      3|        if (is_default_conn) {
  ------------------
  |  Branch (3659:13): [True: 3, False: 0]
  ------------------
 3660|      3|            H5VL_file_open_find_connector_t find_connector_ud;
 3661|      3|            herr_t                          iter_ret;
 3662|       |
 3663|      3|            find_connector_ud.connector_prop = connector_prop;
 3664|      3|            find_connector_ud.filename       = name;
 3665|      3|            find_connector_ud.cls            = NULL;
 3666|      3|            find_connector_ud.fapl_id        = fapl_id;
 3667|       |
 3668|      3|            iter_ret = H5PL_iterate(H5PL_ITER_TYPE_VOL, H5VL__file_open_find_connector_cb,
 3669|      3|                                    (void *)&find_connector_ud);
 3670|      3|            if (iter_ret < 0)
  ------------------
  |  Branch (3670:17): [True: 0, False: 3]
  ------------------
 3671|      0|                HGOTO_ERROR(H5E_VOL, H5E_BADITER, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3672|      3|                            "failed to iterate over available VOL connector plugins");
 3673|      3|            else if (iter_ret) {
  ------------------
  |  Branch (3673:22): [True: 0, False: 3]
  ------------------
 3674|       |                /* If one of the available VOL connector plugins is
 3675|       |                 * able to open the file, clear the error stack from any
 3676|       |                 * previous file open failures and then open the file.
 3677|       |                 * Otherwise, if no VOL connectors are available, throw
 3678|       |                 * error from original file open failure.
 3679|       |                 */
 3680|      0|                H5E_clear_stack();
 3681|       |
 3682|      0|                if (NULL == (ret_value = H5VL__file_open(find_connector_ud.cls, name, flags,
  ------------------
  |  Branch (3682:21): [True: 0, False: 0]
  ------------------
 3683|      0|                                                         find_connector_ud.fapl_id, dxpl_id, req)))
 3684|      0|                    HGOTO_ERROR(H5E_VOL, H5E_CANTOPENOBJ, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3685|      0|                                "can't open file '%s' with VOL connector '%s'", name,
 3686|      0|                                find_connector_ud.cls->name);
 3687|      0|            }
 3688|      3|            else
 3689|      3|                HGOTO_ERROR(H5E_VOL, H5E_CANTOPENOBJ, NULL, "open failed");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3690|      3|        } /* end if */
 3691|      0|        else
 3692|      0|            HGOTO_ERROR(H5E_VOL, H5E_CANTOPENOBJ, NULL, "open failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3693|      3|    } /* end if */
 3694|       |
 3695|     10|done:
 3696|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 3697|     10|} /* end H5VL_file_open() */
H5VL_file_get:
 3778|     18|{
 3779|     18|    bool   vol_wrapper_set = false;   /* Whether the VOL object wrapping context was set up */
 3780|     18|    herr_t ret_value       = SUCCEED; /* Return value */
  ------------------
  |  |  283|     18|#define SUCCEED 0
  ------------------
 3781|       |
 3782|     18|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     18|    {                                                                                                        \
  |  | 1392|     18|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     18|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     18|                                                                                                             \
  |  |  |  | 1267|     18|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     18|        {
  ------------------
 3783|       |
 3784|       |    /* Set wrapper info in API context */
 3785|     18|    if (H5VL_set_vol_wrapper(vol_obj) < 0)
  ------------------
  |  Branch (3785:9): [True: 0, False: 18]
  ------------------
 3786|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTSET, FAIL, "can't set VOL wrapper info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3787|     18|    vol_wrapper_set = true;
 3788|       |
 3789|       |    /* Call the corresponding internal VOL routine */
 3790|     18|    if (H5VL__file_get(vol_obj->data, vol_obj->connector->cls, args, dxpl_id, req) < 0)
  ------------------
  |  Branch (3790:9): [True: 0, False: 18]
  ------------------
 3791|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "file get failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3792|       |
 3793|     18|done:
 3794|       |    /* Reset object wrapping info in API context */
 3795|     18|    if (vol_wrapper_set && H5VL_reset_vol_wrapper() < 0)
  ------------------
  |  Branch (3795:9): [True: 18, False: 0]
  |  Branch (3795:28): [True: 0, False: 18]
  ------------------
 3796|      0|        HDONE_ERROR(H5E_VOL, H5E_CANTRESET, FAIL, "can't reset VOL wrapper info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3797|       |
 3798|     18|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     18|    ;                                                                                                        \
  |  | 1573|     18|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     18|    return (ret_value);                                                                                      \
  |  | 1575|     18|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 3799|     18|} /* end H5VL_file_get() */
H5VL_file_optional:
 4006|      7|{
 4007|      7|    bool   vol_wrapper_set = false;   /* Whether the VOL object wrapping context was set up */
 4008|      7|    herr_t ret_value       = SUCCEED; /* Return value */
  ------------------
  |  |  283|      7|#define SUCCEED 0
  ------------------
 4009|       |
 4010|      7|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      7|    {                                                                                                        \
  |  | 1392|      7|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      7|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      7|                                                                                                             \
  |  |  |  | 1267|      7|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      7|        {
  ------------------
 4011|       |
 4012|       |    /* Set wrapper info in API context */
 4013|      7|    if (H5VL_set_vol_wrapper(vol_obj) < 0)
  ------------------
  |  Branch (4013:9): [True: 0, False: 7]
  ------------------
 4014|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTSET, FAIL, "can't set VOL wrapper info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4015|      7|    vol_wrapper_set = true;
 4016|       |
 4017|       |    /* Call the corresponding internal VOL routine */
 4018|      7|    if (H5VL__file_optional(vol_obj->data, vol_obj->connector->cls, args, dxpl_id, req) < 0)
  ------------------
  |  Branch (4018:9): [True: 0, False: 7]
  ------------------
 4019|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTOPERATE, FAIL, "file optional failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4020|       |
 4021|      7|done:
 4022|       |    /* Reset object wrapping info in API context */
 4023|      7|    if (vol_wrapper_set && H5VL_reset_vol_wrapper() < 0)
  ------------------
  |  Branch (4023:9): [True: 7, False: 0]
  |  Branch (4023:28): [True: 0, False: 7]
  ------------------
 4024|      0|        HDONE_ERROR(H5E_VOL, H5E_CANTRESET, FAIL, "can't reset VOL wrapper info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4025|       |
 4026|      7|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 4027|      7|} /* end H5VL_file_optional() */
H5VL_file_close:
 4149|      7|{
 4150|      7|    bool   vol_wrapper_set = false;   /* Whether the VOL object wrapping context was set up */
 4151|      7|    herr_t ret_value       = SUCCEED; /* Return value */
  ------------------
  |  |  283|      7|#define SUCCEED 0
  ------------------
 4152|       |
 4153|      7|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      7|    {                                                                                                        \
  |  | 1392|      7|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      7|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      7|                                                                                                             \
  |  |  |  | 1267|      7|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      7|        {
  ------------------
 4154|       |
 4155|       |    /* Set wrapper info in API context */
 4156|      7|    if (H5VL_set_vol_wrapper(vol_obj) < 0)
  ------------------
  |  Branch (4156:9): [True: 0, False: 7]
  ------------------
 4157|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTSET, FAIL, "can't set VOL wrapper info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4158|      7|    vol_wrapper_set = true;
 4159|       |
 4160|       |    /* Call the corresponding internal VOL routine */
 4161|      7|    if (H5VL__file_close(vol_obj->data, vol_obj->connector->cls, dxpl_id, req) < 0)
  ------------------
  |  Branch (4161:9): [True: 0, False: 7]
  ------------------
 4162|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTCLOSEFILE, FAIL, "file close failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4163|       |
 4164|      7|done:
 4165|       |    /* Reset object wrapping info in API context */
 4166|      7|    if (vol_wrapper_set && H5VL_reset_vol_wrapper() < 0)
  ------------------
  |  Branch (4166:9): [True: 7, False: 0]
  |  Branch (4166:28): [True: 0, False: 7]
  ------------------
 4167|      0|        HDONE_ERROR(H5E_VOL, H5E_CANTRESET, FAIL, "can't reset VOL wrapper info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4168|       |
 4169|      7|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 4170|      7|} /* end H5VL_file_close() */
H5VL_group_open:
 4349|      8|{
 4350|      8|    bool  vol_wrapper_set = false; /* Whether the VOL object wrapping context was set up */
 4351|      8|    void *ret_value       = NULL;  /* Return value */
 4352|       |
 4353|      8|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|      8|    {                                                                                                        \
  |  | 1392|      8|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      8|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      8|                                                                                                             \
  |  |  |  | 1267|      8|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      8|        {
  ------------------
 4354|       |
 4355|       |    /* Set wrapper info in API context */
 4356|      8|    if (H5VL_set_vol_wrapper(vol_obj) < 0)
  ------------------
  |  Branch (4356:9): [True: 0, False: 8]
  ------------------
 4357|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTSET, NULL, "can't set VOL wrapper info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4358|      8|    vol_wrapper_set = true;
 4359|       |
 4360|       |    /* Call the corresponding internal VOL routine */
 4361|      8|    if (NULL == (ret_value = H5VL__group_open(vol_obj->data, loc_params, vol_obj->connector->cls, name,
  ------------------
  |  Branch (4361:9): [True: 0, False: 8]
  ------------------
 4362|      8|                                              gapl_id, dxpl_id, req)))
 4363|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTOPENOBJ, NULL, "group open failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4364|       |
 4365|      8|done:
 4366|       |    /* Reset object wrapping info in API context */
 4367|      8|    if (vol_wrapper_set && H5VL_reset_vol_wrapper() < 0)
  ------------------
  |  Branch (4367:9): [True: 8, False: 0]
  |  Branch (4367:28): [True: 0, False: 8]
  ------------------
 4368|      0|        HDONE_ERROR(H5E_VOL, H5E_CANTRESET, NULL, "can't reset VOL wrapper info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4369|       |
 4370|      8|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      8|    ;                                                                                                        \
  |  | 1573|      8|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      8|    return (ret_value);                                                                                      \
  |  | 1575|      8|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 4371|      8|} /* end H5VL_group_open() */
H5VL_group_get:
 4447|      7|{
 4448|      7|    bool   vol_wrapper_set = false;   /* Whether the VOL object wrapping context was set up */
 4449|      7|    herr_t ret_value       = SUCCEED; /* Return value */
  ------------------
  |  |  283|      7|#define SUCCEED 0
  ------------------
 4450|       |
 4451|      7|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      7|    {                                                                                                        \
  |  | 1392|      7|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      7|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      7|                                                                                                             \
  |  |  |  | 1267|      7|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      7|        {
  ------------------
 4452|       |
 4453|       |    /* Set wrapper info in API context */
 4454|      7|    if (H5VL_set_vol_wrapper(vol_obj) < 0)
  ------------------
  |  Branch (4454:9): [True: 0, False: 7]
  ------------------
 4455|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTSET, FAIL, "can't set VOL wrapper info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4456|      7|    vol_wrapper_set = true;
 4457|       |
 4458|       |    /* Call the corresponding internal VOL routine */
 4459|      7|    if (H5VL__group_get(vol_obj->data, vol_obj->connector->cls, args, dxpl_id, req) < 0)
  ------------------
  |  Branch (4459:9): [True: 1, False: 6]
  ------------------
 4460|      1|        HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "group get failed");
  ------------------
  |  |   68|      1|    do {                                                                                                     \
  |  |   69|      1|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      1|    do {                                                                                                     \
  |  |  |  |   40|      1|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      1|    do {                                                                                                     \
  |  |  |  |  |  |   31|      1|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      1|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      1|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      1|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      1|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      1|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      1|    do {                                                                                                     \
  |  |  |  |   92|      1|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      1|        goto done;                                                                                           \
  |  |  |  |   94|      1|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      1|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4461|       |
 4462|      7|done:
 4463|       |    /* Reset object wrapping info in API context */
 4464|      7|    if (vol_wrapper_set && H5VL_reset_vol_wrapper() < 0)
  ------------------
  |  Branch (4464:9): [True: 7, False: 0]
  |  Branch (4464:28): [True: 0, False: 7]
  ------------------
 4465|      0|        HDONE_ERROR(H5E_VOL, H5E_CANTRESET, FAIL, "can't reset VOL wrapper info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4466|       |
 4467|      7|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 4468|      7|} /* end H5VL_group_get() */
H5VL_group_close:
 4788|     84|{
 4789|     84|    bool   vol_wrapper_set = false;   /* Whether the VOL object wrapping context was set up */
 4790|     84|    herr_t ret_value       = SUCCEED; /* Return value */
  ------------------
  |  |  283|     84|#define SUCCEED 0
  ------------------
 4791|       |
 4792|     84|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     84|    {                                                                                                        \
  |  | 1392|     84|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     84|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     84|                                                                                                             \
  |  |  |  | 1267|     84|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     84|        {
  ------------------
 4793|       |
 4794|       |    /* Set wrapper info in API context */
 4795|     84|    if (H5VL_set_vol_wrapper(vol_obj) < 0)
  ------------------
  |  Branch (4795:9): [True: 0, False: 84]
  ------------------
 4796|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTSET, FAIL, "can't set VOL wrapper info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4797|     84|    vol_wrapper_set = true;
 4798|       |
 4799|       |    /* Call the corresponding internal VOL routine */
 4800|     84|    if (H5VL__group_close(vol_obj->data, vol_obj->connector->cls, dxpl_id, req) < 0)
  ------------------
  |  Branch (4800:9): [True: 0, False: 84]
  ------------------
 4801|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTCLOSEOBJ, FAIL, "group close failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4802|       |
 4803|     84|done:
 4804|       |    /* Reset object wrapping info in API context */
 4805|     84|    if (vol_wrapper_set && H5VL_reset_vol_wrapper() < 0)
  ------------------
  |  Branch (4805:9): [True: 84, False: 0]
  |  Branch (4805:28): [True: 0, False: 84]
  ------------------
 4806|      0|        HDONE_ERROR(H5E_VOL, H5E_CANTRESET, FAIL, "can't reset VOL wrapper info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4807|       |
 4808|     84|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     84|    ;                                                                                                        \
  |  | 1573|     84|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     84|    return (ret_value);                                                                                      \
  |  | 1575|     84|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 4809|     84|} /* end H5VL_group_close() */
H5VL_link_get:
 5208|    138|{
 5209|    138|    bool   vol_wrapper_set = false;   /* Whether the VOL object wrapping context was set up */
 5210|    138|    herr_t ret_value       = SUCCEED; /* Return value */
  ------------------
  |  |  283|    138|#define SUCCEED 0
  ------------------
 5211|       |
 5212|    138|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    138|    {                                                                                                        \
  |  | 1392|    138|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    138|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    138|                                                                                                             \
  |  |  |  | 1267|    138|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    138|        {
  ------------------
 5213|       |
 5214|       |    /* Set wrapper info in API context */
 5215|    138|    if (H5VL_set_vol_wrapper(vol_obj) < 0)
  ------------------
  |  Branch (5215:9): [True: 0, False: 138]
  ------------------
 5216|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTSET, FAIL, "can't set VOL wrapper info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5217|    138|    vol_wrapper_set = true;
 5218|       |
 5219|       |    /* Call the corresponding internal VOL routine */
 5220|    138|    if (H5VL__link_get(vol_obj->data, loc_params, vol_obj->connector->cls, args, dxpl_id, req) < 0)
  ------------------
  |  Branch (5220:9): [True: 2, False: 136]
  ------------------
 5221|      2|        HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "link get failed");
  ------------------
  |  |   68|      2|    do {                                                                                                     \
  |  |   69|      2|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      2|    do {                                                                                                     \
  |  |  |  |   40|      2|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      2|    do {                                                                                                     \
  |  |  |  |  |  |   31|      2|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      2|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      2|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      2|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      2|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      2|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      2|    do {                                                                                                     \
  |  |  |  |   92|      2|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      2|        goto done;                                                                                           \
  |  |  |  |   94|      2|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5222|       |
 5223|    138|done:
 5224|       |    /* Reset object wrapping info in API context */
 5225|    138|    if (vol_wrapper_set && H5VL_reset_vol_wrapper() < 0)
  ------------------
  |  Branch (5225:9): [True: 138, False: 0]
  |  Branch (5225:28): [True: 0, False: 138]
  ------------------
 5226|      0|        HDONE_ERROR(H5E_VOL, H5E_CANTRESET, FAIL, "can't reset VOL wrapper info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5227|       |
 5228|    138|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    138|    ;                                                                                                        \
  |  | 1573|    138|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    138|    return (ret_value);                                                                                      \
  |  | 1575|    138|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 5229|    138|} /* end H5VL_link_get() */
H5VL_link_specific:
 5308|     82|{
 5309|     82|    bool   vol_wrapper_set = false;   /* Whether the VOL object wrapping context was set up */
 5310|     82|    herr_t ret_value       = SUCCEED; /* Return value */
  ------------------
  |  |  283|     82|#define SUCCEED 0
  ------------------
 5311|       |
 5312|     82|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     82|    {                                                                                                        \
  |  | 1392|     82|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     82|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     82|                                                                                                             \
  |  |  |  | 1267|     82|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     82|        {
  ------------------
 5313|       |
 5314|       |    /* Set wrapper info in API context */
 5315|     82|    if (H5VL_set_vol_wrapper(vol_obj) < 0)
  ------------------
  |  Branch (5315:9): [True: 0, False: 82]
  ------------------
 5316|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTSET, FAIL, "can't set VOL wrapper info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5317|     82|    vol_wrapper_set = true;
 5318|       |
 5319|       |    /* Call the corresponding internal VOL routine */
 5320|       |    /* (Must return value from callback, for iterators) */
 5321|     82|    if ((ret_value =
  ------------------
  |  Branch (5321:9): [True: 50, False: 32]
  ------------------
 5322|     82|             H5VL__link_specific(vol_obj->data, loc_params, vol_obj->connector->cls, args, dxpl_id, req)) < 0)
 5323|     50|        HERROR(H5E_VOL, H5E_CANTOPERATE, "unable to execute link specific callback");
  ------------------
  |  |   30|     50|    do {                                                                                                     \
  |  |   31|     50|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |   32|     50|    } while (0)
  |  |  ------------------
  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5324|       |
 5325|     82|done:
 5326|       |    /* Reset object wrapping info in API context */
 5327|     82|    if (vol_wrapper_set && H5VL_reset_vol_wrapper() < 0)
  ------------------
  |  Branch (5327:9): [True: 82, False: 0]
  |  Branch (5327:28): [True: 0, False: 82]
  ------------------
 5328|      0|        HDONE_ERROR(H5E_VOL, H5E_CANTRESET, FAIL, "can't reset VOL wrapper info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5329|       |
 5330|     82|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     82|    ;                                                                                                        \
  |  | 1573|     82|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     82|    return (ret_value);                                                                                      \
  |  | 1575|     82|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 5331|     82|} /* end H5VL_link_specific() */
H5VL_object_open:
 5568|     15|{
 5569|     15|    bool  vol_wrapper_set = false; /* Whether the VOL object wrapping context was set up */
 5570|     15|    void *ret_value       = NULL;  /* Return value */
 5571|       |
 5572|     15|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|     15|    {                                                                                                        \
  |  | 1392|     15|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     15|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     15|                                                                                                             \
  |  |  |  | 1267|     15|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     15|        {
  ------------------
 5573|       |
 5574|       |    /* Set wrapper info in API context */
 5575|     15|    if (H5VL_set_vol_wrapper(vol_obj) < 0)
  ------------------
  |  Branch (5575:9): [True: 0, False: 15]
  ------------------
 5576|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTSET, NULL, "can't set VOL wrapper info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5577|     15|    vol_wrapper_set = true;
 5578|       |
 5579|       |    /* Call the corresponding internal VOL routine */
 5580|     15|    if (NULL == (ret_value = H5VL__object_open(vol_obj->data, params, vol_obj->connector->cls, opened_type,
  ------------------
  |  Branch (5580:9): [True: 6, False: 9]
  ------------------
 5581|     15|                                               dxpl_id, req)))
 5582|      6|        HGOTO_ERROR(H5E_VOL, H5E_CANTOPENOBJ, NULL, "object open failed");
  ------------------
  |  |   68|      6|    do {                                                                                                     \
  |  |   69|      6|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      6|    do {                                                                                                     \
  |  |  |  |   40|      6|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      6|    do {                                                                                                     \
  |  |  |  |  |  |   31|      6|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      6|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      6|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      6|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      6|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      6|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      6|    do {                                                                                                     \
  |  |  |  |   92|      6|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      6|        goto done;                                                                                           \
  |  |  |  |   94|      6|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      6|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5583|       |
 5584|     15|done:
 5585|       |    /* Reset object wrapping info in API context */
 5586|     15|    if (vol_wrapper_set && H5VL_reset_vol_wrapper() < 0)
  ------------------
  |  Branch (5586:9): [True: 15, False: 0]
  |  Branch (5586:28): [True: 0, False: 15]
  ------------------
 5587|      0|        HDONE_ERROR(H5E_VOL, H5E_CANTRESET, NULL, "can't reset VOL wrapper info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5588|       |
 5589|     15|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     15|    ;                                                                                                        \
  |  | 1573|     15|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     15|    return (ret_value);                                                                                      \
  |  | 1575|     15|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 5590|     15|} /* end H5VL_object_open() */
H5VL_object_get:
 5778|     91|{
 5779|     91|    bool   vol_wrapper_set = false;   /* Whether the VOL object wrapping context was set up */
 5780|     91|    herr_t ret_value       = SUCCEED; /* Return value */
  ------------------
  |  |  283|     91|#define SUCCEED 0
  ------------------
 5781|       |
 5782|     91|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     91|    {                                                                                                        \
  |  | 1392|     91|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     91|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     91|                                                                                                             \
  |  |  |  | 1267|     91|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     91|        {
  ------------------
 5783|       |
 5784|       |    /* Set wrapper info in API context */
 5785|     91|    if (H5VL_set_vol_wrapper(vol_obj) < 0)
  ------------------
  |  Branch (5785:9): [True: 0, False: 91]
  ------------------
 5786|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTSET, FAIL, "can't set VOL wrapper info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5787|     91|    vol_wrapper_set = true;
 5788|       |
 5789|       |    /* Call the corresponding internal VOL routine */
 5790|     91|    if (H5VL__object_get(vol_obj->data, loc_params, vol_obj->connector->cls, args, dxpl_id, req) < 0)
  ------------------
  |  Branch (5790:9): [True: 24, False: 67]
  ------------------
 5791|     24|        HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "get failed");
  ------------------
  |  |   68|     24|    do {                                                                                                     \
  |  |   69|     24|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     24|    do {                                                                                                     \
  |  |  |  |   40|     24|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     24|    do {                                                                                                     \
  |  |  |  |  |  |   31|     24|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     24|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     24|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     24|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     24|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     24|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     24|    do {                                                                                                     \
  |  |  |  |   92|     24|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     24|        goto done;                                                                                           \
  |  |  |  |   94|     24|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     24|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5792|       |
 5793|     91|done:
 5794|       |    /* Reset object wrapping info in API context */
 5795|     91|    if (vol_wrapper_set && H5VL_reset_vol_wrapper() < 0)
  ------------------
  |  Branch (5795:9): [True: 91, False: 0]
  |  Branch (5795:28): [True: 0, False: 91]
  ------------------
 5796|      0|        HDONE_ERROR(H5E_VOL, H5E_CANTRESET, FAIL, "can't reset VOL wrapper info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5797|       |
 5798|     91|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     91|    ;                                                                                                        \
  |  | 1573|     91|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     91|    return (ret_value);                                                                                      \
  |  | 1575|     91|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 5799|     91|} /* end H5VL_object_get() */
H5VL_introspect_get_conn_cls:
 6147|     15|{
 6148|     15|    bool   vol_wrapper_set = false;   /* Whether the VOL object wrapping context was set up */
 6149|     15|    herr_t ret_value       = SUCCEED; /* Return value */
  ------------------
  |  |  283|     15|#define SUCCEED 0
  ------------------
 6150|       |
 6151|     15|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     15|    {                                                                                                        \
  |  | 1392|     15|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     15|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     15|                                                                                                             \
  |  |  |  | 1267|     15|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     15|        {
  ------------------
 6152|       |
 6153|       |    /* Set wrapper info in API context */
 6154|     15|    if (H5VL_set_vol_wrapper(vol_obj) < 0)
  ------------------
  |  Branch (6154:9): [True: 0, False: 15]
  ------------------
 6155|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTSET, FAIL, "can't set VOL wrapper info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 6156|     15|    vol_wrapper_set = true;
 6157|       |
 6158|       |    /* Call the corresponding internal VOL routine */
 6159|     15|    if (H5VL__introspect_get_conn_cls(vol_obj->data, vol_obj->connector->cls, lvl, conn_cls) < 0)
  ------------------
  |  Branch (6159:9): [True: 0, False: 15]
  ------------------
 6160|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "can't query connector class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 6161|       |
 6162|     15|done:
 6163|       |    /* Reset object wrapping info in API context */
 6164|     15|    if (vol_wrapper_set && H5VL_reset_vol_wrapper() < 0)
  ------------------
  |  Branch (6164:9): [True: 15, False: 0]
  |  Branch (6164:28): [True: 0, False: 15]
  ------------------
 6165|      0|        HDONE_ERROR(H5E_VOL, H5E_CANTRESET, FAIL, "can't reset VOL wrapper info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 6166|       |
 6167|     15|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     15|    ;                                                                                                        \
  |  | 1573|     15|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     15|    return (ret_value);                                                                                      \
  |  | 1575|     15|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 6168|     15|} /* end H5VL_introspect_get_conn_cls() */
H5VL_introspect_opt_query:
 6321|      7|{
 6322|      7|    bool   vol_wrapper_set = false;   /* Whether the VOL object wrapping context was set up */
 6323|      7|    herr_t ret_value       = SUCCEED; /* Return value */
  ------------------
  |  |  283|      7|#define SUCCEED 0
  ------------------
 6324|       |
 6325|      7|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      7|    {                                                                                                        \
  |  | 1392|      7|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      7|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      7|                                                                                                             \
  |  |  |  | 1267|      7|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      7|        {
  ------------------
 6326|       |
 6327|       |    /* Set wrapper info in API context */
 6328|      7|    if (H5VL_set_vol_wrapper(vol_obj) < 0)
  ------------------
  |  Branch (6328:9): [True: 0, False: 7]
  ------------------
 6329|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTSET, FAIL, "can't set VOL wrapper info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 6330|      7|    vol_wrapper_set = true;
 6331|       |
 6332|       |    /* Call the corresponding internal VOL routine */
 6333|      7|    if (H5VL__introspect_opt_query(vol_obj->data, vol_obj->connector->cls, subcls, opt_type, flags) < 0)
  ------------------
  |  Branch (6333:9): [True: 0, False: 7]
  ------------------
 6334|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "can't query optional operation support");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 6335|       |
 6336|      7|done:
 6337|       |    /* Reset object wrapping info in API context */
 6338|      7|    if (vol_wrapper_set && H5VL_reset_vol_wrapper() < 0)
  ------------------
  |  Branch (6338:9): [True: 7, False: 0]
  |  Branch (6338:28): [True: 0, False: 7]
  ------------------
 6339|      0|        HDONE_ERROR(H5E_VOL, H5E_CANTRESET, FAIL, "can't reset VOL wrapper info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 6340|       |
 6341|      7|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 6342|      7|} /* end H5VL_introspect_opt_query() */
H5VL_blob_get:
 7167|      3|{
 7168|      3|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      3|#define SUCCEED 0
  ------------------
 7169|       |
 7170|      3|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      3|    {                                                                                                        \
  |  | 1392|      3|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      3|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      3|                                                                                                             \
  |  |  |  | 1267|      3|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      3|        {
  ------------------
 7171|       |
 7172|       |    /* Sanity check */
 7173|      3|    assert(vol_obj);
 7174|      3|    assert(blob_id);
 7175|      3|    assert(buf);
 7176|       |
 7177|       |    /* Call the corresponding VOL callback */
 7178|      3|    if (H5VL__blob_get(vol_obj->data, vol_obj->connector->cls, blob_id, buf, size, ctx) < 0)
  ------------------
  |  Branch (7178:9): [True: 3, False: 0]
  ------------------
 7179|      3|        HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "blob get failed");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 7180|       |
 7181|      3|done:
 7182|      3|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      3|    ;                                                                                                        \
  |  | 1573|      3|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      3|    return (ret_value);                                                                                      \
  |  | 1575|      3|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 7183|      3|} /* end H5VL_blob_get() */
H5VL_blob_specific:
 7261|      3|{
 7262|      3|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      3|#define SUCCEED 0
  ------------------
 7263|       |
 7264|      3|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      3|    {                                                                                                        \
  |  | 1392|      3|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      3|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      3|                                                                                                             \
  |  |  |  | 1267|      3|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      3|        {
  ------------------
 7265|       |
 7266|       |    /* Sanity check */
 7267|      3|    assert(vol_obj);
 7268|      3|    assert(blob_id);
 7269|       |
 7270|       |    /* Call the corresponding internal VOL routine */
 7271|      3|    if (H5VL__blob_specific(vol_obj->data, vol_obj->connector->cls, blob_id, args) < 0)
  ------------------
  |  Branch (7271:9): [True: 0, False: 3]
  ------------------
 7272|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTOPERATE, FAIL, "unable to execute blob specific callback");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 7273|       |
 7274|      3|done:
 7275|      3|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      3|    ;                                                                                                        \
  |  | 1573|      3|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      3|    return (ret_value);                                                                                      \
  |  | 1575|      3|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 7276|      3|} /* end H5VL_blob_specific() */
H5VLcallback.c:H5VL__attr_open:
 1078|     78|{
 1079|     78|    void *ret_value = NULL; /* Return value */
 1080|       |
 1081|     78|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     78|    {                                                                                                        \
  |  | 1461|     78|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     78|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     78|                                                                                                             \
  |  |  |  | 1267|     78|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     78|        {
  ------------------
 1082|       |
 1083|       |    /* Check if the corresponding VOL callback exists */
 1084|     78|    if (NULL == cls->attr_cls.open)
  ------------------
  |  Branch (1084:9): [True: 0, False: 78]
  ------------------
 1085|      0|        HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, NULL, "VOL connector has no 'attr open' method");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1086|       |
 1087|       |    /* Call the corresponding VOL open callback */
 1088|     78|    if (NULL == (ret_value = (cls->attr_cls.open)(obj, loc_params, name, aapl_id, dxpl_id, req)))
  ------------------
  |  Branch (1088:9): [True: 14, False: 64]
  ------------------
 1089|     14|        HGOTO_ERROR(H5E_VOL, H5E_CANTOPENOBJ, NULL, "attribute open failed");
  ------------------
  |  |   68|     14|    do {                                                                                                     \
  |  |   69|     14|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     14|    do {                                                                                                     \
  |  |  |  |   40|     14|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     14|    do {                                                                                                     \
  |  |  |  |  |  |   31|     14|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     14|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     14|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     14|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     14|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     14|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     14|    do {                                                                                                     \
  |  |  |  |   92|     14|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     14|        goto done;                                                                                           \
  |  |  |  |   94|     14|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     14|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1090|       |
 1091|     78|done:
 1092|     78|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     78|    ;                                                                                                        \
  |  | 1573|     78|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     78|    return (ret_value);                                                                                      \
  |  | 1575|     78|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1093|     78|} /* end H5VL__attr_open() */
H5VLcallback.c:H5VL__attr_read:
 1177|     64|{
 1178|     64|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     64|#define SUCCEED 0
  ------------------
 1179|       |
 1180|     64|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     64|    {                                                                                                        \
  |  | 1461|     64|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     64|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     64|                                                                                                             \
  |  |  |  | 1267|     64|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     64|        {
  ------------------
 1181|       |
 1182|       |    /* Check if the corresponding VOL callback exists */
 1183|     64|    if (NULL == cls->attr_cls.read)
  ------------------
  |  Branch (1183:9): [True: 0, False: 64]
  ------------------
 1184|      0|        HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, FAIL, "VOL connector has no 'attr read' method");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1185|       |
 1186|       |    /* Call the corresponding VOL callback */
 1187|     64|    if ((cls->attr_cls.read)(obj, mem_type_id, buf, dxpl_id, req) < 0)
  ------------------
  |  Branch (1187:9): [True: 3, False: 61]
  ------------------
 1188|      3|        HGOTO_ERROR(H5E_VOL, H5E_READERROR, FAIL, "attribute read failed");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1189|       |
 1190|     64|done:
 1191|     64|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     64|    ;                                                                                                        \
  |  | 1573|     64|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     64|    return (ret_value);                                                                                      \
  |  | 1575|     64|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1192|     64|} /* end H5VL__attr_read() */
H5VLcallback.c:H5VL__attr_get:
 1371|     61|{
 1372|     61|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     61|#define SUCCEED 0
  ------------------
 1373|       |
 1374|     61|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     61|    {                                                                                                        \
  |  | 1461|     61|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     61|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     61|                                                                                                             \
  |  |  |  | 1267|     61|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     61|        {
  ------------------
 1375|       |
 1376|       |    /* Check if the corresponding VOL callback exists */
 1377|     61|    if (NULL == cls->attr_cls.get)
  ------------------
  |  Branch (1377:9): [True: 0, False: 61]
  ------------------
 1378|      0|        HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, FAIL, "VOL connector has no 'attr get' method");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1379|       |
 1380|       |    /* Call the corresponding VOL callback */
 1381|     61|    if ((cls->attr_cls.get)(obj, args, dxpl_id, req) < 0)
  ------------------
  |  Branch (1381:9): [True: 0, False: 61]
  ------------------
 1382|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "attribute get failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1383|       |
 1384|     61|done:
 1385|     61|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     61|    ;                                                                                                        \
  |  | 1573|     61|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     61|    return (ret_value);                                                                                      \
  |  | 1575|     61|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1386|     61|} /* end H5VL__attr_get() */
H5VLcallback.c:H5VL__attr_specific:
 1470|    107|{
 1471|    107|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    107|#define SUCCEED 0
  ------------------
 1472|       |
 1473|    107|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    107|    {                                                                                                        \
  |  | 1461|    107|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    107|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    107|                                                                                                             \
  |  |  |  | 1267|    107|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    107|        {
  ------------------
 1474|       |
 1475|       |    /* Check if the corresponding VOL callback exists */
 1476|    107|    if (NULL == cls->attr_cls.specific)
  ------------------
  |  Branch (1476:9): [True: 0, False: 107]
  ------------------
 1477|      0|        HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, FAIL, "VOL connector has no 'attr specific' method");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1478|       |
 1479|       |    /* Call the corresponding VOL callback */
 1480|       |    /* (Must return value from callback, for iterators) */
 1481|    107|    if ((ret_value = (cls->attr_cls.specific)(obj, loc_params, args, dxpl_id, req)) < 0)
  ------------------
  |  Branch (1481:9): [True: 12, False: 95]
  ------------------
 1482|     12|        HERROR(H5E_VOL, H5E_CANTOPERATE, "unable to execute attribute 'specific' callback");
  ------------------
  |  |   30|     12|    do {                                                                                                     \
  |  |   31|     12|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |   32|     12|    } while (0)
  |  |  ------------------
  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1483|       |
 1484|    107|done:
 1485|    107|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    107|    ;                                                                                                        \
  |  | 1573|    107|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    107|    return (ret_value);                                                                                      \
  |  | 1575|    107|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1486|    107|} /* end H5VL__attr_specific() */
H5VLcallback.c:H5VL__attr_close:
 1714|     64|{
 1715|     64|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     64|#define SUCCEED 0
  ------------------
 1716|       |
 1717|     64|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     64|    {                                                                                                        \
  |  | 1461|     64|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     64|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     64|                                                                                                             \
  |  |  |  | 1267|     64|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     64|        {
  ------------------
 1718|       |
 1719|       |    /* Check if the corresponding VOL callback exists */
 1720|     64|    if (NULL == cls->attr_cls.close)
  ------------------
  |  Branch (1720:9): [True: 0, False: 64]
  ------------------
 1721|      0|        HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, FAIL, "VOL connector has no 'attr close' method");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1722|       |
 1723|       |    /* Call the corresponding VOL callback */
 1724|     64|    if ((cls->attr_cls.close)(obj, dxpl_id, req) < 0)
  ------------------
  |  Branch (1724:9): [True: 0, False: 64]
  ------------------
 1725|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTCLOSEOBJ, FAIL, "attribute close failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1726|       |
 1727|     64|done:
 1728|     64|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     64|    ;                                                                                                        \
  |  | 1573|     64|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     64|    return (ret_value);                                                                                      \
  |  | 1575|     64|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1729|     64|} /* end H5VL__attr_close() */
H5VLcallback.c:H5VL__dataset_open:
 1910|     52|{
 1911|     52|    void *ret_value = NULL; /* Return value */
 1912|       |
 1913|     52|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     52|    {                                                                                                        \
  |  | 1461|     52|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     52|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     52|                                                                                                             \
  |  |  |  | 1267|     52|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     52|        {
  ------------------
 1914|       |
 1915|       |    /* Check if the corresponding VOL callback exists */
 1916|     52|    if (NULL == cls->dataset_cls.open)
  ------------------
  |  Branch (1916:9): [True: 0, False: 52]
  ------------------
 1917|      0|        HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, NULL, "VOL connector has no 'dataset open' method");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1918|       |
 1919|       |    /* Call the corresponding VOL callback */
 1920|     52|    if (NULL == (ret_value = (cls->dataset_cls.open)(obj, loc_params, name, dapl_id, dxpl_id, req)))
  ------------------
  |  Branch (1920:9): [True: 9, False: 43]
  ------------------
 1921|      9|        HGOTO_ERROR(H5E_VOL, H5E_CANTOPENOBJ, NULL, "dataset open failed");
  ------------------
  |  |   68|      9|    do {                                                                                                     \
  |  |   69|      9|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      9|    do {                                                                                                     \
  |  |  |  |   40|      9|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      9|    do {                                                                                                     \
  |  |  |  |  |  |   31|      9|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      9|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      9|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      9|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      9|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      9|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      9|    do {                                                                                                     \
  |  |  |  |   92|      9|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      9|        goto done;                                                                                           \
  |  |  |  |   94|      9|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      9|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1922|       |
 1923|     52|done:
 1924|     52|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     52|    ;                                                                                                        \
  |  | 1573|     52|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     52|    return (ret_value);                                                                                      \
  |  | 1575|     52|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1925|     52|} /* end H5VL__dataset_open() */
H5VLcallback.c:H5VL__dataset_read:
 2010|     31|{
 2011|     31|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     31|#define SUCCEED 0
  ------------------
 2012|       |
 2013|     31|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     31|    {                                                                                                        \
  |  | 1461|     31|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     31|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     31|                                                                                                             \
  |  |  |  | 1267|     31|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     31|        {
  ------------------
 2014|       |
 2015|       |    /* Check if the corresponding VOL callback exists */
 2016|     31|    if (NULL == cls->dataset_cls.read)
  ------------------
  |  Branch (2016:9): [True: 0, False: 31]
  ------------------
 2017|      0|        HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, FAIL, "VOL connector has no 'dataset read' method");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2018|       |
 2019|       |    /* Call the corresponding VOL callback */
 2020|     31|    if ((cls->dataset_cls.read)(count, obj, mem_type_id, mem_space_id, file_space_id, dxpl_id, buf, req) < 0)
  ------------------
  |  Branch (2020:9): [True: 0, False: 31]
  ------------------
 2021|      0|        HGOTO_ERROR(H5E_VOL, H5E_READERROR, FAIL, "dataset read failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2022|       |
 2023|     31|done:
 2024|     31|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     31|    ;                                                                                                        \
  |  | 1573|     31|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     31|    return (ret_value);                                                                                      \
  |  | 1575|     31|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2025|     31|} /* end H5VL__dataset_read() */
H5VLcallback.c:H5VL__dataset_get:
 2256|    114|{
 2257|    114|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    114|#define SUCCEED 0
  ------------------
 2258|       |
 2259|    114|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    114|    {                                                                                                        \
  |  | 1461|    114|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    114|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    114|                                                                                                             \
  |  |  |  | 1267|    114|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    114|        {
  ------------------
 2260|       |
 2261|       |    /* Check if the corresponding VOL callback exists */
 2262|    114|    if (NULL == cls->dataset_cls.get)
  ------------------
  |  Branch (2262:9): [True: 0, False: 114]
  ------------------
 2263|      0|        HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, FAIL, "VOL connector has no 'dataset get' method");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2264|       |
 2265|       |    /* Call the corresponding VOL callback */
 2266|    114|    if ((cls->dataset_cls.get)(obj, args, dxpl_id, req) < 0)
  ------------------
  |  Branch (2266:9): [True: 0, False: 114]
  ------------------
 2267|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "dataset get failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2268|       |
 2269|    114|done:
 2270|    114|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    114|    ;                                                                                                        \
  |  | 1573|    114|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    114|    return (ret_value);                                                                                      \
  |  | 1575|    114|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2271|    114|} /* end H5VL__dataset_get() */
H5VLcallback.c:H5VL__dataset_close:
 2592|     52|{
 2593|     52|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     52|#define SUCCEED 0
  ------------------
 2594|       |
 2595|     52|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     52|    {                                                                                                        \
  |  | 1461|     52|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     52|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     52|                                                                                                             \
  |  |  |  | 1267|     52|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     52|        {
  ------------------
 2596|       |
 2597|       |    /* Sanity check */
 2598|     52|    assert(obj);
 2599|     52|    assert(cls);
 2600|       |
 2601|       |    /* Check if the corresponding VOL callback exists */
 2602|     52|    if (NULL == cls->dataset_cls.close)
  ------------------
  |  Branch (2602:9): [True: 0, False: 52]
  ------------------
 2603|      0|        HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, FAIL, "VOL connector has no 'dataset close' method");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2604|       |
 2605|       |    /* Call the corresponding VOL callback */
 2606|     52|    if ((cls->dataset_cls.close)(obj, dxpl_id, req) < 0)
  ------------------
  |  Branch (2606:9): [True: 0, False: 52]
  ------------------
 2607|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTCLOSEOBJ, FAIL, "dataset close failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2608|       |
 2609|     52|done:
 2610|     52|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     52|    ;                                                                                                        \
  |  | 1573|     52|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     52|    return (ret_value);                                                                                      \
  |  | 1575|     52|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2611|     52|} /* end H5VL__dataset_close() */
H5VLcallback.c:H5VL__file_open:
 3490|     10|{
 3491|     10|    void *ret_value = NULL; /* Return value */
 3492|       |
 3493|     10|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     10|    {                                                                                                        \
  |  | 1461|     10|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     10|        {
  ------------------
 3494|       |
 3495|       |    /* Check if the corresponding VOL callback exists */
 3496|     10|    if (NULL == cls->file_cls.open)
  ------------------
  |  Branch (3496:9): [True: 0, False: 10]
  ------------------
 3497|      0|        HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, NULL, "VOL connector has no 'file open' method");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3498|       |
 3499|       |    /* Call the corresponding VOL callback */
 3500|     10|    if (NULL == (ret_value = (cls->file_cls.open)(name, flags, fapl_id, dxpl_id, req)))
  ------------------
  |  Branch (3500:9): [True: 3, False: 7]
  ------------------
 3501|      3|        HGOTO_ERROR(H5E_VOL, H5E_CANTOPENOBJ, NULL, "open failed");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3502|       |
 3503|     10|done:
 3504|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 3505|     10|} /* end H5VL__file_open() */
H5VLcallback.c:H5VL__file_get:
 3749|     18|{
 3750|     18|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     18|#define SUCCEED 0
  ------------------
 3751|       |
 3752|     18|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     18|    {                                                                                                        \
  |  | 1461|     18|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     18|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     18|                                                                                                             \
  |  |  |  | 1267|     18|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     18|        {
  ------------------
 3753|       |
 3754|       |    /* Check if the corresponding VOL callback exists */
 3755|     18|    if (NULL == cls->file_cls.get)
  ------------------
  |  Branch (3755:9): [True: 0, False: 18]
  ------------------
 3756|      0|        HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, FAIL, "VOL connector has no 'file get' method");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3757|       |
 3758|       |    /* Call the corresponding VOL callback */
 3759|     18|    if ((cls->file_cls.get)(obj, args, dxpl_id, req) < 0)
  ------------------
  |  Branch (3759:9): [True: 0, False: 18]
  ------------------
 3760|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "file get failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3761|       |
 3762|     18|done:
 3763|     18|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     18|    ;                                                                                                        \
  |  | 1573|     18|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     18|    return (ret_value);                                                                                      \
  |  | 1575|     18|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 3764|     18|} /* end H5VL__file_get() */
H5VLcallback.c:H5VL__file_optional:
 3977|      7|{
 3978|      7|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      7|#define SUCCEED 0
  ------------------
 3979|       |
 3980|      7|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      7|    {                                                                                                        \
  |  | 1461|      7|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      7|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      7|                                                                                                             \
  |  |  |  | 1267|      7|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      7|        {
  ------------------
 3981|       |
 3982|       |    /* Check if the corresponding VOL callback exists */
 3983|      7|    if (NULL == cls->file_cls.optional)
  ------------------
  |  Branch (3983:9): [True: 0, False: 7]
  ------------------
 3984|      0|        HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, FAIL, "VOL connector has no 'file optional' method");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3985|       |
 3986|       |    /* Call the corresponding VOL callback */
 3987|      7|    if ((cls->file_cls.optional)(obj, args, dxpl_id, req) < 0)
  ------------------
  |  Branch (3987:9): [True: 0, False: 7]
  ------------------
 3988|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTOPERATE, FAIL, "file optional failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 3989|       |
 3990|      7|done:
 3991|      7|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 3992|      7|} /* end H5VL__file_optional() */
H5VLcallback.c:H5VL__file_close:
 4116|      7|{
 4117|      7|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      7|#define SUCCEED 0
  ------------------
 4118|       |
 4119|      7|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      7|    {                                                                                                        \
  |  | 1461|      7|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      7|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      7|                                                                                                             \
  |  |  |  | 1267|      7|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      7|        {
  ------------------
 4120|       |
 4121|       |    /* Sanity check */
 4122|      7|    assert(obj);
 4123|      7|    assert(cls);
 4124|       |
 4125|       |    /* Check if the corresponding VOL callback exists */
 4126|      7|    if (NULL == cls->file_cls.close)
  ------------------
  |  Branch (4126:9): [True: 0, False: 7]
  ------------------
 4127|      0|        HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, FAIL, "VOL connector has no 'file close' method");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4128|       |
 4129|       |    /* Call the corresponding VOL callback */
 4130|      7|    if ((cls->file_cls.close)(obj, dxpl_id, req) < 0)
  ------------------
  |  Branch (4130:9): [True: 0, False: 7]
  ------------------
 4131|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTCLOSEFILE, FAIL, "file close failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4132|       |
 4133|      7|done:
 4134|      7|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 4135|      7|} /* end H5VL__file_close() */
H5VLcallback.c:H5VL__group_open:
 4319|      8|{
 4320|      8|    void *ret_value = NULL; /* Return value */
 4321|       |
 4322|      8|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      8|    {                                                                                                        \
  |  | 1461|      8|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      8|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      8|                                                                                                             \
  |  |  |  | 1267|      8|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      8|        {
  ------------------
 4323|       |
 4324|       |    /* Check if the corresponding VOL callback exists */
 4325|      8|    if (NULL == cls->group_cls.open)
  ------------------
  |  Branch (4325:9): [True: 0, False: 8]
  ------------------
 4326|      0|        HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, NULL, "VOL connector has no 'group open' method");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4327|       |
 4328|       |    /* Call the corresponding VOL callback */
 4329|      8|    if (NULL == (ret_value = (cls->group_cls.open)(obj, loc_params, name, gapl_id, dxpl_id, req)))
  ------------------
  |  Branch (4329:9): [True: 0, False: 8]
  ------------------
 4330|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTOPENOBJ, NULL, "group open failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4331|       |
 4332|      8|done:
 4333|      8|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      8|    ;                                                                                                        \
  |  | 1573|      8|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      8|    return (ret_value);                                                                                      \
  |  | 1575|      8|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 4334|      8|} /* end H5VL__group_open() */
H5VLcallback.c:H5VL__group_get:
 4418|      7|{
 4419|      7|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      7|#define SUCCEED 0
  ------------------
 4420|       |
 4421|      7|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      7|    {                                                                                                        \
  |  | 1461|      7|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      7|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      7|                                                                                                             \
  |  |  |  | 1267|      7|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      7|        {
  ------------------
 4422|       |
 4423|       |    /* Check if the corresponding VOL callback exists */
 4424|      7|    if (NULL == cls->group_cls.get)
  ------------------
  |  Branch (4424:9): [True: 0, False: 7]
  ------------------
 4425|      0|        HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, FAIL, "VOL connector has no 'group get' method");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4426|       |
 4427|       |    /* Call the corresponding VOL callback */
 4428|      7|    if ((cls->group_cls.get)(obj, args, dxpl_id, req) < 0)
  ------------------
  |  Branch (4428:9): [True: 1, False: 6]
  ------------------
 4429|      1|        HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "group get failed");
  ------------------
  |  |   68|      1|    do {                                                                                                     \
  |  |   69|      1|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      1|    do {                                                                                                     \
  |  |  |  |   40|      1|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      1|    do {                                                                                                     \
  |  |  |  |  |  |   31|      1|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      1|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      1|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      1|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      1|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      1|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      1|    do {                                                                                                     \
  |  |  |  |   92|      1|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      1|        goto done;                                                                                           \
  |  |  |  |   94|      1|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      1|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4430|       |
 4431|      7|done:
 4432|      7|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 4433|      7|} /* end H5VL__group_get() */
H5VLcallback.c:H5VL__group_close:
 4755|     84|{
 4756|     84|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     84|#define SUCCEED 0
  ------------------
 4757|       |
 4758|       |    /* Sanity check */
 4759|     84|    assert(obj);
 4760|     84|    assert(cls);
 4761|       |
 4762|     84|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     84|    {                                                                                                        \
  |  | 1461|     84|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     84|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     84|                                                                                                             \
  |  |  |  | 1267|     84|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     84|        {
  ------------------
 4763|       |
 4764|       |    /* Check if the corresponding VOL callback exists */
 4765|     84|    if (NULL == cls->group_cls.close)
  ------------------
  |  Branch (4765:9): [True: 0, False: 84]
  ------------------
 4766|      0|        HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, FAIL, "VOL connector has no 'group close' method");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4767|       |
 4768|       |    /* Call the corresponding VOL callback */
 4769|     84|    if ((cls->group_cls.close)(obj, dxpl_id, req) < 0)
  ------------------
  |  Branch (4769:9): [True: 0, False: 84]
  ------------------
 4770|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTCLOSEOBJ, FAIL, "group close failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 4771|       |
 4772|     84|done:
 4773|     84|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     84|    ;                                                                                                        \
  |  | 1573|     84|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     84|    return (ret_value);                                                                                      \
  |  | 1575|     84|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 4774|     84|} /* end H5VL__group_close() */
H5VLcallback.c:H5VL__link_get:
 5178|    138|{
 5179|    138|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    138|#define SUCCEED 0
  ------------------
 5180|       |
 5181|    138|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    138|    {                                                                                                        \
  |  | 1461|    138|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    138|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    138|                                                                                                             \
  |  |  |  | 1267|    138|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    138|        {
  ------------------
 5182|       |
 5183|       |    /* Check if the corresponding VOL callback exists */
 5184|    138|    if (NULL == cls->link_cls.get)
  ------------------
  |  Branch (5184:9): [True: 0, False: 138]
  ------------------
 5185|      0|        HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, FAIL, "VOL connector has no 'link get' method");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5186|       |
 5187|       |    /* Call the corresponding VOL callback */
 5188|    138|    if ((cls->link_cls.get)(obj, loc_params, args, dxpl_id, req) < 0)
  ------------------
  |  Branch (5188:9): [True: 2, False: 136]
  ------------------
 5189|      2|        HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "link get failed");
  ------------------
  |  |   68|      2|    do {                                                                                                     \
  |  |   69|      2|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      2|    do {                                                                                                     \
  |  |  |  |   40|      2|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      2|    do {                                                                                                     \
  |  |  |  |  |  |   31|      2|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      2|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      2|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      2|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      2|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      2|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      2|    do {                                                                                                     \
  |  |  |  |   92|      2|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      2|        goto done;                                                                                           \
  |  |  |  |   94|      2|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5190|       |
 5191|    138|done:
 5192|    138|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    138|    ;                                                                                                        \
  |  | 1573|    138|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    138|    return (ret_value);                                                                                      \
  |  | 1575|    138|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 5193|    138|} /* end H5VL__link_get() */
H5VLcallback.c:H5VL__link_specific:
 5277|     82|{
 5278|     82|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     82|#define SUCCEED 0
  ------------------
 5279|       |
 5280|     82|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     82|    {                                                                                                        \
  |  | 1461|     82|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     82|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     82|                                                                                                             \
  |  |  |  | 1267|     82|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     82|        {
  ------------------
 5281|       |
 5282|       |    /* Check if the corresponding VOL callback exists */
 5283|     82|    if (NULL == cls->link_cls.specific)
  ------------------
  |  Branch (5283:9): [True: 0, False: 82]
  ------------------
 5284|      0|        HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, FAIL, "VOL connector has no 'link specific' method");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5285|       |
 5286|       |    /* Call the corresponding VOL callback */
 5287|       |    /* (Must return value from callback, for iterators) */
 5288|     82|    if ((ret_value = (cls->link_cls.specific)(obj, loc_params, args, dxpl_id, req)) < 0)
  ------------------
  |  Branch (5288:9): [True: 50, False: 32]
  ------------------
 5289|     50|        HERROR(H5E_VOL, H5E_CANTOPERATE, "unable to execute link specific callback");
  ------------------
  |  |   30|     50|    do {                                                                                                     \
  |  |   31|     50|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |   32|     50|    } while (0)
  |  |  ------------------
  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5290|       |
 5291|     82|done:
 5292|     82|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     82|    ;                                                                                                        \
  |  | 1573|     82|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     82|    return (ret_value);                                                                                      \
  |  | 1575|     82|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 5293|     82|} /* end H5VL__link_specific() */
H5VLcallback.c:H5VL__object_open:
 5538|     15|{
 5539|     15|    void *ret_value = NULL; /* Return value */
 5540|       |
 5541|     15|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     15|    {                                                                                                        \
  |  | 1461|     15|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     15|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     15|                                                                                                             \
  |  |  |  | 1267|     15|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     15|        {
  ------------------
 5542|       |
 5543|       |    /* Check if the corresponding VOL callback exists */
 5544|     15|    if (NULL == cls->object_cls.open)
  ------------------
  |  Branch (5544:9): [True: 0, False: 15]
  ------------------
 5545|      0|        HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, NULL, "VOL connector has no 'object open' method");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5546|       |
 5547|       |    /* Call the corresponding VOL callback */
 5548|     15|    if (NULL == (ret_value = (cls->object_cls.open)(obj, params, opened_type, dxpl_id, req)))
  ------------------
  |  Branch (5548:9): [True: 6, False: 9]
  ------------------
 5549|      6|        HGOTO_ERROR(H5E_VOL, H5E_CANTOPENOBJ, NULL, "object open failed");
  ------------------
  |  |   68|      6|    do {                                                                                                     \
  |  |   69|      6|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      6|    do {                                                                                                     \
  |  |  |  |   40|      6|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      6|    do {                                                                                                     \
  |  |  |  |  |  |   31|      6|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      6|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      6|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      6|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      6|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      6|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      6|    do {                                                                                                     \
  |  |  |  |   92|      6|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      6|        goto done;                                                                                           \
  |  |  |  |   94|      6|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      6|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5550|       |
 5551|     15|done:
 5552|     15|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     15|    ;                                                                                                        \
  |  | 1573|     15|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     15|    return (ret_value);                                                                                      \
  |  | 1575|     15|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 5553|     15|} /* end H5VL__object_open() */
H5VLcallback.c:H5VL__object_get:
 5748|     91|{
 5749|     91|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     91|#define SUCCEED 0
  ------------------
 5750|       |
 5751|     91|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     91|    {                                                                                                        \
  |  | 1461|     91|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     91|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     91|                                                                                                             \
  |  |  |  | 1267|     91|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     91|        {
  ------------------
 5752|       |
 5753|       |    /* Check if the corresponding VOL callback exists */
 5754|     91|    if (NULL == cls->object_cls.get)
  ------------------
  |  Branch (5754:9): [True: 0, False: 91]
  ------------------
 5755|      0|        HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, FAIL, "VOL connector has no 'object get' method");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5756|       |
 5757|       |    /* Call the corresponding VOL callback */
 5758|     91|    if ((cls->object_cls.get)(obj, loc_params, args, dxpl_id, req) < 0)
  ------------------
  |  Branch (5758:9): [True: 24, False: 67]
  ------------------
 5759|     24|        HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "get failed");
  ------------------
  |  |   68|     24|    do {                                                                                                     \
  |  |   69|     24|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     24|    do {                                                                                                     \
  |  |  |  |   40|     24|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     24|    do {                                                                                                     \
  |  |  |  |  |  |   31|     24|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     24|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     24|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     24|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     24|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     24|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     24|    do {                                                                                                     \
  |  |  |  |   92|     24|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     24|        goto done;                                                                                           \
  |  |  |  |   94|     24|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     24|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 5760|       |
 5761|     91|done:
 5762|     91|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     91|    ;                                                                                                        \
  |  | 1573|     91|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     91|    return (ret_value);                                                                                      \
  |  | 1575|     91|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 5763|     91|} /* end H5VL__object_get() */
H5VLcallback.c:H5VL__introspect_get_conn_cls:
 6110|     15|{
 6111|     15|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     15|#define SUCCEED 0
  ------------------
 6112|       |
 6113|     15|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     15|    {                                                                                                        \
  |  | 1461|     15|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     15|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     15|                                                                                                             \
  |  |  |  | 1267|     15|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     15|        {
  ------------------
 6114|       |
 6115|       |    /* Sanity check */
 6116|     15|    assert(obj);
 6117|     15|    assert(cls);
 6118|     15|    assert(lvl >= H5VL_GET_CONN_LVL_CURR && lvl <= H5VL_GET_CONN_LVL_TERM);
 6119|     15|    assert(conn_cls);
 6120|       |
 6121|       |    /* Check if the corresponding VOL callback exists */
 6122|     15|    if (NULL == cls->introspect_cls.get_conn_cls)
  ------------------
  |  Branch (6122:9): [True: 0, False: 15]
  ------------------
 6123|      0|        HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, FAIL, "VOL connector has no 'get_conn_cls' method");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 6124|       |
 6125|       |    /* Call the corresponding VOL callback */
 6126|     15|    if ((cls->introspect_cls.get_conn_cls)(obj, lvl, conn_cls) < 0)
  ------------------
  |  Branch (6126:9): [True: 0, False: 15]
  ------------------
 6127|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "can't query connector class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 6128|       |
 6129|     15|done:
 6130|     15|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     15|    ;                                                                                                        \
  |  | 1573|     15|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     15|    return (ret_value);                                                                                      \
  |  | 1575|     15|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 6131|     15|} /* end H5VL__introspect_get_conn_cls() */
H5VLcallback.c:H5VL__introspect_opt_query:
 6291|      7|{
 6292|      7|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      7|#define SUCCEED 0
  ------------------
 6293|       |
 6294|      7|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      7|    {                                                                                                        \
  |  | 1461|      7|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      7|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      7|                                                                                                             \
  |  |  |  | 1267|      7|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      7|        {
  ------------------
 6295|       |
 6296|       |    /* Check if the corresponding VOL callback exists */
 6297|      7|    if (NULL == cls->introspect_cls.opt_query)
  ------------------
  |  Branch (6297:9): [True: 0, False: 7]
  ------------------
 6298|      0|        HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, FAIL, "VOL connector has no 'opt_query' method");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 6299|       |
 6300|       |    /* Call the corresponding VOL callback */
 6301|      7|    if ((cls->introspect_cls.opt_query)(obj, subcls, opt_type, flags) < 0)
  ------------------
  |  Branch (6301:9): [True: 0, False: 7]
  ------------------
 6302|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "can't query optional operation support");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 6303|       |
 6304|      7|done:
 6305|      7|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 6306|      7|} /* end H5VL__introspect_opt_query() */
H5VLcallback.c:H5VL__blob_get:
 7133|      3|{
 7134|      3|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      3|#define SUCCEED 0
  ------------------
 7135|       |
 7136|      3|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      3|    {                                                                                                        \
  |  | 1461|      3|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      3|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      3|                                                                                                             \
  |  |  |  | 1267|      3|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      3|        {
  ------------------
 7137|       |
 7138|       |    /* Sanity check */
 7139|      3|    assert(obj);
 7140|      3|    assert(cls);
 7141|      3|    assert(blob_id);
 7142|      3|    assert(buf);
 7143|       |
 7144|       |    /* Check if the corresponding VOL callback exists */
 7145|      3|    if (NULL == cls->blob_cls.get)
  ------------------
  |  Branch (7145:9): [True: 0, False: 3]
  ------------------
 7146|      0|        HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, FAIL, "VOL connector has no 'blob get' method");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 7147|       |
 7148|       |    /* Call the corresponding VOL callback */
 7149|      3|    if ((cls->blob_cls.get)(obj, blob_id, buf, size, ctx) < 0)
  ------------------
  |  Branch (7149:9): [True: 3, False: 0]
  ------------------
 7150|      3|        HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "blob get callback failed");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 7151|       |
 7152|      3|done:
 7153|      3|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      3|    ;                                                                                                        \
  |  | 1573|      3|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      3|    return (ret_value);                                                                                      \
  |  | 1575|      3|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 7154|      3|} /* end H5VL__blob_get() */
H5VLcallback.c:H5VL__blob_specific:
 7227|      3|{
 7228|      3|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      3|#define SUCCEED 0
  ------------------
 7229|       |
 7230|      3|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      3|    {                                                                                                        \
  |  | 1461|      3|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      3|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      3|                                                                                                             \
  |  |  |  | 1267|      3|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      3|        {
  ------------------
 7231|       |
 7232|       |    /* Sanity check */
 7233|      3|    assert(obj);
 7234|      3|    assert(cls);
 7235|      3|    assert(blob_id);
 7236|       |
 7237|       |    /* Check if the corresponding VOL callback exists */
 7238|      3|    if (NULL == cls->blob_cls.specific)
  ------------------
  |  Branch (7238:9): [True: 0, False: 3]
  ------------------
 7239|      0|        HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, FAIL, "VOL connector has no 'blob specific' method");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 7240|       |
 7241|       |    /* Call the corresponding VOL callback */
 7242|      3|    if ((cls->blob_cls.specific)(obj, blob_id, args) < 0)
  ------------------
  |  Branch (7242:9): [True: 0, False: 3]
  ------------------
 7243|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTOPERATE, FAIL, "unable to execute blob specific callback");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 7244|       |
 7245|      3|done:
 7246|      3|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      3|    ;                                                                                                        \
  |  | 1573|      3|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      3|    return (ret_value);                                                                                      \
  |  | 1575|      3|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 7247|      3|} /* end H5VL__blob_specific() */

H5VL__num_opt_operation:
  240|      1|{
  241|      1|    size_t subcls;        /* Index over the elements of operation array */
  242|      1|    size_t ret_value = 0; /* Return value */
  243|       |
  244|      1|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|      1|    {                                                                                                        \
  |  | 1467|      1|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|      1|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|      1|        {
  ------------------
  245|       |
  246|       |    /* Iterate over the VOL subclasses */
  247|     14|    for (subcls = 0; subcls < NELMTS(H5VL_opt_vals_g); subcls++)
  ------------------
  |  |  288|     14|#define NELMTS(X) (sizeof(X) / sizeof(X[0]))
  ------------------
  |  Branch (247:22): [True: 13, False: 1]
  ------------------
  248|     13|        if (H5VL_opt_ops_g[subcls])
  ------------------
  |  Branch (248:13): [True: 0, False: 13]
  ------------------
  249|      0|            ret_value += H5SL_count(H5VL_opt_ops_g[subcls]);
  250|       |
  251|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  252|      1|} /* H5VL__num_opt_operation() */

H5VL_init_phase1:
  144|      1|{
  145|      1|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  146|       |
  147|      1|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      1|    {                                                                                                        \
  |  | 1392|      1|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      1|        {
  ------------------
  148|       |
  149|       |    /* Initialize the ID group for the VL IDs */
  150|      1|    if (H5I_register_type(H5I_VOL_CLS) < 0)
  ------------------
  |  Branch (150:9): [True: 0, False: 1]
  ------------------
  151|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTINIT, FAIL, "unable to initialize H5VL interface");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  152|       |
  153|      1|done:
  154|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  155|      1|} /* end H5VL_init_phase1() */
H5VL_init_phase2:
  172|      1|{
  173|      1|    size_t i;
  174|      1|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  175|       |
  176|      1|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      1|    {                                                                                                        \
  |  | 1392|      1|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      1|        {
  ------------------
  177|       |
  178|       |    /* clang-format off */
  179|      1|    struct {
  180|      1|        herr_t (*func)(void);
  181|      1|        const char *descr;
  182|      1|    } initializer[] = {
  183|      1|        {H5T_init, "datatype"}
  184|      1|    ,   {H5O_init, "object header"}
  185|      1|    ,   {H5D_init, "dataset"}
  186|      1|    ,   {H5F_init, "file"}
  187|      1|    ,   {H5G_init, "group"}
  188|      1|    ,   {H5A_init, "attribute"}
  189|      1|    ,   {H5M_init, "map"}
  190|      1|    ,   {H5CX_init, "context"}
  191|      1|    ,   {H5ES_init, "event set"}
  192|      1|    ,   {H5Z_init, "transform"}
  193|      1|    ,   {H5R_init, "reference"}
  194|      1|    };
  195|       |
  196|       |    /* Initialize all packages for VOL-managed objects */
  197|     12|    for (i = 0; i < NELMTS(initializer); i++) {
  ------------------
  |  |  288|     12|#define NELMTS(X) (sizeof(X) / sizeof(X[0]))
  ------------------
  |  Branch (197:17): [True: 11, False: 1]
  ------------------
  198|     11|        if (initializer[i].func() < 0) {
  ------------------
  |  Branch (198:13): [True: 0, False: 11]
  ------------------
  199|      0|            HGOTO_ERROR(H5E_VOL, H5E_CANTINIT, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  200|      0|                "unable to initialize %s interface", initializer[i].descr);
  201|      0|        }
  202|     11|    }
  203|       |
  204|       |    /* clang-format on */
  205|       |
  206|       |    /* Sanity check default VOL connector */
  207|      1|    assert(H5VL_def_conn_s.connector_id == (-1));
  208|      1|    assert(H5VL_def_conn_s.connector_info == NULL);
  209|       |
  210|       |    /* Set up the default VOL connector in the default FAPL */
  211|      1|    if (H5VL__set_def_conn() < 0)
  ------------------
  |  Branch (211:9): [True: 0, False: 1]
  ------------------
  212|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTSET, FAIL, "unable to set default VOL connector");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  213|       |
  214|      1|done:
  215|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  216|      1|} /* end H5VL_init_phase2() */
H5VL_term_package:
  231|      3|{
  232|      3|    int n = 0;
  233|       |
  234|      3|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      3|    {                                                                                                        \
  |  | 1425|      3|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      3|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      3|        {
  ------------------
  235|       |
  236|      3|    if (H5VL_def_conn_s.connector_id > 0) {
  ------------------
  |  Branch (236:9): [True: 1, False: 2]
  ------------------
  237|       |        /* Release the default VOL connector */
  238|      1|        (void)H5VL_conn_free(&H5VL_def_conn_s);
  239|      1|        H5VL_def_conn_s.connector_id   = -1;
  240|      1|        H5VL_def_conn_s.connector_info = NULL;
  241|      1|        n++;
  242|      1|    } /* end if */
  243|      2|    else {
  244|      2|        if (H5I_nmembers(H5I_VOL) > 0) {
  ------------------
  |  Branch (244:13): [True: 1, False: 1]
  ------------------
  245|       |            /* Unregister all VOL connectors */
  246|      1|            (void)H5I_clear_type(H5I_VOL, true, false);
  247|      1|            n++;
  248|      1|        } /* end if */
  249|      1|        else {
  250|      1|            if (H5VL__num_opt_operation() > 0) {
  ------------------
  |  Branch (250:17): [True: 0, False: 1]
  ------------------
  251|       |                /* Unregister all dynamically registered optional operations */
  252|      0|                (void)H5VL__term_opt_operation();
  253|      0|                n++;
  254|      0|            } /* end if */
  255|      1|            else {
  256|       |                /* Destroy the VOL connector ID group */
  257|      1|                n += (H5I_dec_type_ref(H5I_VOL) > 0);
  258|      1|            } /* end else */
  259|      1|        }     /* end else */
  260|      2|    }         /* end else */
  261|       |
  262|      3|    FUNC_LEAVE_NOAPI(n)
  ------------------
  |  | 1572|      3|    ;                                                                                                        \
  |  | 1573|      3|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      3|    return (ret_value);                                                                                      \
  |  | 1575|      3|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  263|      3|} /* end H5VL_term_package() */
H5VL__set_def_conn:
  352|      1|{
  353|      1|    H5P_genplist_t *def_fapl;               /* Default file access property list */
  354|      1|    H5P_genclass_t *def_fapclass;           /* Default file access property class */
  355|      1|    const char     *env_var;                /* Environment variable for default VOL connector */
  356|      1|    char           *buf          = NULL;    /* Buffer for tokenizing string */
  357|      1|    hid_t           connector_id = -1;      /* VOL connector ID */
  358|      1|    void           *vol_info     = NULL;    /* VOL connector info */
  359|      1|    herr_t          ret_value    = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  360|       |
  361|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
  362|       |
  363|       |    /* Reset default VOL connector, if it's set already */
  364|       |    /* (Can happen during testing -QAK) */
  365|      1|    if (H5VL_def_conn_s.connector_id > 0) {
  ------------------
  |  Branch (365:9): [True: 0, False: 1]
  ------------------
  366|       |        /* Release the default VOL connector */
  367|      0|        (void)H5VL_conn_free(&H5VL_def_conn_s);
  368|      0|        H5VL_def_conn_s.connector_id   = -1;
  369|      0|        H5VL_def_conn_s.connector_info = NULL;
  370|      0|    } /* end if */
  371|       |
  372|       |    /* Check for environment variable set */
  373|      1|    env_var = getenv(HDF5_VOL_CONNECTOR);
  ------------------
  |  |  194|      1|#define HDF5_VOL_CONNECTOR "HDF5_VOL_CONNECTOR"
  ------------------
  374|       |
  375|       |    /* Only parse the string if it's set */
  376|      1|    if (env_var && *env_var) {
  ------------------
  |  Branch (376:9): [True: 0, False: 1]
  |  Branch (376:20): [True: 0, False: 0]
  ------------------
  377|      0|        char       *lasts = NULL;            /* Context pointer for strtok_r() call */
  378|      0|        const char *tok   = NULL;            /* Token from strtok_r call */
  379|      0|        htri_t      connector_is_registered; /* Whether connector is already registered */
  380|       |
  381|       |        /* Duplicate the string to parse, as it is modified as we go */
  382|      0|        if (NULL == (buf = H5MM_strdup(env_var)))
  ------------------
  |  Branch (382:13): [True: 0, False: 0]
  ------------------
  383|      0|            HGOTO_ERROR(H5E_VOL, H5E_CANTALLOC, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  384|      0|                        "can't allocate memory for environment variable string");
  385|       |
  386|       |        /* Get the first 'word' of the environment variable.
  387|       |         * If it's nothing (environment variable was whitespace) return error.
  388|       |         */
  389|      0|        if (NULL == (tok = HDstrtok_r(buf, " \t\n\r", &lasts)))
  ------------------
  |  |  866|      0|#define HDstrtok_r(X, Y, Z) strtok_r(X, Y, Z)
  ------------------
  |  Branch (389:13): [True: 0, False: 0]
  ------------------
  390|      0|            HGOTO_ERROR(H5E_VOL, H5E_BADVALUE, FAIL, "VOL connector environment variable set empty?");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  391|       |
  392|       |        /* First, check to see if the connector is already registered */
  393|      0|        if ((connector_is_registered = H5VL__is_connector_registered_by_name(tok)) < 0)
  ------------------
  |  Branch (393:13): [True: 0, False: 0]
  ------------------
  394|      0|            HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "can't check if VOL connector already registered");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  395|      0|        else if (connector_is_registered) {
  ------------------
  |  Branch (395:18): [True: 0, False: 0]
  ------------------
  396|       |            /* Retrieve the ID of the already-registered VOL connector */
  397|      0|            if ((connector_id = H5VL__get_connector_id_by_name(tok, false)) < 0)
  ------------------
  |  Branch (397:17): [True: 0, False: 0]
  ------------------
  398|      0|                HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "can't get VOL connector ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  399|      0|        } /* end else-if */
  400|      0|        else {
  401|       |            /* Check for VOL connectors that ship with the library */
  402|      0|            if (!strcmp(tok, "native")) {
  ------------------
  |  Branch (402:17): [True: 0, False: 0]
  ------------------
  403|      0|                connector_id = H5VL_NATIVE;
  ------------------
  |  |   29|      0|#define H5VL_NATIVE (H5VL_native_register())
  ------------------
  404|      0|                if (H5I_inc_ref(connector_id, false) < 0)
  ------------------
  |  Branch (404:21): [True: 0, False: 0]
  ------------------
  405|      0|                    HGOTO_ERROR(H5E_VOL, H5E_CANTINC, FAIL, "can't increment VOL connector refcount");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  406|      0|            } /* end if */
  407|      0|            else if (!strcmp(tok, "pass_through")) {
  ------------------
  |  Branch (407:22): [True: 0, False: 0]
  ------------------
  408|      0|                connector_id = H5VL_PASSTHRU;
  ------------------
  |  |   24|      0|#define H5VL_PASSTHRU (H5VL_pass_through_register())
  ------------------
  409|      0|                if (H5I_inc_ref(connector_id, false) < 0)
  ------------------
  |  Branch (409:21): [True: 0, False: 0]
  ------------------
  410|      0|                    HGOTO_ERROR(H5E_VOL, H5E_CANTINC, FAIL, "can't increment VOL connector refcount");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  411|      0|            } /* end else-if */
  412|      0|            else {
  413|       |                /* Register the VOL connector */
  414|       |                /* (NOTE: No provisions for vipl_id currently) */
  415|      0|                if ((connector_id = H5VL__register_connector_by_name(tok, true, H5P_VOL_INITIALIZE_DEFAULT)) <
  ------------------
  |  |  212|      0|#define H5P_VOL_INITIALIZE_DEFAULT (H5OPEN H5P_LST_VOL_INITIALIZE_ID_g)
  ------------------
  |  Branch (415:21): [True: 0, False: 0]
  ------------------
  416|      0|                    0)
  417|      0|                    HGOTO_ERROR(H5E_VOL, H5E_CANTREGISTER, FAIL, "can't register connector");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  418|      0|            } /* end else */
  419|      0|        }     /* end else */
  420|       |
  421|       |        /* Was there any connector info specified in the environment variable? */
  422|      0|        if (NULL != (tok = HDstrtok_r(NULL, "\n\r", &lasts)))
  ------------------
  |  |  866|      0|#define HDstrtok_r(X, Y, Z) strtok_r(X, Y, Z)
  ------------------
  |  Branch (422:13): [True: 0, False: 0]
  ------------------
  423|      0|            if (H5VL__connector_str_to_info(tok, connector_id, &vol_info) < 0)
  ------------------
  |  Branch (423:17): [True: 0, False: 0]
  ------------------
  424|      0|                HGOTO_ERROR(H5E_VOL, H5E_CANTDECODE, FAIL, "can't deserialize connector info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  425|       |
  426|       |        /* Set the default VOL connector */
  427|      0|        H5VL_def_conn_s.connector_id   = connector_id;
  428|      0|        H5VL_def_conn_s.connector_info = vol_info;
  429|      0|    } /* end if */
  430|      1|    else {
  431|       |        /* Set the default VOL connector */
  432|      1|        H5VL_def_conn_s.connector_id   = H5_DEFAULT_VOL;
  ------------------
  |  |  117|      1|#define H5_DEFAULT_VOL H5VL_NATIVE
  |  |  ------------------
  |  |  |  |   29|      1|#define H5VL_NATIVE (H5VL_native_register())
  |  |  ------------------
  ------------------
  433|      1|        H5VL_def_conn_s.connector_info = NULL;
  434|       |
  435|       |        /* Increment the ref count on the default connector */
  436|      1|        if (H5I_inc_ref(H5VL_def_conn_s.connector_id, false) < 0)
  ------------------
  |  Branch (436:13): [True: 0, False: 1]
  ------------------
  437|      0|            HGOTO_ERROR(H5E_VOL, H5E_CANTINC, FAIL, "can't increment VOL connector refcount");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  438|      1|    } /* end else */
  439|       |
  440|       |    /* Get default file access pclass */
  441|      1|    if (NULL == (def_fapclass = (H5P_genclass_t *)H5I_object(H5P_FILE_ACCESS)))
  ------------------
  |  |   64|      1|#define H5P_FILE_ACCESS (H5OPEN H5P_CLS_FILE_ACCESS_ID_g)
  ------------------
  |  Branch (441:9): [True: 0, False: 1]
  ------------------
  442|      0|        HGOTO_ERROR(H5E_VOL, H5E_BADID, FAIL, "can't find object for default file access property class ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  443|       |
  444|       |    /* Change the default VOL for the default file access pclass */
  445|      1|    if (H5P_reset_vol_class(def_fapclass, &H5VL_def_conn_s) < 0)
  ------------------
  |  Branch (445:9): [True: 0, False: 1]
  ------------------
  446|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTSET, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  447|      1|                    "can't set default VOL connector for default file access property class");
  448|       |
  449|       |    /* Get default file access plist */
  450|      1|    if (NULL == (def_fapl = (H5P_genplist_t *)H5I_object(H5P_FILE_ACCESS_DEFAULT)))
  ------------------
  |  |  148|      1|#define H5P_FILE_ACCESS_DEFAULT (H5OPEN H5P_LST_FILE_ACCESS_ID_g)
  ------------------
  |  Branch (450:9): [True: 0, False: 1]
  ------------------
  451|      0|        HGOTO_ERROR(H5E_VOL, H5E_BADID, FAIL, "can't find object for default fapl ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  452|       |
  453|       |    /* Change the default VOL for the default FAPL */
  454|      1|    if (H5P_set_vol(def_fapl, H5VL_def_conn_s.connector_id, H5VL_def_conn_s.connector_info) < 0)
  ------------------
  |  Branch (454:9): [True: 0, False: 1]
  ------------------
  455|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTSET, FAIL, "can't set default VOL connector for default FAPL");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  456|       |
  457|      1|done:
  458|       |    /* Clean up on error */
  459|      1|    if (ret_value < 0) {
  ------------------
  |  Branch (459:9): [True: 0, False: 1]
  ------------------
  460|      0|        if (vol_info)
  ------------------
  |  Branch (460:13): [True: 0, False: 0]
  ------------------
  461|      0|            if (H5VL_free_connector_info(connector_id, vol_info) < 0)
  ------------------
  |  Branch (461:17): [True: 0, False: 0]
  ------------------
  462|      0|                HDONE_ERROR(H5E_VOL, H5E_CANTRELEASE, FAIL, "can't free VOL connector info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  463|      0|        if (connector_id >= 0)
  ------------------
  |  Branch (463:13): [True: 0, False: 0]
  ------------------
  464|       |            /* The H5VL_class_t struct will be freed by this function */
  465|      0|            if (H5I_dec_ref(connector_id) < 0)
  ------------------
  |  Branch (465:17): [True: 0, False: 0]
  ------------------
  466|      0|                HDONE_ERROR(H5E_VOL, H5E_CANTDEC, FAIL, "unable to unregister VOL connector");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  467|      0|    } /* end if */
  468|       |
  469|       |    /* Clean up */
  470|      1|    H5MM_xfree(buf);
  471|       |
  472|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  473|      1|} /* end H5VL__set_def_conn() */
H5VL_conn_copy:
  591|      3|{
  592|      3|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      3|#define SUCCEED 0
  ------------------
  593|       |
  594|      3|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      3|    {                                                                                                        \
  |  | 1392|      3|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      3|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      3|                                                                                                             \
  |  |  |  | 1267|      3|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      3|        {
  ------------------
  595|       |
  596|      3|    if (connector_prop) {
  ------------------
  |  Branch (596:9): [True: 3, False: 0]
  ------------------
  597|       |        /* Copy the connector ID & info, if there is one */
  598|      3|        if (connector_prop->connector_id > 0) {
  ------------------
  |  Branch (598:13): [True: 3, False: 0]
  ------------------
  599|       |            /* Increment the reference count on connector ID and copy connector info */
  600|      3|            if (H5I_inc_ref(connector_prop->connector_id, false) < 0)
  ------------------
  |  Branch (600:17): [True: 0, False: 3]
  ------------------
  601|      0|                HGOTO_ERROR(H5E_PLIST, H5E_CANTINC, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  602|      3|                            "unable to increment ref count on VOL connector ID");
  603|       |
  604|       |            /* Copy connector info, if it exists */
  605|      3|            if (connector_prop->connector_info) {
  ------------------
  |  Branch (605:17): [True: 0, False: 3]
  ------------------
  606|      0|                H5VL_class_t *connector;                 /* Pointer to connector */
  607|      0|                void         *new_connector_info = NULL; /* Copy of connector info */
  608|       |
  609|       |                /* Retrieve the connector for the ID */
  610|      0|                if (NULL == (connector = (H5VL_class_t *)H5I_object(connector_prop->connector_id)))
  ------------------
  |  Branch (610:21): [True: 0, False: 0]
  ------------------
  611|      0|                    HGOTO_ERROR(H5E_PLIST, H5E_BADTYPE, FAIL, "not a VOL connector ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  612|       |
  613|       |                /* Allocate and copy connector info */
  614|      0|                if (H5VL_copy_connector_info(connector, &new_connector_info, connector_prop->connector_info) <
  ------------------
  |  Branch (614:21): [True: 0, False: 0]
  ------------------
  615|      0|                    0)
  616|      0|                    HGOTO_ERROR(H5E_PLIST, H5E_CANTCOPY, FAIL, "connector info copy failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  617|       |
  618|       |                /* Set the connector info to the copy */
  619|      0|                connector_prop->connector_info = new_connector_info;
  620|      0|            } /* end if */
  621|      3|        }     /* end if */
  622|      3|    }         /* end if */
  623|       |
  624|      3|done:
  625|      3|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      3|    ;                                                                                                        \
  |  | 1573|      3|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      3|    return (ret_value);                                                                                      \
  |  | 1575|      3|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  626|      3|} /* end H5VL_conn_copy() */
H5VL_conn_free:
  640|      4|{
  641|      4|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      4|#define SUCCEED 0
  ------------------
  642|       |
  643|      4|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      4|    {                                                                                                        \
  |  | 1392|      4|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      4|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      4|                                                                                                             \
  |  |  |  | 1267|      4|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      4|        {
  ------------------
  644|       |
  645|      4|    if (connector_prop) {
  ------------------
  |  Branch (645:9): [True: 4, False: 0]
  ------------------
  646|       |        /* Free the connector info (if it exists) and decrement the ID */
  647|      4|        if (connector_prop->connector_id > 0) {
  ------------------
  |  Branch (647:13): [True: 4, False: 0]
  ------------------
  648|      4|            if (connector_prop->connector_info)
  ------------------
  |  Branch (648:17): [True: 0, False: 4]
  ------------------
  649|       |                /* Free the connector info */
  650|      0|                if (H5VL_free_connector_info(connector_prop->connector_id, connector_prop->connector_info) <
  ------------------
  |  Branch (650:21): [True: 0, False: 0]
  ------------------
  651|      0|                    0)
  652|      0|                    HGOTO_ERROR(H5E_VOL, H5E_CANTRELEASE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  653|      4|                                "unable to release VOL connector info object");
  654|       |
  655|       |            /* Decrement reference count for connector ID */
  656|      4|            if (H5I_dec_ref(connector_prop->connector_id) < 0)
  ------------------
  |  Branch (656:17): [True: 0, False: 4]
  ------------------
  657|      0|                HGOTO_ERROR(H5E_VOL, H5E_CANTDEC, FAIL, "can't decrement reference count for connector ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  658|      4|        }
  659|      4|    }
  660|       |
  661|      4|done:
  662|      4|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      4|    ;                                                                                                        \
  |  | 1573|      4|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      4|    return (ret_value);                                                                                      \
  |  | 1575|      4|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  663|      4|} /* end H5VL_conn_free() */
H5VL_register:
  679|    207|{
  680|    207|    H5VL_object_t *vol_obj   = NULL;            /* VOL object wrapper for library object */
  681|    207|    hid_t          ret_value = H5I_INVALID_HID; /* Return value */
  ------------------
  |  |   75|    207|#define H5I_INVALID_HID (-1)
  ------------------
  682|       |
  683|    207|    FUNC_ENTER_NOAPI(H5I_INVALID_HID)
  ------------------
  |  | 1391|    207|    {                                                                                                        \
  |  | 1392|    207|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    207|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    207|                                                                                                             \
  |  |  |  | 1267|    207|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    207|        {
  ------------------
  684|       |
  685|       |    /* Check arguments */
  686|    207|    assert(object);
  687|    207|    assert(vol_connector);
  688|       |
  689|       |    /* Set up VOL object for the passed-in data */
  690|       |    /* (Does not wrap object, since it's from a VOL callback) */
  691|    207|    if (NULL == (vol_obj = H5VL__new_vol_obj(type, object, vol_connector, false)))
  ------------------
  |  Branch (691:9): [True: 0, False: 207]
  ------------------
  692|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTCREATE, FAIL, "can't create VOL object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  693|       |
  694|       |    /* Register VOL object as _object_ type, for future object API calls */
  695|    207|    if ((ret_value = H5I_register(type, vol_obj, app_ref)) < 0)
  ------------------
  |  Branch (695:9): [True: 0, False: 207]
  ------------------
  696|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTREGISTER, H5I_INVALID_HID, "unable to register handle");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  697|       |
  698|    207|done:
  699|    207|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    207|    ;                                                                                                        \
  |  | 1573|    207|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    207|    return (ret_value);                                                                                      \
  |  | 1575|    207|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  700|    207|} /* end H5VL_register() */
H5VL_new_connector:
  758|     83|{
  759|     83|    H5VL_class_t *cls          = NULL;  /* VOL connector class */
  760|     83|    H5VL_t       *connector    = NULL;  /* New VOL connector struct */
  761|     83|    bool          conn_id_incr = false; /* Whether the VOL connector ID has been incremented */
  762|     83|    H5VL_t       *ret_value    = NULL;  /* Return value */
  763|       |
  764|     83|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|     83|    {                                                                                                        \
  |  | 1392|     83|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     83|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     83|                                                                                                             \
  |  |  |  | 1267|     83|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     83|        {
  ------------------
  765|       |
  766|       |    /* Get the VOL class object from the connector's ID */
  767|     83|    if (NULL == (cls = (H5VL_class_t *)H5I_object_verify(connector_id, H5I_VOL)))
  ------------------
  |  Branch (767:9): [True: 0, False: 83]
  ------------------
  768|      0|        HGOTO_ERROR(H5E_VOL, H5E_BADTYPE, NULL, "not a VOL connector ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  769|       |
  770|       |    /* Setup VOL info struct */
  771|     83|    if (NULL == (connector = H5FL_CALLOC(H5VL_t)))
  ------------------
  |  |   78|     83|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|     83|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (771:9): [True: 0, False: 83]
  ------------------
  772|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTALLOC, NULL, "can't allocate VOL connector struct");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  773|     83|    connector->cls = cls;
  774|     83|    connector->id  = connector_id;
  775|     83|    if (H5I_inc_ref(connector->id, false) < 0)
  ------------------
  |  Branch (775:9): [True: 0, False: 83]
  ------------------
  776|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTINC, NULL, "unable to increment ref count on VOL connector");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  777|     83|    conn_id_incr = true;
  778|       |
  779|       |    /* Set return value */
  780|     83|    ret_value = connector;
  781|       |
  782|     83|done:
  783|       |    /* Clean up on error */
  784|     83|    if (NULL == ret_value) {
  ------------------
  |  Branch (784:9): [True: 0, False: 83]
  ------------------
  785|       |        /* Decrement VOL connector ID ref count on error */
  786|      0|        if (conn_id_incr && H5I_dec_ref(connector_id) < 0)
  ------------------
  |  Branch (786:13): [True: 0, False: 0]
  |  Branch (786:29): [True: 0, False: 0]
  ------------------
  787|      0|            HDONE_ERROR(H5E_VOL, H5E_CANTDEC, NULL, "unable to decrement ref count on VOL connector");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  788|       |
  789|       |        /* Free VOL connector struct */
  790|      0|        if (NULL != connector)
  ------------------
  |  Branch (790:13): [True: 0, False: 0]
  ------------------
  791|      0|            connector = H5FL_FREE(H5VL_t, connector);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  792|      0|    } /* end if */
  793|       |
  794|     83|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     83|    ;                                                                                                        \
  |  | 1573|     83|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     83|    return (ret_value);                                                                                      \
  |  | 1575|     83|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  795|     83|} /* end H5VL_new_connector() */
H5VL_register_using_vol_id:
  811|     83|{
  812|     83|    H5VL_t *connector = NULL;            /* VOL connector struct */
  813|     83|    hid_t   ret_value = H5I_INVALID_HID; /* Return value */
  ------------------
  |  |   75|     83|#define H5I_INVALID_HID (-1)
  ------------------
  814|       |
  815|     83|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     83|    {                                                                                                        \
  |  | 1392|     83|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     83|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     83|                                                                                                             \
  |  |  |  | 1267|     83|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     83|        {
  ------------------
  816|       |
  817|       |    /* Create new VOL connector object, using the connector ID */
  818|     83|    if (NULL == (connector = H5VL_new_connector(connector_id)))
  ------------------
  |  Branch (818:9): [True: 0, False: 83]
  ------------------
  819|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTCREATE, H5I_INVALID_HID, "can't create VOL connector object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  820|       |
  821|       |    /* Get an ID for the VOL object */
  822|     83|    if ((ret_value = H5VL_register(type, obj, connector, app_ref)) < 0)
  ------------------
  |  Branch (822:9): [True: 0, False: 83]
  ------------------
  823|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTREGISTER, H5I_INVALID_HID, "unable to register object handle");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  824|       |
  825|     83|done:
  826|       |    /* Clean up on error */
  827|     83|    if (H5I_INVALID_HID == ret_value)
  ------------------
  |  |   75|     83|#define H5I_INVALID_HID (-1)
  ------------------
  |  Branch (827:9): [True: 0, False: 83]
  ------------------
  828|       |        /* Release newly created connector */
  829|      0|        if (connector && H5VL_conn_dec_rc(connector) < 0)
  ------------------
  |  Branch (829:13): [True: 0, False: 0]
  |  Branch (829:26): [True: 0, False: 0]
  ------------------
  830|      0|            HDONE_ERROR(H5E_VOL, H5E_CANTDEC, H5I_INVALID_HID,
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  831|     83|                        "unable to decrement ref count on VOL connector")
  832|       |
  833|     83|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     83|    ;                                                                                                        \
  |  | 1573|     83|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     83|    return (ret_value);                                                                                      \
  |  | 1575|     83|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  834|     83|} /* end H5VL_register_using_vol_id() */
H5VL_create_object_using_vol_id:
  890|      7|{
  891|      7|    H5VL_class_t  *cls          = NULL;  /* VOL connector class */
  892|      7|    H5VL_t        *connector    = NULL;  /* VOL connector struct */
  893|      7|    bool           conn_id_incr = false; /* Whether the VOL connector ID has been incremented */
  894|      7|    H5VL_object_t *ret_value    = NULL;  /* Return value */
  895|       |
  896|      7|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|      7|    {                                                                                                        \
  |  | 1392|      7|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      7|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      7|                                                                                                             \
  |  |  |  | 1267|      7|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      7|        {
  ------------------
  897|       |
  898|       |    /* Get the VOL class object from the connector's ID */
  899|      7|    if (NULL == (cls = (H5VL_class_t *)H5I_object_verify(connector_id, H5I_VOL)))
  ------------------
  |  Branch (899:9): [True: 0, False: 7]
  ------------------
  900|      0|        HGOTO_ERROR(H5E_VOL, H5E_BADTYPE, NULL, "not a VOL connector ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  901|       |
  902|       |    /* Setup VOL info struct */
  903|      7|    if (NULL == (connector = H5FL_CALLOC(H5VL_t)))
  ------------------
  |  |   78|      7|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|      7|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (903:9): [True: 0, False: 7]
  ------------------
  904|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTALLOC, NULL, "can't allocate VOL info struct");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  905|      7|    connector->cls = cls;
  906|      7|    connector->id  = connector_id;
  907|      7|    if (H5I_inc_ref(connector->id, false) < 0)
  ------------------
  |  Branch (907:9): [True: 0, False: 7]
  ------------------
  908|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTINC, NULL, "unable to increment ref count on VOL connector");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  909|      7|    conn_id_incr = true;
  910|       |
  911|       |    /* Set up VOL object for the passed-in data */
  912|       |    /* (Wraps object, since it's a library object) */
  913|      7|    if (NULL == (ret_value = H5VL__new_vol_obj(type, obj, connector, true)))
  ------------------
  |  Branch (913:9): [True: 0, False: 7]
  ------------------
  914|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTCREATE, NULL, "can't create VOL object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  915|       |
  916|      7|done:
  917|       |    /* Clean up on error */
  918|      7|    if (!ret_value) {
  ------------------
  |  Branch (918:9): [True: 0, False: 7]
  ------------------
  919|       |        /* Decrement VOL connector ID ref count on error */
  920|      0|        if (conn_id_incr && H5I_dec_ref(connector_id) < 0)
  ------------------
  |  Branch (920:13): [True: 0, False: 0]
  |  Branch (920:29): [True: 0, False: 0]
  ------------------
  921|      0|            HDONE_ERROR(H5E_VOL, H5E_CANTDEC, NULL, "unable to decrement ref count on VOL connector");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  922|       |
  923|       |        /* Free VOL connector struct */
  924|      0|        if (NULL != connector)
  ------------------
  |  Branch (924:13): [True: 0, False: 0]
  ------------------
  925|      0|            connector = H5FL_FREE(H5VL_t, connector);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  926|      0|    } /* end if */
  927|       |
  928|      7|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  929|      7|} /* end H5VL_create_object_using_vol_id() */
H5VL_conn_inc_rc:
  942|  1.17k|{
  943|  1.17k|    int64_t ret_value = -1;
  944|       |
  945|  1.17k|    FUNC_ENTER_NOAPI_NOERR
  ------------------
  |  | 1397|  1.17k|    {                                                                                                        \
  |  | 1398|  1.17k|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|  1.17k|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1399|  1.17k|        {
  ------------------
  946|       |
  947|       |    /* Check arguments */
  948|  1.17k|    assert(connector);
  949|       |
  950|       |    /* Increment refcount for connector */
  951|  1.17k|    connector->nrefs++;
  952|       |
  953|  1.17k|    ret_value = connector->nrefs;
  954|       |
  955|  1.17k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  1.17k|    ;                                                                                                        \
  |  | 1573|  1.17k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  1.17k|    return (ret_value);                                                                                      \
  |  | 1575|  1.17k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  956|  1.17k|} /* end H5VL_conn_inc_rc() */
H5VL_conn_dec_rc:
  969|  1.17k|{
  970|  1.17k|    int64_t ret_value = -1; /* Return value */
  971|       |
  972|  1.17k|    FUNC_ENTER_NOAPI(-1)
  ------------------
  |  | 1391|  1.17k|    {                                                                                                        \
  |  | 1392|  1.17k|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|  1.17k|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|  1.17k|                                                                                                             \
  |  |  |  | 1267|  1.17k|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|  1.17k|        {
  ------------------
  973|       |
  974|       |    /* Check arguments */
  975|  1.17k|    assert(connector);
  976|       |
  977|       |    /* Decrement refcount for connector */
  978|  1.17k|    connector->nrefs--;
  979|       |
  980|       |    /* Check for last reference */
  981|  1.17k|    if (0 == connector->nrefs) {
  ------------------
  |  Branch (981:9): [True: 90, False: 1.08k]
  ------------------
  982|     90|        if (H5I_dec_ref(connector->id) < 0)
  ------------------
  |  Branch (982:13): [True: 0, False: 90]
  ------------------
  983|      0|            HGOTO_ERROR(H5E_VOL, H5E_CANTDEC, FAIL, "unable to decrement ref count on VOL connector");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  984|     90|        H5FL_FREE(H5VL_t, connector);
  ------------------
  |  |   81|     90|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|     90|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  985|       |
  986|       |        /* Set return value */
  987|     90|        ret_value = 0;
  988|     90|    } /* end if */
  989|  1.08k|    else
  990|       |        /* Set return value */
  991|  1.08k|        ret_value = connector->nrefs;
  992|       |
  993|  1.17k|done:
  994|  1.17k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  1.17k|    ;                                                                                                        \
  |  | 1573|  1.17k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  1.17k|    return (ret_value);                                                                                      \
  |  | 1575|  1.17k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  995|  1.17k|} /* end H5VL_conn_dec_rc() */
H5VL_object_inc_rc:
 1008|     49|{
 1009|     49|    FUNC_ENTER_NOAPI_NOERR
  ------------------
  |  | 1397|     49|    {                                                                                                        \
  |  | 1398|     49|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|     49|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1399|     49|        {
  ------------------
 1010|       |
 1011|       |    /* Check arguments */
 1012|     49|    assert(vol_obj);
 1013|       |
 1014|       |    /* Increment refcount for object and return */
 1015|     49|    FUNC_LEAVE_NOAPI(++vol_obj->rc)
  ------------------
  |  | 1572|     49|    ;                                                                                                        \
  |  | 1573|     49|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     49|    return (ret_value);                                                                                      \
  |  | 1575|     49|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1016|     49|} /* end H5VL_object_inc_rc() */
H5VL_free_object:
 1030|    263|{
 1031|    263|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    263|#define SUCCEED 0
  ------------------
 1032|       |
 1033|    263|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    263|    {                                                                                                        \
  |  | 1392|    263|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    263|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    263|                                                                                                             \
  |  |  |  | 1267|    263|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    263|        {
  ------------------
 1034|       |
 1035|       |    /* Check arguments */
 1036|    263|    assert(vol_obj);
 1037|       |
 1038|    263|    if (--vol_obj->rc == 0) {
  ------------------
  |  Branch (1038:9): [True: 214, False: 49]
  ------------------
 1039|       |        /* Decrement refcount on connector */
 1040|    214|        if (H5VL_conn_dec_rc(vol_obj->connector) < 0)
  ------------------
  |  Branch (1040:13): [True: 0, False: 214]
  ------------------
 1041|      0|            HGOTO_ERROR(H5E_VOL, H5E_CANTDEC, FAIL, "unable to decrement ref count on VOL connector");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1042|       |
 1043|    214|        vol_obj = H5FL_FREE(H5VL_object_t, vol_obj);
  ------------------
  |  |   81|    214|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|    214|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 1044|    214|    } /* end if */
 1045|       |
 1046|    263|done:
 1047|    263|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    263|    ;                                                                                                        \
  |  | 1573|    263|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    263|    return (ret_value);                                                                                      \
  |  | 1575|    263|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1048|    263|} /* end H5VL_free_object() */
H5VL_object_is_native:
 1062|     15|{
 1063|     15|    const H5VL_class_t *cls;                 /* VOL connector class structs for object */
 1064|     15|    const H5VL_class_t *native_cls;          /* Native VOL connector class structs */
 1065|     15|    int                 cmp_value;           /* Comparison result */
 1066|     15|    herr_t              ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     15|#define SUCCEED 0
  ------------------
 1067|       |
 1068|     15|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     15|    {                                                                                                        \
  |  | 1392|     15|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     15|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     15|                                                                                                             \
  |  |  |  | 1267|     15|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     15|        {
  ------------------
 1069|       |
 1070|       |    /* Check arguments */
 1071|     15|    assert(obj);
 1072|     15|    assert(is_native);
 1073|       |
 1074|       |    /* Retrieve the terminal connector class for the object */
 1075|     15|    cls = NULL;
 1076|     15|    if (H5VL_introspect_get_conn_cls(obj, H5VL_GET_CONN_LVL_TERM, &cls) < 0)
  ------------------
  |  Branch (1076:9): [True: 0, False: 15]
  ------------------
 1077|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "can't get VOL connector class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1078|       |
 1079|       |    /* Retrieve the native connector class */
 1080|     15|    if (NULL == (native_cls = (H5VL_class_t *)H5I_object_verify(H5VL_NATIVE, H5I_VOL)))
  ------------------
  |  |   29|     15|#define H5VL_NATIVE (H5VL_native_register())
  ------------------
  |  Branch (1080:9): [True: 0, False: 15]
  ------------------
 1081|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "can't retrieve native VOL connector class");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1082|       |
 1083|       |    /* Compare connector classes */
 1084|     15|    if (H5VL_cmp_connector_cls(&cmp_value, cls, native_cls) < 0)
  ------------------
  |  Branch (1084:9): [True: 0, False: 15]
  ------------------
 1085|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTCOMPARE, FAIL, "can't compare connector classes");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1086|       |
 1087|       |    /* If classes compare equal, then the object is / is in a native connector's file */
 1088|     15|    *is_native = (cmp_value == 0);
 1089|       |
 1090|     15|done:
 1091|     15|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     15|    ;                                                                                                        \
  |  | 1573|     15|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     15|    return (ret_value);                                                                                      \
  |  | 1575|     15|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1092|     15|} /* end H5VL_object_is_native() */
H5VL__register_connector:
 1170|      1|{
 1171|      1|    const H5VL_class_t *cls       = (const H5VL_class_t *)_cls;
 1172|      1|    H5VL_class_t       *saved     = NULL;
 1173|      1|    hid_t               ret_value = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
 1174|       |
 1175|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
 1176|       |
 1177|       |    /* Check arguments */
 1178|      1|    assert(cls);
 1179|       |
 1180|       |    /* Copy the class structure so the caller can reuse or free it */
 1181|      1|    if (NULL == (saved = H5FL_MALLOC(H5VL_class_t)))
  ------------------
  |  |   75|      1|#define H5FL_MALLOC(t) (t *)H5FL_reg_malloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|      1|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (1181:9): [True: 0, False: 1]
  ------------------
 1182|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTALLOC, H5I_INVALID_HID,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1183|      1|                    "memory allocation failed for VOL connector class struct");
 1184|      1|    H5MM_memcpy(saved, cls, sizeof(H5VL_class_t));
  ------------------
  |  |   41|      1|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
 1185|      1|    if (NULL == (saved->name = H5MM_strdup(cls->name)))
  ------------------
  |  Branch (1185:9): [True: 0, False: 1]
  ------------------
 1186|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTALLOC, H5I_INVALID_HID,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1187|      1|                    "memory allocation failed for VOL connector name");
 1188|       |
 1189|       |    /* Initialize the VOL connector */
 1190|      1|    if (cls->initialize && cls->initialize(vipl_id) < 0)
  ------------------
  |  Branch (1190:9): [True: 0, False: 1]
  |  Branch (1190:28): [True: 0, False: 0]
  ------------------
 1191|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTINIT, H5I_INVALID_HID, "unable to init VOL connector");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1192|       |
 1193|       |    /* Create the new class ID */
 1194|      1|    if ((ret_value = H5I_register(H5I_VOL, saved, app_ref)) < 0)
  ------------------
  |  Branch (1194:9): [True: 0, False: 1]
  ------------------
 1195|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTREGISTER, H5I_INVALID_HID, "unable to register VOL connector ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1196|       |
 1197|      1|done:
 1198|      1|    if (ret_value < 0 && saved) {
  ------------------
  |  Branch (1198:9): [True: 0, False: 1]
  |  Branch (1198:26): [True: 0, False: 0]
  ------------------
 1199|      0|        if (saved->name)
  ------------------
  |  Branch (1199:13): [True: 0, False: 0]
  ------------------
 1200|      0|            H5MM_xfree_const(saved->name);
 1201|       |
 1202|      0|        H5FL_FREE(H5VL_class_t, saved);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 1203|      0|    } /* end if */
 1204|       |
 1205|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1206|      1|} /* end H5VL__register_connector() */
H5VL_vol_object:
 1721|    450|{
 1722|    450|    void          *obj = NULL;
 1723|    450|    H5I_type_t     obj_type;
 1724|    450|    H5VL_object_t *ret_value = NULL;
 1725|       |
 1726|    450|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|    450|    {                                                                                                        \
  |  | 1392|    450|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    450|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    450|                                                                                                             \
  |  |  |  | 1267|    450|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    450|        {
  ------------------
 1727|       |
 1728|    450|    obj_type = H5I_get_type(id);
 1729|    450|    if (H5I_FILE == obj_type || H5I_GROUP == obj_type || H5I_ATTR == obj_type || H5I_DATASET == obj_type ||
  ------------------
  |  Branch (1729:9): [True: 105, False: 345]
  |  Branch (1729:33): [True: 174, False: 171]
  |  Branch (1729:58): [True: 0, False: 171]
  |  Branch (1729:82): [True: 168, False: 3]
  ------------------
 1730|    450|        H5I_DATATYPE == obj_type || H5I_MAP == obj_type) {
  ------------------
  |  Branch (1730:9): [True: 0, False: 3]
  |  Branch (1730:37): [True: 0, False: 3]
  ------------------
 1731|       |        /* Get the object */
 1732|    447|        if (NULL == (obj = H5I_object(id)))
  ------------------
  |  Branch (1732:13): [True: 0, False: 447]
  ------------------
 1733|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "invalid identifier");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1734|       |
 1735|       |        /* If this is a datatype, get the VOL object attached to the H5T_t struct */
 1736|    447|        if (H5I_DATATYPE == obj_type)
  ------------------
  |  Branch (1736:13): [True: 0, False: 447]
  ------------------
 1737|      0|            if (NULL == (obj = H5T_get_named_type((H5T_t *)obj)))
  ------------------
  |  Branch (1737:17): [True: 0, False: 0]
  ------------------
 1738|      0|                HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "not a named datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1739|    447|    } /* end if */
 1740|      3|    else
 1741|      3|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "invalid identifier type to function");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1742|       |
 1743|    447|    ret_value = (H5VL_object_t *)obj;
 1744|       |
 1745|    450|done:
 1746|    450|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    450|    ;                                                                                                        \
  |  | 1573|    450|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    450|    return (ret_value);                                                                                      \
  |  | 1575|    450|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1747|    447|} /* end H5VL_vol_object() */
H5VL_object_data:
 1762|     60|{
 1763|     60|    void *ret_value = NULL;
 1764|       |
 1765|     60|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|     60|    {                                                                                                        \
  |  | 1425|     60|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|     60|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|     60|        {
  ------------------
 1766|       |
 1767|       |    /* Check for 'get_object' callback in connector */
 1768|     60|    if (vol_obj->connector->cls->wrap_cls.get_object)
  ------------------
  |  Branch (1768:9): [True: 0, False: 60]
  ------------------
 1769|      0|        ret_value = (vol_obj->connector->cls->wrap_cls.get_object)(vol_obj->data);
 1770|     60|    else
 1771|     60|        ret_value = vol_obj->data;
 1772|       |
 1773|     60|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     60|    ;                                                                                                        \
  |  | 1573|     60|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     60|    return (ret_value);                                                                                      \
  |  | 1575|     60|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1774|     60|} /* end H5VL_object_data() */
H5VL_object_unwrap:
 1789|      7|{
 1790|      7|    void *ret_value = NULL;
 1791|       |
 1792|      7|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|      7|    {                                                                                                        \
  |  | 1392|      7|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      7|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      7|                                                                                                             \
  |  |  |  | 1267|      7|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      7|        {
  ------------------
 1793|       |
 1794|      7|    if (NULL == (ret_value = H5VL_unwrap_object(vol_obj->connector->cls, vol_obj->data)))
  ------------------
  |  Branch (1794:9): [True: 0, False: 7]
  ------------------
 1795|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTGET, NULL, "can't unwrap object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1796|       |
 1797|      7|done:
 1798|      7|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1799|      7|} /* end H5VL_object_unwrap() */
H5VL_object_verify:
 1908|     12|{
 1909|     12|    void *ret_value = NULL;
 1910|       |
 1911|     12|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|     12|    {                                                                                                        \
  |  | 1392|     12|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     12|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     12|                                                                                                             \
  |  |  |  | 1267|     12|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     12|        {
  ------------------
 1912|       |
 1913|       |    /* Check of ID of correct type */
 1914|     12|    if (obj_type != H5I_get_type(id))
  ------------------
  |  Branch (1914:9): [True: 0, False: 12]
  ------------------
 1915|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "invalid identifier");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1916|       |
 1917|       |    /* Get the underlying object */
 1918|     12|    if (NULL == (ret_value = H5VL__object(id, obj_type)))
  ------------------
  |  Branch (1918:9): [True: 0, False: 12]
  ------------------
 1919|      0|        HGOTO_ERROR(H5E_ARGS, H5E_CANTGET, NULL, "can't retrieve object for ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1920|       |
 1921|     12|done:
 1922|     12|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     12|    ;                                                                                                        \
  |  | 1573|     12|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     12|    return (ret_value);                                                                                      \
  |  | 1575|     12|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1923|     12|} /* end H5VL_object_verify() */
H5VL_cmp_connector_cls:
 1940|     15|{
 1941|     15|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     15|#define SUCCEED 0
  ------------------
 1942|       |
 1943|     15|    FUNC_ENTER_NOAPI_NOERR
  ------------------
  |  | 1397|     15|    {                                                                                                        \
  |  | 1398|     15|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|     15|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1399|     15|        {
  ------------------
 1944|       |
 1945|       |    /* Sanity checks */
 1946|     15|    assert(cls1);
 1947|     15|    assert(cls2);
 1948|       |
 1949|       |    /* If the pointers are the same the classes are the same */
 1950|     15|    if (cls1 == cls2) {
  ------------------
  |  Branch (1950:9): [True: 0, False: 15]
  ------------------
 1951|      0|        *cmp_value = 0;
 1952|      0|        HGOTO_DONE(SUCCEED);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1953|      0|    } /* end if */
 1954|       |
 1955|       |    /* Compare connector "values" */
 1956|     15|    if (cls1->value < cls2->value) {
  ------------------
  |  Branch (1956:9): [True: 0, False: 15]
  ------------------
 1957|      0|        *cmp_value = -1;
 1958|      0|        HGOTO_DONE(SUCCEED);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1959|      0|    } /* end if */
 1960|     15|    if (cls1->value > cls2->value) {
  ------------------
  |  Branch (1960:9): [True: 0, False: 15]
  ------------------
 1961|      0|        *cmp_value = 1;
 1962|      0|        HGOTO_DONE(SUCCEED);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1963|      0|    } /* end if */
 1964|     15|    assert(cls1->value == cls2->value);
 1965|       |
 1966|       |    /* Compare connector names */
 1967|     15|    if (cls1->name == NULL && cls2->name != NULL) {
  ------------------
  |  Branch (1967:9): [True: 0, False: 15]
  |  Branch (1967:31): [True: 0, False: 0]
  ------------------
 1968|      0|        *cmp_value = -1;
 1969|      0|        HGOTO_DONE(SUCCEED);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1970|      0|    } /* end if */
 1971|     15|    if (cls1->name != NULL && cls2->name == NULL) {
  ------------------
  |  Branch (1971:9): [True: 15, False: 0]
  |  Branch (1971:31): [True: 0, False: 15]
  ------------------
 1972|      0|        *cmp_value = 1;
 1973|      0|        HGOTO_DONE(SUCCEED);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1974|      0|    } /* end if */
 1975|     15|    if (0 != (*cmp_value = strcmp(cls1->name, cls2->name)))
  ------------------
  |  Branch (1975:9): [True: 0, False: 15]
  ------------------
 1976|      0|        HGOTO_DONE(SUCCEED);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1977|       |
 1978|       |    /* Compare connector VOL API versions */
 1979|     15|    if (cls1->version < cls2->version) {
  ------------------
  |  Branch (1979:9): [True: 0, False: 15]
  ------------------
 1980|      0|        *cmp_value = -1;
 1981|      0|        HGOTO_DONE(SUCCEED);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1982|      0|    } /* end if */
 1983|     15|    if (cls1->version > cls2->version) {
  ------------------
  |  Branch (1983:9): [True: 0, False: 15]
  ------------------
 1984|      0|        *cmp_value = 1;
 1985|      0|        HGOTO_DONE(SUCCEED);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1986|      0|    } /* end if */
 1987|     15|    assert(cls1->version == cls2->version);
 1988|       |
 1989|       |    /* Compare connector info */
 1990|     15|    if (cls1->info_cls.size < cls2->info_cls.size) {
  ------------------
  |  Branch (1990:9): [True: 0, False: 15]
  ------------------
 1991|      0|        *cmp_value = -1;
 1992|      0|        HGOTO_DONE(SUCCEED);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1993|      0|    } /* end if */
 1994|     15|    if (cls1->info_cls.size > cls2->info_cls.size) {
  ------------------
  |  Branch (1994:9): [True: 0, False: 15]
  ------------------
 1995|      0|        *cmp_value = 1;
 1996|      0|        HGOTO_DONE(SUCCEED);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1997|      0|    } /* end if */
 1998|     15|    assert(cls1->info_cls.size == cls2->info_cls.size);
 1999|       |
 2000|       |    /* Set comparison value to 'equal' */
 2001|     15|    *cmp_value = 0;
 2002|       |
 2003|     15|done:
 2004|     15|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     15|    ;                                                                                                        \
  |  | 1573|     15|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     15|    return (ret_value);                                                                                      \
  |  | 1575|     15|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2005|     15|} /* end H5VL_cmp_connector_cls() */
H5VL_set_vol_wrapper:
 2208|  1.03k|{
 2209|  1.03k|    H5VL_wrap_ctx_t *vol_wrap_ctx = NULL;    /* Object wrapping context */
 2210|  1.03k|    herr_t           ret_value    = SUCCEED; /* Return value */
  ------------------
  |  |  283|  1.03k|#define SUCCEED 0
  ------------------
 2211|       |
 2212|  1.03k|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|  1.03k|    {                                                                                                        \
  |  | 1392|  1.03k|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|  1.03k|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|  1.03k|                                                                                                             \
  |  |  |  | 1267|  1.03k|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|  1.03k|        {
  ------------------
 2213|       |
 2214|       |    /* Sanity check */
 2215|  1.03k|    assert(vol_obj);
 2216|       |
 2217|       |    /* Retrieve the VOL object wrap context */
 2218|  1.03k|    if (H5CX_get_vol_wrap_ctx((void **)&vol_wrap_ctx) < 0)
  ------------------
  |  Branch (2218:9): [True: 0, False: 1.03k]
  ------------------
 2219|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "can't get VOL object wrap context");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2220|       |
 2221|       |    /* Check for existing wrapping context */
 2222|  1.03k|    if (NULL == vol_wrap_ctx) {
  ------------------
  |  Branch (2222:9): [True: 959, False: 79]
  ------------------
 2223|    959|        void *obj_wrap_ctx = NULL; /* VOL connector's wrapping context */
 2224|       |
 2225|       |        /* Sanity checks */
 2226|    959|        assert(vol_obj->data);
 2227|    959|        assert(vol_obj->connector);
 2228|       |
 2229|       |        /* Check if the connector can create a wrap context */
 2230|    959|        if (vol_obj->connector->cls->wrap_cls.get_wrap_ctx) {
  ------------------
  |  Branch (2230:13): [True: 0, False: 959]
  ------------------
 2231|       |            /* Sanity check */
 2232|      0|            assert(vol_obj->connector->cls->wrap_cls.free_wrap_ctx);
 2233|       |
 2234|       |            /* Get the wrap context from the connector */
 2235|      0|            if ((vol_obj->connector->cls->wrap_cls.get_wrap_ctx)(vol_obj->data, &obj_wrap_ctx) < 0)
  ------------------
  |  Branch (2235:17): [True: 0, False: 0]
  ------------------
 2236|      0|                HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "can't retrieve VOL connector's object wrap context");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2237|      0|        } /* end if */
 2238|       |
 2239|       |        /* Allocate VOL object wrapper context */
 2240|    959|        if (NULL == (vol_wrap_ctx = H5FL_MALLOC(H5VL_wrap_ctx_t)))
  ------------------
  |  |   75|    959|#define H5FL_MALLOC(t) (t *)H5FL_reg_malloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|    959|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (2240:13): [True: 0, False: 959]
  ------------------
 2241|      0|            HGOTO_ERROR(H5E_VOL, H5E_CANTALLOC, FAIL, "can't allocate VOL wrap context");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2242|       |
 2243|       |        /* Increment the outstanding objects that are using the connector */
 2244|    959|        H5VL_conn_inc_rc(vol_obj->connector);
 2245|       |
 2246|       |        /* Set up VOL object wrapper context */
 2247|    959|        vol_wrap_ctx->rc           = 1;
 2248|    959|        vol_wrap_ctx->connector    = vol_obj->connector;
 2249|    959|        vol_wrap_ctx->obj_wrap_ctx = obj_wrap_ctx;
 2250|    959|    } /* end if */
 2251|     79|    else
 2252|       |        /* Increment ref count on existing wrapper context */
 2253|     79|        vol_wrap_ctx->rc++;
 2254|       |
 2255|       |    /* Save the wrapper context */
 2256|  1.03k|    if (H5CX_set_vol_wrap_ctx(vol_wrap_ctx) < 0)
  ------------------
  |  Branch (2256:9): [True: 0, False: 1.03k]
  ------------------
 2257|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTSET, FAIL, "can't set VOL object wrap context");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2258|       |
 2259|  1.03k|done:
 2260|  1.03k|    if (ret_value < 0 && vol_wrap_ctx)
  ------------------
  |  Branch (2260:9): [True: 0, False: 1.03k]
  |  Branch (2260:26): [True: 0, False: 0]
  ------------------
 2261|       |        /* Release object wrapping context */
 2262|      0|        H5FL_FREE(H5VL_wrap_ctx_t, vol_wrap_ctx);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 2263|       |
 2264|  1.03k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  1.03k|    ;                                                                                                        \
  |  | 1573|  1.03k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  1.03k|    return (ret_value);                                                                                      \
  |  | 1575|  1.03k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2265|  1.03k|} /* end H5VL_set_vol_wrapper() */
H5VL_reset_vol_wrapper:
 2344|  1.03k|{
 2345|  1.03k|    H5VL_wrap_ctx_t *vol_wrap_ctx = NULL;    /* Object wrapping context */
 2346|  1.03k|    herr_t           ret_value    = SUCCEED; /* Return value */
  ------------------
  |  |  283|  1.03k|#define SUCCEED 0
  ------------------
 2347|       |
 2348|  1.03k|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|  1.03k|    {                                                                                                        \
  |  | 1392|  1.03k|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|  1.03k|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|  1.03k|                                                                                                             \
  |  |  |  | 1267|  1.03k|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|  1.03k|        {
  ------------------
 2349|       |
 2350|       |    /* Retrieve the VOL object wrap context */
 2351|  1.03k|    if (H5CX_get_vol_wrap_ctx((void **)&vol_wrap_ctx) < 0)
  ------------------
  |  Branch (2351:9): [True: 0, False: 1.03k]
  ------------------
 2352|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "can't get VOL object wrap context");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2353|       |
 2354|       |    /* Check for VOL object wrap context */
 2355|  1.03k|    if (NULL == vol_wrap_ctx)
  ------------------
  |  Branch (2355:9): [True: 0, False: 1.03k]
  ------------------
 2356|      0|        HGOTO_ERROR(H5E_VOL, H5E_BADVALUE, FAIL, "no VOL object wrap context?");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2357|       |
 2358|       |    /* Decrement ref count on wrapping context */
 2359|  1.03k|    vol_wrap_ctx->rc--;
 2360|       |
 2361|       |    /* Release context if the ref count drops to zero */
 2362|  1.03k|    if (0 == vol_wrap_ctx->rc) {
  ------------------
  |  Branch (2362:9): [True: 959, False: 79]
  ------------------
 2363|       |        /* Release object wrapping context */
 2364|    959|        if (H5VL__free_vol_wrapper(vol_wrap_ctx) < 0)
  ------------------
  |  Branch (2364:13): [True: 0, False: 959]
  ------------------
 2365|      0|            HGOTO_ERROR(H5E_VOL, H5E_CANTRELEASE, FAIL, "unable to release VOL object wrapping context");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2366|       |
 2367|       |        /* Reset the wrapper context */
 2368|    959|        if (H5CX_set_vol_wrap_ctx(NULL) < 0)
  ------------------
  |  Branch (2368:13): [True: 0, False: 959]
  ------------------
 2369|      0|            HGOTO_ERROR(H5E_VOL, H5E_CANTSET, FAIL, "can't set VOL object wrap context");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2370|    959|    } /* end if */
 2371|     79|    else
 2372|       |        /* Save the updated wrapper context */
 2373|     79|        if (H5CX_set_vol_wrap_ctx(vol_wrap_ctx) < 0)
  ------------------
  |  Branch (2373:13): [True: 0, False: 79]
  ------------------
 2374|      0|            HGOTO_ERROR(H5E_VOL, H5E_CANTSET, FAIL, "can't set VOL object wrap context");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2375|       |
 2376|  1.03k|done:
 2377|  1.03k|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|  1.03k|    ;                                                                                                        \
  |  | 1573|  1.03k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  1.03k|    return (ret_value);                                                                                      \
  |  | 1575|  1.03k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2378|  1.03k|} /* end H5VL_reset_vol_wrapper() */
H5VL_wrap_register:
 2391|     76|{
 2392|     76|    H5VL_wrap_ctx_t *vol_wrap_ctx = NULL;         /* Object wrapping context */
 2393|     76|    void            *new_obj;                     /* Newly wrapped object */
 2394|     76|    hid_t            ret_value = H5I_INVALID_HID; /* Return value */
  ------------------
  |  |   75|     76|#define H5I_INVALID_HID (-1)
  ------------------
 2395|       |
 2396|     76|    FUNC_ENTER_NOAPI(H5I_INVALID_HID)
  ------------------
  |  | 1391|     76|    {                                                                                                        \
  |  | 1392|     76|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     76|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     76|                                                                                                             \
  |  |  |  | 1267|     76|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     76|        {
  ------------------
 2397|       |
 2398|       |    /* Sanity check */
 2399|     76|    assert(obj);
 2400|       |
 2401|       |    /* Retrieve the VOL object wrapping context */
 2402|     76|    if (H5CX_get_vol_wrap_ctx((void **)&vol_wrap_ctx) < 0)
  ------------------
  |  Branch (2402:9): [True: 0, False: 76]
  ------------------
 2403|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTGET, H5I_INVALID_HID, "can't get VOL object wrap context");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2404|     76|    if (NULL == vol_wrap_ctx || NULL == vol_wrap_ctx->connector)
  ------------------
  |  Branch (2404:9): [True: 0, False: 76]
  |  Branch (2404:33): [True: 0, False: 76]
  ------------------
 2405|      0|        HGOTO_ERROR(H5E_VOL, H5E_BADVALUE, H5I_INVALID_HID,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2406|     76|                    "VOL object wrap context or its connector is NULL???");
 2407|       |
 2408|       |    /* If the datatype is already VOL-managed, the datatype's vol_obj
 2409|       |     * field will get clobbered later, so disallow this.
 2410|       |     */
 2411|     76|    if (type == H5I_DATATYPE)
  ------------------
  |  Branch (2411:9): [True: 0, False: 76]
  ------------------
 2412|      0|        if (vol_wrap_ctx->connector->id == H5VL_NATIVE)
  ------------------
  |  |   29|      0|#define H5VL_NATIVE (H5VL_native_register())
  ------------------
  |  Branch (2412:13): [True: 0, False: 0]
  ------------------
 2413|      0|            if (true == H5T_already_vol_managed((const H5T_t *)obj))
  ------------------
  |  Branch (2413:17): [True: 0, False: 0]
  ------------------
 2414|      0|                HGOTO_ERROR(H5E_VOL, H5E_BADTYPE, H5I_INVALID_HID, "can't wrap an uncommitted datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2415|       |
 2416|       |    /* Wrap the object with VOL connector info */
 2417|     76|    if (NULL == (new_obj = H5VL__wrap_obj(obj, type)))
  ------------------
  |  Branch (2417:9): [True: 0, False: 76]
  ------------------
 2418|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTCREATE, H5I_INVALID_HID, "can't wrap library object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2419|       |
 2420|       |    /* Get an ID for the object */
 2421|     76|    if ((ret_value = H5VL_register_using_vol_id(type, new_obj, vol_wrap_ctx->connector->id, app_ref)) < 0)
  ------------------
  |  Branch (2421:9): [True: 0, False: 76]
  ------------------
 2422|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTREGISTER, H5I_INVALID_HID, "unable to get an ID for the object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2423|       |
 2424|     76|done:
 2425|     76|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     76|    ;                                                                                                        \
  |  | 1573|     76|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     76|    return (ret_value);                                                                                      \
  |  | 1575|     76|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2426|     76|} /* end H5VL_wrap_register() */
H5VL__is_default_conn:
 2490|      3|{
 2491|      3|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|      3|    {                                                                                                        \
  |  | 1467|      3|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|      3|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|      3|        {
  ------------------
 2492|       |
 2493|       |    /* Sanity checks */
 2494|      3|    assert(is_default);
 2495|       |
 2496|       |    /* Determine if the default VOL connector will be used, based on non-default
 2497|       |     * values in the FAPL, connector ID, or the HDF5_VOL_CONNECTOR environment
 2498|       |     * variable being set.
 2499|       |     */
 2500|      3|    *is_default = (H5VL_def_conn_s.connector_id == H5_DEFAULT_VOL) &&
  ------------------
  |  |  117|      3|#define H5_DEFAULT_VOL H5VL_NATIVE
  |  |  ------------------
  |  |  |  |   29|      3|#define H5VL_NATIVE (H5VL_native_register())
  |  |  ------------------
  ------------------
  |  Branch (2500:19): [True: 3, False: 0]
  ------------------
 2501|      3|                  ((H5P_FILE_ACCESS_DEFAULT == fapl_id) || connector_id == H5_DEFAULT_VOL);
  ------------------
  |  |  148|      3|#define H5P_FILE_ACCESS_DEFAULT (H5OPEN H5P_LST_FILE_ACCESS_ID_g)
  ------------------
                                ((H5P_FILE_ACCESS_DEFAULT == fapl_id) || connector_id == H5_DEFAULT_VOL);
  ------------------
  |  |  117|      0|#define H5_DEFAULT_VOL H5VL_NATIVE
  |  |  ------------------
  |  |  |  |   29|      0|#define H5VL_NATIVE (H5VL_native_register())
  |  |  ------------------
  ------------------
  |  Branch (2501:20): [True: 3, False: 0]
  |  Branch (2501:60): [True: 0, False: 0]
  ------------------
 2502|       |
 2503|      3|    FUNC_LEAVE_NOAPI_VOID
  ------------------
  |  | 1578|      3|    ;                                                                                                        \
  |  | 1579|      3|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1580|      3|    return;                                                                                                  \
  |  | 1581|      3|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2504|      3|} /* end H5VL__is_default_conn() */
H5VL_setup_acc_args:
 2585|     60|{
 2586|     60|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     60|#define SUCCEED 0
  ------------------
 2587|       |
 2588|     60|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     60|    {                                                                                                        \
  |  | 1392|     60|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     60|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     60|                                                                                                             \
  |  |  |  | 1267|     60|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     60|        {
  ------------------
 2589|       |
 2590|       |    /* Sanity check */
 2591|     60|    assert(libclass);
 2592|     60|    assert(acspl_id);
 2593|     60|    assert(vol_obj);
 2594|     60|    assert(loc_params);
 2595|       |
 2596|       |    /* Verify access property list and set up collective metadata if appropriate */
 2597|     60|    if (H5CX_set_apl(acspl_id, libclass, loc_id, is_collective) < 0)
  ------------------
  |  Branch (2597:9): [True: 0, False: 60]
  ------------------
 2598|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTSET, FAIL, "can't set access property list info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2599|       |
 2600|       |    /* Get the location object */
 2601|     60|    if (NULL == (*vol_obj = (H5VL_object_t *)H5VL_vol_object(loc_id)))
  ------------------
  |  Branch (2601:9): [True: 0, False: 60]
  ------------------
 2602|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid location identifier");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2603|       |
 2604|       |    /* Set location parameters */
 2605|     60|    loc_params->type     = H5VL_OBJECT_BY_SELF;
 2606|     60|    loc_params->obj_type = H5I_get_type(loc_id);
 2607|       |
 2608|     60|done:
 2609|     60|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     60|    ;                                                                                                        \
  |  | 1573|     60|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     60|    return (ret_value);                                                                                      \
  |  | 1575|     60|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2610|     60|} /* end H5VL_setup_acc_args() */
H5VL_setup_self_args:
 2623|     83|{
 2624|     83|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     83|#define SUCCEED 0
  ------------------
 2625|       |
 2626|     83|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     83|    {                                                                                                        \
  |  | 1392|     83|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     83|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     83|                                                                                                             \
  |  |  |  | 1267|     83|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     83|        {
  ------------------
 2627|       |
 2628|       |    /* Sanity check */
 2629|     83|    assert(vol_obj);
 2630|     83|    assert(loc_params);
 2631|       |
 2632|       |    /* Get the location object */
 2633|     83|    if (NULL == (*vol_obj = (H5VL_object_t *)H5VL_vol_object(loc_id)))
  ------------------
  |  Branch (2633:9): [True: 0, False: 83]
  ------------------
 2634|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid location identifier");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2635|       |
 2636|       |    /* Set location parameters */
 2637|     83|    loc_params->type     = H5VL_OBJECT_BY_SELF;
 2638|     83|    loc_params->obj_type = H5I_get_type(loc_id);
 2639|       |
 2640|     83|done:
 2641|     83|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     83|    ;                                                                                                        \
  |  | 1573|     83|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     83|    return (ret_value);                                                                                      \
  |  | 1575|     83|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2642|     83|} /* end H5VL_setup_self_args() */
H5VL_setup_name_args:
 2656|    270|{
 2657|    270|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    270|#define SUCCEED 0
  ------------------
 2658|       |
 2659|    270|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    270|    {                                                                                                        \
  |  | 1392|    270|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    270|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    270|                                                                                                             \
  |  |  |  | 1267|    270|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    270|        {
  ------------------
 2660|       |
 2661|       |    /* Sanity check */
 2662|    270|    assert(vol_obj);
 2663|    270|    assert(loc_params);
 2664|       |
 2665|       |    /* Check args */
 2666|    270|    if (!name)
  ------------------
  |  Branch (2666:9): [True: 0, False: 270]
  ------------------
 2667|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "name parameter cannot be NULL");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2668|    270|    if (!*name)
  ------------------
  |  Branch (2668:9): [True: 0, False: 270]
  ------------------
 2669|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "name parameter cannot be an empty string");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2670|       |
 2671|       |    /* Verify access property list and set up collective metadata if appropriate */
 2672|    270|    if (H5CX_set_apl(&lapl_id, H5P_CLS_LACC, loc_id, is_collective) < 0)
  ------------------
  |  Branch (2672:9): [True: 0, False: 270]
  ------------------
 2673|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTSET, FAIL, "can't set access property list info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2674|       |
 2675|       |    /* Get the location object */
 2676|    270|    if (NULL == (*vol_obj = (H5VL_object_t *)H5VL_vol_object(loc_id)))
  ------------------
  |  Branch (2676:9): [True: 3, False: 267]
  ------------------
 2677|      3|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid location identifier");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2678|       |
 2679|       |    /* Set up location parameters */
 2680|    267|    loc_params->type                         = H5VL_OBJECT_BY_NAME;
 2681|    267|    loc_params->loc_data.loc_by_name.name    = name;
 2682|    267|    loc_params->loc_data.loc_by_name.lapl_id = lapl_id;
 2683|    267|    loc_params->obj_type                     = H5I_get_type(loc_id);
 2684|       |
 2685|    270|done:
 2686|    270|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    270|    ;                                                                                                        \
  |  | 1573|    270|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    270|    return (ret_value);                                                                                      \
  |  | 1575|    270|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2687|    267|} /* end H5VL_setup_name_args() */
H5VLint.c:H5VL__free_cls:
  279|      1|{
  280|      1|    herr_t ret_value = SUCCEED;
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
  281|       |
  282|      1|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      1|    {                                                                                                        \
  |  | 1461|      1|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      1|        {
  ------------------
  283|       |
  284|       |    /* Sanity check */
  285|      1|    assert(cls);
  286|       |
  287|       |    /* Shut down the VOL connector */
  288|      1|    if (cls->terminate && cls->terminate() < 0)
  ------------------
  |  Branch (288:9): [True: 1, False: 0]
  |  Branch (288:27): [True: 0, False: 1]
  ------------------
  289|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTCLOSEOBJ, FAIL, "VOL connector did not terminate cleanly");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  290|       |
  291|       |    /* Release the class */
  292|      1|    H5MM_xfree_const(cls->name);
  293|      1|    H5FL_FREE(H5VL_class_t, cls);
  ------------------
  |  |   81|      1|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      1|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  294|       |
  295|      1|done:
  296|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  297|      1|} /* end H5VL__free_cls() */
H5VLint.c:H5VL__new_vol_obj:
  527|    214|{
  528|    214|    H5VL_object_t *new_vol_obj  = NULL;  /* Pointer to new VOL object                    */
  529|    214|    bool           conn_rc_incr = false; /* Whether the VOL connector refcount has been incremented */
  530|    214|    H5VL_object_t *ret_value    = NULL;  /* Return value                                 */
  531|       |
  532|    214|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    214|    {                                                                                                        \
  |  | 1461|    214|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    214|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    214|                                                                                                             \
  |  |  |  | 1267|    214|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    214|        {
  ------------------
  533|       |
  534|       |    /* Check arguments */
  535|    214|    assert(object);
  536|    214|    assert(vol_connector);
  537|       |
  538|       |    /* Make sure type number is valid */
  539|    214|    if (type != H5I_ATTR && type != H5I_DATASET && type != H5I_DATATYPE && type != H5I_FILE &&
  ------------------
  |  Branch (539:9): [True: 150, False: 64]
  |  Branch (539:29): [True: 98, False: 52]
  |  Branch (539:52): [True: 98, False: 0]
  |  Branch (539:76): [True: 84, False: 14]
  ------------------
  540|    214|        type != H5I_GROUP && type != H5I_MAP)
  ------------------
  |  Branch (540:9): [True: 0, False: 84]
  |  Branch (540:30): [True: 0, False: 0]
  ------------------
  541|      0|        HGOTO_ERROR(H5E_VOL, H5E_BADVALUE, NULL, "invalid type number");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  542|       |
  543|       |    /* Create the new VOL object */
  544|    214|    if (NULL == (new_vol_obj = H5FL_CALLOC(H5VL_object_t)))
  ------------------
  |  |   78|    214|#define H5FL_CALLOC(t) (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|    214|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (544:9): [True: 0, False: 214]
  ------------------
  545|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTALLOC, NULL, "can't allocate memory for VOL object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  546|    214|    new_vol_obj->connector = vol_connector;
  547|    214|    if (wrap_obj) {
  ------------------
  |  Branch (547:9): [True: 7, False: 207]
  ------------------
  548|      7|        if (NULL == (new_vol_obj->data = H5VL__wrap_obj(object, type)))
  ------------------
  |  Branch (548:13): [True: 0, False: 7]
  ------------------
  549|      0|            HGOTO_ERROR(H5E_VOL, H5E_CANTCREATE, NULL, "can't wrap library object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  550|      7|    } /* end if */
  551|    207|    else
  552|    207|        new_vol_obj->data = object;
  553|    214|    new_vol_obj->rc = 1;
  554|       |
  555|       |    /* Bump the reference count on the VOL connector */
  556|    214|    H5VL_conn_inc_rc(vol_connector);
  557|    214|    conn_rc_incr = true;
  558|       |
  559|       |    /* If this is a datatype, we have to hide the VOL object under the H5T_t pointer */
  560|    214|    if (H5I_DATATYPE == type) {
  ------------------
  |  Branch (560:9): [True: 0, False: 214]
  ------------------
  561|      0|        if (NULL == (ret_value = (H5VL_object_t *)H5T_construct_datatype(new_vol_obj)))
  ------------------
  |  Branch (561:13): [True: 0, False: 0]
  ------------------
  562|      0|            HGOTO_ERROR(H5E_VOL, H5E_CANTINIT, NULL, "can't construct datatype object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  563|      0|    } /* end if */
  564|    214|    else
  565|    214|        ret_value = (H5VL_object_t *)new_vol_obj;
  566|       |
  567|    214|done:
  568|       |    /* Cleanup on error */
  569|    214|    if (NULL == ret_value) {
  ------------------
  |  Branch (569:9): [True: 0, False: 214]
  ------------------
  570|      0|        if (conn_rc_incr && H5VL_conn_dec_rc(vol_connector) < 0)
  ------------------
  |  Branch (570:13): [True: 0, False: 0]
  |  Branch (570:29): [True: 0, False: 0]
  ------------------
  571|      0|            HDONE_ERROR(H5E_VOL, H5E_CANTDEC, NULL, "unable to decrement ref count on VOL connector");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  572|      0|    } /* end if */
  573|       |
  574|    214|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    214|    ;                                                                                                        \
  |  | 1573|    214|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    214|    return (ret_value);                                                                                      \
  |  | 1575|    214|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  575|    214|} /* end H5VL__new_vol_obj() */
H5VLint.c:H5VL__object:
 1814|     12|{
 1815|     12|    H5VL_object_t *vol_obj   = NULL;
 1816|     12|    void          *ret_value = NULL;
 1817|       |
 1818|     12|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     12|    {                                                                                                        \
  |  | 1461|     12|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     12|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     12|                                                                                                             \
  |  |  |  | 1267|     12|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     12|        {
  ------------------
 1819|       |
 1820|       |    /* Get the underlying object */
 1821|     12|    switch (obj_type) {
 1822|      0|        case H5I_GROUP:
  ------------------
  |  Branch (1822:9): [True: 0, False: 12]
  ------------------
 1823|      0|        case H5I_DATASET:
  ------------------
  |  Branch (1823:9): [True: 0, False: 12]
  ------------------
 1824|      0|        case H5I_FILE:
  ------------------
  |  Branch (1824:9): [True: 0, False: 12]
  ------------------
 1825|     12|        case H5I_ATTR:
  ------------------
  |  Branch (1825:9): [True: 12, False: 0]
  ------------------
 1826|     12|        case H5I_MAP:
  ------------------
  |  Branch (1826:9): [True: 0, False: 12]
  ------------------
 1827|       |            /* get the object */
 1828|     12|            if (NULL == (vol_obj = (H5VL_object_t *)H5I_object(id)))
  ------------------
  |  Branch (1828:17): [True: 0, False: 12]
  ------------------
 1829|      0|                HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "invalid identifier");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1830|     12|            break;
 1831|       |
 1832|     12|        case H5I_DATATYPE: {
  ------------------
  |  Branch (1832:9): [True: 0, False: 12]
  ------------------
 1833|      0|            H5T_t *dt = NULL;
 1834|       |
 1835|       |            /* get the object */
 1836|      0|            if (NULL == (dt = (H5T_t *)H5I_object(id)))
  ------------------
  |  Branch (1836:17): [True: 0, False: 0]
  ------------------
 1837|      0|                HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "invalid identifier");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1838|       |
 1839|       |            /* Get the actual datatype object that should be the vol_obj */
 1840|      0|            if (NULL == (vol_obj = H5T_get_named_type(dt)))
  ------------------
  |  Branch (1840:17): [True: 0, False: 0]
  ------------------
 1841|      0|                HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "not a named datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1842|      0|            break;
 1843|      0|        }
 1844|       |
 1845|      0|        case H5I_UNINIT:
  ------------------
  |  Branch (1845:9): [True: 0, False: 12]
  ------------------
 1846|      0|        case H5I_BADID:
  ------------------
  |  Branch (1846:9): [True: 0, False: 12]
  ------------------
 1847|      0|        case H5I_DATASPACE:
  ------------------
  |  Branch (1847:9): [True: 0, False: 12]
  ------------------
 1848|      0|        case H5I_VFL:
  ------------------
  |  Branch (1848:9): [True: 0, False: 12]
  ------------------
 1849|      0|        case H5I_VOL:
  ------------------
  |  Branch (1849:9): [True: 0, False: 12]
  ------------------
 1850|      0|        case H5I_GENPROP_CLS:
  ------------------
  |  Branch (1850:9): [True: 0, False: 12]
  ------------------
 1851|      0|        case H5I_GENPROP_LST:
  ------------------
  |  Branch (1851:9): [True: 0, False: 12]
  ------------------
 1852|      0|        case H5I_ERROR_CLASS:
  ------------------
  |  Branch (1852:9): [True: 0, False: 12]
  ------------------
 1853|      0|        case H5I_ERROR_MSG:
  ------------------
  |  Branch (1853:9): [True: 0, False: 12]
  ------------------
 1854|      0|        case H5I_ERROR_STACK:
  ------------------
  |  Branch (1854:9): [True: 0, False: 12]
  ------------------
 1855|      0|        case H5I_SPACE_SEL_ITER:
  ------------------
  |  Branch (1855:9): [True: 0, False: 12]
  ------------------
 1856|      0|        case H5I_EVENTSET:
  ------------------
  |  Branch (1856:9): [True: 0, False: 12]
  ------------------
 1857|      0|        case H5I_NTYPES:
  ------------------
  |  Branch (1857:9): [True: 0, False: 12]
  ------------------
 1858|      0|        default:
  ------------------
  |  Branch (1858:9): [True: 0, False: 12]
  ------------------
 1859|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "unknown data object type");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1860|     12|    } /* end switch */
 1861|       |
 1862|       |    /* Set the return value */
 1863|     12|    ret_value = H5VL_object_data(vol_obj);
 1864|       |
 1865|     12|done:
 1866|     12|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     12|    ;                                                                                                        \
  |  | 1573|     12|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     12|    return (ret_value);                                                                                      \
  |  | 1575|     12|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1867|     12|} /* end H5VL__object() */
H5VLint.c:H5VL__free_vol_wrapper:
 2168|    959|{
 2169|    959|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    959|#define SUCCEED 0
  ------------------
 2170|       |
 2171|    959|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    959|    {                                                                                                        \
  |  | 1461|    959|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    959|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    959|                                                                                                             \
  |  |  |  | 1267|    959|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    959|        {
  ------------------
 2172|       |
 2173|       |    /* Sanity check */
 2174|    959|    assert(vol_wrap_ctx);
 2175|    959|    assert(0 == vol_wrap_ctx->rc);
 2176|    959|    assert(vol_wrap_ctx->connector);
 2177|    959|    assert(vol_wrap_ctx->connector->cls);
 2178|       |
 2179|       |    /* If there is a VOL connector object wrapping context, release it */
 2180|    959|    if (vol_wrap_ctx->obj_wrap_ctx)
  ------------------
  |  Branch (2180:9): [True: 0, False: 959]
  ------------------
 2181|       |        /* Release the VOL connector's object wrapping context */
 2182|      0|        if ((*vol_wrap_ctx->connector->cls->wrap_cls.free_wrap_ctx)(vol_wrap_ctx->obj_wrap_ctx) < 0)
  ------------------
  |  Branch (2182:13): [True: 0, False: 0]
  ------------------
 2183|      0|            HGOTO_ERROR(H5E_VOL, H5E_CANTRELEASE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2184|    959|                        "unable to release connector's object wrapping context");
 2185|       |
 2186|       |    /* Decrement refcount on connector */
 2187|    959|    if (H5VL_conn_dec_rc(vol_wrap_ctx->connector) < 0)
  ------------------
  |  Branch (2187:9): [True: 0, False: 959]
  ------------------
 2188|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTDEC, FAIL, "unable to decrement ref count on VOL connector");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 2189|       |
 2190|       |    /* Release object wrapping context */
 2191|    959|    H5FL_FREE(H5VL_wrap_ctx_t, vol_wrap_ctx);
  ------------------
  |  |   81|    959|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|    959|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
 2192|       |
 2193|    959|done:
 2194|    959|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    959|    ;                                                                                                        \
  |  | 1573|    959|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    959|    return (ret_value);                                                                                      \
  |  | 1575|    959|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 2195|    959|} /* end H5VL__free_vol_wrapper() */
H5VLint.c:H5VL__wrap_obj:
  488|     83|{
  489|     83|    H5VL_wrap_ctx_t *vol_wrap_ctx = NULL; /* Object wrapping context */
  490|     83|    void            *ret_value    = NULL; /* Return value */
  491|       |
  492|     83|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     83|    {                                                                                                        \
  |  | 1461|     83|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     83|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     83|                                                                                                             \
  |  |  |  | 1267|     83|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     83|        {
  ------------------
  493|       |
  494|       |    /* Check arguments */
  495|     83|    assert(obj);
  496|       |
  497|       |    /* Retrieve the VOL object wrapping context */
  498|     83|    if (H5CX_get_vol_wrap_ctx((void **)&vol_wrap_ctx) < 0)
  ------------------
  |  Branch (498:9): [True: 0, False: 83]
  ------------------
  499|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTGET, NULL, "can't get VOL object wrap context");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  500|       |
  501|       |    /* If there is a VOL object wrapping context, wrap the object */
  502|     83|    if (vol_wrap_ctx) {
  ------------------
  |  Branch (502:9): [True: 83, False: 0]
  ------------------
  503|       |        /* Wrap object, using the VOL callback */
  504|     83|        if (NULL == (ret_value = H5VL_wrap_object(vol_wrap_ctx->connector->cls, vol_wrap_ctx->obj_wrap_ctx,
  ------------------
  |  Branch (504:13): [True: 0, False: 83]
  ------------------
  505|     83|                                                  obj, obj_type)))
  506|      0|            HGOTO_ERROR(H5E_VOL, H5E_CANTGET, NULL, "can't wrap object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  507|     83|    } /* end if */
  508|      0|    else
  509|      0|        ret_value = obj;
  510|       |
  511|     83|done:
  512|     83|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     83|    ;                                                                                                        \
  |  | 1573|     83|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     83|    return (ret_value);                                                                                      \
  |  | 1575|     83|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  513|     83|} /* end H5VL__wrap_obj() */

H5VL_native_register:
  196|     20|{
  197|     20|    hid_t ret_value = H5I_INVALID_HID; /* Return value */
  ------------------
  |  |   75|     20|#define H5I_INVALID_HID (-1)
  ------------------
  198|       |
  199|     20|    FUNC_ENTER_NOAPI(H5I_INVALID_HID)
  ------------------
  |  | 1391|     20|    {                                                                                                        \
  |  | 1392|     20|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     20|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     20|                                                                                                             \
  |  |  |  | 1267|     20|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     20|        {
  ------------------
  200|       |
  201|       |    /* Register the native VOL connector, if it isn't already */
  202|     20|    if (H5I_INVALID_HID == H5VL_NATIVE_ID_g)
  ------------------
  |  |   75|     20|#define H5I_INVALID_HID (-1)
  ------------------
  |  Branch (202:9): [True: 1, False: 19]
  ------------------
  203|      1|        if ((H5VL_NATIVE_ID_g =
  ------------------
  |  Branch (203:13): [True: 0, False: 1]
  ------------------
  204|      1|                 H5VL__register_connector(&H5VL_native_cls_g, true, H5P_VOL_INITIALIZE_DEFAULT)) < 0)
  ------------------
  |  |  212|      1|#define H5P_VOL_INITIALIZE_DEFAULT (H5OPEN H5P_LST_VOL_INITIALIZE_ID_g)
  ------------------
  205|      0|            HGOTO_ERROR(H5E_VOL, H5E_CANTINSERT, H5I_INVALID_HID, "can't create ID for native VOL connector");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  206|       |
  207|       |    /* Set return value */
  208|     20|    ret_value = H5VL_NATIVE_ID_g;
  209|       |
  210|     20|done:
  211|     20|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     20|    ;                                                                                                        \
  |  | 1573|     20|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     20|    return (ret_value);                                                                                      \
  |  | 1575|     20|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  212|     20|} /* end H5VL_native_register() */
H5VL__native_introspect_get_conn_cls:
  249|     15|{
  250|     15|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|     15|    {                                                                                                        \
  |  | 1467|     15|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|     15|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|     15|        {
  ------------------
  251|       |
  252|       |    /* Sanity check */
  253|     15|    assert(conn_cls);
  254|       |
  255|       |    /* Retrieve the native VOL connector class */
  256|     15|    *conn_cls = &H5VL_native_cls_g;
  257|       |
  258|     15|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|     15|    ;                                                                                                        \
  |  | 1573|     15|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     15|    return (ret_value);                                                                                      \
  |  | 1575|     15|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  259|     15|} /* end H5VL__native_introspect_get_conn_cls() */
H5VL__native_get_file_addr_len:
  339|    752|{
  340|    752|    H5F_t *file      = NULL; /* File struct pointer */
  341|    752|    herr_t ret_value = SUCCEED;
  ------------------
  |  |  283|    752|#define SUCCEED 0
  ------------------
  342|       |
  343|    752|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    752|    {                                                                                                        \
  |  | 1392|    752|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    752|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    752|                                                                                                             \
  |  |  |  | 1267|    752|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    752|        {
  ------------------
  344|       |
  345|       |    /* check arguments */
  346|    752|    assert(obj);
  347|    752|    assert(addr_len);
  348|       |
  349|       |    /* Retrieve file from the VOL object */
  350|    752|    if (H5VL_native_get_file_struct(obj, obj_type, &file) < 0)
  ------------------
  |  Branch (350:9): [True: 0, False: 752]
  ------------------
  351|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "couldn't get file from VOL object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  352|       |
  353|       |    /* Get the length of an address in this file */
  354|    752|    *addr_len = H5F_SIZEOF_ADDR(file);
  ------------------
  |  |  130|    752|#define H5F_SIZEOF_ADDR(F)               (H5F_sizeof_addr(F))
  ------------------
  355|       |
  356|    752|done:
  357|    752|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    752|    ;                                                                                                        \
  |  | 1573|    752|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    752|    return (ret_value);                                                                                      \
  |  | 1575|    752|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  358|    752|} /* end H5VL__native_get_file_addr_len() */
H5VL_native_addr_to_token:
  427|    737|{
  428|    737|    uint8_t *p;
  429|    737|    size_t   addr_len  = 0; /* Size of haddr_t      */
  430|    737|    herr_t   ret_value = SUCCEED;
  ------------------
  |  |  283|    737|#define SUCCEED 0
  ------------------
  431|       |
  432|    737|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    737|    {                                                                                                        \
  |  | 1392|    737|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    737|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    737|                                                                                                             \
  |  |  |  | 1267|    737|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    737|        {
  ------------------
  433|       |
  434|       |    /* Check args */
  435|    737|    assert(obj);
  436|    737|    assert(token);
  437|       |
  438|       |    /* Get the length of an haddr_t in the file */
  439|    737|    if (H5VL__native_get_file_addr_len(obj, obj_type, &addr_len) < 0)
  ------------------
  |  Branch (439:9): [True: 0, False: 737]
  ------------------
  440|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "couldn't get length of haddr_t from VOL object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  441|       |
  442|       |    /* Ensure that token is initialized */
  443|    737|    memset(token, 0, sizeof(H5O_token_t));
  444|       |
  445|       |    /* Encode token */
  446|    737|    p = (uint8_t *)token;
  447|    737|    H5F_addr_encode_len(addr_len, &p, addr);
  448|       |
  449|    737|done:
  450|    737|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    737|    ;                                                                                                        \
  |  | 1573|    737|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    737|    return (ret_value);                                                                                      \
  |  | 1575|    737|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  451|    737|} /* end H5VL_native_addr_to_token() */
H5VL_native_token_to_addr:
  520|     15|{
  521|     15|    const uint8_t *p;
  522|     15|    size_t         addr_len  = 0; /* Size of haddr_t      */
  523|     15|    herr_t         ret_value = SUCCEED;
  ------------------
  |  |  283|     15|#define SUCCEED 0
  ------------------
  524|       |
  525|     15|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|     15|    {                                                                                                        \
  |  | 1392|     15|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|     15|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     15|                                                                                                             \
  |  |  |  | 1267|     15|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|     15|        {
  ------------------
  526|       |
  527|       |    /* Check args */
  528|     15|    assert(obj);
  529|     15|    assert(addr);
  530|       |
  531|       |    /* Get the length of an haddr_t in the file */
  532|     15|    if (H5VL__native_get_file_addr_len(obj, obj_type, &addr_len) < 0)
  ------------------
  |  Branch (532:9): [True: 0, False: 15]
  ------------------
  533|      0|        HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "couldn't get length of haddr_t from VOL object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  534|       |
  535|       |    /* Decode token */
  536|     15|    p = (const uint8_t *)&token;
  537|     15|    H5F_addr_decode_len(addr_len, &p, addr);
  538|       |
  539|     15|done:
  540|     15|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     15|    ;                                                                                                        \
  |  | 1573|     15|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     15|    return (ret_value);                                                                                      \
  |  | 1575|     15|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  541|     15|} /* end H5VL_native_token_to_addr() */
H5VL_native_get_file_struct:
  554|    752|{
  555|    752|    H5O_loc_t *oloc      = NULL;    /* Object location for ID   */
  556|    752|    herr_t     ret_value = SUCCEED; /* Return value             */
  ------------------
  |  |  283|    752|#define SUCCEED 0
  ------------------
  557|       |
  558|    752|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|    752|    {                                                                                                        \
  |  | 1392|    752|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    752|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    752|                                                                                                             \
  |  |  |  | 1267|    752|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    752|        {
  ------------------
  559|       |
  560|    752|    *file = NULL;
  561|       |
  562|    752|    switch (type) {
  563|    752|        case H5I_FILE:
  ------------------
  |  Branch (563:9): [True: 752, False: 0]
  ------------------
  564|    752|            *file = (H5F_t *)obj;
  565|    752|            break;
  566|       |
  567|      0|        case H5I_GROUP:
  ------------------
  |  Branch (567:9): [True: 0, False: 752]
  ------------------
  568|      0|            oloc = H5G_oloc((H5G_t *)obj);
  569|      0|            break;
  570|       |
  571|      0|        case H5I_DATATYPE:
  ------------------
  |  Branch (571:9): [True: 0, False: 752]
  ------------------
  572|      0|            oloc = H5T_oloc((H5T_t *)obj);
  573|      0|            break;
  574|       |
  575|      0|        case H5I_DATASET:
  ------------------
  |  Branch (575:9): [True: 0, False: 752]
  ------------------
  576|      0|            oloc = H5D_oloc((H5D_t *)obj);
  577|      0|            break;
  578|       |
  579|      0|        case H5I_ATTR:
  ------------------
  |  Branch (579:9): [True: 0, False: 752]
  ------------------
  580|      0|            oloc = H5A_oloc((H5A_t *)obj);
  581|      0|            break;
  582|       |
  583|      0|        case H5I_MAP:
  ------------------
  |  Branch (583:9): [True: 0, False: 752]
  ------------------
  584|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "maps not supported in native VOL connector");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  585|       |
  586|      0|        case H5I_UNINIT:
  ------------------
  |  Branch (586:9): [True: 0, False: 752]
  ------------------
  587|      0|        case H5I_BADID:
  ------------------
  |  Branch (587:9): [True: 0, False: 752]
  ------------------
  588|      0|        case H5I_DATASPACE:
  ------------------
  |  Branch (588:9): [True: 0, False: 752]
  ------------------
  589|      0|        case H5I_VFL:
  ------------------
  |  Branch (589:9): [True: 0, False: 752]
  ------------------
  590|      0|        case H5I_VOL:
  ------------------
  |  Branch (590:9): [True: 0, False: 752]
  ------------------
  591|      0|        case H5I_GENPROP_CLS:
  ------------------
  |  Branch (591:9): [True: 0, False: 752]
  ------------------
  592|      0|        case H5I_GENPROP_LST:
  ------------------
  |  Branch (592:9): [True: 0, False: 752]
  ------------------
  593|      0|        case H5I_ERROR_CLASS:
  ------------------
  |  Branch (593:9): [True: 0, False: 752]
  ------------------
  594|      0|        case H5I_ERROR_MSG:
  ------------------
  |  Branch (594:9): [True: 0, False: 752]
  ------------------
  595|      0|        case H5I_ERROR_STACK:
  ------------------
  |  Branch (595:9): [True: 0, False: 752]
  ------------------
  596|      0|        case H5I_SPACE_SEL_ITER:
  ------------------
  |  Branch (596:9): [True: 0, False: 752]
  ------------------
  597|      0|        case H5I_EVENTSET:
  ------------------
  |  Branch (597:9): [True: 0, False: 752]
  ------------------
  598|      0|        case H5I_NTYPES:
  ------------------
  |  Branch (598:9): [True: 0, False: 752]
  ------------------
  599|      0|        default:
  ------------------
  |  Branch (599:9): [True: 0, False: 752]
  ------------------
  600|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a file or file object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  601|    752|    } /* end switch */
  602|       |
  603|       |    /* Set return value for objects (not files) */
  604|    752|    if (oloc)
  ------------------
  |  Branch (604:9): [True: 0, False: 752]
  ------------------
  605|      0|        *file = oloc->file;
  606|       |
  607|       |    /* Couldn't find a file struct */
  608|    752|    if (!*file)
  ------------------
  |  Branch (608:9): [True: 0, False: 752]
  ------------------
  609|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "object is not associated with a file");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  610|       |
  611|    752|done:
  612|    752|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    752|    ;                                                                                                        \
  |  | 1573|    752|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    752|    return (ret_value);                                                                                      \
  |  | 1575|    752|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  613|    752|} /* H5VL_native_get_file_struct */
H5VLnative.c:H5VL__native_term:
  225|      1|{
  226|      1|    FUNC_ENTER_PACKAGE_NOERR
  ------------------
  |  | 1466|      1|    {                                                                                                        \
  |  | 1467|      1|        FUNC_ENTER_COMMON_NOERR(H5_IS_PKG(__func__));                                                        \
  |  |  ------------------
  |  |  |  | 1269|      1|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1468|      1|        {
  ------------------
  227|       |
  228|       |    /* Reset VOL ID */
  229|      1|    H5VL_NATIVE_ID_g = H5I_INVALID_HID;
  ------------------
  |  |   75|      1|#define H5I_INVALID_HID (-1)
  ------------------
  230|       |
  231|      1|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  232|      1|} /* end H5VL__native_term() */

H5VL__native_attr_open:
  145|     78|{
  146|     78|    H5P_genplist_t *plist;
  147|     78|    H5G_loc_t       loc;         /* Object location */
  148|     78|    H5A_t          *attr = NULL; /* Attribute opened */
  149|     78|    void           *ret_value;
  150|       |
  151|     78|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     78|    {                                                                                                        \
  |  | 1461|     78|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     78|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     78|                                                                                                             \
  |  |  |  | 1267|     78|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     78|        {
  ------------------
  152|       |
  153|       |    /* check arguments */
  154|     78|    if (H5G_loc_real(obj, loc_params->obj_type, &loc) < 0)
  ------------------
  |  Branch (154:9): [True: 0, False: 78]
  ------------------
  155|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "not a file or file object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  156|       |
  157|     78|    if (NULL == (plist = H5P_object_verify(aapl_id, H5P_ATTRIBUTE_ACCESS)))
  ------------------
  |  |  116|     78|#define H5P_ATTRIBUTE_ACCESS (H5OPEN H5P_CLS_ATTRIBUTE_ACCESS_ID_g)
  ------------------
  |  Branch (157:9): [True: 0, False: 78]
  ------------------
  158|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "AAPL is not an attribute access property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  159|       |
  160|     78|    if (loc_params->type == H5VL_OBJECT_BY_SELF) {
  ------------------
  |  Branch (160:9): [True: 0, False: 78]
  ------------------
  161|       |        /* H5Aopen */
  162|       |        /* Open the attribute */
  163|      0|        if (NULL == (attr = H5A__open(&loc, attr_name)))
  ------------------
  |  Branch (163:13): [True: 0, False: 0]
  ------------------
  164|      0|            HGOTO_ERROR(H5E_ATTR, H5E_CANTOPENOBJ, NULL, "unable to open attribute: '%s'", attr_name);
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  165|      0|    } /* end if */
  166|     78|    else if (loc_params->type == H5VL_OBJECT_BY_NAME) {
  ------------------
  |  Branch (166:14): [True: 78, False: 0]
  ------------------
  167|       |        /* H5Aopen_by_name */
  168|       |        /* Open the attribute on the object header */
  169|     78|        if (NULL == (attr = H5A__open_by_name(&loc, loc_params->loc_data.loc_by_name.name, attr_name)))
  ------------------
  |  Branch (169:13): [True: 14, False: 64]
  ------------------
  170|     14|            HGOTO_ERROR(H5E_ATTR, H5E_CANTOPENOBJ, NULL, "can't open attribute");
  ------------------
  |  |   68|     14|    do {                                                                                                     \
  |  |   69|     14|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     14|    do {                                                                                                     \
  |  |  |  |   40|     14|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     14|    do {                                                                                                     \
  |  |  |  |  |  |   31|     14|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     14|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     14|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     14|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     14|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     14|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     14|    do {                                                                                                     \
  |  |  |  |   92|     14|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     14|        goto done;                                                                                           \
  |  |  |  |   94|     14|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     14|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  171|     78|    } /* end else-if */
  172|      0|    else if (loc_params->type == H5VL_OBJECT_BY_IDX) {
  ------------------
  |  Branch (172:14): [True: 0, False: 0]
  ------------------
  173|       |        /* H5Aopen_by_idx */
  174|       |        /* Open the attribute in the object header */
  175|      0|        if (NULL == (attr = H5A__open_by_idx(
  ------------------
  |  Branch (175:13): [True: 0, False: 0]
  ------------------
  176|      0|                         &loc, loc_params->loc_data.loc_by_idx.name, loc_params->loc_data.loc_by_idx.idx_type,
  177|      0|                         loc_params->loc_data.loc_by_idx.order, loc_params->loc_data.loc_by_idx.n)))
  178|      0|            HGOTO_ERROR(H5E_ATTR, H5E_CANTOPENOBJ, NULL, "unable to open attribute");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  179|      0|    } /* end else-if */
  180|      0|    else
  181|      0|        HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, NULL, "unknown attribute open parameters");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  182|       |
  183|     64|    ret_value = (void *)attr;
  184|       |
  185|     78|done:
  186|     78|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     78|    ;                                                                                                        \
  |  | 1573|     78|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     78|    return (ret_value);                                                                                      \
  |  | 1575|     78|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  187|     64|} /* end H5VL__native_attr_open() */
H5VL__native_attr_read:
  200|     64|{
  201|     64|    H5T_t *mem_type;  /* Memory datatype */
  202|     64|    herr_t ret_value; /* Return value */
  203|       |
  204|     64|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     64|    {                                                                                                        \
  |  | 1461|     64|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     64|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     64|                                                                                                             \
  |  |  |  | 1267|     64|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     64|        {
  ------------------
  205|       |
  206|     64|    if (NULL == (mem_type = (H5T_t *)H5I_object_verify(dtype_id, H5I_DATATYPE)))
  ------------------
  |  Branch (206:9): [True: 0, False: 64]
  ------------------
  207|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  208|       |
  209|       |    /* Set DXPL for operation */
  210|     64|    H5CX_set_dxpl(dxpl_id);
  211|       |
  212|       |    /* Go write the actual data to the attribute */
  213|     64|    if ((ret_value = H5A__read((H5A_t *)attr, mem_type, buf)) < 0)
  ------------------
  |  Branch (213:9): [True: 3, False: 61]
  ------------------
  214|      3|        HGOTO_ERROR(H5E_ATTR, H5E_READERROR, FAIL, "unable to read attribute");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  215|       |
  216|     64|done:
  217|     64|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     64|    ;                                                                                                        \
  |  | 1573|     64|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     64|    return (ret_value);                                                                                      \
  |  | 1575|     64|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  218|     64|} /* end H5VL__native_attr_read() */
H5VL__native_attr_get:
  263|     61|{
  264|     61|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     61|#define SUCCEED 0
  ------------------
  265|       |
  266|     61|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     61|    {                                                                                                        \
  |  | 1461|     61|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     61|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     61|                                                                                                             \
  |  |  |  | 1267|     61|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     61|        {
  ------------------
  267|       |
  268|     61|    switch (args->op_type) {
  269|       |        /* H5Aget_space */
  270|      3|        case H5VL_ATTR_GET_SPACE: {
  ------------------
  |  Branch (270:9): [True: 3, False: 58]
  ------------------
  271|      3|            H5A_t *attr = (H5A_t *)obj;
  272|       |
  273|      3|            if ((args->args.get_space.space_id = H5A_get_space(attr)) < 0)
  ------------------
  |  Branch (273:17): [True: 0, False: 3]
  ------------------
  274|      0|                HGOTO_ERROR(H5E_ARGS, H5E_CANTGET, FAIL, "can't get space ID of attribute");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  275|      3|            break;
  276|      3|        }
  277|       |
  278|       |        /* H5Aget_type */
  279|     58|        case H5VL_ATTR_GET_TYPE: {
  ------------------
  |  Branch (279:9): [True: 58, False: 3]
  ------------------
  280|     58|            H5A_t *attr = (H5A_t *)obj;
  281|       |
  282|     58|            if ((args->args.get_type.type_id = H5A__get_type(attr)) < 0)
  ------------------
  |  Branch (282:17): [True: 0, False: 58]
  ------------------
  283|      0|                HGOTO_ERROR(H5E_ARGS, H5E_CANTGET, FAIL, "can't get datatype ID of attribute");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  284|     58|            break;
  285|     58|        }
  286|       |
  287|       |        /* H5Aget_create_plist */
  288|     58|        case H5VL_ATTR_GET_ACPL: {
  ------------------
  |  Branch (288:9): [True: 0, False: 61]
  ------------------
  289|      0|            H5A_t *attr = (H5A_t *)obj;
  290|       |
  291|      0|            if ((args->args.get_acpl.acpl_id = H5A__get_create_plist(attr)) < 0)
  ------------------
  |  Branch (291:17): [True: 0, False: 0]
  ------------------
  292|      0|                HGOTO_ERROR(H5E_ARGS, H5E_CANTGET, FAIL, "can't get creation property list for attr");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  293|       |
  294|      0|            break;
  295|      0|        }
  296|       |
  297|       |        /* H5Aget_name */
  298|      0|        case H5VL_ATTR_GET_NAME: {
  ------------------
  |  Branch (298:9): [True: 0, False: 61]
  ------------------
  299|      0|            H5VL_attr_get_name_args_t *get_name_args = &args->args.get_name;
  300|       |
  301|      0|            if (H5VL_OBJECT_BY_SELF == get_name_args->loc_params.type) {
  ------------------
  |  Branch (301:17): [True: 0, False: 0]
  ------------------
  302|      0|                if (H5A__get_name((H5A_t *)obj, get_name_args->buf_size, get_name_args->buf,
  ------------------
  |  Branch (302:21): [True: 0, False: 0]
  ------------------
  303|      0|                                  get_name_args->attr_name_len) < 0)
  304|      0|                    HGOTO_ERROR(H5E_ATTR, H5E_CANTGET, FAIL, "can't get attribute name");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  305|      0|            }
  306|      0|            else if (H5VL_OBJECT_BY_IDX == get_name_args->loc_params.type) {
  ------------------
  |  Branch (306:22): [True: 0, False: 0]
  ------------------
  307|      0|                H5G_loc_t loc;
  308|      0|                H5A_t    *attr;
  309|       |
  310|       |                /* check arguments */
  311|      0|                if (H5G_loc_real(obj, get_name_args->loc_params.obj_type, &loc) < 0)
  ------------------
  |  Branch (311:21): [True: 0, False: 0]
  ------------------
  312|      0|                    HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a file or file object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  313|       |
  314|       |                /* Open the attribute on the object header */
  315|      0|                if (NULL == (attr = H5A__open_by_idx(&loc, get_name_args->loc_params.loc_data.loc_by_idx.name,
  ------------------
  |  Branch (315:21): [True: 0, False: 0]
  ------------------
  316|      0|                                                     get_name_args->loc_params.loc_data.loc_by_idx.idx_type,
  317|      0|                                                     get_name_args->loc_params.loc_data.loc_by_idx.order,
  318|      0|                                                     get_name_args->loc_params.loc_data.loc_by_idx.n)))
  319|      0|                    HGOTO_ERROR(H5E_ATTR, H5E_CANTOPENOBJ, FAIL, "can't open attribute");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  320|       |
  321|       |                /* Get the length of the name */
  322|      0|                *get_name_args->attr_name_len = strlen(attr->shared->name);
  323|       |
  324|       |                /* Copy the name into the user's buffer, if given */
  325|      0|                if (get_name_args->buf) {
  ------------------
  |  Branch (325:21): [True: 0, False: 0]
  ------------------
  326|      0|                    strncpy(get_name_args->buf, attr->shared->name,
  327|      0|                            MIN((*get_name_args->attr_name_len + 1), get_name_args->buf_size));
  ------------------
  |  |  293|      0|#define MIN(a, b)        (((a) < (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (293:27): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  328|      0|                    if (*get_name_args->attr_name_len >= get_name_args->buf_size)
  ------------------
  |  Branch (328:25): [True: 0, False: 0]
  ------------------
  329|      0|                        get_name_args->buf[get_name_args->buf_size - 1] = '\0';
  330|      0|                } /* end if */
  331|       |
  332|       |                /* Release resources */
  333|      0|                if (attr && H5A__close(attr) < 0)
  ------------------
  |  Branch (333:21): [True: 0, False: 0]
  |  Branch (333:29): [True: 0, False: 0]
  ------------------
  334|      0|                    HGOTO_ERROR(H5E_ATTR, H5E_CANTFREE, FAIL, "can't close attribute");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  335|      0|            }
  336|      0|            else
  337|      0|                HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "can't get name of attr");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  338|       |
  339|      0|            break;
  340|      0|        }
  341|       |
  342|       |        /* H5Aget_info */
  343|      0|        case H5VL_ATTR_GET_INFO: {
  ------------------
  |  Branch (343:9): [True: 0, False: 61]
  ------------------
  344|      0|            H5VL_attr_get_info_args_t *get_info_args = &args->args.get_info;
  345|      0|            H5A_t                     *attr          = NULL;
  346|       |
  347|      0|            if (H5VL_OBJECT_BY_SELF == get_info_args->loc_params.type) {
  ------------------
  |  Branch (347:17): [True: 0, False: 0]
  ------------------
  348|      0|                attr = (H5A_t *)obj;
  349|      0|                if (H5A__get_info(attr, get_info_args->ainfo) < 0)
  ------------------
  |  Branch (349:21): [True: 0, False: 0]
  ------------------
  350|      0|                    HGOTO_ERROR(H5E_ARGS, H5E_CANTGET, FAIL, "can't get attribute info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  351|      0|            }
  352|      0|            else if (H5VL_OBJECT_BY_NAME == get_info_args->loc_params.type) {
  ------------------
  |  Branch (352:22): [True: 0, False: 0]
  ------------------
  353|      0|                H5G_loc_t loc;
  354|       |
  355|       |                /* check arguments */
  356|      0|                if (H5G_loc_real(obj, get_info_args->loc_params.obj_type, &loc) < 0)
  ------------------
  |  Branch (356:21): [True: 0, False: 0]
  ------------------
  357|      0|                    HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a file or file object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  358|       |
  359|       |                /* Open the attribute on the object header */
  360|      0|                if (NULL ==
  ------------------
  |  Branch (360:21): [True: 0, False: 0]
  ------------------
  361|      0|                    (attr = H5A__open_by_name(&loc, get_info_args->loc_params.loc_data.loc_by_name.name,
  362|      0|                                              get_info_args->attr_name)))
  363|      0|                    HGOTO_ERROR(H5E_ATTR, H5E_CANTOPENOBJ, FAIL, "can't open attribute");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  364|       |
  365|       |                /* Get the attribute information */
  366|      0|                if (H5A__get_info(attr, get_info_args->ainfo) < 0)
  ------------------
  |  Branch (366:21): [True: 0, False: 0]
  ------------------
  367|      0|                    HGOTO_ERROR(H5E_ATTR, H5E_CANTGET, FAIL, "unable to get attribute info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  368|       |
  369|       |                /* Release resources */
  370|      0|                if (attr && H5A__close(attr) < 0)
  ------------------
  |  Branch (370:21): [True: 0, False: 0]
  |  Branch (370:29): [True: 0, False: 0]
  ------------------
  371|      0|                    HGOTO_ERROR(H5E_ATTR, H5E_CANTFREE, FAIL, "can't close attribute");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  372|      0|            }
  373|      0|            else if (H5VL_OBJECT_BY_IDX == get_info_args->loc_params.type) {
  ------------------
  |  Branch (373:22): [True: 0, False: 0]
  ------------------
  374|      0|                H5G_loc_t loc;
  375|       |
  376|       |                /* check arguments */
  377|      0|                if (H5G_loc_real(obj, get_info_args->loc_params.obj_type, &loc) < 0)
  ------------------
  |  Branch (377:21): [True: 0, False: 0]
  ------------------
  378|      0|                    HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a file or file object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  379|       |
  380|       |                /* Open the attribute on the object header */
  381|      0|                if (NULL == (attr = H5A__open_by_idx(&loc, get_info_args->loc_params.loc_data.loc_by_idx.name,
  ------------------
  |  Branch (381:21): [True: 0, False: 0]
  ------------------
  382|      0|                                                     get_info_args->loc_params.loc_data.loc_by_idx.idx_type,
  383|      0|                                                     get_info_args->loc_params.loc_data.loc_by_idx.order,
  384|      0|                                                     get_info_args->loc_params.loc_data.loc_by_idx.n)))
  385|      0|                    HGOTO_ERROR(H5E_ATTR, H5E_CANTOPENOBJ, FAIL, "can't open attribute");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  386|       |
  387|       |                /* Get the attribute information */
  388|      0|                if (H5A__get_info(attr, get_info_args->ainfo) < 0)
  ------------------
  |  Branch (388:21): [True: 0, False: 0]
  ------------------
  389|      0|                    HGOTO_ERROR(H5E_ATTR, H5E_CANTGET, FAIL, "unable to get attribute info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  390|       |
  391|       |                /* Release resources */
  392|      0|                if (attr && H5A__close(attr) < 0)
  ------------------
  |  Branch (392:21): [True: 0, False: 0]
  |  Branch (392:29): [True: 0, False: 0]
  ------------------
  393|      0|                    HGOTO_ERROR(H5E_ATTR, H5E_CANTFREE, FAIL, "can't close attribute");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  394|      0|            }
  395|      0|            else
  396|      0|                HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "can't get name of attr");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  397|       |
  398|      0|            break;
  399|      0|        }
  400|       |
  401|      0|        case H5VL_ATTR_GET_STORAGE_SIZE: {
  ------------------
  |  Branch (401:9): [True: 0, False: 61]
  ------------------
  402|      0|            H5A_t *attr = (H5A_t *)obj;
  403|       |
  404|       |            /* Set storage size */
  405|      0|            *args->args.get_storage_size.data_size = attr->shared->data_size;
  406|      0|            break;
  407|      0|        }
  408|       |
  409|      0|        default:
  ------------------
  |  Branch (409:9): [True: 0, False: 61]
  ------------------
  410|      0|            HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "can't get this type of information from attr");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  411|     61|    } /* end switch */
  412|       |
  413|     61|done:
  414|     61|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     61|    ;                                                                                                        \
  |  | 1573|     61|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     61|    return (ret_value);                                                                                      \
  |  | 1575|     61|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  415|     61|} /* end H5VL__native_attr_get() */
H5VL__native_attr_specific:
  429|    107|{
  430|    107|    H5G_loc_t loc;
  431|    107|    herr_t    ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    107|#define SUCCEED 0
  ------------------
  432|       |
  433|    107|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    107|    {                                                                                                        \
  |  | 1461|    107|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    107|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    107|                                                                                                             \
  |  |  |  | 1267|    107|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    107|        {
  ------------------
  434|       |
  435|       |    /* Get location for passed-in object */
  436|    107|    if (H5G_loc_real(obj, loc_params->obj_type, &loc) < 0)
  ------------------
  |  Branch (436:9): [True: 0, False: 107]
  ------------------
  437|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a file or file object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  438|       |
  439|    107|    switch (args->op_type) {
  440|       |        /* H5Adelete/delete_by_name */
  441|      0|        case H5VL_ATTR_DELETE: {
  ------------------
  |  Branch (441:9): [True: 0, False: 107]
  ------------------
  442|      0|            if (H5VL_OBJECT_BY_SELF == loc_params->type) {
  ------------------
  |  Branch (442:17): [True: 0, False: 0]
  ------------------
  443|       |                /* Delete the attribute from the location */
  444|      0|                if (H5O__attr_remove(loc.oloc, args->args.del.name) < 0)
  ------------------
  |  Branch (444:21): [True: 0, False: 0]
  ------------------
  445|      0|                    HGOTO_ERROR(H5E_ATTR, H5E_CANTDELETE, FAIL, "unable to delete attribute");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  446|      0|            } /* end if */
  447|      0|            else if (H5VL_OBJECT_BY_NAME == loc_params->type) {
  ------------------
  |  Branch (447:22): [True: 0, False: 0]
  ------------------
  448|       |                /* Delete the attribute */
  449|      0|                if (H5A__delete_by_name(&loc, loc_params->loc_data.loc_by_name.name, args->args.del.name) < 0)
  ------------------
  |  Branch (449:21): [True: 0, False: 0]
  ------------------
  450|      0|                    HGOTO_ERROR(H5E_ATTR, H5E_CANTDELETE, FAIL, "unable to delete attribute");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  451|      0|            } /* end else-if */
  452|      0|            else
  453|      0|                HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, FAIL, "unknown attribute delete location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  454|      0|            break;
  455|      0|        }
  456|       |
  457|       |        /* H5Adelete_by_idx */
  458|      0|        case H5VL_ATTR_DELETE_BY_IDX: {
  ------------------
  |  Branch (458:9): [True: 0, False: 107]
  ------------------
  459|      0|            H5VL_attr_delete_by_idx_args_t *del_by_idx_args =
  460|      0|                &args->args.delete_by_idx; /* Arguments to delete_by_idx operation */
  461|       |
  462|      0|            if (H5VL_OBJECT_BY_NAME == loc_params->type) {
  ------------------
  |  Branch (462:17): [True: 0, False: 0]
  ------------------
  463|       |                /* Delete the attribute from the location */
  464|      0|                if (H5A__delete_by_idx(&loc, loc_params->loc_data.loc_by_name.name, del_by_idx_args->idx_type,
  ------------------
  |  Branch (464:21): [True: 0, False: 0]
  ------------------
  465|      0|                                       del_by_idx_args->order, del_by_idx_args->n) < 0)
  466|      0|                    HGOTO_ERROR(H5E_ATTR, H5E_CANTDELETE, FAIL, "unable to delete attribute");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  467|      0|            } /* end if */
  468|      0|            else
  469|      0|                HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, FAIL, "unknown attribute delete_by_idx location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  470|      0|            break;
  471|      0|        }
  472|       |
  473|       |        /* H5Aexists/exists_by_name */
  474|    107|        case H5VL_ATTR_EXISTS: {
  ------------------
  |  Branch (474:9): [True: 107, False: 0]
  ------------------
  475|    107|            if (loc_params->type == H5VL_OBJECT_BY_SELF) {
  ------------------
  |  Branch (475:17): [True: 0, False: 107]
  ------------------
  476|       |                /* Check if the attribute exists */
  477|      0|                if (H5O__attr_exists(loc.oloc, args->args.exists.name, args->args.exists.exists) < 0)
  ------------------
  |  Branch (477:21): [True: 0, False: 0]
  ------------------
  478|      0|                    HGOTO_ERROR(H5E_ATTR, H5E_CANTGET, FAIL, "unable to determine if attribute exists");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  479|      0|            } /* end if */
  480|    107|            else if (loc_params->type == H5VL_OBJECT_BY_NAME) {
  ------------------
  |  Branch (480:22): [True: 107, False: 0]
  ------------------
  481|       |                /* Check if the attribute exists */
  482|    107|                if (H5A__exists_by_name(loc, loc_params->loc_data.loc_by_name.name, args->args.exists.name,
  ------------------
  |  Branch (482:21): [True: 12, False: 95]
  ------------------
  483|    107|                                        args->args.exists.exists) < 0)
  484|     12|                    HGOTO_ERROR(H5E_ATTR, H5E_CANTGET, FAIL, "unable to determine if attribute exists");
  ------------------
  |  |   68|     12|    do {                                                                                                     \
  |  |   69|     12|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     12|    do {                                                                                                     \
  |  |  |  |   40|     12|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     12|    do {                                                                                                     \
  |  |  |  |  |  |   31|     12|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     12|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     12|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     12|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     12|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     12|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     12|    do {                                                                                                     \
  |  |  |  |   92|     12|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     12|        goto done;                                                                                           \
  |  |  |  |   94|     12|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     12|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  485|    107|            } /* end else-if */
  486|      0|            else
  487|      0|                HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, FAIL, "unknown parameters");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  488|     95|            break;
  489|    107|        }
  490|       |
  491|       |        /* H5Aiterate/iterate_by_name */
  492|     95|        case H5VL_ATTR_ITER: {
  ------------------
  |  Branch (492:9): [True: 0, False: 107]
  ------------------
  493|      0|            H5VL_attr_iterate_args_t *iter_args = &args->args.iterate; /* Arguments to iterate operation */
  494|      0|            static const char        *self_name = ".";                 /* Name for 'self' location */
  495|      0|            const char               *loc_name;                        /* Location name */
  496|       |
  497|       |            /* Set correct name, for type of location */
  498|      0|            if (loc_params->type == H5VL_OBJECT_BY_SELF) /* H5Aiterate2 */
  ------------------
  |  Branch (498:17): [True: 0, False: 0]
  ------------------
  499|      0|                loc_name = self_name;
  500|      0|            else if (loc_params->type == H5VL_OBJECT_BY_NAME) /* H5Aiterate_by_name */
  ------------------
  |  Branch (500:22): [True: 0, False: 0]
  ------------------
  501|      0|                loc_name = loc_params->loc_data.loc_by_name.name;
  502|      0|            else
  503|      0|                HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, FAIL, "unsupported location type");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  504|       |
  505|       |            /* Iterate over attributes */
  506|      0|            if ((ret_value = H5A__iterate(&loc, loc_name, iter_args->idx_type, iter_args->order,
  ------------------
  |  Branch (506:17): [True: 0, False: 0]
  ------------------
  507|      0|                                          iter_args->idx, iter_args->op, iter_args->op_data)) < 0)
  508|      0|                HERROR(H5E_ATTR, H5E_BADITER, "attribute iteration failed");
  ------------------
  |  |   30|      0|    do {                                                                                                     \
  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |   32|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  509|      0|            break;
  510|      0|        }
  511|       |
  512|       |        /* H5Arename/rename_by_name */
  513|      0|        case H5VL_ATTR_RENAME: {
  ------------------
  |  Branch (513:9): [True: 0, False: 107]
  ------------------
  514|      0|            if (loc_params->type == H5VL_OBJECT_BY_SELF) { /* H5Arename */
  ------------------
  |  Branch (514:17): [True: 0, False: 0]
  ------------------
  515|       |                /* Call attribute rename routine */
  516|      0|                if (H5O__attr_rename(loc.oloc, args->args.rename.old_name, args->args.rename.new_name) < 0)
  ------------------
  |  Branch (516:21): [True: 0, False: 0]
  ------------------
  517|      0|                    HGOTO_ERROR(H5E_ATTR, H5E_CANTRENAME, FAIL, "can't rename attribute");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  518|      0|            }                                                   /* end if */
  519|      0|            else if (loc_params->type == H5VL_OBJECT_BY_NAME) { /* H5Arename_by_name */
  ------------------
  |  Branch (519:22): [True: 0, False: 0]
  ------------------
  520|       |                /* Call attribute rename routine */
  521|      0|                if (H5A__rename_by_name(loc, loc_params->loc_data.loc_by_name.name,
  ------------------
  |  Branch (521:21): [True: 0, False: 0]
  ------------------
  522|      0|                                        args->args.rename.old_name, args->args.rename.new_name) < 0)
  523|      0|                    HGOTO_ERROR(H5E_ATTR, H5E_CANTRENAME, FAIL, "can't rename attribute");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  524|      0|            } /* end else-if */
  525|      0|            else
  526|      0|                HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, FAIL, "unknown attribute rename parameters");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  527|      0|            break;
  528|      0|        }
  529|       |
  530|      0|        default:
  ------------------
  |  Branch (530:9): [True: 0, False: 107]
  ------------------
  531|      0|            HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, FAIL, "invalid specific operation");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  532|    107|    } /* end switch */
  533|       |
  534|    107|done:
  535|    107|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    107|    ;                                                                                                        \
  |  | 1573|    107|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    107|    return (ret_value);                                                                                      \
  |  | 1575|    107|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  536|    107|} /* end H5VL__native_attr_specific() */
H5VL__native_attr_close:
  592|     64|{
  593|     64|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     64|#define SUCCEED 0
  ------------------
  594|       |
  595|     64|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     64|    {                                                                                                        \
  |  | 1461|     64|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     64|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     64|                                                                                                             \
  |  |  |  | 1267|     64|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     64|        {
  ------------------
  596|       |
  597|     64|    if (H5A__close((H5A_t *)attr) < 0)
  ------------------
  |  Branch (597:9): [True: 0, False: 64]
  ------------------
  598|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTDEC, FAIL, "can't close attribute");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  599|       |
  600|     64|done:
  601|     64|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     64|    ;                                                                                                        \
  |  | 1573|     64|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     64|    return (ret_value);                                                                                      \
  |  | 1575|     64|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  602|     64|} /* end H5VL__native_attr_close() */

H5VL__native_blob_get:
   97|      3|{
   98|      3|    H5F_t         *f  = (H5F_t *)obj;             /* Retrieve file pointer */
   99|      3|    const uint8_t *id = (const uint8_t *)blob_id; /* Pointer to the disk blob ID */
  100|      3|    H5HG_t         hobjid;                        /* Global heap ID for sequence */
  101|      3|    size_t         hobj_size = 0;                 /* Global heap object size returned from H5HG_read() */
  102|      3|    herr_t         ret_value = SUCCEED;           /* Return value */
  ------------------
  |  |  283|      3|#define SUCCEED 0
  ------------------
  103|       |
  104|      3|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      3|    {                                                                                                        \
  |  | 1461|      3|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      3|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      3|                                                                                                             \
  |  |  |  | 1267|      3|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      3|        {
  ------------------
  105|       |
  106|       |    /* Sanity check */
  107|      3|    assert(f);
  108|      3|    assert(id);
  109|      3|    assert(buf);
  110|       |
  111|       |    /* Get the heap information */
  112|      3|    H5F_addr_decode(f, &id, &hobjid.addr);
  113|      3|    UINT32DECODE(id, hobjid.idx);
  ------------------
  |  |  179|      3|    do {                                                                                                     \
  |  |  180|      3|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  181|      3|        (p)++;                                                                                               \
  |  |  182|      3|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  183|      3|        (p)++;                                                                                               \
  |  |  184|      3|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  185|      3|        (p)++;                                                                                               \
  |  |  186|      3|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  187|      3|        (p)++;                                                                                               \
  |  |  188|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  114|       |
  115|       |    /* Check if this sequence actually has any data */
  116|      3|    if (hobjid.addr > 0) {
  ------------------
  |  Branch (116:9): [True: 3, False: 0]
  ------------------
  117|       |        /* Verify the size is correct */
  118|      3|        if (H5HG_get_obj_size(f, &hobjid, &hobj_size) < 0)
  ------------------
  |  Branch (118:13): [True: 3, False: 0]
  ------------------
  119|      3|            HGOTO_ERROR(H5E_VOL, H5E_CANTGETSIZE, FAIL, "can't get object size");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  120|      0|        if (hobj_size != size)
  ------------------
  |  Branch (120:13): [True: 0, False: 0]
  ------------------
  121|      0|            HGOTO_ERROR(H5E_VOL, H5E_BADSIZE, FAIL, "Expected global heap object size does not match");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  122|       |
  123|       |        /* Read the VL information from disk */
  124|      0|        if (NULL == H5HG_read(f, &hobjid, buf, &hobj_size))
  ------------------
  |  Branch (124:13): [True: 0, False: 0]
  ------------------
  125|      0|            HGOTO_ERROR(H5E_VOL, H5E_READERROR, FAIL, "unable to read VL information");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  126|      0|    }
  127|       |
  128|      3|done:
  129|      3|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      3|    ;                                                                                                        \
  |  | 1573|      3|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      3|    return (ret_value);                                                                                      \
  |  | 1575|      3|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  130|      3|} /* end H5VL__native_blob_get() */
H5VL__native_blob_specific:
  143|      3|{
  144|      3|    H5F_t *f         = (H5F_t *)obj; /* Retrieve file pointer */
  145|      3|    herr_t ret_value = SUCCEED;      /* Return value */
  ------------------
  |  |  283|      3|#define SUCCEED 0
  ------------------
  146|       |
  147|      3|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      3|    {                                                                                                        \
  |  | 1461|      3|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      3|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      3|                                                                                                             \
  |  |  |  | 1267|      3|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      3|        {
  ------------------
  148|       |
  149|       |    /* Sanity check */
  150|      3|    assert(f);
  151|      3|    assert(blob_id);
  152|       |
  153|      3|    switch (args->op_type) {
  154|      3|        case H5VL_BLOB_ISNULL: {
  ------------------
  |  Branch (154:9): [True: 3, False: 0]
  ------------------
  155|      3|            const uint8_t *id = (const uint8_t *)blob_id; /* Pointer to the blob ID */
  156|      3|            haddr_t        addr;                          /* Sequence's heap address */
  157|       |
  158|       |            /* Get the heap address */
  159|      3|            H5F_addr_decode(f, &id, &addr);
  160|       |
  161|       |            /* Check if heap address is 'nil' */
  162|      3|            *args->args.is_null.isnull = (addr == 0 ? true : false);
  ------------------
  |  Branch (162:43): [True: 0, False: 3]
  ------------------
  163|       |
  164|      3|            break;
  165|      0|        }
  166|       |
  167|      0|        case H5VL_BLOB_SETNULL: {
  ------------------
  |  Branch (167:9): [True: 0, False: 3]
  ------------------
  168|      0|            uint8_t *id = (uint8_t *)blob_id; /* Pointer to the blob ID */
  169|       |
  170|       |            /* Encode the 'nil' heap pointer information */
  171|      0|            H5F_addr_encode(f, &id, (haddr_t)0);
  172|      0|            UINT32ENCODE(id, 0);
  ------------------
  |  |   63|      0|    do {                                                                                                     \
  |  |   64|      0|        *(p) = (uint8_t)((i)&0xff);                                                                          \
  |  |   65|      0|        (p)++;                                                                                               \
  |  |   66|      0|        *(p) = (uint8_t)(((i) >> 8) & 0xff);                                                                 \
  |  |   67|      0|        (p)++;                                                                                               \
  |  |   68|      0|        *(p) = (uint8_t)(((i) >> 16) & 0xff);                                                                \
  |  |   69|      0|        (p)++;                                                                                               \
  |  |   70|      0|        *(p) = (uint8_t)(((i) >> 24) & 0xff);                                                                \
  |  |   71|      0|        (p)++;                                                                                               \
  |  |   72|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (72:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  173|       |
  174|      0|            break;
  175|      0|        }
  176|       |
  177|      0|        case H5VL_BLOB_DELETE: {
  ------------------
  |  Branch (177:9): [True: 0, False: 3]
  ------------------
  178|      0|            const uint8_t *id = (const uint8_t *)blob_id; /* Pointer to the blob ID */
  179|      0|            H5HG_t         hobjid;                        /* VL sequence's heap ID */
  180|       |
  181|       |            /* Get heap information */
  182|      0|            H5F_addr_decode(f, &id, &hobjid.addr);
  183|      0|            UINT32DECODE(id, hobjid.idx);
  ------------------
  |  |  179|      0|    do {                                                                                                     \
  |  |  180|      0|        (i) = (uint32_t)(*(p)&0xff);                                                                         \
  |  |  181|      0|        (p)++;                                                                                               \
  |  |  182|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 8);                                                                 \
  |  |  183|      0|        (p)++;                                                                                               \
  |  |  184|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 16);                                                                \
  |  |  185|      0|        (p)++;                                                                                               \
  |  |  186|      0|        (i) |= ((uint32_t)(*(p)&0xff) << 24);                                                                \
  |  |  187|      0|        (p)++;                                                                                               \
  |  |  188|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (188:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  184|       |
  185|       |            /* Free heap object */
  186|      0|            if (hobjid.addr > 0)
  ------------------
  |  Branch (186:17): [True: 0, False: 0]
  ------------------
  187|      0|                if (H5HG_remove(f, &hobjid) < 0)
  ------------------
  |  Branch (187:21): [True: 0, False: 0]
  ------------------
  188|      0|                    HGOTO_ERROR(H5E_VOL, H5E_CANTREMOVE, FAIL, "unable to remove heap object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  189|       |
  190|      0|            break;
  191|      0|        }
  192|       |
  193|      0|        default:
  ------------------
  |  Branch (193:9): [True: 0, False: 3]
  ------------------
  194|      0|            HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, FAIL, "invalid specific operation");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  195|      3|    } /* end switch */
  196|       |
  197|      3|done:
  198|      3|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      3|    ;                                                                                                        \
  |  | 1573|      3|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      3|    return (ret_value);                                                                                      \
  |  | 1575|      3|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  199|      3|} /* end H5VL__native_blob_specific() */

H5VL__native_dataset_open:
  320|     52|{
  321|     52|    H5D_t    *dset = NULL;
  322|     52|    H5G_loc_t loc; /* Object location of group */
  323|     52|    void     *ret_value = NULL;
  324|       |
  325|     52|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     52|    {                                                                                                        \
  |  | 1461|     52|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     52|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     52|                                                                                                             \
  |  |  |  | 1267|     52|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     52|        {
  ------------------
  326|       |
  327|     52|    if (H5G_loc_real(obj, loc_params->obj_type, &loc) < 0)
  ------------------
  |  Branch (327:9): [True: 0, False: 52]
  ------------------
  328|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "not a file or file object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  329|       |
  330|       |    /* Open the dataset */
  331|     52|    if (NULL == (dset = H5D__open_name(&loc, name, dapl_id)))
  ------------------
  |  Branch (331:9): [True: 9, False: 43]
  ------------------
  332|      9|        HGOTO_ERROR(H5E_DATASET, H5E_CANTOPENOBJ, NULL, "unable to open dataset");
  ------------------
  |  |   68|      9|    do {                                                                                                     \
  |  |   69|      9|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      9|    do {                                                                                                     \
  |  |  |  |   40|      9|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      9|    do {                                                                                                     \
  |  |  |  |  |  |   31|      9|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      9|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      9|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      9|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      9|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      9|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      9|    do {                                                                                                     \
  |  |  |  |   92|      9|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      9|        goto done;                                                                                           \
  |  |  |  |   94|      9|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      9|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  333|       |
  334|     43|    ret_value = (void *)dset;
  335|       |
  336|     52|done:
  337|     52|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     52|    ;                                                                                                        \
  |  | 1573|     52|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     52|    return (ret_value);                                                                                      \
  |  | 1575|     52|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  338|     43|} /* end H5VL__native_dataset_open() */
H5VL__native_dataset_read:
  352|     31|{
  353|     31|    H5D_dset_io_info_t  dinfo_local;
  354|     31|    H5D_dset_io_info_t *dinfo     = &dinfo_local;
  355|     31|    herr_t              ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     31|#define SUCCEED 0
  ------------------
  356|       |
  357|     31|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     31|    {                                                                                                        \
  |  | 1461|     31|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     31|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     31|                                                                                                             \
  |  |  |  | 1267|     31|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     31|        {
  ------------------
  358|       |
  359|       |    /* Allocate dataset info array if necessary */
  360|     31|    if (count > 1)
  ------------------
  |  Branch (360:9): [True: 0, False: 31]
  ------------------
  361|      0|        if (NULL == (dinfo = (H5D_dset_io_info_t *)H5MM_malloc(count * sizeof(H5D_dset_io_info_t))))
  ------------------
  |  |   38|      0|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  |  Branch (361:13): [True: 0, False: 0]
  ------------------
  362|      0|            HGOTO_ERROR(H5E_DATASET, H5E_CANTALLOC, FAIL, "couldn't allocate dset info array buffer");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  363|       |
  364|       |    /* Get file & memory dataspaces */
  365|     31|    if (H5VL__native_dataset_io_setup(count, obj, mem_type_id, mem_space_id, file_space_id, dxpl_id,
  ------------------
  |  Branch (365:9): [True: 0, False: 31]
  ------------------
  366|     31|                                      (H5_flexible_const_ptr_t *)buf, dinfo) < 0)
  367|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to set up file and memory dataspaces");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  368|       |
  369|       |    /* Set DXPL for operation */
  370|     31|    H5CX_set_dxpl(dxpl_id);
  371|       |
  372|       |    /* Read raw data.  Call H5D__read directly in single dset case. */
  373|     31|    if (H5D__read(count, dinfo) < 0)
  ------------------
  |  Branch (373:9): [True: 0, False: 31]
  ------------------
  374|      0|        HGOTO_ERROR(H5E_DATASET, H5E_READERROR, FAIL, "can't read data");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  375|       |
  376|     31|done:
  377|       |    /* Clean up */
  378|     31|    if (H5VL__native_dataset_io_cleanup(count, mem_space_id, file_space_id, dinfo) < 0)
  ------------------
  |  Branch (378:9): [True: 0, False: 31]
  ------------------
  379|      0|        HDONE_ERROR(H5E_DATASET, H5E_CANTRELEASE, FAIL, "unable to release dataset info");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  380|       |
  381|     31|    if (dinfo != &dinfo_local)
  ------------------
  |  Branch (381:9): [True: 0, False: 31]
  ------------------
  382|      0|        H5MM_xfree(dinfo);
  383|       |
  384|     31|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     31|    ;                                                                                                        \
  |  | 1573|     31|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     31|    return (ret_value);                                                                                      \
  |  | 1575|     31|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  385|     31|} /* end H5VL__native_dataset_read() */
H5VL__native_dataset_get:
  446|    114|{
  447|    114|    H5D_t *dset      = (H5D_t *)obj;
  448|    114|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    114|#define SUCCEED 0
  ------------------
  449|       |
  450|    114|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    114|    {                                                                                                        \
  |  | 1461|    114|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    114|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    114|                                                                                                             \
  |  |  |  | 1267|    114|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    114|        {
  ------------------
  451|       |
  452|    114|    switch (args->op_type) {
  453|       |        /* H5Dget_space */
  454|     40|        case H5VL_DATASET_GET_SPACE: {
  ------------------
  |  Branch (454:9): [True: 40, False: 74]
  ------------------
  455|     40|            if ((args->args.get_space.space_id = H5D__get_space(dset)) < 0)
  ------------------
  |  Branch (455:17): [True: 0, False: 40]
  ------------------
  456|      0|                HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't get space ID of dataset");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  457|       |
  458|     40|            break;
  459|     40|        }
  460|       |
  461|       |        /* H5Dget_space_status */
  462|     40|        case H5VL_DATASET_GET_SPACE_STATUS: {
  ------------------
  |  Branch (462:9): [True: 0, False: 114]
  ------------------
  463|      0|            if (H5D__get_space_status(dset, args->args.get_space_status.status) < 0)
  ------------------
  |  Branch (463:17): [True: 0, False: 0]
  ------------------
  464|      0|                HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to get space status");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  465|       |
  466|      0|            break;
  467|      0|        }
  468|       |
  469|       |        /* H5Dget_type */
  470|     37|        case H5VL_DATASET_GET_TYPE: {
  ------------------
  |  Branch (470:9): [True: 37, False: 77]
  ------------------
  471|     37|            if ((args->args.get_type.type_id = H5D__get_type(dset)) < 0)
  ------------------
  |  Branch (471:17): [True: 0, False: 37]
  ------------------
  472|      0|                HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't get datatype ID of dataset");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  473|       |
  474|     37|            break;
  475|     37|        }
  476|       |
  477|       |        /* H5Dget_create_plist */
  478|     37|        case H5VL_DATASET_GET_DCPL: {
  ------------------
  |  Branch (478:9): [True: 37, False: 77]
  ------------------
  479|     37|            if ((args->args.get_dcpl.dcpl_id = H5D_get_create_plist(dset)) < 0)
  ------------------
  |  Branch (479:17): [True: 0, False: 37]
  ------------------
  480|      0|                HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't get creation property list for dataset");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  481|       |
  482|     37|            break;
  483|     37|        }
  484|       |
  485|       |        /* H5Dget_access_plist */
  486|     37|        case H5VL_DATASET_GET_DAPL: {
  ------------------
  |  Branch (486:9): [True: 0, False: 114]
  ------------------
  487|      0|            if ((args->args.get_dapl.dapl_id = H5D_get_access_plist(dset)) < 0)
  ------------------
  |  Branch (487:17): [True: 0, False: 0]
  ------------------
  488|      0|                HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't get access property list for dataset");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  489|       |
  490|      0|            break;
  491|      0|        }
  492|       |
  493|       |        /* H5Dget_storage_size */
  494|      0|        case H5VL_DATASET_GET_STORAGE_SIZE: {
  ------------------
  |  Branch (494:9): [True: 0, False: 114]
  ------------------
  495|      0|            if (H5D__get_storage_size(dset, args->args.get_storage_size.storage_size) < 0)
  ------------------
  |  Branch (495:17): [True: 0, False: 0]
  ------------------
  496|      0|                HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "can't get size of dataset's storage");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  497|      0|            break;
  498|      0|        }
  499|       |
  500|      0|        default:
  ------------------
  |  Branch (500:9): [True: 0, False: 114]
  ------------------
  501|      0|            HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "can't get this type of information from dataset");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  502|    114|    } /* end switch */
  503|       |
  504|    114|done:
  505|    114|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    114|    ;                                                                                                        \
  |  | 1573|    114|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    114|    return (ret_value);                                                                                      \
  |  | 1575|    114|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  506|    114|} /* end H5VL__native_dataset_get() */
H5VL__native_dataset_close:
  821|     52|{
  822|     52|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     52|#define SUCCEED 0
  ------------------
  823|       |
  824|     52|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     52|    {                                                                                                        \
  |  | 1461|     52|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     52|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     52|                                                                                                             \
  |  |  |  | 1267|     52|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     52|        {
  ------------------
  825|       |
  826|     52|    if (H5D_close((H5D_t *)dset) < 0)
  ------------------
  |  Branch (826:9): [True: 0, False: 52]
  ------------------
  827|      0|        HGOTO_ERROR(H5E_DATASET, H5E_CANTDEC, FAIL, "can't close dataset");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  828|       |
  829|     52|done:
  830|     52|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     52|    ;                                                                                                        \
  |  | 1573|     52|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     52|    return (ret_value);                                                                                      \
  |  | 1575|     52|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  831|     52|} /* end H5VL__native_dataset_close() */
H5VLnative_dataset.c:H5VL__native_dataset_io_setup:
   85|     31|{
   86|     31|    H5F_shared_t *f_sh;
   87|     31|    size_t        i;
   88|     31|    herr_t        ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     31|#define SUCCEED 0
  ------------------
   89|       |
   90|     31|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     31|    {                                                                                                        \
  |  | 1461|     31|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     31|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     31|                                                                                                             \
  |  |  |  | 1267|     31|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     31|        {
  ------------------
   91|       |
   92|       |    /* Sanity checks */
   93|     31|    assert(dinfo);
   94|       |
   95|       |    /* Get shared file */
   96|     31|    f_sh = H5F_SHARED(((H5D_t *)obj[0])->oloc.file);
  ------------------
  |  |  113|     31|#define H5F_SHARED(F)                    (H5F_get_shared(F))
  ------------------
   97|       |
   98|       |    /* Iterate over datasets */
   99|     62|    for (i = 0; i < count; i++) {
  ------------------
  |  Branch (99:17): [True: 31, False: 31]
  ------------------
  100|       |        /* Initialize fields not set here to prevent use of uninitialized */
  101|     31|        memset(&dinfo[i].layout_ops, 0, sizeof(dinfo[i].layout_ops));
  102|     31|        memset(&dinfo[i].io_ops, 0, sizeof(dinfo[i].io_ops));
  103|     31|        memset(&dinfo[i].layout_io_info, 0, sizeof(dinfo[i].layout_io_info));
  104|     31|        memset(&dinfo[i].type_info, 0, sizeof(dinfo[i].type_info));
  105|     31|        dinfo[i].store   = NULL;
  106|     31|        dinfo[i].layout  = NULL;
  107|     31|        dinfo[i].nelmts  = 0;
  108|     31|        dinfo[i].skip_io = false;
  109|       |
  110|       |        /* Set up dset */
  111|     31|        dinfo[i].dset = (H5D_t *)obj[i];
  112|     31|        assert(dinfo[i].dset);
  113|       |
  114|       |        /* Check dataset's file pointer is valid */
  115|     31|        if (NULL == dinfo[i].dset->oloc.file)
  ------------------
  |  Branch (115:13): [True: 0, False: 31]
  ------------------
  116|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "dataset is not associated with a file");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  117|     31|        if (f_sh != H5F_SHARED(dinfo[i].dset->oloc.file))
  ------------------
  |  |  113|     31|#define H5F_SHARED(F)                    (H5F_get_shared(F))
  ------------------
  |  Branch (117:13): [True: 0, False: 31]
  ------------------
  118|      0|            HGOTO_ERROR(H5E_ARGS, H5E_UNSUPPORTED, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  119|     31|                        "different files detected in multi dataset I/O request");
  120|       |
  121|       |        /* Set up memory type */
  122|     31|        if (NULL == (dinfo[i].mem_type = (const H5T_t *)H5I_object_verify(mem_type_id[i], H5I_DATATYPE)))
  ------------------
  |  Branch (122:13): [True: 0, False: 31]
  ------------------
  123|      0|            HGOTO_ERROR(H5E_DATASET, H5E_BADTYPE, FAIL, "invalid datatype");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  124|       |
  125|       |        /* Set up file dataspace */
  126|     31|        if (H5S_ALL == file_space_id[i])
  ------------------
  |  |   32|     31|#define H5S_ALL 0
  ------------------
  |  Branch (126:13): [True: 31, False: 0]
  ------------------
  127|       |            /* Use dataspace for dataset */
  128|     31|            dinfo[i].file_space = dinfo[i].dset->shared->space;
  129|      0|        else if (H5S_BLOCK == file_space_id[i])
  ------------------
  |  |   39|      0|#define H5S_BLOCK 1
  ------------------
  |  Branch (129:18): [True: 0, False: 0]
  ------------------
  130|      0|            HGOTO_ERROR(H5E_DATASET, H5E_BADTYPE, FAIL, "H5S_BLOCK is not allowed for file dataspace");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  131|      0|        else if (H5S_PLIST == file_space_id[i]) {
  ------------------
  |  |   46|      0|#define H5S_PLIST 2
  ------------------
  |  Branch (131:18): [True: 0, False: 0]
  ------------------
  132|      0|            H5P_genplist_t *plist; /* Property list pointer */
  133|      0|            H5S_t          *space; /* Dataspace to hold selection */
  134|       |
  135|       |            /* Get the plist structure */
  136|      0|            if (NULL == (plist = H5P_object_verify(dxpl_id, H5P_DATASET_XFER)))
  ------------------
  |  |   76|      0|#define H5P_DATASET_XFER (H5OPEN H5P_CLS_DATASET_XFER_ID_g)
  ------------------
  |  Branch (136:17): [True: 0, False: 0]
  ------------------
  137|      0|                HGOTO_ERROR(H5E_DATASET, H5E_BADID, FAIL, "bad dataset transfer property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  138|       |
  139|       |            /* Get a pointer to the file space in the property list */
  140|      0|            if (H5P_peek(plist, H5D_XFER_DSET_IO_SEL_NAME, &space) < 0)
  ------------------
  |  |   86|      0|#define H5D_XFER_DSET_IO_SEL_NAME              "dset_io_selection"     /* Dataset I/O selection */
  ------------------
  |  Branch (140:17): [True: 0, False: 0]
  ------------------
  141|      0|                HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "error getting dataset I/O selection");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  142|       |
  143|       |            /* Use dataspace for dataset */
  144|      0|            dinfo[i].file_space = dinfo[i].dset->shared->space;
  145|       |
  146|       |            /* Copy, but share, selection from property list to dataset's dataspace */
  147|      0|            if (H5S_SELECT_COPY(dinfo[i].file_space, space, true) < 0)
  ------------------
  |  |  191|      0|#define H5S_SELECT_COPY(DST, SRC, SHARE)          (H5S_select_copy(DST, SRC, SHARE))
  ------------------
  |  Branch (147:17): [True: 0, False: 0]
  ------------------
  148|      0|                HGOTO_ERROR(H5E_DATASET, H5E_CANTCOPY, FAIL, "can't copy dataset I/O selection");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  149|      0|        } /* end else-if */
  150|      0|        else {
  151|       |            /* Get the dataspace pointer */
  152|      0|            if (NULL == (dinfo[i].file_space = (H5S_t *)H5I_object_verify(file_space_id[i], H5I_DATASPACE)))
  ------------------
  |  Branch (152:17): [True: 0, False: 0]
  ------------------
  153|      0|                HGOTO_ERROR(H5E_DATASET, H5E_BADTYPE, FAIL, "file_space_id is not a dataspace ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  154|      0|        } /* end else */
  155|       |
  156|       |        /* Get dataspace for memory buffer */
  157|     31|        if (H5S_ALL == mem_space_id[i])
  ------------------
  |  |   32|     31|#define H5S_ALL 0
  ------------------
  |  Branch (157:13): [True: 31, False: 0]
  ------------------
  158|     31|            dinfo[i].mem_space = dinfo[i].file_space;
  159|      0|        else if (H5S_BLOCK == mem_space_id[i]) {
  ------------------
  |  |   39|      0|#define H5S_BLOCK 1
  ------------------
  |  Branch (159:18): [True: 0, False: 0]
  ------------------
  160|      0|            hsize_t nelmts; /* # of selected elements in file */
  161|       |
  162|       |            /* Get the # of elements selected */
  163|      0|            nelmts = H5S_GET_SELECT_NPOINTS(dinfo[i].file_space);
  ------------------
  |  |  165|      0|#define H5S_GET_SELECT_NPOINTS(S)               (H5S_get_select_npoints(S))
  ------------------
  164|       |
  165|       |            /* Check for any elements */
  166|      0|            if (nelmts > 0) {
  ------------------
  |  Branch (166:17): [True: 0, False: 0]
  ------------------
  167|       |                /* Create a 1-D dataspace of the same # of elements */
  168|      0|                if (NULL == (dinfo[i].mem_space = H5S_create_simple(1, &nelmts, NULL)))
  ------------------
  |  Branch (168:21): [True: 0, False: 0]
  ------------------
  169|      0|                    HGOTO_ERROR(H5E_DATASET, H5E_CANTCREATE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  170|      0|                                "unable to create simple memory dataspace");
  171|      0|            } /* end if */
  172|      0|            else {
  173|       |                /* Create a NULL dataspace of the same # of elements */
  174|      0|                if (NULL == (dinfo[i].mem_space = H5S_create(H5S_NULL)))
  ------------------
  |  Branch (174:21): [True: 0, False: 0]
  ------------------
  175|      0|                    HGOTO_ERROR(H5E_DATASET, H5E_CANTCREATE, FAIL, "unable to create NULL memory dataspace");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  176|      0|            } /* end else */
  177|      0|        }     /* end if */
  178|      0|        else if (H5S_PLIST == mem_space_id[i])
  ------------------
  |  |   46|      0|#define H5S_PLIST 2
  ------------------
  |  Branch (178:18): [True: 0, False: 0]
  ------------------
  179|      0|            HGOTO_ERROR(H5E_DATASET, H5E_BADTYPE, FAIL, "H5S_PLIST is not allowed for memory dataspace");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  180|      0|        else {
  181|       |            /* Get the dataspace pointer */
  182|      0|            if (NULL == (dinfo[i].mem_space = (H5S_t *)H5I_object_verify(mem_space_id[i], H5I_DATASPACE)))
  ------------------
  |  Branch (182:17): [True: 0, False: 0]
  ------------------
  183|      0|                HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "mem_space_id is not a dataspace ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  184|      0|        } /* end else */
  185|       |
  186|       |        /* Check for valid selections */
  187|     31|        if (H5S_SELECT_VALID(dinfo[i].file_space) != true)
  ------------------
  |  |  167|     31|#define H5S_SELECT_VALID(S)                     (H5S_select_valid(S))
  ------------------
  |  Branch (187:13): [True: 0, False: 31]
  ------------------
  188|      0|            HGOTO_ERROR(H5E_DATASPACE, H5E_BADRANGE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  189|     31|                        "selection + offset not within extent for file dataspace");
  190|     31|        if (H5S_SELECT_VALID(dinfo[i].mem_space) != true)
  ------------------
  |  |  167|     31|#define H5S_SELECT_VALID(S)                     (H5S_select_valid(S))
  ------------------
  |  Branch (190:13): [True: 0, False: 31]
  ------------------
  191|      0|            HGOTO_ERROR(H5E_DATASPACE, H5E_BADRANGE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  192|     31|                        "selection + offset not within extent for memory dataspace");
  193|       |
  194|       |        /* Set up buf */
  195|     31|        dinfo[i].buf = buf[i];
  196|     31|    }
  197|       |
  198|     31|done:
  199|     31|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     31|    ;                                                                                                        \
  |  | 1573|     31|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     31|    return (ret_value);                                                                                      \
  |  | 1575|     31|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  200|     31|} /* end H5VL__native_dataset_io_setup() */
H5VLnative_dataset.c:H5VL__native_dataset_io_cleanup:
  214|     31|{
  215|     31|    size_t i;
  216|     31|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     31|#define SUCCEED 0
  ------------------
  217|       |
  218|     31|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     31|    {                                                                                                        \
  |  | 1461|     31|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     31|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     31|                                                                                                             \
  |  |  |  | 1267|     31|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     31|        {
  ------------------
  219|       |
  220|       |    /* Sanity checks */
  221|     31|    assert(dinfo);
  222|       |
  223|       |    /* Iterate over datasets */
  224|     62|    for (i = 0; i < count; i++) {
  ------------------
  |  Branch (224:17): [True: 31, False: 31]
  ------------------
  225|       |        /* Free memory dataspace if it was created.  Use HDONE_ERROR in this function so we always
  226|       |         * try to free everything we can. */
  227|     31|        if (H5S_BLOCK == mem_space_id[i] && dinfo[i].mem_space)
  ------------------
  |  |   39|     31|#define H5S_BLOCK 1
  ------------------
  |  Branch (227:13): [True: 0, False: 31]
  |  Branch (227:45): [True: 0, False: 0]
  ------------------
  228|      0|            if (H5S_close(dinfo[i].mem_space) < 0)
  ------------------
  |  Branch (228:17): [True: 0, False: 0]
  ------------------
  229|      0|                HDONE_ERROR(H5E_DATASET, H5E_CANTRELEASE, FAIL,
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  230|     31|                            "unable to release temporary memory dataspace for H5S_BLOCK");
  231|       |
  232|       |        /* Reset file dataspace selection if it was copied from the property list */
  233|     31|        if (H5S_PLIST == file_space_id[i] && dinfo[i].file_space)
  ------------------
  |  |   46|     31|#define H5S_PLIST 2
  ------------------
  |  Branch (233:13): [True: 0, False: 31]
  |  Branch (233:46): [True: 0, False: 0]
  ------------------
  234|      0|            if (H5S_select_all(dinfo[i].file_space, true) < 0)
  ------------------
  |  Branch (234:17): [True: 0, False: 0]
  ------------------
  235|      0|                HDONE_ERROR(H5E_DATASET, H5E_CANTRELEASE, FAIL,
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  236|     31|                            "unable to release file dataspace selection for H5S_PLIST");
  237|     31|    }
  238|       |
  239|     31|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     31|    ;                                                                                                        \
  |  | 1573|     31|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     31|    return (ret_value);                                                                                      \
  |  | 1575|     31|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  240|     31|} /* end H5VL__native_dataset_io_cleanup() */

H5VL__native_file_open:
  120|     10|{
  121|     10|    H5F_t *new_file  = NULL;
  122|     10|    void  *ret_value = NULL;
  123|       |
  124|     10|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     10|    {                                                                                                        \
  |  | 1461|     10|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     10|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     10|                                                                                                             \
  |  |  |  | 1267|     10|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     10|        {
  ------------------
  125|       |
  126|       |    /* Open the file */
  127|     10|    if (NULL == (new_file = H5F_open(name, flags, H5P_FILE_CREATE_DEFAULT, fapl_id)))
  ------------------
  |  |  144|     10|#define H5P_FILE_CREATE_DEFAULT (H5OPEN H5P_LST_FILE_CREATE_ID_g)
  ------------------
  |  Branch (127:9): [True: 3, False: 7]
  ------------------
  128|      3|        HGOTO_ERROR(H5E_FILE, H5E_CANTOPENFILE, NULL, "unable to open file");
  ------------------
  |  |   68|      3|    do {                                                                                                     \
  |  |   69|      3|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      3|    do {                                                                                                     \
  |  |  |  |   40|      3|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      3|    do {                                                                                                     \
  |  |  |  |  |  |   31|      3|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      3|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      3|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      3|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      3|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      3|    do {                                                                                                     \
  |  |  |  |   92|      3|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      3|        goto done;                                                                                           \
  |  |  |  |   94|      3|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      3|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  129|      7|    new_file->id_exists = true;
  130|       |
  131|      7|    ret_value = (void *)new_file;
  132|       |
  133|     10|done:
  134|     10|    if (NULL == ret_value && new_file && H5F_try_close(new_file, NULL) < 0)
  ------------------
  |  Branch (134:9): [True: 3, False: 7]
  |  Branch (134:30): [True: 0, False: 3]
  |  Branch (134:42): [True: 0, False: 0]
  ------------------
  135|      0|        HDONE_ERROR(H5E_FILE, H5E_CANTCLOSEFILE, NULL, "problems closing file");
  ------------------
  |  |   55|      0|    do {                                                                                                     \
  |  |   56|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   57|      0|        ret_value = ret_val;                                                                                 \
  |  |   58|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (58:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  136|       |
  137|     10|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     10|    ;                                                                                                        \
  |  | 1573|     10|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     10|    return (ret_value);                                                                                      \
  |  | 1575|     10|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  138|      7|} /* end H5VL__native_file_open() */
H5VL__native_file_get:
  152|     18|{
  153|     18|    H5F_t *f         = NULL;    /* File struct */
  154|     18|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     18|#define SUCCEED 0
  ------------------
  155|       |
  156|     18|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     18|    {                                                                                                        \
  |  | 1461|     18|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     18|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     18|                                                                                                             \
  |  |  |  | 1267|     18|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     18|        {
  ------------------
  157|       |
  158|     18|    switch (args->op_type) {
  159|       |        /* "get container info" */
  160|     18|        case H5VL_FILE_GET_CONT_INFO: {
  ------------------
  |  Branch (160:9): [True: 18, False: 0]
  ------------------
  161|     18|            if (H5F__get_cont_info((H5F_t *)obj, args->args.get_cont_info.info) < 0)
  ------------------
  |  Branch (161:17): [True: 0, False: 18]
  ------------------
  162|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "can't get file container info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  163|       |
  164|     18|            break;
  165|     18|        }
  166|       |
  167|       |        /* H5Fget_access_plist */
  168|     18|        case H5VL_FILE_GET_FAPL: {
  ------------------
  |  Branch (168:9): [True: 0, False: 18]
  ------------------
  169|      0|            if ((args->args.get_fapl.fapl_id = H5F_get_access_plist((H5F_t *)obj, true)) < 0)
  ------------------
  |  Branch (169:17): [True: 0, False: 0]
  ------------------
  170|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "can't get file access property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  171|       |
  172|      0|            break;
  173|      0|        }
  174|       |
  175|       |        /* H5Fget_create_plist */
  176|      0|        case H5VL_FILE_GET_FCPL: {
  ------------------
  |  Branch (176:9): [True: 0, False: 18]
  ------------------
  177|      0|            H5P_genplist_t *plist; /* Property list */
  178|       |
  179|      0|            f = (H5F_t *)obj;
  180|      0|            if (NULL == (plist = (H5P_genplist_t *)H5I_object(f->shared->fcpl_id)))
  ------------------
  |  Branch (180:17): [True: 0, False: 0]
  ------------------
  181|      0|                HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a property list");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  182|       |
  183|       |            /* Create the property list object to return */
  184|      0|            if ((args->args.get_fcpl.fcpl_id = H5P_copy_plist(plist, true)) < 0)
  ------------------
  |  Branch (184:17): [True: 0, False: 0]
  ------------------
  185|      0|                HGOTO_ERROR(H5E_PLIST, H5E_CANTINIT, FAIL, "unable to copy file creation properties");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  186|       |
  187|      0|            break;
  188|      0|        }
  189|       |
  190|       |        /* H5Fget_intent */
  191|      0|        case H5VL_FILE_GET_INTENT: {
  ------------------
  |  Branch (191:9): [True: 0, False: 18]
  ------------------
  192|      0|            f = (H5F_t *)obj;
  193|       |
  194|       |            /* HDF5 uses some flags internally that users don't know about.
  195|       |             * Simplify things for them so that they only get either H5F_ACC_RDWR
  196|       |             * or H5F_ACC_RDONLY and any SWMR flags.
  197|       |             */
  198|      0|            if (H5F_INTENT(f) & H5F_ACC_RDWR) {
  ------------------
  |  |  109|      0|#define H5F_INTENT(F)                    (H5F_get_intent(F))
  ------------------
                          if (H5F_INTENT(f) & H5F_ACC_RDWR) {
  ------------------
  |  |   49|      0|#define H5F_ACC_RDWR   (H5CHECK H5OPEN 0x0001u) /**< Open for read and write    */
  ------------------
  |  Branch (198:17): [True: 0, False: 0]
  ------------------
  199|      0|                *args->args.get_intent.flags = H5F_ACC_RDWR;
  ------------------
  |  |   49|      0|#define H5F_ACC_RDWR   (H5CHECK H5OPEN 0x0001u) /**< Open for read and write    */
  ------------------
  200|       |
  201|       |                /* Check for SWMR write access on the file */
  202|      0|                if (H5F_INTENT(f) & H5F_ACC_SWMR_WRITE)
  ------------------
  |  |  109|      0|#define H5F_INTENT(F)                    (H5F_get_intent(F))
  ------------------
                              if (H5F_INTENT(f) & H5F_ACC_SWMR_WRITE)
  ------------------
  |  |   55|      0|    (H5CHECK 0x0020u) /**< Indicate that this file is open for writing in a                                  \
  ------------------
  |  Branch (202:21): [True: 0, False: 0]
  ------------------
  203|      0|                    *args->args.get_intent.flags |= H5F_ACC_SWMR_WRITE;
  ------------------
  |  |   55|      0|    (H5CHECK 0x0020u) /**< Indicate that this file is open for writing in a                                  \
  ------------------
  204|      0|            } /* end if */
  205|      0|            else {
  206|      0|                *args->args.get_intent.flags = H5F_ACC_RDONLY;
  ------------------
  |  |   48|      0|#define H5F_ACC_RDONLY (H5CHECK H5OPEN 0x0000u) /**< Absence of RDWR: read-only */
  ------------------
  207|       |
  208|       |                /* Check for SWMR read access on the file */
  209|      0|                if (H5F_INTENT(f) & H5F_ACC_SWMR_READ)
  ------------------
  |  |  109|      0|#define H5F_INTENT(F)                    (H5F_get_intent(F))
  ------------------
                              if (H5F_INTENT(f) & H5F_ACC_SWMR_READ)
  ------------------
  |  |   61|      0|    (H5CHECK 0x0040u) /**< Indicate that this file is open for reading in a                                  \
  ------------------
  |  Branch (209:21): [True: 0, False: 0]
  ------------------
  210|      0|                    *args->args.get_intent.flags |= H5F_ACC_SWMR_READ;
  ------------------
  |  |   61|      0|    (H5CHECK 0x0040u) /**< Indicate that this file is open for reading in a                                  \
  ------------------
  211|      0|            } /* end else */
  212|       |
  213|      0|            break;
  214|      0|        }
  215|       |
  216|       |        /* H5Fget_fileno */
  217|      0|        case H5VL_FILE_GET_FILENO: {
  ------------------
  |  Branch (217:9): [True: 0, False: 18]
  ------------------
  218|      0|            unsigned long fileno = 0;
  219|       |
  220|      0|            H5F_GET_FILENO((H5F_t *)obj, fileno);
  ------------------
  |  |  123|      0|#define H5F_GET_FILENO(F, FILENUM)       (H5F_get_fileno((F), &(FILENUM)))
  ------------------
  221|      0|            *args->args.get_fileno.fileno = fileno;
  222|       |
  223|      0|            break;
  224|      0|        }
  225|       |
  226|       |        /* H5Fget_name */
  227|      0|        case H5VL_FILE_GET_NAME: {
  ------------------
  |  Branch (227:9): [True: 0, False: 18]
  ------------------
  228|      0|            H5VL_file_get_name_args_t *file_args = &args->args.get_name;
  229|       |
  230|      0|            if (H5VL_native_get_file_struct(obj, file_args->type, &f) < 0)
  ------------------
  |  Branch (230:17): [True: 0, False: 0]
  ------------------
  231|      0|                HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a file or file object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  232|       |
  233|       |            /* Get length of file name */
  234|      0|            *file_args->file_name_len = strlen(H5F_OPEN_NAME(f));
  ------------------
  |  |  110|      0|#define H5F_OPEN_NAME(F)                 (H5F_get_open_name(F))
  ------------------
  235|       |
  236|       |            /* Populate buffer with name, if given */
  237|      0|            if (file_args->buf) {
  ------------------
  |  Branch (237:17): [True: 0, False: 0]
  ------------------
  238|      0|                strncpy(file_args->buf, H5F_OPEN_NAME(f),
  ------------------
  |  |  110|      0|#define H5F_OPEN_NAME(F)                 (H5F_get_open_name(F))
  ------------------
  239|      0|                        MIN(*file_args->file_name_len + 1, file_args->buf_size));
  ------------------
  |  |  293|      0|#define MIN(a, b)        (((a) < (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (293:27): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  240|      0|                if (*file_args->file_name_len >= file_args->buf_size)
  ------------------
  |  Branch (240:21): [True: 0, False: 0]
  ------------------
  241|      0|                    file_args->buf[file_args->buf_size - 1] = '\0';
  242|      0|            } /* end if */
  243|       |
  244|      0|            break;
  245|      0|        }
  246|       |
  247|       |        /* H5Fget_obj_count */
  248|      0|        case H5VL_FILE_GET_OBJ_COUNT: {
  ------------------
  |  Branch (248:9): [True: 0, False: 18]
  ------------------
  249|      0|            if (H5F_get_obj_count((H5F_t *)obj, args->args.get_obj_count.types, true,
  ------------------
  |  Branch (249:17): [True: 0, False: 0]
  ------------------
  250|      0|                                  args->args.get_obj_count.count) < 0)
  251|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "can't retrieve object count");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  252|       |
  253|      0|            break;
  254|      0|        }
  255|       |
  256|       |        /* H5Fget_obj_ids */
  257|      0|        case H5VL_FILE_GET_OBJ_IDS: {
  ------------------
  |  Branch (257:9): [True: 0, False: 18]
  ------------------
  258|      0|            H5VL_file_get_obj_ids_args_t *file_args = &args->args.get_obj_ids;
  259|       |
  260|      0|            if (H5F_get_obj_ids((H5F_t *)obj, file_args->types, file_args->max_objs, file_args->oid_list,
  ------------------
  |  Branch (260:17): [True: 0, False: 0]
  ------------------
  261|      0|                                true, file_args->count) < 0)
  262|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "can't retrieve object IDs");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  263|       |
  264|      0|            break;
  265|      0|        }
  266|       |
  267|      0|        default:
  ------------------
  |  Branch (267:9): [True: 0, False: 18]
  ------------------
  268|      0|            HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "can't get this type of information");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  269|     18|    } /* end switch */
  270|       |
  271|     18|done:
  272|     18|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     18|    ;                                                                                                        \
  |  | 1573|     18|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     18|    return (ret_value);                                                                                      \
  |  | 1575|     18|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  273|     18|} /* end H5VL__native_file_get() */
H5VL__native_file_optional:
  393|      7|{
  394|      7|    H5F_t                            *f         = (H5F_t *)obj; /* File */
  395|      7|    H5VL_native_file_optional_args_t *opt_args  = args->args;   /* Pointer to native operation's arguments */
  396|      7|    herr_t                            ret_value = SUCCEED;      /* Return value */
  ------------------
  |  |  283|      7|#define SUCCEED 0
  ------------------
  397|       |
  398|      7|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      7|    {                                                                                                        \
  |  | 1461|      7|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      7|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      7|                                                                                                             \
  |  |  |  | 1267|      7|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      7|        {
  ------------------
  399|       |
  400|      7|    switch (args->op_type) {
  401|       |        /* H5Fget_filesize */
  402|      0|        case H5VL_NATIVE_FILE_GET_SIZE: {
  ------------------
  |  |  190|      0|#define H5VL_NATIVE_FILE_GET_SIZE                     8  /* H5Fget_filesize                      */
  ------------------
  |  Branch (402:9): [True: 0, False: 7]
  ------------------
  403|      0|            haddr_t max_eof_eoa; /* Maximum of the EOA & EOF */
  404|      0|            haddr_t base_addr;   /* Base address for the file */
  405|       |
  406|       |            /* Get the actual file size & base address */
  407|      0|            if (H5F__get_max_eof_eoa(f, &max_eof_eoa) < 0)
  ------------------
  |  Branch (407:17): [True: 0, False: 0]
  ------------------
  408|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "file can't get max eof/eoa ");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  409|      0|            base_addr = H5FD_get_base_addr(f->shared->lf);
  410|       |
  411|       |            /* Convert relative base address for file to absolute address */
  412|      0|            *opt_args->get_size.size = (hsize_t)(max_eof_eoa + base_addr);
  413|       |
  414|      0|            break;
  415|      0|        }
  416|       |
  417|       |        /* H5Fget_file_image */
  418|      0|        case H5VL_NATIVE_FILE_GET_FILE_IMAGE: {
  ------------------
  |  |  183|      0|#define H5VL_NATIVE_FILE_GET_FILE_IMAGE               1  /* H5Fget_file_image                    */
  ------------------
  |  Branch (418:9): [True: 0, False: 7]
  ------------------
  419|      0|            H5VL_native_file_get_file_image_t *gfi_args = &opt_args->get_file_image;
  420|       |
  421|       |            /* Get file image */
  422|      0|            if (H5F__get_file_image(f, gfi_args->buf, gfi_args->buf_size, gfi_args->image_len) < 0)
  ------------------
  |  Branch (422:17): [True: 0, False: 0]
  ------------------
  423|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "get file image failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  424|       |
  425|      0|            break;
  426|      0|        }
  427|       |
  428|       |        /* H5Fget_freespace */
  429|      0|        case H5VL_NATIVE_FILE_GET_FREE_SPACE: {
  ------------------
  |  |  185|      0|#define H5VL_NATIVE_FILE_GET_FREE_SPACE               3  /* H5Fget_freespace                     */
  ------------------
  |  Branch (429:9): [True: 0, False: 7]
  ------------------
  430|      0|            H5VL_native_file_get_freespace_t *gfs_args = &opt_args->get_freespace;
  431|       |
  432|       |            /* Get the actual amount of free space in the file */
  433|      0|            if (H5MF_get_freespace(f, gfs_args->size, NULL) < 0)
  ------------------
  |  Branch (433:17): [True: 0, False: 0]
  ------------------
  434|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "unable to check free space for file");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  435|       |
  436|      0|            break;
  437|      0|        }
  438|       |
  439|       |        /* H5Fget_free_sections */
  440|      0|        case H5VL_NATIVE_FILE_GET_FREE_SECTIONS: {
  ------------------
  |  |  184|      0|#define H5VL_NATIVE_FILE_GET_FREE_SECTIONS            2  /* H5Fget_free_sections                 */
  ------------------
  |  Branch (440:9): [True: 0, False: 7]
  ------------------
  441|      0|            H5VL_native_file_get_free_sections_t *gfs_args = &opt_args->get_free_sections;
  442|       |
  443|       |            /* Go get the free-space section information in the file */
  444|      0|            if (H5MF_get_free_sections(f, gfs_args->type, gfs_args->nsects, gfs_args->sect_info,
  ------------------
  |  Branch (444:17): [True: 0, False: 0]
  ------------------
  445|      0|                                       gfs_args->sect_count) < 0)
  446|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "unable to check free space for file");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  447|       |
  448|      0|            break;
  449|      0|        }
  450|       |
  451|       |        /* H5Fget_info1/2 */
  452|      0|        case H5VL_NATIVE_FILE_GET_INFO: {
  ------------------
  |  |  186|      0|#define H5VL_NATIVE_FILE_GET_INFO                     4  /* H5Fget_info1/2                       */
  ------------------
  |  Branch (452:9): [True: 0, False: 7]
  ------------------
  453|      0|            H5VL_native_file_get_info_t *gfi_args = &opt_args->get_info;
  454|       |
  455|       |            /* Get the file struct. This call is careful to not return the file pointer
  456|       |             * for the top file in a mount hierarchy.
  457|       |             */
  458|      0|            if (H5VL_native_get_file_struct(obj, gfi_args->type, &f) < 0)
  ------------------
  |  Branch (458:17): [True: 0, False: 0]
  ------------------
  459|      0|                HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "could not get a file struct");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  460|       |
  461|       |            /* Get the file info */
  462|      0|            if (H5F__get_info(f, gfi_args->finfo) < 0)
  ------------------
  |  Branch (462:17): [True: 0, False: 0]
  ------------------
  463|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "unable to retrieve file info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  464|       |
  465|      0|            break;
  466|      0|        }
  467|       |
  468|       |        /* H5Fget_mdc_config */
  469|      0|        case H5VL_NATIVE_FILE_GET_MDC_CONF: {
  ------------------
  |  |  187|      0|#define H5VL_NATIVE_FILE_GET_MDC_CONF                 5  /* H5Fget_mdc_config                    */
  ------------------
  |  Branch (469:9): [True: 0, False: 7]
  ------------------
  470|       |            /* Get the metadata cache configuration */
  471|      0|            if (H5AC_get_cache_auto_resize_config(f->shared->cache, opt_args->get_mdc_config.config) < 0)
  ------------------
  |  Branch (471:17): [True: 0, False: 0]
  ------------------
  472|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "can't get metadata cache configuration");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  473|       |
  474|      0|            break;
  475|      0|        }
  476|       |
  477|       |        /* H5Fget_mdc_hit_rate */
  478|      0|        case H5VL_NATIVE_FILE_GET_MDC_HR: {
  ------------------
  |  |  188|      0|#define H5VL_NATIVE_FILE_GET_MDC_HR                   6  /* H5Fget_mdc_hit_rate                  */
  ------------------
  |  Branch (478:9): [True: 0, False: 7]
  ------------------
  479|       |            /* Get the current hit rate */
  480|      0|            if (H5AC_get_cache_hit_rate(f->shared->cache, opt_args->get_mdc_hit_rate.hit_rate) < 0)
  ------------------
  |  Branch (480:17): [True: 0, False: 0]
  ------------------
  481|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "can't get metadata cache hit rate");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  482|       |
  483|      0|            break;
  484|      0|        }
  485|       |
  486|       |        /* H5Fget_mdc_size */
  487|      0|        case H5VL_NATIVE_FILE_GET_MDC_SIZE: {
  ------------------
  |  |  189|      0|#define H5VL_NATIVE_FILE_GET_MDC_SIZE                 7  /* H5Fget_mdc_size                      */
  ------------------
  |  Branch (487:9): [True: 0, False: 7]
  ------------------
  488|      0|            H5VL_native_file_get_mdc_size_t *gms_args = &opt_args->get_mdc_size;
  489|       |
  490|       |            /* Get the size data */
  491|      0|            if (H5AC_get_cache_size(f->shared->cache, gms_args->max_size, gms_args->min_clean_size,
  ------------------
  |  Branch (491:17): [True: 0, False: 0]
  ------------------
  492|      0|                                    gms_args->cur_size, gms_args->cur_num_entries) < 0)
  493|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "can't get metadata cache size");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  494|       |
  495|      0|            break;
  496|      0|        }
  497|       |
  498|       |        /* H5Fget_vfd_handle */
  499|      0|        case H5VL_NATIVE_FILE_GET_VFD_HANDLE: {
  ------------------
  |  |  191|      0|#define H5VL_NATIVE_FILE_GET_VFD_HANDLE               9  /* H5Fget_vfd_handle                    */
  ------------------
  |  Branch (499:9): [True: 0, False: 7]
  ------------------
  500|      0|            H5VL_native_file_get_vfd_handle_t *gvh_args = &opt_args->get_vfd_handle;
  501|       |
  502|       |            /* Retrieve the VFD handle for the file */
  503|      0|            if (H5F_get_vfd_handle(f, gvh_args->fapl_id, gvh_args->file_handle) < 0)
  ------------------
  |  Branch (503:17): [True: 0, False: 0]
  ------------------
  504|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "can't retrieve VFD handle");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  505|       |
  506|      0|            break;
  507|      0|        }
  508|       |
  509|       |        /* H5Fclear_elink_file_cache */
  510|      0|        case H5VL_NATIVE_FILE_CLEAR_ELINK_CACHE: {
  ------------------
  |  |  182|      0|#define H5VL_NATIVE_FILE_CLEAR_ELINK_CACHE            0  /* H5Fclear_elink_file_cache            */
  ------------------
  |  Branch (510:9): [True: 0, False: 7]
  ------------------
  511|       |            /* Release the EFC */
  512|      0|            if (f->shared->efc)
  ------------------
  |  Branch (512:17): [True: 0, False: 0]
  ------------------
  513|      0|                if (H5F__efc_release(f->shared->efc) < 0)
  ------------------
  |  Branch (513:21): [True: 0, False: 0]
  ------------------
  514|      0|                    HGOTO_ERROR(H5E_FILE, H5E_CANTRELEASE, FAIL, "can't release external file cache");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  515|       |
  516|      0|            break;
  517|      0|        }
  518|       |
  519|       |        /* H5Freset_mdc_hit_rate_stats */
  520|      0|        case H5VL_NATIVE_FILE_RESET_MDC_HIT_RATE: {
  ------------------
  |  |  192|      0|#define H5VL_NATIVE_FILE_RESET_MDC_HIT_RATE           10 /* H5Freset_mdc_hit_rate_stats          */
  ------------------
  |  Branch (520:9): [True: 0, False: 7]
  ------------------
  521|       |            /* Reset the hit rate statistic */
  522|      0|            if (H5AC_reset_cache_hit_rate_stats(f->shared->cache) < 0)
  ------------------
  |  Branch (522:17): [True: 0, False: 0]
  ------------------
  523|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "can't reset cache hit rate");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  524|       |
  525|      0|            break;
  526|      0|        }
  527|       |
  528|       |        /* H5Fset_mdc_config */
  529|      0|        case H5VL_NATIVE_FILE_SET_MDC_CONFIG: {
  ------------------
  |  |  193|      0|#define H5VL_NATIVE_FILE_SET_MDC_CONFIG               11 /* H5Fset_mdc_config                    */
  ------------------
  |  Branch (529:9): [True: 0, False: 7]
  ------------------
  530|       |            /* Set the metadata cache configuration  */
  531|      0|            if (H5AC_set_cache_auto_resize_config(f->shared->cache, opt_args->set_mdc_config.config) < 0)
  ------------------
  |  Branch (531:17): [True: 0, False: 0]
  ------------------
  532|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "can't set metadata cache configuration");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  533|       |
  534|      0|            break;
  535|      0|        }
  536|       |
  537|       |        /* H5Fget_metadata_read_retry_info */
  538|      0|        case H5VL_NATIVE_FILE_GET_METADATA_READ_RETRY_INFO: {
  ------------------
  |  |  194|      0|#define H5VL_NATIVE_FILE_GET_METADATA_READ_RETRY_INFO 12 /* H5Fget_metadata_read_retry_info      */
  ------------------
  |  Branch (538:9): [True: 0, False: 7]
  ------------------
  539|      0|            if (H5F_get_metadata_read_retry_info(f, opt_args->get_metadata_read_retry_info.info) < 0)
  ------------------
  |  Branch (539:17): [True: 0, False: 0]
  ------------------
  540|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "can't get metadata read retry info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  541|       |
  542|      0|            break;
  543|      0|        }
  544|       |
  545|       |        /* H5Fstart_swmr_write */
  546|      0|        case H5VL_NATIVE_FILE_START_SWMR_WRITE: {
  ------------------
  |  |  195|      0|#define H5VL_NATIVE_FILE_START_SWMR_WRITE             13 /* H5Fstart_swmr_write                  */
  ------------------
  |  Branch (546:9): [True: 0, False: 7]
  ------------------
  547|      0|            if (H5F__start_swmr_write(f) < 0)
  ------------------
  |  Branch (547:17): [True: 0, False: 0]
  ------------------
  548|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "can't start SWMR write");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  549|       |
  550|      0|            break;
  551|      0|        }
  552|       |
  553|       |        /* H5Fstart_mdc_logging */
  554|      0|        case H5VL_NATIVE_FILE_START_MDC_LOGGING: {
  ------------------
  |  |  196|      0|#define H5VL_NATIVE_FILE_START_MDC_LOGGING            14 /* H5Fstart_mdc_logging                 */
  ------------------
  |  Branch (554:9): [True: 0, False: 7]
  ------------------
  555|       |            /* Call mdc logging function */
  556|      0|            if (H5C_start_logging(f->shared->cache) < 0)
  ------------------
  |  Branch (556:17): [True: 0, False: 0]
  ------------------
  557|      0|                HGOTO_ERROR(H5E_FILE, H5E_LOGGING, FAIL, "unable to start mdc logging");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  558|       |
  559|      0|            break;
  560|      0|        }
  561|       |
  562|       |        /* H5Fstop_mdc_logging */
  563|      0|        case H5VL_NATIVE_FILE_STOP_MDC_LOGGING: {
  ------------------
  |  |  197|      0|#define H5VL_NATIVE_FILE_STOP_MDC_LOGGING             15 /* H5Fstop_mdc_logging                  */
  ------------------
  |  Branch (563:9): [True: 0, False: 7]
  ------------------
  564|       |            /* Call mdc logging function */
  565|      0|            if (H5C_stop_logging(f->shared->cache) < 0)
  ------------------
  |  Branch (565:17): [True: 0, False: 0]
  ------------------
  566|      0|                HGOTO_ERROR(H5E_FILE, H5E_LOGGING, FAIL, "unable to stop mdc logging");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  567|       |
  568|      0|            break;
  569|      0|        }
  570|       |
  571|       |        /* H5Fget_mdc_logging_status */
  572|      0|        case H5VL_NATIVE_FILE_GET_MDC_LOGGING_STATUS: {
  ------------------
  |  |  198|      0|#define H5VL_NATIVE_FILE_GET_MDC_LOGGING_STATUS       16 /* H5Fget_mdc_logging_status            */
  ------------------
  |  Branch (572:9): [True: 0, False: 7]
  ------------------
  573|      0|            H5VL_native_file_get_mdc_logging_status_t *gmls_args = &opt_args->get_mdc_logging_status;
  574|       |
  575|       |            /* Call mdc logging function */
  576|      0|            if (H5C_get_logging_status(f->shared->cache, gmls_args->is_enabled,
  ------------------
  |  Branch (576:17): [True: 0, False: 0]
  ------------------
  577|      0|                                       gmls_args->is_currently_logging) < 0)
  578|      0|                HGOTO_ERROR(H5E_FILE, H5E_LOGGING, FAIL, "unable to get logging status");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  579|       |
  580|      0|            break;
  581|      0|        }
  582|       |
  583|       |        /* H5Fformat_convert */
  584|      0|        case H5VL_NATIVE_FILE_FORMAT_CONVERT: {
  ------------------
  |  |  199|      0|#define H5VL_NATIVE_FILE_FORMAT_CONVERT               17 /* H5Fformat_convert                    */
  ------------------
  |  Branch (584:9): [True: 0, False: 7]
  ------------------
  585|       |            /* Convert the format */
  586|      0|            if (H5F__format_convert(f) < 0)
  ------------------
  |  Branch (586:17): [True: 0, False: 0]
  ------------------
  587|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTCONVERT, FAIL, "can't convert file format");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  588|       |
  589|      0|            break;
  590|      0|        }
  591|       |
  592|       |        /* H5Freset_page_buffering_stats */
  593|      0|        case H5VL_NATIVE_FILE_RESET_PAGE_BUFFERING_STATS: {
  ------------------
  |  |  200|      0|#define H5VL_NATIVE_FILE_RESET_PAGE_BUFFERING_STATS   18 /* H5Freset_page_buffering_stats        */
  ------------------
  |  Branch (593:9): [True: 0, False: 7]
  ------------------
  594|       |            /* Sanity check */
  595|      0|            if (NULL == f->shared->page_buf)
  ------------------
  |  Branch (595:17): [True: 0, False: 0]
  ------------------
  596|      0|                HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "page buffering not enabled on file");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  597|       |
  598|       |            /* Reset the statistics */
  599|      0|            if (H5PB_reset_stats(f->shared->page_buf) < 0)
  ------------------
  |  Branch (599:17): [True: 0, False: 0]
  ------------------
  600|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "can't reset stats for page buffering");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  601|       |
  602|      0|            break;
  603|      0|        }
  604|       |
  605|       |        /* H5Fget_page_buffering_stats */
  606|      0|        case H5VL_NATIVE_FILE_GET_PAGE_BUFFERING_STATS: {
  ------------------
  |  |  201|      0|#define H5VL_NATIVE_FILE_GET_PAGE_BUFFERING_STATS     19 /* H5Fget_page_buffering_stats          */
  ------------------
  |  Branch (606:9): [True: 0, False: 7]
  ------------------
  607|      0|            H5VL_native_file_get_page_buffering_stats_t *gpbs_args = &opt_args->get_page_buffering_stats;
  608|       |
  609|       |            /* Sanity check */
  610|      0|            if (NULL == f->shared->page_buf)
  ------------------
  |  Branch (610:17): [True: 0, False: 0]
  ------------------
  611|      0|                HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "page buffering not enabled on file");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  612|       |
  613|       |            /* Get the statistics */
  614|      0|            if (H5PB_get_stats(f->shared->page_buf, gpbs_args->accesses, gpbs_args->hits, gpbs_args->misses,
  ------------------
  |  Branch (614:17): [True: 0, False: 0]
  ------------------
  615|      0|                               gpbs_args->evictions, gpbs_args->bypasses) < 0)
  616|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "can't retrieve stats for page buffering");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  617|       |
  618|      0|            break;
  619|      0|        }
  620|       |
  621|       |        /* H5Fget_mdc_image_info */
  622|      0|        case H5VL_NATIVE_FILE_GET_MDC_IMAGE_INFO: {
  ------------------
  |  |  202|      0|#define H5VL_NATIVE_FILE_GET_MDC_IMAGE_INFO           20 /* H5Fget_mdc_image_info                */
  ------------------
  |  Branch (622:9): [True: 0, False: 7]
  ------------------
  623|      0|            H5VL_native_file_get_mdc_image_info_t *gmii_args = &opt_args->get_mdc_image_info;
  624|       |
  625|       |            /* Go get the address and size of the cache image */
  626|      0|            if (H5AC_get_mdc_image_info(f->shared->cache, gmii_args->addr, gmii_args->len) < 0)
  ------------------
  |  Branch (626:17): [True: 0, False: 0]
  ------------------
  627|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "can't retrieve cache image info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  628|       |
  629|      0|            break;
  630|      0|        }
  631|       |
  632|       |        /* H5Fget_eoa */
  633|      0|        case H5VL_NATIVE_FILE_GET_EOA: {
  ------------------
  |  |  203|      0|#define H5VL_NATIVE_FILE_GET_EOA                      21 /* H5Fget_eoa                           */
  ------------------
  |  Branch (633:9): [True: 0, False: 7]
  ------------------
  634|      0|            haddr_t rel_eoa; /* Relative address of EOA */
  635|       |
  636|       |            /* This routine will work only for drivers with this feature enabled.*/
  637|       |            /* We might introduce a new feature flag in the future */
  638|      0|            if (!H5F_HAS_FEATURE(f, H5FD_FEAT_SUPPORTS_SWMR_IO))
  ------------------
  |  |  125|      0|#define H5F_HAS_FEATURE(F, FL)           (H5F_has_feature(F, FL))
  ------------------
  |  Branch (638:17): [True: 0, False: 0]
  ------------------
  639|      0|                HGOTO_ERROR(H5E_FILE, H5E_BADVALUE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  640|      0|                            "must use a SWMR-compatible VFD for this public routine");
  641|       |
  642|       |            /* The real work */
  643|      0|            if (HADDR_UNDEF == (rel_eoa = H5F_get_eoa(f, H5FD_MEM_DEFAULT)))
  ------------------
  |  |  336|      0|#define HADDR_UNDEF         UINT64_MAX
  ------------------
  |  Branch (643:17): [True: 0, False: 0]
  ------------------
  644|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "get_eoa request failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  645|       |
  646|       |            /* Set return value */
  647|       |            /* (Note compensating for base address subtraction in internal routine) */
  648|      0|            *opt_args->get_eoa.eoa = rel_eoa + H5F_get_base_addr(f);
  649|       |
  650|      0|            break;
  651|      0|        }
  652|       |
  653|       |        /* H5Fincrement_filesize */
  654|      0|        case H5VL_NATIVE_FILE_INCR_FILESIZE: {
  ------------------
  |  |  204|      0|#define H5VL_NATIVE_FILE_INCR_FILESIZE                22 /* H5Fincrement_filesize                */
  ------------------
  |  Branch (654:9): [True: 0, False: 7]
  ------------------
  655|      0|            haddr_t max_eof_eoa; /* Maximum of the relative EOA & EOF */
  656|       |
  657|       |            /* This public routine will work only for drivers with this feature enabled.*/
  658|       |            /* We might introduce a new feature flag in the future */
  659|      0|            if (!H5F_HAS_FEATURE(f, H5FD_FEAT_SUPPORTS_SWMR_IO))
  ------------------
  |  |  125|      0|#define H5F_HAS_FEATURE(F, FL)           (H5F_has_feature(F, FL))
  ------------------
  |  Branch (659:17): [True: 0, False: 0]
  ------------------
  660|      0|                HGOTO_ERROR(H5E_FILE, H5E_BADVALUE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  661|      0|                            "must use a SWMR-compatible VFD for this public routine");
  662|       |
  663|       |            /* Get the maximum of EOA and EOF */
  664|      0|            if (H5F__get_max_eof_eoa(f, &max_eof_eoa) < 0)
  ------------------
  |  Branch (664:17): [True: 0, False: 0]
  ------------------
  665|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "file can't get max eof/eoa ");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  666|       |
  667|       |            /* Set EOA to the maximum value + increment */
  668|      0|            if (H5F__set_eoa(f, H5FD_MEM_DEFAULT, max_eof_eoa + opt_args->increment_filesize.increment) < 0)
  ------------------
  |  Branch (668:17): [True: 0, False: 0]
  ------------------
  669|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "driver set_eoa request failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  670|       |
  671|      0|            break;
  672|      0|        }
  673|       |
  674|       |        /* H5Fset_latest_format, H5Fset_libver_bounds */
  675|      0|        case H5VL_NATIVE_FILE_SET_LIBVER_BOUNDS: {
  ------------------
  |  |  205|      0|#define H5VL_NATIVE_FILE_SET_LIBVER_BOUNDS            23 /* H5Fset_latest_format/libver_bounds   */
  ------------------
  |  Branch (675:9): [True: 0, False: 7]
  ------------------
  676|      0|            H5VL_native_file_set_libver_bounds_t *slb_args = &opt_args->set_libver_bounds;
  677|       |
  678|       |            /* Call internal set_libver_bounds function */
  679|      0|            if (H5F__set_libver_bounds(f, slb_args->low, slb_args->high) < 0)
  ------------------
  |  Branch (679:17): [True: 0, False: 0]
  ------------------
  680|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "cannot set low/high bounds");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  681|       |
  682|      0|            break;
  683|      0|        }
  684|       |
  685|       |        /* H5Fget_dset_no_attrs_hint */
  686|      0|        case H5VL_NATIVE_FILE_GET_MIN_DSET_OHDR_FLAG: {
  ------------------
  |  |  206|      0|#define H5VL_NATIVE_FILE_GET_MIN_DSET_OHDR_FLAG       24 /* H5Fget_dset_no_attrs_hint            */
  ------------------
  |  Branch (686:9): [True: 0, False: 7]
  ------------------
  687|      0|            *opt_args->get_min_dset_ohdr_flag.minimize = H5F_GET_MIN_DSET_OHDR(f);
  ------------------
  |  |  164|      0|#define H5F_GET_MIN_DSET_OHDR(F)       (H5F_get_min_dset_ohdr(F))
  ------------------
  688|       |
  689|      0|            break;
  690|      0|        }
  691|       |
  692|       |        /* H5Fset_dset_no_attrs_hint */
  693|      0|        case H5VL_NATIVE_FILE_SET_MIN_DSET_OHDR_FLAG: {
  ------------------
  |  |  207|      0|#define H5VL_NATIVE_FILE_SET_MIN_DSET_OHDR_FLAG       25 /* H5Fset_dset_no_attrs_hint            */
  ------------------
  |  Branch (693:9): [True: 0, False: 7]
  ------------------
  694|      0|            if (H5F_set_min_dset_ohdr(f, opt_args->set_min_dset_ohdr_flag.minimize) < 0)
  ------------------
  |  Branch (694:17): [True: 0, False: 0]
  ------------------
  695|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  696|      0|                            "cannot set file's dataset object header minimization flag");
  697|       |
  698|      0|            break;
  699|      0|        }
  700|       |
  701|       |#ifdef H5_HAVE_PARALLEL
  702|       |        /* H5Fget_mpi_atomicity */
  703|       |        case H5VL_NATIVE_FILE_GET_MPI_ATOMICITY: {
  704|       |            if (H5F__get_mpi_atomicity(f, opt_args->get_mpi_atomicity.flag) < 0)
  705|       |                HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "cannot get MPI atomicity");
  706|       |
  707|       |            break;
  708|       |        }
  709|       |
  710|       |        /* H5Fset_mpi_atomicity */
  711|       |        case H5VL_NATIVE_FILE_SET_MPI_ATOMICITY: {
  712|       |            if (H5F__set_mpi_atomicity(f, opt_args->set_mpi_atomicity.flag) < 0)
  713|       |                HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "cannot set MPI atomicity");
  714|       |
  715|       |            break;
  716|       |        }
  717|       |#endif /* H5_HAVE_PARALLEL */
  718|       |
  719|       |        /* Finalize H5Fopen */
  720|      7|        case H5VL_NATIVE_FILE_POST_OPEN: {
  ------------------
  |  |  212|      7|#define H5VL_NATIVE_FILE_POST_OPEN 28 /* Adjust file after open, with wrapping context */
  ------------------
  |  Branch (720:9): [True: 7, False: 0]
  ------------------
  721|       |            /* Call package routine */
  722|      7|            if (H5F__post_open(f) < 0)
  ------------------
  |  Branch (722:17): [True: 0, False: 7]
  ------------------
  723|      0|                HGOTO_ERROR(H5E_FILE, H5E_CANTINIT, FAIL, "can't finish opening file");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  724|      7|            break;
  725|      7|        }
  726|       |
  727|      7|        default:
  ------------------
  |  Branch (727:9): [True: 0, False: 7]
  ------------------
  728|      0|            HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, FAIL, "invalid optional operation");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  729|      7|    } /* end switch */
  730|       |
  731|      7|done:
  732|      7|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  733|      7|} /* end H5VL__native_file_optional() */
H5VL__native_file_close:
  747|      7|{
  748|      7|    int    nref;
  749|      7|    H5F_t *f         = (H5F_t *)file;
  750|      7|    hid_t  file_id   = H5I_INVALID_HID;
  ------------------
  |  |   75|      7|#define H5I_INVALID_HID (-1)
  ------------------
  751|      7|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      7|#define SUCCEED 0
  ------------------
  752|       |
  753|      7|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      7|    {                                                                                                        \
  |  | 1461|      7|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      7|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      7|                                                                                                             \
  |  |  |  | 1267|      7|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      7|        {
  ------------------
  754|       |
  755|       |    /* This routine should only be called when a file ID's ref count drops to zero */
  756|      7|    assert(f->shared == NULL || H5F_ID_EXISTS(f));
  757|       |
  758|      7|    if (f->shared == NULL)
  ------------------
  |  Branch (758:9): [True: 0, False: 7]
  ------------------
  759|      0|        f = H5FL_FREE(H5F_t, f);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  760|       |
  761|      7|    else {
  762|       |
  763|       |        /* Flush file if this is the last reference to this id and we have write
  764|       |         * intent, unless it will be flushed by the "shared" file being closed.
  765|       |         * This is only necessary to replicate previous behaviour, and could be
  766|       |         * disabled by an option/property to improve performance.
  767|       |         */
  768|      7|        if ((H5F_NREFS(f) > 1) && (H5F_INTENT(f) & H5F_ACC_RDWR)) {
  ------------------
  |  |  129|      7|#define H5F_NREFS(F)                     (H5F_get_nrefs(F))
  ------------------
                      if ((H5F_NREFS(f) > 1) && (H5F_INTENT(f) & H5F_ACC_RDWR)) {
  ------------------
  |  |  109|      0|#define H5F_INTENT(F)                    (H5F_get_intent(F))
  ------------------
                      if ((H5F_NREFS(f) > 1) && (H5F_INTENT(f) & H5F_ACC_RDWR)) {
  ------------------
  |  |   49|      0|#define H5F_ACC_RDWR   (H5CHECK H5OPEN 0x0001u) /**< Open for read and write    */
  ------------------
  |  Branch (768:13): [True: 0, False: 7]
  |  Branch (768:35): [True: 0, False: 0]
  ------------------
  769|       |            /* Get the file ID corresponding to the H5F_t struct */
  770|      0|            if (H5I_find_id(f, H5I_FILE, &file_id) < 0 || H5I_INVALID_HID == file_id)
  ------------------
  |  |   75|      0|#define H5I_INVALID_HID (-1)
  ------------------
  |  Branch (770:17): [True: 0, False: 0]
  |  Branch (770:59): [True: 0, False: 0]
  ------------------
  771|      0|                HGOTO_ERROR(H5E_ID, H5E_CANTGET, FAIL, "invalid ID");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  772|       |
  773|       |            /* Get the number of references outstanding for this file ID */
  774|      0|            if ((nref = H5I_get_ref(file_id, false)) < 0)
  ------------------
  |  Branch (774:17): [True: 0, False: 0]
  ------------------
  775|      0|                HGOTO_ERROR(H5E_ID, H5E_CANTGET, FAIL, "can't get ID ref count");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  776|      0|            if (nref == 1)
  ------------------
  |  Branch (776:17): [True: 0, False: 0]
  ------------------
  777|      0|                if (H5F__flush(f) < 0)
  ------------------
  |  Branch (777:21): [True: 0, False: 0]
  ------------------
  778|      0|                    HGOTO_ERROR(H5E_FILE, H5E_CANTFLUSH, FAIL, "unable to flush cache");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  779|      0|        } /* end if */
  780|       |
  781|       |        /* Close the file */
  782|      7|        if (H5F__close(f) < 0)
  ------------------
  |  Branch (782:13): [True: 0, False: 7]
  ------------------
  783|      0|            HGOTO_ERROR(H5E_FILE, H5E_CANTDEC, FAIL, "can't close file");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  784|      7|    }
  785|       |
  786|      7|done:
  787|      7|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  788|      7|} /* end H5VL__native_file_close() */

H5VL__native_group_open:
  140|      8|{
  141|      8|    H5G_loc_t loc;        /* Location to open group   */
  142|      8|    H5G_t    *grp = NULL; /* New group opened         */
  143|      8|    void     *ret_value;
  144|       |
  145|      8|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      8|    {                                                                                                        \
  |  | 1461|      8|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      8|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      8|                                                                                                             \
  |  |  |  | 1267|      8|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      8|        {
  ------------------
  146|       |
  147|       |    /* Set up the location */
  148|      8|    if (H5G_loc_real(obj, loc_params->obj_type, &loc) < 0)
  ------------------
  |  Branch (148:9): [True: 0, False: 8]
  ------------------
  149|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "not a file or file object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  150|       |
  151|       |    /* Open the group */
  152|      8|    if ((grp = H5G__open_name(&loc, name)) == NULL)
  ------------------
  |  Branch (152:9): [True: 0, False: 8]
  ------------------
  153|      0|        HGOTO_ERROR(H5E_SYM, H5E_CANTOPENOBJ, NULL, "unable to open group");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  154|       |
  155|      8|    ret_value = (void *)grp;
  156|       |
  157|      8|done:
  158|      8|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      8|    ;                                                                                                        \
  |  | 1573|      8|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      8|    return (ret_value);                                                                                      \
  |  | 1575|      8|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  159|      8|} /* end H5VL__native_group_open() */
H5VL__native_group_get:
  173|      7|{
  174|      7|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      7|#define SUCCEED 0
  ------------------
  175|       |
  176|      7|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      7|    {                                                                                                        \
  |  | 1461|      7|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      7|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      7|                                                                                                             \
  |  |  |  | 1267|      7|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      7|        {
  ------------------
  177|       |
  178|      7|    switch (args->op_type) {
  179|       |        /* H5Gget_create_plist */
  180|      0|        case H5VL_GROUP_GET_GCPL: {
  ------------------
  |  Branch (180:9): [True: 0, False: 7]
  ------------------
  181|      0|            if ((args->args.get_gcpl.gcpl_id = H5G_get_create_plist((H5G_t *)obj)) < 0)
  ------------------
  |  Branch (181:17): [True: 0, False: 0]
  ------------------
  182|      0|                HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "can't get creation property list for group");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  183|       |
  184|      0|            break;
  185|      0|        }
  186|       |
  187|       |        /* H5Gget_info */
  188|      7|        case H5VL_GROUP_GET_INFO: {
  ------------------
  |  Branch (188:9): [True: 7, False: 0]
  ------------------
  189|      7|            H5VL_group_get_info_args_t *get_info_args = &args->args.get_info;
  190|      7|            H5G_loc_t                   loc;
  191|       |
  192|      7|            if (H5G_loc_real(obj, get_info_args->loc_params.obj_type, &loc) < 0)
  ------------------
  |  Branch (192:17): [True: 0, False: 7]
  ------------------
  193|      0|                HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a file or file object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  194|       |
  195|      7|            if (get_info_args->loc_params.type == H5VL_OBJECT_BY_SELF) {
  ------------------
  |  Branch (195:17): [True: 7, False: 0]
  ------------------
  196|       |                /* H5Gget_info */
  197|       |
  198|       |                /* Retrieve the group's information */
  199|      7|                if (H5G__obj_info(loc.oloc, get_info_args->ginfo) < 0)
  ------------------
  |  Branch (199:21): [True: 1, False: 6]
  ------------------
  200|      1|                    HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "can't retrieve group info");
  ------------------
  |  |   68|      1|    do {                                                                                                     \
  |  |   69|      1|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      1|    do {                                                                                                     \
  |  |  |  |   40|      1|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      1|    do {                                                                                                     \
  |  |  |  |  |  |   31|      1|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      1|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      1|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      1|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      1|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      1|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      1|    do {                                                                                                     \
  |  |  |  |   92|      1|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      1|        goto done;                                                                                           \
  |  |  |  |   94|      1|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      1|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  201|      7|            } /* end if */
  202|      0|            else if (get_info_args->loc_params.type == H5VL_OBJECT_BY_NAME) {
  ------------------
  |  Branch (202:22): [True: 0, False: 0]
  ------------------
  203|       |                /* H5Gget_info_by_name */
  204|       |
  205|       |                /* Retrieve the group's information */
  206|      0|                if (H5G__get_info_by_name(&loc, get_info_args->loc_params.loc_data.loc_by_name.name,
  ------------------
  |  Branch (206:21): [True: 0, False: 0]
  ------------------
  207|      0|                                          get_info_args->ginfo) < 0)
  208|      0|                    HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "can't retrieve group info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  209|      0|            } /* end else-if */
  210|      0|            else if (get_info_args->loc_params.type == H5VL_OBJECT_BY_IDX) {
  ------------------
  |  Branch (210:22): [True: 0, False: 0]
  ------------------
  211|       |                /* H5Gget_info_by_idx */
  212|       |
  213|       |                /* Retrieve the group's information */
  214|      0|                if (H5G__get_info_by_idx(&loc, get_info_args->loc_params.loc_data.loc_by_idx.name,
  ------------------
  |  Branch (214:21): [True: 0, False: 0]
  ------------------
  215|      0|                                         get_info_args->loc_params.loc_data.loc_by_idx.idx_type,
  216|      0|                                         get_info_args->loc_params.loc_data.loc_by_idx.order,
  217|      0|                                         get_info_args->loc_params.loc_data.loc_by_idx.n,
  218|      0|                                         get_info_args->ginfo) < 0)
  219|      0|                    HGOTO_ERROR(H5E_SYM, H5E_CANTGET, FAIL, "can't retrieve group info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  220|      0|            } /* end else-if */
  221|      0|            else
  222|      0|                HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, FAIL, "unknown get info parameters");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  223|      6|            break;
  224|      7|        }
  225|       |
  226|      6|        default:
  ------------------
  |  Branch (226:9): [True: 0, False: 7]
  ------------------
  227|      0|            HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "can't get this type of information from group");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  228|      7|    } /* end switch */
  229|       |
  230|      7|done:
  231|      7|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  232|      7|} /* end H5VL__native_group_get() */
H5VL__native_group_close:
  392|     84|{
  393|     84|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     84|#define SUCCEED 0
  ------------------
  394|       |
  395|     84|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     84|    {                                                                                                        \
  |  | 1461|     84|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     84|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     84|                                                                                                             \
  |  |  |  | 1267|     84|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     84|        {
  ------------------
  396|       |
  397|     84|    if (H5G_close((H5G_t *)grp) < 0)
  ------------------
  |  Branch (397:9): [True: 0, False: 84]
  ------------------
  398|      0|        HGOTO_ERROR(H5E_SYM, H5E_CLOSEERROR, FAIL, "can't close group");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  399|       |
  400|     84|done:
  401|     84|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     84|    ;                                                                                                        \
  |  | 1573|     84|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     84|    return (ret_value);                                                                                      \
  |  | 1575|     84|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  402|     84|} /* end H5VL__native_group_close() */

H5VL__native_introspect_opt_query:
   72|      7|{
   73|      7|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      7|#define SUCCEED 0
  ------------------
   74|       |
   75|      7|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|      7|    {                                                                                                        \
  |  | 1461|      7|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|      7|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      7|                                                                                                             \
  |  |  |  | 1267|      7|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|      7|        {
  ------------------
   76|       |
   77|       |    /* Sanity check */
   78|      7|    assert(flags);
   79|       |
   80|       |    /* The native VOL connector supports all optional operations */
   81|      7|    *flags = H5VL_OPT_QUERY_SUPPORTED;
  ------------------
  |  |  119|      7|#define H5VL_OPT_QUERY_SUPPORTED       0x0001 /**< VOL connector supports this operation */
  ------------------
   82|       |
   83|       |    /* Set appropriate flags for each operation in each subclass */
   84|      7|    switch (subcls) {
   85|      0|        case H5VL_SUBCLS_NONE:
  ------------------
  |  Branch (85:9): [True: 0, False: 7]
  ------------------
   86|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unknown optional 'none' operation");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   87|       |
   88|      0|        case H5VL_SUBCLS_INFO:
  ------------------
  |  Branch (88:9): [True: 0, False: 7]
  ------------------
   89|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unknown optional info operation");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   90|       |
   91|      0|        case H5VL_SUBCLS_WRAP:
  ------------------
  |  Branch (91:9): [True: 0, False: 7]
  ------------------
   92|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unknown optional wrapper operation");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   93|       |
   94|      0|        case H5VL_SUBCLS_ATTR:
  ------------------
  |  Branch (94:9): [True: 0, False: 7]
  ------------------
   95|      0|            switch (opt_type) {
   96|       |#ifndef H5_NO_DEPRECATED_SYMBOLS
   97|       |                case H5VL_NATIVE_ATTR_ITERATE_OLD:
   98|       |                    /* Don't allow asynchronous execution, due to iterator callbacks */
   99|       |                    *flags |= H5VL_OPT_QUERY_NO_ASYNC;
  100|       |                    break;
  101|       |#endif /* H5_NO_DEPRECATED_SYMBOLS */
  102|       |
  103|      0|                default:
  ------------------
  |  Branch (103:17): [True: 0, False: 0]
  ------------------
  104|      0|                    HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unknown optional attribute operation");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  105|      0|                    break;
  106|      0|            } /* end switch */
  107|      0|            break;
  108|       |
  109|      0|        case H5VL_SUBCLS_DATASET:
  ------------------
  |  Branch (109:9): [True: 0, False: 7]
  ------------------
  110|      0|            switch (opt_type) {
  111|      0|                case H5VL_NATIVE_DATASET_FORMAT_CONVERT:
  ------------------
  |  |   67|      0|#define H5VL_NATIVE_DATASET_FORMAT_CONVERT          0  /* H5Dformat_convert (internal) */
  ------------------
  |  Branch (111:17): [True: 0, False: 0]
  ------------------
  112|      0|                    *flags |= H5VL_OPT_QUERY_MODIFY_METADATA;
  ------------------
  |  |  123|      0|#define H5VL_OPT_QUERY_MODIFY_METADATA 0x0010 /**< Operation modifies metadata for object */
  ------------------
  113|      0|                    break;
  114|       |
  115|      0|                case H5VL_NATIVE_DATASET_GET_CHUNK_INDEX_TYPE:
  ------------------
  |  |   68|      0|#define H5VL_NATIVE_DATASET_GET_CHUNK_INDEX_TYPE    1  /* H5Dget_chunk_index_type      */
  ------------------
  |  Branch (115:17): [True: 0, False: 0]
  ------------------
  116|      0|                case H5VL_NATIVE_DATASET_GET_CHUNK_STORAGE_SIZE:
  ------------------
  |  |   69|      0|#define H5VL_NATIVE_DATASET_GET_CHUNK_STORAGE_SIZE  2  /* H5Dget_chunk_storage_size    */
  ------------------
  |  Branch (116:17): [True: 0, False: 0]
  ------------------
  117|      0|                case H5VL_NATIVE_DATASET_GET_NUM_CHUNKS:
  ------------------
  |  |   70|      0|#define H5VL_NATIVE_DATASET_GET_NUM_CHUNKS          3  /* H5Dget_num_chunks            */
  ------------------
  |  Branch (117:17): [True: 0, False: 0]
  ------------------
  118|      0|                case H5VL_NATIVE_DATASET_GET_CHUNK_INFO_BY_IDX:
  ------------------
  |  |   71|      0|#define H5VL_NATIVE_DATASET_GET_CHUNK_INFO_BY_IDX   4  /* H5Dget_chunk_info            */
  ------------------
  |  Branch (118:17): [True: 0, False: 0]
  ------------------
  119|      0|                case H5VL_NATIVE_DATASET_GET_CHUNK_INFO_BY_COORD:
  ------------------
  |  |   72|      0|#define H5VL_NATIVE_DATASET_GET_CHUNK_INFO_BY_COORD 5  /* H5Dget_chunk_info_by_coord   */
  ------------------
  |  Branch (119:17): [True: 0, False: 0]
  ------------------
  120|      0|                case H5VL_NATIVE_DATASET_GET_VLEN_BUF_SIZE:
  ------------------
  |  |   75|      0|#define H5VL_NATIVE_DATASET_GET_VLEN_BUF_SIZE       8  /* H5Dvlen_get_buf_size         */
  ------------------
  |  Branch (120:17): [True: 0, False: 0]
  ------------------
  121|      0|                case H5VL_NATIVE_DATASET_GET_OFFSET:
  ------------------
  |  |   76|      0|#define H5VL_NATIVE_DATASET_GET_OFFSET              9  /* H5Dget_offset                */
  ------------------
  |  Branch (121:17): [True: 0, False: 0]
  ------------------
  122|      0|                    *flags |= H5VL_OPT_QUERY_QUERY_METADATA;
  ------------------
  |  |  122|      0|#define H5VL_OPT_QUERY_QUERY_METADATA  0x0008 /**< Operation reads metadata for object */
  ------------------
  123|      0|                    break;
  124|       |
  125|      0|                case H5VL_NATIVE_DATASET_CHUNK_READ:
  ------------------
  |  |   73|      0|#define H5VL_NATIVE_DATASET_CHUNK_READ              6  /* H5Dchunk_read                */
  ------------------
  |  Branch (125:17): [True: 0, False: 0]
  ------------------
  126|      0|                    *flags |= H5VL_OPT_QUERY_READ_DATA;
  ------------------
  |  |  120|      0|#define H5VL_OPT_QUERY_READ_DATA       0x0002 /**< Operation reads data for object */
  ------------------
  127|      0|                    break;
  128|       |
  129|      0|                case H5VL_NATIVE_DATASET_CHUNK_WRITE:
  ------------------
  |  |   74|      0|#define H5VL_NATIVE_DATASET_CHUNK_WRITE             7  /* H5Dchunk_write               */
  ------------------
  |  Branch (129:17): [True: 0, False: 0]
  ------------------
  130|      0|                    *flags |= H5VL_OPT_QUERY_WRITE_DATA;
  ------------------
  |  |  121|      0|#define H5VL_OPT_QUERY_WRITE_DATA      0x0004 /**< Operation writes data for object */
  ------------------
  131|      0|                    break;
  132|       |
  133|      0|                default:
  ------------------
  |  Branch (133:17): [True: 0, False: 0]
  ------------------
  134|      0|                    HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unknown optional dataset operation");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  135|      0|                    break;
  136|      0|            } /* end switch */
  137|      0|            break;
  138|       |
  139|      0|        case H5VL_SUBCLS_DATATYPE:
  ------------------
  |  Branch (139:9): [True: 0, False: 7]
  ------------------
  140|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unknown optional datatype operation");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  141|       |
  142|      7|        case H5VL_SUBCLS_FILE:
  ------------------
  |  Branch (142:9): [True: 7, False: 0]
  ------------------
  143|      7|            switch (opt_type) {
  144|      0|                case H5VL_NATIVE_FILE_CLEAR_ELINK_CACHE:
  ------------------
  |  |  182|      0|#define H5VL_NATIVE_FILE_CLEAR_ELINK_CACHE            0  /* H5Fclear_elink_file_cache            */
  ------------------
  |  Branch (144:17): [True: 0, False: 7]
  ------------------
  145|      0|                case H5VL_NATIVE_FILE_RESET_MDC_HIT_RATE:
  ------------------
  |  |  192|      0|#define H5VL_NATIVE_FILE_RESET_MDC_HIT_RATE           10 /* H5Freset_mdc_hit_rate_stats          */
  ------------------
  |  Branch (145:17): [True: 0, False: 7]
  ------------------
  146|      0|                case H5VL_NATIVE_FILE_SET_MDC_CONFIG:
  ------------------
  |  |  193|      0|#define H5VL_NATIVE_FILE_SET_MDC_CONFIG               11 /* H5Fset_mdc_config                    */
  ------------------
  |  Branch (146:17): [True: 0, False: 7]
  ------------------
  147|      0|                    *flags |= H5VL_OPT_QUERY_MODIFY_METADATA;
  ------------------
  |  |  123|      0|#define H5VL_OPT_QUERY_MODIFY_METADATA 0x0010 /**< Operation modifies metadata for object */
  ------------------
  148|      0|                    break;
  149|       |
  150|      0|                case H5VL_NATIVE_FILE_GET_FILE_IMAGE:
  ------------------
  |  |  183|      0|#define H5VL_NATIVE_FILE_GET_FILE_IMAGE               1  /* H5Fget_file_image                    */
  ------------------
  |  Branch (150:17): [True: 0, False: 7]
  ------------------
  151|      0|                    *flags |= H5VL_OPT_QUERY_QUERY_METADATA;
  ------------------
  |  |  122|      0|#define H5VL_OPT_QUERY_QUERY_METADATA  0x0008 /**< Operation reads metadata for object */
  ------------------
  152|      0|                    *flags |= H5VL_OPT_QUERY_READ_DATA;
  ------------------
  |  |  120|      0|#define H5VL_OPT_QUERY_READ_DATA       0x0002 /**< Operation reads data for object */
  ------------------
  153|      0|                    break;
  154|       |
  155|      0|                case H5VL_NATIVE_FILE_GET_FREE_SECTIONS:
  ------------------
  |  |  184|      0|#define H5VL_NATIVE_FILE_GET_FREE_SECTIONS            2  /* H5Fget_free_sections                 */
  ------------------
  |  Branch (155:17): [True: 0, False: 7]
  ------------------
  156|      0|                case H5VL_NATIVE_FILE_GET_FREE_SPACE:
  ------------------
  |  |  185|      0|#define H5VL_NATIVE_FILE_GET_FREE_SPACE               3  /* H5Fget_freespace                     */
  ------------------
  |  Branch (156:17): [True: 0, False: 7]
  ------------------
  157|      0|                case H5VL_NATIVE_FILE_GET_INFO:
  ------------------
  |  |  186|      0|#define H5VL_NATIVE_FILE_GET_INFO                     4  /* H5Fget_info1/2                       */
  ------------------
  |  Branch (157:17): [True: 0, False: 7]
  ------------------
  158|      0|                case H5VL_NATIVE_FILE_GET_MDC_CONF:
  ------------------
  |  |  187|      0|#define H5VL_NATIVE_FILE_GET_MDC_CONF                 5  /* H5Fget_mdc_config                    */
  ------------------
  |  Branch (158:17): [True: 0, False: 7]
  ------------------
  159|      0|                case H5VL_NATIVE_FILE_GET_MDC_HR:
  ------------------
  |  |  188|      0|#define H5VL_NATIVE_FILE_GET_MDC_HR                   6  /* H5Fget_mdc_hit_rate                  */
  ------------------
  |  Branch (159:17): [True: 0, False: 7]
  ------------------
  160|      0|                case H5VL_NATIVE_FILE_GET_MDC_SIZE:
  ------------------
  |  |  189|      0|#define H5VL_NATIVE_FILE_GET_MDC_SIZE                 7  /* H5Fget_mdc_size                      */
  ------------------
  |  Branch (160:17): [True: 0, False: 7]
  ------------------
  161|      0|                case H5VL_NATIVE_FILE_GET_SIZE:
  ------------------
  |  |  190|      0|#define H5VL_NATIVE_FILE_GET_SIZE                     8  /* H5Fget_filesize                      */
  ------------------
  |  Branch (161:17): [True: 0, False: 7]
  ------------------
  162|      0|                case H5VL_NATIVE_FILE_GET_VFD_HANDLE:
  ------------------
  |  |  191|      0|#define H5VL_NATIVE_FILE_GET_VFD_HANDLE               9  /* H5Fget_vfd_handle                    */
  ------------------
  |  Branch (162:17): [True: 0, False: 7]
  ------------------
  163|      0|                case H5VL_NATIVE_FILE_GET_METADATA_READ_RETRY_INFO:
  ------------------
  |  |  194|      0|#define H5VL_NATIVE_FILE_GET_METADATA_READ_RETRY_INFO 12 /* H5Fget_metadata_read_retry_info      */
  ------------------
  |  Branch (163:17): [True: 0, False: 7]
  ------------------
  164|      0|                    *flags |= H5VL_OPT_QUERY_QUERY_METADATA;
  ------------------
  |  |  122|      0|#define H5VL_OPT_QUERY_QUERY_METADATA  0x0008 /**< Operation reads metadata for object */
  ------------------
  165|      0|                    break;
  166|       |
  167|      0|                case H5VL_NATIVE_FILE_START_SWMR_WRITE:
  ------------------
  |  |  195|      0|#define H5VL_NATIVE_FILE_START_SWMR_WRITE             13 /* H5Fstart_swmr_write                  */
  ------------------
  |  Branch (167:17): [True: 0, False: 7]
  ------------------
  168|      0|                    *flags |= H5VL_OPT_QUERY_MODIFY_METADATA;
  ------------------
  |  |  123|      0|#define H5VL_OPT_QUERY_MODIFY_METADATA 0x0010 /**< Operation modifies metadata for object */
  ------------------
  169|      0|                    *flags |= H5VL_OPT_QUERY_WRITE_DATA;
  ------------------
  |  |  121|      0|#define H5VL_OPT_QUERY_WRITE_DATA      0x0004 /**< Operation writes data for object */
  ------------------
  170|      0|                    *flags |= H5VL_OPT_QUERY_NO_ASYNC;
  ------------------
  |  |  126|      0|#define H5VL_OPT_QUERY_NO_ASYNC  0x0040 /**< Operation may NOT be executed asynchronously */
  ------------------
  171|      0|                    break;
  172|       |
  173|      0|                case H5VL_NATIVE_FILE_START_MDC_LOGGING:
  ------------------
  |  |  196|      0|#define H5VL_NATIVE_FILE_START_MDC_LOGGING            14 /* H5Fstart_mdc_logging                 */
  ------------------
  |  Branch (173:17): [True: 0, False: 7]
  ------------------
  174|      0|                case H5VL_NATIVE_FILE_STOP_MDC_LOGGING:
  ------------------
  |  |  197|      0|#define H5VL_NATIVE_FILE_STOP_MDC_LOGGING             15 /* H5Fstop_mdc_logging                  */
  ------------------
  |  Branch (174:17): [True: 0, False: 7]
  ------------------
  175|      0|                case H5VL_NATIVE_FILE_GET_MDC_LOGGING_STATUS:
  ------------------
  |  |  198|      0|#define H5VL_NATIVE_FILE_GET_MDC_LOGGING_STATUS       16 /* H5Fget_mdc_logging_status            */
  ------------------
  |  Branch (175:17): [True: 0, False: 7]
  ------------------
  176|      0|                case H5VL_NATIVE_FILE_FORMAT_CONVERT:
  ------------------
  |  |  199|      0|#define H5VL_NATIVE_FILE_FORMAT_CONVERT               17 /* H5Fformat_convert                    */
  ------------------
  |  Branch (176:17): [True: 0, False: 7]
  ------------------
  177|      0|                case H5VL_NATIVE_FILE_RESET_PAGE_BUFFERING_STATS:
  ------------------
  |  |  200|      0|#define H5VL_NATIVE_FILE_RESET_PAGE_BUFFERING_STATS   18 /* H5Freset_page_buffering_stats        */
  ------------------
  |  Branch (177:17): [True: 0, False: 7]
  ------------------
  178|      0|                case H5VL_NATIVE_FILE_GET_PAGE_BUFFERING_STATS:
  ------------------
  |  |  201|      0|#define H5VL_NATIVE_FILE_GET_PAGE_BUFFERING_STATS     19 /* H5Fget_page_buffering_stats          */
  ------------------
  |  Branch (178:17): [True: 0, False: 7]
  ------------------
  179|      0|                case H5VL_NATIVE_FILE_GET_MDC_IMAGE_INFO:
  ------------------
  |  |  202|      0|#define H5VL_NATIVE_FILE_GET_MDC_IMAGE_INFO           20 /* H5Fget_mdc_image_info                */
  ------------------
  |  Branch (179:17): [True: 0, False: 7]
  ------------------
  180|      0|                case H5VL_NATIVE_FILE_GET_EOA:
  ------------------
  |  |  203|      0|#define H5VL_NATIVE_FILE_GET_EOA                      21 /* H5Fget_eoa                           */
  ------------------
  |  Branch (180:17): [True: 0, False: 7]
  ------------------
  181|      0|                case H5VL_NATIVE_FILE_INCR_FILESIZE:
  ------------------
  |  |  204|      0|#define H5VL_NATIVE_FILE_INCR_FILESIZE                22 /* H5Fincrement_filesize                */
  ------------------
  |  Branch (181:17): [True: 0, False: 7]
  ------------------
  182|      0|                case H5VL_NATIVE_FILE_SET_LIBVER_BOUNDS:
  ------------------
  |  |  205|      0|#define H5VL_NATIVE_FILE_SET_LIBVER_BOUNDS            23 /* H5Fset_latest_format/libver_bounds   */
  ------------------
  |  Branch (182:17): [True: 0, False: 7]
  ------------------
  183|      0|                case H5VL_NATIVE_FILE_GET_MIN_DSET_OHDR_FLAG:
  ------------------
  |  |  206|      0|#define H5VL_NATIVE_FILE_GET_MIN_DSET_OHDR_FLAG       24 /* H5Fget_dset_no_attrs_hint            */
  ------------------
  |  Branch (183:17): [True: 0, False: 7]
  ------------------
  184|      0|                case H5VL_NATIVE_FILE_SET_MIN_DSET_OHDR_FLAG:
  ------------------
  |  |  207|      0|#define H5VL_NATIVE_FILE_SET_MIN_DSET_OHDR_FLAG       25 /* H5Fset_dset_no_attrs_hint            */
  ------------------
  |  Branch (184:17): [True: 0, False: 7]
  ------------------
  185|       |#ifdef H5_HAVE_PARALLEL
  186|       |                case H5VL_NATIVE_FILE_GET_MPI_ATOMICITY:
  187|       |                case H5VL_NATIVE_FILE_SET_MPI_ATOMICITY:
  188|       |#endif /* H5_HAVE_PARALLEL */
  189|      7|                case H5VL_NATIVE_FILE_POST_OPEN:
  ------------------
  |  |  212|      7|#define H5VL_NATIVE_FILE_POST_OPEN 28 /* Adjust file after open, with wrapping context */
  ------------------
  |  Branch (189:17): [True: 7, False: 0]
  ------------------
  190|      7|                    break;
  191|       |
  192|      0|                default:
  ------------------
  |  Branch (192:17): [True: 0, False: 7]
  ------------------
  193|      0|                    HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unknown optional file operation");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  194|      0|                    break;
  195|      7|            } /* end switch */
  196|      7|            break;
  197|       |
  198|      7|        case H5VL_SUBCLS_GROUP:
  ------------------
  |  Branch (198:9): [True: 0, False: 7]
  ------------------
  199|      0|            switch (opt_type) {
  200|       |#ifndef H5_NO_DEPRECATED_SYMBOLS
  201|       |                case H5VL_NATIVE_GROUP_ITERATE_OLD:
  202|       |                    /* Don't allow asynchronous execution, due to iterator callbacks */
  203|       |                    *flags |= H5VL_OPT_QUERY_NO_ASYNC;
  204|       |                    break;
  205|       |
  206|       |                case H5VL_NATIVE_GROUP_GET_OBJINFO:
  207|       |                    *flags |= H5VL_OPT_QUERY_QUERY_METADATA;
  208|       |                    break;
  209|       |#endif /* H5_NO_DEPRECATED_SYMBOLS */
  210|       |
  211|      0|                default:
  ------------------
  |  Branch (211:17): [True: 0, False: 0]
  ------------------
  212|      0|                    HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unknown optional group operation");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  213|      0|                    break;
  214|      0|            } /* end switch */
  215|      0|            break;
  216|       |
  217|      0|        case H5VL_SUBCLS_LINK:
  ------------------
  |  Branch (217:9): [True: 0, False: 7]
  ------------------
  218|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unknown optional link operation");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  219|       |
  220|      0|        case H5VL_SUBCLS_OBJECT:
  ------------------
  |  Branch (220:9): [True: 0, False: 7]
  ------------------
  221|      0|            switch (opt_type) {
  222|      0|                case H5VL_NATIVE_OBJECT_GET_COMMENT:
  ------------------
  |  |  441|      0|#define H5VL_NATIVE_OBJECT_GET_COMMENT              0 /* H5G|H5Oget_comment, H5Oget_comment_by_name   */
  ------------------
  |  Branch (222:17): [True: 0, False: 0]
  ------------------
  223|      0|                    *flags |= H5VL_OPT_QUERY_QUERY_METADATA;
  ------------------
  |  |  122|      0|#define H5VL_OPT_QUERY_QUERY_METADATA  0x0008 /**< Operation reads metadata for object */
  ------------------
  224|      0|                    break;
  225|       |
  226|      0|                case H5VL_NATIVE_OBJECT_SET_COMMENT:
  ------------------
  |  |  442|      0|#define H5VL_NATIVE_OBJECT_SET_COMMENT              1 /* H5G|H5Oset_comment, H5Oset_comment_by_name   */
  ------------------
  |  Branch (226:17): [True: 0, False: 0]
  ------------------
  227|      0|                    *flags |= H5VL_OPT_QUERY_MODIFY_METADATA;
  ------------------
  |  |  123|      0|#define H5VL_OPT_QUERY_MODIFY_METADATA 0x0010 /**< Operation modifies metadata for object */
  ------------------
  228|      0|                    break;
  229|       |
  230|      0|                case H5VL_NATIVE_OBJECT_DISABLE_MDC_FLUSHES:
  ------------------
  |  |  443|      0|#define H5VL_NATIVE_OBJECT_DISABLE_MDC_FLUSHES      2 /* H5Odisable_mdc_flushes                       */
  ------------------
  |  Branch (230:17): [True: 0, False: 0]
  ------------------
  231|      0|                case H5VL_NATIVE_OBJECT_ENABLE_MDC_FLUSHES:
  ------------------
  |  |  444|      0|#define H5VL_NATIVE_OBJECT_ENABLE_MDC_FLUSHES       3 /* H5Oenable_mdc_flushes                        */
  ------------------
  |  Branch (231:17): [True: 0, False: 0]
  ------------------
  232|      0|                case H5VL_NATIVE_OBJECT_ARE_MDC_FLUSHES_DISABLED:
  ------------------
  |  |  445|      0|#define H5VL_NATIVE_OBJECT_ARE_MDC_FLUSHES_DISABLED 4 /* H5Oare_mdc_flushes_disabled                  */
  ------------------
  |  Branch (232:17): [True: 0, False: 0]
  ------------------
  233|      0|                    break;
  234|       |
  235|      0|                case H5VL_NATIVE_OBJECT_GET_NATIVE_INFO:
  ------------------
  |  |  446|      0|#define H5VL_NATIVE_OBJECT_GET_NATIVE_INFO          5 /* H5Oget_native_info(_by_idx, _by_name)        */
  ------------------
  |  Branch (235:17): [True: 0, False: 0]
  ------------------
  236|      0|                    *flags |= H5VL_OPT_QUERY_QUERY_METADATA;
  ------------------
  |  |  122|      0|#define H5VL_OPT_QUERY_QUERY_METADATA  0x0008 /**< Operation reads metadata for object */
  ------------------
  237|      0|                    break;
  238|       |
  239|      0|                default:
  ------------------
  |  Branch (239:17): [True: 0, False: 0]
  ------------------
  240|      0|                    HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unknown optional object operation");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  241|      0|                    break;
  242|      0|            } /* end switch */
  243|      0|            break;
  244|       |
  245|      0|        case H5VL_SUBCLS_REQUEST:
  ------------------
  |  Branch (245:9): [True: 0, False: 7]
  ------------------
  246|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unknown optional request operation");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  247|       |
  248|      0|        case H5VL_SUBCLS_BLOB:
  ------------------
  |  Branch (248:9): [True: 0, False: 7]
  ------------------
  249|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unknown optional blob operation");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  250|       |
  251|      0|        case H5VL_SUBCLS_TOKEN:
  ------------------
  |  Branch (251:9): [True: 0, False: 7]
  ------------------
  252|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unknown optional token operation");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  253|       |
  254|      0|        default:
  ------------------
  |  Branch (254:9): [True: 0, False: 7]
  ------------------
  255|      0|            HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "unknown H5VL subclass");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  256|      7|    } /* end switch */
  257|       |
  258|      7|done:
  259|      7|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  260|      7|} /* end H5VL__native_introspect_opt_query() */

H5VL__native_link_get:
  246|    138|{
  247|    138|    H5G_loc_t loc;
  248|    138|    herr_t    ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|    138|#define SUCCEED 0
  ------------------
  249|       |
  250|    138|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|    138|    {                                                                                                        \
  |  | 1461|    138|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|    138|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    138|                                                                                                             \
  |  |  |  | 1267|    138|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|    138|        {
  ------------------
  251|       |
  252|    138|    if (H5G_loc_real(obj, loc_params->obj_type, &loc) < 0)
  ------------------
  |  Branch (252:9): [True: 0, False: 138]
  ------------------
  253|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a file or file object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  254|       |
  255|    138|    switch (args->op_type) {
  256|       |        /* H5Lget_info/H5Lget_info_by_idx */
  257|      0|        case H5VL_LINK_GET_INFO: {
  ------------------
  |  Branch (257:9): [True: 0, False: 138]
  ------------------
  258|       |            /* Get the link information */
  259|      0|            if (loc_params->type == H5VL_OBJECT_BY_NAME) {
  ------------------
  |  Branch (259:17): [True: 0, False: 0]
  ------------------
  260|      0|                if (H5L_get_info(&loc, loc_params->loc_data.loc_by_name.name, args->args.get_info.linfo) < 0)
  ------------------
  |  Branch (260:21): [True: 0, False: 0]
  ------------------
  261|      0|                    HGOTO_ERROR(H5E_LINK, H5E_NOTFOUND, FAIL, "unable to get link info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  262|      0|            } /* end if */
  263|      0|            else if (loc_params->type == H5VL_OBJECT_BY_IDX) {
  ------------------
  |  Branch (263:22): [True: 0, False: 0]
  ------------------
  264|      0|                if (H5L__get_info_by_idx(&loc, loc_params->loc_data.loc_by_idx.name,
  ------------------
  |  Branch (264:21): [True: 0, False: 0]
  ------------------
  265|      0|                                         loc_params->loc_data.loc_by_idx.idx_type,
  266|      0|                                         loc_params->loc_data.loc_by_idx.order,
  267|      0|                                         loc_params->loc_data.loc_by_idx.n, args->args.get_info.linfo) < 0)
  268|      0|                    HGOTO_ERROR(H5E_LINK, H5E_NOTFOUND, FAIL, "unable to get link info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  269|      0|            } /* end else-if */
  270|      0|            else
  271|      0|                HGOTO_ERROR(H5E_LINK, H5E_NOTFOUND, FAIL, "unable to get link info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  272|       |
  273|      0|            break;
  274|      0|        }
  275|       |
  276|       |        /* H5Lget_name_by_idx */
  277|    138|        case H5VL_LINK_GET_NAME: {
  ------------------
  |  Branch (277:9): [True: 138, False: 0]
  ------------------
  278|    138|            if (H5L__get_name_by_idx(&loc, loc_params->loc_data.loc_by_idx.name,
  ------------------
  |  Branch (278:17): [True: 2, False: 136]
  ------------------
  279|    138|                                     loc_params->loc_data.loc_by_idx.idx_type,
  280|    138|                                     loc_params->loc_data.loc_by_idx.order, loc_params->loc_data.loc_by_idx.n,
  281|    138|                                     args->args.get_name.name, args->args.get_name.name_size,
  282|    138|                                     args->args.get_name.name_len) < 0)
  283|      2|                HGOTO_ERROR(H5E_LINK, H5E_NOTFOUND, FAIL, "unable to get link info");
  ------------------
  |  |   68|      2|    do {                                                                                                     \
  |  |   69|      2|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      2|    do {                                                                                                     \
  |  |  |  |   40|      2|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      2|    do {                                                                                                     \
  |  |  |  |  |  |   31|      2|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      2|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      2|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      2|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      2|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      2|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      2|    do {                                                                                                     \
  |  |  |  |   92|      2|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      2|        goto done;                                                                                           \
  |  |  |  |   94|      2|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      2|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  284|       |
  285|    136|            break;
  286|    138|        }
  287|       |
  288|       |        /* H5Lget_val/H5Lget_val_by_idx */
  289|    136|        case H5VL_LINK_GET_VAL: {
  ------------------
  |  Branch (289:9): [True: 0, False: 138]
  ------------------
  290|       |            /* Get the link information */
  291|      0|            if (loc_params->type == H5VL_OBJECT_BY_NAME) {
  ------------------
  |  Branch (291:17): [True: 0, False: 0]
  ------------------
  292|      0|                if (H5L__get_val(&loc, loc_params->loc_data.loc_by_name.name, args->args.get_val.buf,
  ------------------
  |  Branch (292:21): [True: 0, False: 0]
  ------------------
  293|      0|                                 args->args.get_val.buf_size) < 0)
  294|      0|                    HGOTO_ERROR(H5E_LINK, H5E_NOTFOUND, FAIL, "unable to get link value");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  295|      0|            }
  296|      0|            else if (loc_params->type == H5VL_OBJECT_BY_IDX) {
  ------------------
  |  Branch (296:22): [True: 0, False: 0]
  ------------------
  297|      0|                if (H5L__get_val_by_idx(
  ------------------
  |  Branch (297:21): [True: 0, False: 0]
  ------------------
  298|      0|                        &loc, loc_params->loc_data.loc_by_idx.name, loc_params->loc_data.loc_by_idx.idx_type,
  299|      0|                        loc_params->loc_data.loc_by_idx.order, loc_params->loc_data.loc_by_idx.n,
  300|      0|                        args->args.get_val.buf, args->args.get_val.buf_size) < 0)
  301|      0|                    HGOTO_ERROR(H5E_LINK, H5E_NOTFOUND, FAIL, "unable to get link val");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  302|      0|            }
  303|      0|            else
  304|      0|                HGOTO_ERROR(H5E_LINK, H5E_NOTFOUND, FAIL, "unable to get link val");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  305|       |
  306|      0|            break;
  307|      0|        }
  308|       |
  309|      0|        default:
  ------------------
  |  Branch (309:9): [True: 0, False: 138]
  ------------------
  310|      0|            HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "can't get this type of information from link");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  311|    138|    } /* end switch */
  312|       |
  313|    138|done:
  314|    138|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    138|    ;                                                                                                        \
  |  | 1573|    138|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    138|    return (ret_value);                                                                                      \
  |  | 1575|    138|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  315|    138|} /* end H5VL__native_link_get() */
H5VL__native_link_specific:
  329|     82|{
  330|     82|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     82|#define SUCCEED 0
  ------------------
  331|       |
  332|     82|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     82|    {                                                                                                        \
  |  | 1461|     82|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     82|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     82|                                                                                                             \
  |  |  |  | 1267|     82|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     82|        {
  ------------------
  333|       |
  334|     82|    switch (args->op_type) {
  335|      6|        case H5VL_LINK_EXISTS: {
  ------------------
  |  Branch (335:9): [True: 6, False: 76]
  ------------------
  336|      6|            H5G_loc_t loc;
  337|       |
  338|      6|            if (H5G_loc_real(obj, loc_params->obj_type, &loc) < 0)
  ------------------
  |  Branch (338:17): [True: 0, False: 6]
  ------------------
  339|      0|                HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a file or file object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  340|      6|            if (H5L__exists(&loc, loc_params->loc_data.loc_by_name.name, args->args.exists.exists) < 0)
  ------------------
  |  Branch (340:17): [True: 0, False: 6]
  ------------------
  341|      0|                HGOTO_ERROR(H5E_LINK, H5E_NOTFOUND, FAIL, "unable to specific link info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  342|       |
  343|      6|            break;
  344|      6|        }
  345|       |
  346|     76|        case H5VL_LINK_ITER: {
  ------------------
  |  Branch (346:9): [True: 76, False: 6]
  ------------------
  347|     76|            H5VL_link_iterate_args_t *iter_args = &args->args.iterate;
  348|     76|            H5G_loc_t                 loc;
  349|       |
  350|       |            /* Get the location */
  351|     76|            if (H5G_loc_real(obj, loc_params->obj_type, &loc) < 0)
  ------------------
  |  Branch (351:17): [True: 0, False: 76]
  ------------------
  352|      0|                HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  353|       |
  354|       |            /* Visit or iterate over the links */
  355|     76|            if (loc_params->type == H5VL_OBJECT_BY_SELF) {
  ------------------
  |  Branch (355:17): [True: 76, False: 0]
  ------------------
  356|     76|                if (iter_args->recursive) {
  ------------------
  |  Branch (356:21): [True: 0, False: 76]
  ------------------
  357|       |                    /* H5Lvisit */
  358|      0|                    if ((ret_value = H5G_visit(&loc, ".", iter_args->idx_type, iter_args->order,
  ------------------
  |  Branch (358:25): [True: 0, False: 0]
  ------------------
  359|      0|                                               iter_args->op, iter_args->op_data)) < 0)
  360|      0|                        HGOTO_ERROR(H5E_LINK, H5E_BADITER, FAIL, "link visitation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  361|      0|                } /* end if */
  362|     76|                else {
  363|       |                    /* H5Literate */
  364|     76|                    if ((ret_value = H5L_iterate(&loc, ".", iter_args->idx_type, iter_args->order,
  ------------------
  |  Branch (364:25): [True: 50, False: 26]
  ------------------
  365|     76|                                                 iter_args->idx_p, iter_args->op, iter_args->op_data)) < 0)
  366|     50|                        HGOTO_ERROR(H5E_LINK, H5E_BADITER, FAIL, "error iterating over links");
  ------------------
  |  |   68|     50|    do {                                                                                                     \
  |  |   69|     50|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     50|    do {                                                                                                     \
  |  |  |  |   40|     50|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     50|    do {                                                                                                     \
  |  |  |  |  |  |   31|     50|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     50|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     50|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     50|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     50|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     50|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     50|    do {                                                                                                     \
  |  |  |  |   92|     50|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     50|        goto done;                                                                                           \
  |  |  |  |   94|     50|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     50|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  367|     76|                } /* end else */
  368|     76|            }     /* end if */
  369|      0|            else if (loc_params->type == H5VL_OBJECT_BY_NAME) {
  ------------------
  |  Branch (369:22): [True: 0, False: 0]
  ------------------
  370|      0|                if (iter_args->recursive) {
  ------------------
  |  Branch (370:21): [True: 0, False: 0]
  ------------------
  371|       |                    /* H5Lvisit_by_name */
  372|      0|                    if ((ret_value =
  ------------------
  |  Branch (372:25): [True: 0, False: 0]
  ------------------
  373|      0|                             H5G_visit(&loc, loc_params->loc_data.loc_by_name.name, iter_args->idx_type,
  374|      0|                                       iter_args->order, iter_args->op, iter_args->op_data)) < 0)
  375|      0|                        HGOTO_ERROR(H5E_LINK, H5E_BADITER, FAIL, "link visitation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  376|      0|                } /* end if */
  377|      0|                else {
  378|       |                    /* H5Literate_by_name */
  379|      0|                    if ((ret_value = H5L_iterate(&loc, loc_params->loc_data.loc_by_name.name,
  ------------------
  |  Branch (379:25): [True: 0, False: 0]
  ------------------
  380|      0|                                                 iter_args->idx_type, iter_args->order, iter_args->idx_p,
  381|      0|                                                 iter_args->op, iter_args->op_data)) < 0)
  382|      0|                        HGOTO_ERROR(H5E_LINK, H5E_BADITER, FAIL, "error iterating over links");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  383|      0|                } /* end else */
  384|      0|            }     /* end else-if */
  385|      0|            else
  386|      0|                HGOTO_ERROR(H5E_LINK, H5E_UNSUPPORTED, FAIL, "unknown link iterate params");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  387|       |
  388|     26|            break;
  389|     76|        }
  390|       |
  391|     26|        case H5VL_LINK_DELETE: {
  ------------------
  |  Branch (391:9): [True: 0, False: 82]
  ------------------
  392|      0|            H5G_loc_t loc;
  393|       |
  394|      0|            if (H5G_loc_real(obj, loc_params->obj_type, &loc) < 0)
  ------------------
  |  Branch (394:17): [True: 0, False: 0]
  ------------------
  395|      0|                HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a file or file object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  396|       |
  397|       |            /* Unlink */
  398|      0|            if (loc_params->type == H5VL_OBJECT_BY_NAME) { /* H5Ldelete */
  ------------------
  |  Branch (398:17): [True: 0, False: 0]
  ------------------
  399|      0|                if (H5L__delete(&loc, loc_params->loc_data.loc_by_name.name) < 0)
  ------------------
  |  Branch (399:21): [True: 0, False: 0]
  ------------------
  400|      0|                    HGOTO_ERROR(H5E_LINK, H5E_CANTDELETE, FAIL, "unable to delete link");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  401|      0|            }                                                  /* end if */
  402|      0|            else if (loc_params->type == H5VL_OBJECT_BY_IDX) { /* H5Ldelete_by_idx */
  ------------------
  |  Branch (402:22): [True: 0, False: 0]
  ------------------
  403|      0|                if (H5L__delete_by_idx(
  ------------------
  |  Branch (403:21): [True: 0, False: 0]
  ------------------
  404|      0|                        &loc, loc_params->loc_data.loc_by_idx.name, loc_params->loc_data.loc_by_idx.idx_type,
  405|      0|                        loc_params->loc_data.loc_by_idx.order, loc_params->loc_data.loc_by_idx.n) < 0)
  406|      0|                    HGOTO_ERROR(H5E_LINK, H5E_CANTDELETE, FAIL, "unable to delete link");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  407|      0|            } /* end else-if */
  408|      0|            else
  409|      0|                HGOTO_ERROR(H5E_LINK, H5E_CANTDELETE, FAIL, "unable to delete link");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  410|      0|            break;
  411|      0|        }
  412|       |
  413|      0|        default:
  ------------------
  |  Branch (413:9): [True: 0, False: 82]
  ------------------
  414|      0|            HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, FAIL, "invalid specific operation");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  415|     82|    } /* end switch */
  416|       |
  417|     82|done:
  418|     82|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     82|    ;                                                                                                        \
  |  | 1573|     82|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     82|    return (ret_value);                                                                                      \
  |  | 1575|     82|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  419|     82|} /* end H5VL__native_link_specific() */

H5VL__native_object_open:
   75|     15|{
   76|     15|    H5G_loc_t loc;
   77|     15|    void     *ret_value = NULL;
   78|       |
   79|     15|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     15|    {                                                                                                        \
  |  | 1461|     15|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     15|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     15|                                                                                                             \
  |  |  |  | 1267|     15|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     15|        {
  ------------------
   80|       |
   81|     15|    if (H5G_loc_real(obj, loc_params->obj_type, &loc) < 0)
  ------------------
  |  Branch (81:9): [True: 0, False: 15]
  ------------------
   82|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, NULL, "not a file or file object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   83|       |
   84|     15|    switch (loc_params->type) {
   85|      0|        case H5VL_OBJECT_BY_NAME: {
  ------------------
  |  Branch (85:9): [True: 0, False: 15]
  ------------------
   86|       |            /* Open the object */
   87|      0|            if (NULL == (ret_value = H5O_open_name(&loc, loc_params->loc_data.loc_by_name.name, opened_type)))
  ------------------
  |  Branch (87:17): [True: 0, False: 0]
  ------------------
   88|      0|                HGOTO_ERROR(H5E_OHDR, H5E_CANTOPENOBJ, NULL, "unable to open object by name");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   89|      0|            break;
   90|      0|        }
   91|       |
   92|      0|        case H5VL_OBJECT_BY_IDX: {
  ------------------
  |  Branch (92:9): [True: 0, False: 15]
  ------------------
   93|       |            /* Open the object */
   94|      0|            if (NULL == (ret_value = H5O__open_by_idx(&loc, loc_params->loc_data.loc_by_idx.name,
  ------------------
  |  Branch (94:17): [True: 0, False: 0]
  ------------------
   95|      0|                                                      loc_params->loc_data.loc_by_idx.idx_type,
   96|      0|                                                      loc_params->loc_data.loc_by_idx.order,
   97|      0|                                                      loc_params->loc_data.loc_by_idx.n, opened_type)))
   98|      0|                HGOTO_ERROR(H5E_OHDR, H5E_CANTOPENOBJ, NULL, "unable to open object by index");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   99|      0|            break;
  100|      0|        }
  101|       |
  102|     15|        case H5VL_OBJECT_BY_TOKEN: {
  ------------------
  |  Branch (102:9): [True: 15, False: 0]
  ------------------
  103|     15|            H5O_token_t token = *loc_params->loc_data.loc_by_token.token;
  104|     15|            haddr_t     addr;
  105|       |
  106|       |            /* Decode token */
  107|     15|            if (H5VL_native_token_to_addr(loc.oloc->file, H5I_FILE, token, &addr) < 0)
  ------------------
  |  Branch (107:17): [True: 0, False: 15]
  ------------------
  108|      0|                HGOTO_ERROR(H5E_OHDR, H5E_CANTUNSERIALIZE, NULL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  109|     15|                            "can't deserialize object token into address");
  110|       |
  111|       |            /* Open the object */
  112|     15|            if (NULL == (ret_value = H5O__open_by_addr(&loc, addr, opened_type)))
  ------------------
  |  Branch (112:17): [True: 6, False: 9]
  ------------------
  113|      6|                HGOTO_ERROR(H5E_OHDR, H5E_CANTOPENOBJ, NULL, "unable to open object by address");
  ------------------
  |  |   68|      6|    do {                                                                                                     \
  |  |   69|      6|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      6|    do {                                                                                                     \
  |  |  |  |   40|      6|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      6|    do {                                                                                                     \
  |  |  |  |  |  |   31|      6|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      6|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      6|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      6|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      6|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      6|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      6|    do {                                                                                                     \
  |  |  |  |   92|      6|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      6|        goto done;                                                                                           \
  |  |  |  |   94|      6|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      6|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  114|      9|            break;
  115|     15|        }
  116|       |
  117|      9|        case H5VL_OBJECT_BY_SELF:
  ------------------
  |  Branch (117:9): [True: 0, False: 15]
  ------------------
  118|      0|        default:
  ------------------
  |  Branch (118:9): [True: 0, False: 15]
  ------------------
  119|      0|            HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, NULL, "unknown open parameters");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  120|     15|    } /* end switch */
  121|       |
  122|     15|done:
  123|     15|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     15|    ;                                                                                                        \
  |  | 1573|     15|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     15|    return (ret_value);                                                                                      \
  |  | 1575|     15|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  124|     15|} /* end H5VL__native_object_open() */
H5VL__native_object_get:
  173|     91|{
  174|     91|    herr_t    ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|     91|#define SUCCEED 0
  ------------------
  175|     91|    H5G_loc_t loc;                 /* Location of group */
  176|       |
  177|     91|    FUNC_ENTER_PACKAGE
  ------------------
  |  | 1460|     91|    {                                                                                                        \
  |  | 1461|     91|        FUNC_ENTER_COMMON(H5_IS_PKG(__func__));                                                              \
  |  |  ------------------
  |  |  |  | 1265|     91|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|     91|                                                                                                             \
  |  |  |  | 1267|     91|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1462|     91|        {
  ------------------
  178|       |
  179|     91|    if (H5G_loc_real(obj, loc_params->obj_type, &loc) < 0)
  ------------------
  |  Branch (179:9): [True: 0, False: 91]
  ------------------
  180|      0|        HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a file or file object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  181|       |
  182|     91|    switch (args->op_type) {
  183|       |
  184|       |        /* Object file */
  185|     15|        case H5VL_OBJECT_GET_FILE: {
  ------------------
  |  Branch (185:9): [True: 15, False: 76]
  ------------------
  186|     15|            if (loc_params->type == H5VL_OBJECT_BY_SELF) {
  ------------------
  |  Branch (186:17): [True: 15, False: 0]
  ------------------
  187|     15|                *args->args.get_file.file = (void *)loc.oloc->file;
  188|       |
  189|       |                /* TODO we currently need to set id_exists to true because
  190|       |                 * the upper layer will create an ID from the returned
  191|       |                 * object. In theory this should not be needed and id_exists
  192|       |                 * should be removed once the H5Fmount code gets fixed. */
  193|     15|                loc.oloc->file->id_exists = true;
  194|     15|            }
  195|      0|            else
  196|      0|                HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, FAIL, "unknown get_file parameters");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  197|       |
  198|     15|            break;
  199|     15|        }
  200|       |
  201|       |        /* Object name */
  202|     15|        case H5VL_OBJECT_GET_NAME: {
  ------------------
  |  Branch (202:9): [True: 0, False: 91]
  ------------------
  203|      0|            if (loc_params->type == H5VL_OBJECT_BY_SELF) {
  ------------------
  |  Branch (203:17): [True: 0, False: 0]
  ------------------
  204|       |                /* Retrieve object's name */
  205|      0|                if (H5G_get_name(&loc, args->args.get_name.buf, args->args.get_name.buf_size,
  ------------------
  |  Branch (205:21): [True: 0, False: 0]
  ------------------
  206|      0|                                 args->args.get_name.name_len, NULL) < 0)
  207|      0|                    HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "can't retrieve object name");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  208|      0|            } /* end if */
  209|      0|            else if (loc_params->type == H5VL_OBJECT_BY_TOKEN) {
  ------------------
  |  Branch (209:22): [True: 0, False: 0]
  ------------------
  210|      0|                H5O_loc_t   obj_oloc; /* Object location */
  211|      0|                H5O_token_t token = *loc_params->loc_data.loc_by_token.token;
  212|       |
  213|       |                /* Initialize the object location */
  214|      0|                H5O_loc_reset(&obj_oloc);
  215|      0|                obj_oloc.file = loc.oloc->file;
  216|       |
  217|       |                /* Decode token */
  218|      0|                if (H5VL_native_token_to_addr(obj_oloc.file, H5I_FILE, token, &obj_oloc.addr) < 0)
  ------------------
  |  Branch (218:21): [True: 0, False: 0]
  ------------------
  219|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_CANTUNSERIALIZE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  220|      0|                                "can't deserialize object token into address");
  221|       |
  222|       |                /* Retrieve object's name */
  223|      0|                if (H5G_get_name_by_addr(loc.oloc->file, &obj_oloc, args->args.get_name.buf,
  ------------------
  |  Branch (223:21): [True: 0, False: 0]
  ------------------
  224|      0|                                         args->args.get_name.buf_size, args->args.get_name.name_len) < 0)
  225|      0|                    HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "can't determine object name");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  226|      0|            } /* end else-if */
  227|      0|            else
  228|      0|                HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, FAIL, "unknown get_name parameters");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  229|       |
  230|      0|            break;
  231|      0|        }
  232|       |
  233|       |        /* Object type */
  234|      0|        case H5VL_OBJECT_GET_TYPE: {
  ------------------
  |  Branch (234:9): [True: 0, False: 91]
  ------------------
  235|      0|            if (loc_params->type == H5VL_OBJECT_BY_TOKEN) {
  ------------------
  |  Branch (235:17): [True: 0, False: 0]
  ------------------
  236|      0|                H5O_loc_t   obj_oloc; /* Object location */
  237|      0|                unsigned    rc;       /* Reference count of object */
  238|      0|                H5O_token_t token = *loc_params->loc_data.loc_by_token.token;
  239|       |
  240|       |                /* Initialize the object location */
  241|      0|                H5O_loc_reset(&obj_oloc);
  242|      0|                obj_oloc.file = loc.oloc->file;
  243|       |
  244|       |                /* Decode token */
  245|      0|                if (H5VL_native_token_to_addr(obj_oloc.file, H5I_FILE, token, &obj_oloc.addr) < 0)
  ------------------
  |  Branch (245:21): [True: 0, False: 0]
  ------------------
  246|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_CANTUNSERIALIZE, FAIL,
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  247|      0|                                "can't deserialize object token into address");
  248|       |
  249|       |                /* Get the # of links for object, and its type */
  250|       |                /* (To check to make certain that this object hasn't been deleted) */
  251|      0|                if (H5O_get_rc_and_type(&obj_oloc, &rc, args->args.get_type.obj_type) < 0 || 0 == rc)
  ------------------
  |  Branch (251:21): [True: 0, False: 0]
  |  Branch (251:94): [True: 0, False: 0]
  ------------------
  252|      0|                    HGOTO_ERROR(H5E_REFERENCE, H5E_LINKCOUNT, FAIL, "dereferencing deleted object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  253|      0|            }
  254|      0|            else
  255|      0|                HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, FAIL, "unknown get_type parameters");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  256|       |
  257|      0|            break;
  258|      0|        }
  259|       |
  260|       |        /* H5Oget_info(_name|_by_idx)3 */
  261|     76|        case H5VL_OBJECT_GET_INFO: {
  ------------------
  |  Branch (261:9): [True: 76, False: 15]
  ------------------
  262|     76|            if (loc_params->type == H5VL_OBJECT_BY_SELF) {
  ------------------
  |  Branch (262:17): [True: 0, False: 76]
  ------------------
  263|      0|                if (H5G_loc_info(&loc, ".", args->args.get_info.oinfo, args->args.get_info.fields) < 0)
  ------------------
  |  Branch (263:21): [True: 0, False: 0]
  ------------------
  264|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_NOTFOUND, FAIL, "object not found");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  265|      0|            } /* end if */
  266|     76|            else if (loc_params->type == H5VL_OBJECT_BY_NAME) {
  ------------------
  |  Branch (266:22): [True: 76, False: 0]
  ------------------
  267|     76|                if (H5G_loc_info(&loc, loc_params->loc_data.loc_by_name.name, args->args.get_info.oinfo,
  ------------------
  |  Branch (267:21): [True: 24, False: 52]
  ------------------
  268|     76|                                 args->args.get_info.fields) < 0)
  269|     24|                    HGOTO_ERROR(H5E_OHDR, H5E_NOTFOUND, FAIL, "object not found");
  ------------------
  |  |   68|     24|    do {                                                                                                     \
  |  |   69|     24|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|     24|    do {                                                                                                     \
  |  |  |  |   40|     24|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|     24|    do {                                                                                                     \
  |  |  |  |  |  |   31|     24|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|     24|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|     24|        err_occurred = true;                                                                                 \
  |  |  |  |   42|     24|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|     24|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|     24|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|     24|    do {                                                                                                     \
  |  |  |  |   92|     24|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|     24|        goto done;                                                                                           \
  |  |  |  |   94|     24|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|     24|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  270|     76|            } /* end else-if */
  271|      0|            else if (loc_params->type == H5VL_OBJECT_BY_IDX) {
  ------------------
  |  Branch (271:22): [True: 0, False: 0]
  ------------------
  272|      0|                H5G_loc_t  obj_loc;  /* Location used to open group */
  273|      0|                H5G_name_t obj_path; /* Opened object group hier. path */
  274|      0|                H5O_loc_t  obj_oloc; /* Opened object object location */
  275|       |
  276|       |                /* Set up opened group location to fill in */
  277|      0|                obj_loc.oloc = &obj_oloc;
  278|      0|                obj_loc.path = &obj_path;
  279|      0|                H5G_loc_reset(&obj_loc);
  280|       |
  281|       |                /* Find the object's location, according to the order in the index */
  282|      0|                if (H5G_loc_find_by_idx(&loc, loc_params->loc_data.loc_by_idx.name,
  ------------------
  |  Branch (282:21): [True: 0, False: 0]
  ------------------
  283|      0|                                        loc_params->loc_data.loc_by_idx.idx_type,
  284|      0|                                        loc_params->loc_data.loc_by_idx.order,
  285|      0|                                        loc_params->loc_data.loc_by_idx.n, &obj_loc /*out*/) < 0)
  286|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_NOTFOUND, FAIL, "group not found");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  287|       |
  288|       |                /* Retrieve the object's information */
  289|      0|                if (H5O_get_info(obj_loc.oloc, args->args.get_info.oinfo, args->args.get_info.fields) < 0) {
  ------------------
  |  Branch (289:21): [True: 0, False: 0]
  ------------------
  290|      0|                    H5G_loc_free(&obj_loc);
  291|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_CANTGET, FAIL, "can't retrieve object info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  292|      0|                } /* end if */
  293|       |
  294|       |                /* Release the object location */
  295|      0|                if (H5G_loc_free(&obj_loc) < 0)
  ------------------
  |  Branch (295:21): [True: 0, False: 0]
  ------------------
  296|      0|                    HGOTO_ERROR(H5E_OHDR, H5E_CANTRELEASE, FAIL, "can't free location");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  297|      0|            } /* end else-if */
  298|      0|            else
  299|      0|                HGOTO_ERROR(H5E_OHDR, H5E_UNSUPPORTED, FAIL, "unknown get info parameters");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  300|       |
  301|     52|            break;
  302|     76|        }
  303|       |
  304|     52|        default:
  ------------------
  |  Branch (304:9): [True: 0, False: 91]
  ------------------
  305|      0|            HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "can't get this type of information from object");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  306|     91|    } /* end switch */
  307|       |
  308|     91|done:
  309|     91|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     91|    ;                                                                                                        \
  |  | 1573|     91|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     91|    return (ret_value);                                                                                      \
  |  | 1575|     91|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  310|     91|} /* end H5VL__native_object_get() */

H5VM_memcpyvv:
 1331|     31|{
 1332|     31|    unsigned char       *dst;                   /* Destination buffer pointer */
 1333|     31|    const unsigned char *src;                   /* Source buffer pointer */
 1334|     31|    hsize_t *max_dst_off_ptr, *max_src_off_ptr; /* Pointers to max. source and destination offset locations */
 1335|     31|    hsize_t *dst_off_ptr, *src_off_ptr;         /* Pointers to source and destination offset arrays */
 1336|     31|    size_t  *dst_len_ptr, *src_len_ptr;         /* Pointers to source and destination length arrays */
 1337|     31|    size_t   tmp_dst_len;                       /* Temporary dest. length value */
 1338|     31|    size_t   tmp_src_len;                       /* Temporary source length value */
 1339|     31|    size_t   acc_len;                           /* Accumulated length of sequences */
 1340|     31|    ssize_t  ret_value = 0;                     /* Return value (Total size of sequence in bytes) */
 1341|       |
 1342|     31|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|     31|    {                                                                                                        \
  |  | 1425|     31|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|     31|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|     31|        {
  ------------------
 1343|       |
 1344|       |    /* Sanity check */
 1345|     31|    assert(_dst);
 1346|     31|    assert(dst_curr_seq);
 1347|     31|    assert(*dst_curr_seq < dst_max_nseq);
 1348|     31|    assert(dst_len_arr);
 1349|     31|    assert(dst_off_arr);
 1350|     31|    assert(_src);
 1351|     31|    assert(src_curr_seq);
 1352|     31|    assert(*src_curr_seq < src_max_nseq);
 1353|     31|    assert(src_len_arr);
 1354|     31|    assert(src_off_arr);
 1355|       |
 1356|       |    /* Set initial offset & length pointers */
 1357|     31|    dst_len_ptr = dst_len_arr + *dst_curr_seq;
 1358|     31|    dst_off_ptr = dst_off_arr + *dst_curr_seq;
 1359|     31|    src_len_ptr = src_len_arr + *src_curr_seq;
 1360|     31|    src_off_ptr = src_off_arr + *src_curr_seq;
 1361|       |
 1362|       |    /* Get temporary source & destination sequence lengths */
 1363|     31|    tmp_dst_len = *dst_len_ptr;
 1364|     31|    tmp_src_len = *src_len_ptr;
 1365|       |
 1366|       |    /* Compute maximum offset pointer values */
 1367|     31|    max_dst_off_ptr = dst_off_arr + dst_max_nseq;
 1368|     31|    max_src_off_ptr = src_off_arr + src_max_nseq;
 1369|       |
 1370|       |    /* Compute buffer offsets */
 1371|     31|    dst = (unsigned char *)_dst + *dst_off_ptr;
 1372|     31|    src = (const unsigned char *)_src + *src_off_ptr;
 1373|       |
 1374|       |    /* Work through the sequences */
 1375|       |    /* (Choose smallest sequence available initially) */
 1376|       |
 1377|       |    /* Source sequence is less than destination sequence */
 1378|     31|    if (tmp_src_len < tmp_dst_len) {
  ------------------
  |  Branch (1378:9): [True: 0, False: 31]
  ------------------
 1379|      0|src_smaller:
 1380|      0|        acc_len = 0;
 1381|      0|        do {
 1382|       |            /* Copy data */
 1383|      0|            H5MM_memcpy(dst, src, tmp_src_len);
  ------------------
  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
 1384|       |
 1385|       |            /* Accumulate number of bytes copied */
 1386|      0|            acc_len += tmp_src_len;
 1387|       |
 1388|       |            /* Update destination length */
 1389|      0|            tmp_dst_len -= tmp_src_len;
 1390|       |
 1391|       |            /* Advance source offset & check for being finished */
 1392|      0|            src_off_ptr++;
 1393|      0|            if (src_off_ptr >= max_src_off_ptr) {
  ------------------
  |  Branch (1393:17): [True: 0, False: 0]
  ------------------
 1394|       |                /* Roll accumulated changes into appropriate counters */
 1395|      0|                *dst_off_ptr += acc_len;
 1396|      0|                *dst_len_ptr = tmp_dst_len;
 1397|       |
 1398|       |                /* Done with sequences */
 1399|      0|                goto finished;
 1400|      0|            } /* end if */
 1401|       |
 1402|       |            /* Update destination pointer */
 1403|      0|            dst += tmp_src_len;
 1404|       |
 1405|       |            /* Update source information */
 1406|      0|            src_len_ptr++;
 1407|      0|            tmp_src_len = *src_len_ptr;
 1408|      0|            src         = (const unsigned char *)_src + *src_off_ptr;
 1409|      0|        } while (tmp_src_len < tmp_dst_len);
  ------------------
  |  Branch (1409:18): [True: 0, False: 0]
  ------------------
 1410|       |
 1411|       |        /* Roll accumulated sequence lengths into return value */
 1412|      0|        ret_value += (ssize_t)acc_len;
 1413|       |
 1414|       |        /* Transition to next state */
 1415|      0|        if (tmp_dst_len < tmp_src_len)
  ------------------
  |  Branch (1415:13): [True: 0, False: 0]
  ------------------
 1416|      0|            goto dst_smaller;
 1417|      0|        else
 1418|      0|            goto equal;
 1419|      0|    } /* end if */
 1420|       |    /* Destination sequence is less than source sequence */
 1421|     31|    else if (tmp_dst_len < tmp_src_len) {
  ------------------
  |  Branch (1421:14): [True: 0, False: 31]
  ------------------
 1422|      0|dst_smaller:
 1423|      0|        acc_len = 0;
 1424|      0|        do {
 1425|       |            /* Copy data */
 1426|      0|            H5MM_memcpy(dst, src, tmp_dst_len);
  ------------------
  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
 1427|       |
 1428|       |            /* Accumulate number of bytes copied */
 1429|      0|            acc_len += tmp_dst_len;
 1430|       |
 1431|       |            /* Update source length */
 1432|      0|            tmp_src_len -= tmp_dst_len;
 1433|       |
 1434|       |            /* Advance destination offset & check for being finished */
 1435|      0|            dst_off_ptr++;
 1436|      0|            if (dst_off_ptr >= max_dst_off_ptr) {
  ------------------
  |  Branch (1436:17): [True: 0, False: 0]
  ------------------
 1437|       |                /* Roll accumulated changes into appropriate counters */
 1438|      0|                *src_off_ptr += acc_len;
 1439|      0|                *src_len_ptr = tmp_src_len;
 1440|       |
 1441|       |                /* Done with sequences */
 1442|      0|                goto finished;
 1443|      0|            } /* end if */
 1444|       |
 1445|       |            /* Update source pointer */
 1446|      0|            src += tmp_dst_len;
 1447|       |
 1448|       |            /* Update destination information */
 1449|      0|            dst_len_ptr++;
 1450|      0|            tmp_dst_len = *dst_len_ptr;
 1451|      0|            dst         = (unsigned char *)_dst + *dst_off_ptr;
 1452|      0|        } while (tmp_dst_len < tmp_src_len);
  ------------------
  |  Branch (1452:18): [True: 0, False: 0]
  ------------------
 1453|       |
 1454|       |        /* Roll accumulated sequence lengths into return value */
 1455|      0|        ret_value += (ssize_t)acc_len;
 1456|       |
 1457|       |        /* Transition to next state */
 1458|      0|        if (tmp_src_len < tmp_dst_len)
  ------------------
  |  Branch (1458:13): [True: 0, False: 0]
  ------------------
 1459|      0|            goto src_smaller;
 1460|      0|        else
 1461|      0|            goto equal;
 1462|      0|    } /* end else-if */
 1463|       |    /* Destination sequence and source sequence are same length */
 1464|     31|    else {
 1465|     31|equal:
 1466|     31|        acc_len = 0;
 1467|     31|        do {
 1468|       |            /* Copy data */
 1469|     31|            H5MM_memcpy(dst, src, tmp_dst_len);
  ------------------
  |  |   41|     31|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
 1470|       |
 1471|       |            /* Accumulate number of bytes copied */
 1472|     31|            acc_len += tmp_dst_len;
 1473|       |
 1474|       |            /* Advance source & destination offset & check for being finished */
 1475|     31|            src_off_ptr++;
 1476|     31|            dst_off_ptr++;
 1477|     31|            if (src_off_ptr >= max_src_off_ptr || dst_off_ptr >= max_dst_off_ptr)
  ------------------
  |  Branch (1477:17): [True: 31, False: 0]
  |  Branch (1477:51): [True: 0, False: 0]
  ------------------
 1478|       |                /* Done with sequences */
 1479|     31|                goto finished;
 1480|       |
 1481|       |            /* Update source information */
 1482|      0|            src_len_ptr++;
 1483|      0|            tmp_src_len = *src_len_ptr;
 1484|      0|            src         = (const unsigned char *)_src + *src_off_ptr;
 1485|       |
 1486|       |            /* Update destination information */
 1487|      0|            dst_len_ptr++;
 1488|      0|            tmp_dst_len = *dst_len_ptr;
 1489|      0|            dst         = (unsigned char *)_dst + *dst_off_ptr;
 1490|      0|        } while (tmp_dst_len == tmp_src_len);
  ------------------
  |  Branch (1490:18): [True: 0, False: 0]
  ------------------
 1491|       |
 1492|       |        /* Roll accumulated sequence lengths into return value */
 1493|      0|        ret_value += (ssize_t)acc_len;
 1494|       |
 1495|       |        /* Transition to next state */
 1496|      0|        if (tmp_dst_len < tmp_src_len)
  ------------------
  |  Branch (1496:13): [True: 0, False: 0]
  ------------------
 1497|      0|            goto dst_smaller;
 1498|      0|        else
 1499|      0|            goto src_smaller;
 1500|      0|    } /* end else */
 1501|       |
 1502|     31|finished:
 1503|       |    /* Roll accumulated sequence lengths into return value */
 1504|     31|    ret_value += (ssize_t)acc_len;
 1505|       |
 1506|       |    /* Update current sequence vectors */
 1507|     31|    *dst_curr_seq = (size_t)(dst_off_ptr - dst_off_arr);
 1508|     31|    *src_curr_seq = (size_t)(src_off_ptr - src_off_arr);
 1509|       |
 1510|     31|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     31|    ;                                                                                                        \
  |  | 1573|     31|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     31|    return (ret_value);                                                                                      \
  |  | 1575|     31|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1511|     31|} /* end H5VM_memcpyvv() */

H5Dint.c:H5VM_power2up:
  424|    101|{
  425|    101|    hsize_t ret_value = 1; /* Return value */
  426|       |
  427|       |    /* Returns 0 when n exceeds 2^63 */
  428|    101|    if (n >= (hsize_t)1 << ((sizeof(hsize_t) * CHAR_BIT) - 1))
  ------------------
  |  Branch (428:9): [True: 0, False: 101]
  ------------------
  429|      0|        ret_value = 0;
  430|       |
  431|    384|    while (ret_value && ret_value < n)
  ------------------
  |  Branch (431:12): [True: 384, False: 0]
  |  Branch (431:25): [True: 283, False: 101]
  ------------------
  432|    283|        ret_value <<= 1;
  433|       |
  434|    101|    return (ret_value);
  435|    101|} /* H5VM_power2up */

H5WB_wrap:
   91|    541|{
   92|    541|    H5WB_t *wb = NULL; /* Wrapped buffer info */
   93|    541|    H5WB_t *ret_value; /* Return value */
   94|       |
   95|    541|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|    541|    {                                                                                                        \
  |  | 1392|    541|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    541|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    541|                                                                                                             \
  |  |  |  | 1267|    541|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    541|        {
  ------------------
   96|       |
   97|       |    /*
   98|       |     * Check arguments.
   99|       |     */
  100|    541|    assert(buf);
  101|    541|    assert(buf_size);
  102|       |
  103|       |    /* Create wrapped buffer info */
  104|    541|    if (NULL == (wb = H5FL_MALLOC(H5WB_t)))
  ------------------
  |  |   75|    541|#define H5FL_MALLOC(t) (t *)H5FL_reg_malloc(&(H5FL_REG_NAME(t)))
  |  |  ------------------
  |  |  |  |   60|    541|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  |  Branch (104:9): [True: 0, False: 541]
  ------------------
  105|      0|        HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, NULL, "memory allocation failed for wrapped buffer info");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  106|       |
  107|       |    /* Wrap buffer given */
  108|    541|    wb->wrapped_buf  = buf;
  109|    541|    wb->wrapped_size = buf_size;
  110|       |
  111|       |    /* No actual buffer yet */
  112|    541|    wb->actual_buf  = NULL;
  113|    541|    wb->actual_size = 0;
  114|    541|    wb->alloc_size  = 0;
  115|       |
  116|       |    /* Set the return value */
  117|    541|    ret_value = wb;
  118|       |
  119|    541|done:
  120|       |    /* Release resources on error */
  121|    541|    if (!ret_value && wb)
  ------------------
  |  Branch (121:9): [True: 0, False: 541]
  |  Branch (121:23): [True: 0, False: 0]
  ------------------
  122|      0|        wb = H5FL_FREE(H5WB_t, wb);
  ------------------
  |  |   81|      0|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|      0|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  123|       |
  124|    541|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    541|    ;                                                                                                        \
  |  | 1573|    541|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    541|    return (ret_value);                                                                                      \
  |  | 1575|    541|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  125|    541|} /* end H5WB_wrap() */
H5WB_actual:
  140|    541|{
  141|    541|    void *ret_value; /* Return value */
  142|       |
  143|    541|    FUNC_ENTER_NOAPI(NULL)
  ------------------
  |  | 1391|    541|    {                                                                                                        \
  |  | 1392|    541|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|    541|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|    541|                                                                                                             \
  |  |  |  | 1267|    541|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|    541|        {
  ------------------
  144|       |
  145|       |    /*
  146|       |     * Check arguments.
  147|       |     */
  148|    541|    assert(wb);
  149|    541|    assert(wb->wrapped_buf);
  150|       |
  151|       |    /* Check for previously allocated buffer */
  152|    541|    if (wb->actual_buf && wb->actual_buf != wb->wrapped_buf) {
  ------------------
  |  Branch (152:9): [True: 0, False: 541]
  |  Branch (152:27): [True: 0, False: 0]
  ------------------
  153|       |        /* Sanity check */
  154|      0|        assert(wb->actual_size > wb->wrapped_size);
  155|       |
  156|       |        /* Check if we can reuse existing buffer */
  157|      0|        if (need <= wb->alloc_size)
  ------------------
  |  Branch (157:13): [True: 0, False: 0]
  ------------------
  158|      0|            HGOTO_DONE(wb->actual_buf);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  159|       |        /* Can't reuse existing buffer, free it and proceed */
  160|      0|        else
  161|      0|            wb->actual_buf = H5FL_BLK_FREE(extra_buf, wb->actual_buf);
  ------------------
  |  |  152|      0|#define H5FL_BLK_FREE(t, blk) (uint8_t *)H5FL_blk_free(&(H5FL_BLK_NAME(t)), blk)
  |  |  ------------------
  |  |  |  |  131|      0|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
  162|      0|    } /* end if */
  163|       |
  164|       |    /* Check if size needed can be fulfilled with wrapped buffer */
  165|    541|    if (need > wb->wrapped_size) {
  ------------------
  |  Branch (165:9): [True: 0, False: 541]
  ------------------
  166|       |        /* Need to allocate new buffer */
  167|      0|        if (NULL == (wb->actual_buf = H5FL_BLK_MALLOC(extra_buf, need)))
  ------------------
  |  |  146|      0|#define H5FL_BLK_MALLOC(t, size) (uint8_t *)H5FL_blk_malloc(&(H5FL_BLK_NAME(t)), (size))
  |  |  ------------------
  |  |  |  |  131|      0|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
  |  Branch (167:13): [True: 0, False: 0]
  ------------------
  168|      0|            HGOTO_ERROR(H5E_ATTR, H5E_NOSPACE, NULL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  169|       |
  170|       |        /* Remember size of buffer allocated */
  171|      0|        wb->alloc_size = need;
  172|      0|    } /* end if */
  173|    541|    else {
  174|       |        /* Don't have to allocate a new buffer, use the wrapped one */
  175|    541|        wb->actual_buf = wb->wrapped_buf;
  176|    541|        wb->alloc_size = 0;
  177|    541|    } /* end else */
  178|       |
  179|       |    /* Set the return value */
  180|    541|    ret_value = wb->actual_buf;
  181|       |
  182|    541|done:
  183|       |    /* Remember size of buffer used, if we were successful */
  184|    541|    if (ret_value)
  ------------------
  |  Branch (184:9): [True: 541, False: 0]
  ------------------
  185|    541|        wb->actual_size = need;
  186|       |
  187|    541|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|    541|    ;                                                                                                        \
  |  | 1573|    541|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    541|    return (ret_value);                                                                                      \
  |  | 1575|    541|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  188|    541|} /* end H5WB_actual() */
H5WB_unwrap:
  236|    541|{
  237|    541|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|    541|    {                                                                                                        \
  |  | 1425|    541|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|    541|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|    541|        {
  ------------------
  238|       |
  239|       |    /*
  240|       |     * Check arguments.
  241|       |     */
  242|    541|    assert(wb);
  243|    541|    assert(wb->wrapped_buf);
  244|       |
  245|       |    /* Release any extra buffers allocated */
  246|    541|    if (wb->actual_buf && wb->actual_buf != wb->wrapped_buf) {
  ------------------
  |  Branch (246:9): [True: 541, False: 0]
  |  Branch (246:27): [True: 0, False: 541]
  ------------------
  247|       |        /* Sanity check */
  248|      0|        assert(wb->actual_size > wb->wrapped_size);
  249|       |
  250|      0|        wb->actual_buf = H5FL_BLK_FREE(extra_buf, wb->actual_buf);
  ------------------
  |  |  152|      0|#define H5FL_BLK_FREE(t, blk) (uint8_t *)H5FL_blk_free(&(H5FL_BLK_NAME(t)), blk)
  |  |  ------------------
  |  |  |  |  131|      0|#define H5FL_BLK_NAME(t) H5_##t##_blk_free_list
  |  |  ------------------
  ------------------
  251|      0|    } /* end if */
  252|       |
  253|       |    /* Release the buffer wrapper info */
  254|    541|    wb = H5FL_FREE(H5WB_t, wb);
  ------------------
  |  |   81|    541|#define H5FL_FREE(t, obj) (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)), obj)
  |  |  ------------------
  |  |  |  |   60|    541|#define H5FL_REG_NAME(t) H5_##t##_reg_free_list
  |  |  ------------------
  ------------------
  255|       |
  256|    541|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|    541|    ;                                                                                                        \
  |  | 1573|    541|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|    541|    return (ret_value);                                                                                      \
  |  | 1575|    541|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  257|    541|} /* end H5WB_unwrap() */

H5Z_init:
   88|      1|{
   89|      1|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      1|#define SUCCEED 0
  ------------------
   90|       |
   91|      1|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      1|    {                                                                                                        \
  |  | 1392|      1|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      1|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      1|                                                                                                             \
  |  |  |  | 1267|      1|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      1|        {
  ------------------
   92|       |
   93|      1|    if (H5_TERM_GLOBAL)
  ------------------
  |  | 1236|      1|#define H5_TERM_GLOBAL (H5_libterm_g)
  |  |  ------------------
  |  |  |  Branch (1236:24): [True: 0, False: 1]
  |  |  ------------------
  ------------------
   94|      0|        HGOTO_DONE(SUCCEED);
  ------------------
  |  |   91|      0|    do {                                                                                                     \
  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |   93|      0|        goto done;                                                                                           \
  |  |   94|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   95|       |
   96|       |    /* Internal filters */
   97|      1|    if (H5Z_register(H5Z_SHUFFLE) < 0)
  ------------------
  |  Branch (97:9): [True: 0, False: 1]
  ------------------
   98|      0|        HGOTO_ERROR(H5E_PLINE, H5E_CANTINIT, FAIL, "unable to register shuffle filter");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
   99|      1|    if (H5Z_register(H5Z_FLETCHER32) < 0)
  ------------------
  |  Branch (99:9): [True: 0, False: 1]
  ------------------
  100|      0|        HGOTO_ERROR(H5E_PLINE, H5E_CANTINIT, FAIL, "unable to register fletcher32 filter");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  101|      1|    if (H5Z_register(H5Z_NBIT) < 0)
  ------------------
  |  Branch (101:9): [True: 0, False: 1]
  ------------------
  102|      0|        HGOTO_ERROR(H5E_PLINE, H5E_CANTINIT, FAIL, "unable to register nbit filter");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  103|      1|    if (H5Z_register(H5Z_SCALEOFFSET) < 0)
  ------------------
  |  Branch (103:9): [True: 0, False: 1]
  ------------------
  104|      0|        HGOTO_ERROR(H5E_PLINE, H5E_CANTINIT, FAIL, "unable to register scaleoffset filter");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  105|       |
  106|       |        /* External filters */
  107|      1|#ifdef H5_HAVE_FILTER_DEFLATE
  108|      1|    if (H5Z_register(H5Z_DEFLATE) < 0)
  ------------------
  |  Branch (108:9): [True: 0, False: 1]
  ------------------
  109|      0|        HGOTO_ERROR(H5E_PLINE, H5E_CANTINIT, FAIL, "unable to register deflate filter");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  110|      1|#endif /* H5_HAVE_FILTER_DEFLATE */
  111|       |#ifdef H5_HAVE_FILTER_SZIP
  112|       |    {
  113|       |        int encoder_enabled = SZ_encoder_enabled();
  114|       |        if (encoder_enabled < 0)
  115|       |            HGOTO_ERROR(H5E_PLINE, H5E_CANTINIT, FAIL, "check for szip encoder failed");
  116|       |
  117|       |        H5Z_SZIP->encoder_present = (unsigned)encoder_enabled;
  118|       |        if (H5Z_register(H5Z_SZIP) < 0)
  119|       |            HGOTO_ERROR(H5E_PLINE, H5E_CANTINIT, FAIL, "unable to register szip filter");
  120|       |    }
  121|       |#endif /* H5_HAVE_FILTER_SZIP */
  122|       |
  123|      1|done:
  124|      1|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  125|      1|}
H5Z_term_package:
  137|      2|{
  138|      2|    int n = 0;
  139|       |
  140|      2|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      2|    {                                                                                                        \
  |  | 1425|      2|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      2|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      2|        {
  ------------------
  141|       |
  142|       |#ifdef H5Z_DEBUG
  143|       |    char   comment[16], bandwidth[32];
  144|       |    int    dir, nprint = 0;
  145|       |    size_t i;
  146|       |
  147|       |    if (DUMP_DEBUG_STATS_g) {
  148|       |        for (i = 0; i < H5Z_table_used_g; i++) {
  149|       |            for (dir = 0; dir < 2; dir++) {
  150|       |                struct {
  151|       |                    char *user;
  152|       |                    char *system;
  153|       |                    char *elapsed;
  154|       |                } timestrs = {H5_timer_get_time_string(H5Z_stat_table_g[i].stats[dir].times.user),
  155|       |                              H5_timer_get_time_string(H5Z_stat_table_g[i].stats[dir].times.system),
  156|       |                              H5_timer_get_time_string(H5Z_stat_table_g[i].stats[dir].times.elapsed)};
  157|       |                if (0 == H5Z_stat_table_g[i].stats[dir].total)
  158|       |                    goto next;
  159|       |
  160|       |                if (0 == nprint++) {
  161|       |                    /* Print column headers */
  162|       |                    fprintf(stdout, "H5Z: filter statistics "
  163|       |                                    "accumulated over life of library:\n");
  164|       |                    fprintf(stdout, "   %-16s %10s %10s %8s %8s %8s %10s\n", "Filter", "Total", "Errors",
  165|       |                            "User", "System", "Elapsed", "Bandwidth");
  166|       |                    fprintf(stdout, "   %-16s %10s %10s %8s %8s %8s %10s\n", "------", "-----", "------",
  167|       |                            "----", "------", "-------", "---------");
  168|       |                } /* end if */
  169|       |
  170|       |                /* Truncate the comment to fit in the field */
  171|       |                strncpy(comment, H5Z_table_g[i].name, sizeof comment);
  172|       |                comment[sizeof(comment) - 1] = '\0';
  173|       |
  174|       |                /*
  175|       |                 * Format bandwidth to have four significant digits and
  176|       |                 * units of `B/s', `kB/s', `MB/s', `GB/s', or `TB/s' or
  177|       |                 * the word `Inf' if the elapsed time is zero.
  178|       |                 */
  179|       |                H5_bandwidth(bandwidth, sizeof(bandwidth), (double)(H5Z_stat_table_g[i].stats[dir].total),
  180|       |                             H5Z_stat_table_g[i].stats[dir].times.elapsed);
  181|       |
  182|       |                /* Print the statistics */
  183|       |                fprintf(stdout, "   %s%-15s %10" PRIdHSIZE " %10" PRIdHSIZE " %8s %8s %8s %10s\n",
  184|       |                        (dir ? "<" : ">"), comment, H5Z_stat_table_g[i].stats[dir].total,
  185|       |                        H5Z_stat_table_g[i].stats[dir].errors, timestrs.user, timestrs.system,
  186|       |                        timestrs.elapsed, bandwidth);
  187|       |next:
  188|       |                free(timestrs.user);
  189|       |                free(timestrs.system);
  190|       |                free(timestrs.elapsed);
  191|       |            } /* end for */
  192|       |        }     /* end for */
  193|       |    }         /* end if */
  194|       |#endif        /* H5Z_DEBUG */
  195|       |
  196|       |    /* Free the table of filters */
  197|      2|    if (H5Z_table_g) {
  ------------------
  |  Branch (197:9): [True: 1, False: 1]
  ------------------
  198|      1|        H5Z_table_g = (H5Z_class2_t *)H5MM_xfree(H5Z_table_g);
  199|       |
  200|       |#ifdef H5Z_DEBUG
  201|       |        H5Z_stat_table_g = (H5Z_stats_t *)H5MM_xfree(H5Z_stat_table_g);
  202|       |#endif /* H5Z_DEBUG */
  203|      1|        H5Z_table_used_g = H5Z_table_alloc_g = 0;
  204|       |
  205|      1|        n++;
  206|      1|    } /* end if */
  207|       |
  208|      2|    FUNC_LEAVE_NOAPI(n)
  ------------------
  |  | 1572|      2|    ;                                                                                                        \
  |  | 1573|      2|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      2|    return (ret_value);                                                                                      \
  |  | 1575|      2|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  209|      2|} /* end H5Z_term_package() */
H5Z_register:
  295|      5|{
  296|      5|    size_t i;
  297|      5|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      5|#define SUCCEED 0
  ------------------
  298|       |
  299|      5|    FUNC_ENTER_NOAPI(FAIL)
  ------------------
  |  | 1391|      5|    {                                                                                                        \
  |  | 1392|      5|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      5|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      5|                                                                                                             \
  |  |  |  | 1267|      5|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1393|      5|        {
  ------------------
  300|       |
  301|      5|    assert(cls);
  302|      5|    assert(cls->id >= 0 && cls->id <= H5Z_FILTER_MAX);
  303|       |
  304|       |    /* Is the filter already registered? */
  305|     15|    for (i = 0; i < H5Z_table_used_g; i++)
  ------------------
  |  Branch (305:17): [True: 10, False: 5]
  ------------------
  306|     10|        if (H5Z_table_g[i].id == cls->id)
  ------------------
  |  Branch (306:13): [True: 0, False: 10]
  ------------------
  307|      0|            break;
  308|       |
  309|       |    /* Filter not already registered */
  310|      5|    if (i >= H5Z_table_used_g) {
  ------------------
  |  Branch (310:9): [True: 5, False: 0]
  ------------------
  311|      5|        if (H5Z_table_used_g >= H5Z_table_alloc_g) {
  ------------------
  |  Branch (311:13): [True: 1, False: 4]
  ------------------
  312|      1|            size_t        n     = MAX(H5Z_MAX_NFILTERS, 2 * H5Z_table_alloc_g);
  ------------------
  |  |  300|      1|#define MAX(a, b)        (((a) > (b)) ? (a) : (b))
  |  |  ------------------
  |  |  |  Branch (300:27): [True: 1, False: 0]
  |  |  ------------------
  ------------------
  313|      1|            H5Z_class2_t *table = (H5Z_class2_t *)H5MM_realloc(H5Z_table_g, n * sizeof(H5Z_class2_t));
  314|       |#ifdef H5Z_DEBUG
  315|       |            H5Z_stats_t *stat_table = (H5Z_stats_t *)H5MM_realloc(H5Z_stat_table_g, n * sizeof(H5Z_stats_t));
  316|       |#endif /* H5Z_DEBUG */
  317|      1|            if (!table)
  ------------------
  |  Branch (317:17): [True: 0, False: 1]
  ------------------
  318|      0|                HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "unable to extend filter table");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  319|      1|            H5Z_table_g = table;
  320|       |#ifdef H5Z_DEBUG
  321|       |            if (!stat_table)
  322|       |                HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "unable to extend filter statistics table");
  323|       |            H5Z_stat_table_g = stat_table;
  324|       |#endif /* H5Z_DEBUG */
  325|      1|            H5Z_table_alloc_g = n;
  326|      1|        } /* end if */
  327|       |
  328|       |        /* Initialize */
  329|      5|        i = H5Z_table_used_g++;
  330|      5|        H5MM_memcpy(H5Z_table_g + i, cls, sizeof(H5Z_class2_t));
  ------------------
  |  |   41|      5|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  331|       |#ifdef H5Z_DEBUG
  332|       |        memset(H5Z_stat_table_g + i, 0, sizeof(H5Z_stats_t));
  333|       |#endif /* H5Z_DEBUG */
  334|      5|    }  /* end if */
  335|       |    /* Filter already registered */
  336|      0|    else {
  337|       |        /* Replace old contents */
  338|      0|        H5MM_memcpy(H5Z_table_g + i, cls, sizeof(H5Z_class2_t));
  ------------------
  |  |   41|      0|#define H5MM_memcpy(D, S, N) memcpy(D, S, N)
  ------------------
  339|      0|    } /* end else */
  340|       |
  341|      5|done:
  342|      5|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      5|    ;                                                                                                        \
  |  | 1573|      5|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      5|    return (ret_value);                                                                                      \
  |  | 1575|      5|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  343|      5|}

H5Z_xform_destroy:
 1495|      1|{
 1496|      1|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|      1|    {                                                                                                        \
  |  | 1425|      1|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|      1|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|      1|        {
  ------------------
 1497|       |
 1498|      1|    if (data_xform_prop) {
  ------------------
  |  Branch (1498:9): [True: 0, False: 1]
  ------------------
 1499|       |        /* Destroy the parse tree */
 1500|      0|        H5Z__xform_destroy_parse_tree(data_xform_prop->parse_root);
 1501|       |
 1502|       |        /* Free the expression */
 1503|      0|        H5MM_xfree(data_xform_prop->xform_exp);
 1504|       |
 1505|       |        /* Free the pointers to the temp. arrays, if there are any */
 1506|      0|        if (data_xform_prop->dat_val_pointers->num_ptrs > 0)
  ------------------
  |  Branch (1506:13): [True: 0, False: 0]
  ------------------
 1507|      0|            H5MM_xfree(data_xform_prop->dat_val_pointers->ptr_dat_val);
 1508|       |
 1509|       |        /* Free the data storage struct */
 1510|      0|        H5MM_xfree(data_xform_prop->dat_val_pointers);
 1511|       |
 1512|       |        /* Free the node */
 1513|      0|        H5MM_xfree(data_xform_prop);
 1514|      0|    } /* end if */
 1515|       |
 1516|      1|    FUNC_LEAVE_NOAPI(SUCCEED)
  ------------------
  |  | 1572|      1|    ;                                                                                                        \
  |  | 1573|      1|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      1|    return (ret_value);                                                                                      \
  |  | 1575|      1|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1517|      1|} /* H5Z_xform_destroy() */
H5Z_xform_noop:
 1619|     31|{
 1620|     31|    bool ret_value = true; /* Return value */
 1621|       |
 1622|     31|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|     31|    {                                                                                                        \
  |  | 1425|     31|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|     31|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|     31|        {
  ------------------
 1623|       |
 1624|     31|    if (data_xform_prop) {
  ------------------
  |  Branch (1624:9): [True: 0, False: 31]
  ------------------
 1625|      0|        ret_value = false;
 1626|       |
 1627|       |        /* Check for trivial data transformation: expression = "x" */
 1628|      0|        if ((strlen(data_xform_prop->xform_exp) == 1) && data_xform_prop->dat_val_pointers &&
  ------------------
  |  Branch (1628:13): [True: 0, False: 0]
  |  Branch (1628:58): [True: 0, False: 0]
  ------------------
 1629|      0|            (data_xform_prop->dat_val_pointers->num_ptrs == 1)) {
  ------------------
  |  Branch (1629:13): [True: 0, False: 0]
  ------------------
 1630|      0|            ret_value = true;
 1631|      0|        } /* end if */
 1632|      0|    }     /* end if */
 1633|       |
 1634|     31|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|     31|    ;                                                                                                        \
  |  | 1573|     31|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|     31|    return (ret_value);                                                                                      \
  |  | 1575|     31|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
 1635|     31|} /* H5Z_xform_noop() */

H5_hash_string:
  499|  10.8k|{
  500|  10.8k|    uint32_t hash = 5381;
  501|  10.8k|    int      c;
  502|       |
  503|  10.8k|    FUNC_ENTER_NOAPI_NOINIT_NOERR
  ------------------
  |  | 1424|  10.8k|    {                                                                                                        \
  |  | 1425|  10.8k|        FUNC_ENTER_COMMON_NOERR(!H5_IS_API(__func__));                                                       \
  |  |  ------------------
  |  |  |  | 1269|  10.8k|#define FUNC_ENTER_COMMON_NOERR(asrt) FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1426|  10.8k|        {
  ------------------
  504|       |
  505|       |    /* Sanity check */
  506|  10.8k|    assert(str);
  507|       |
  508|   151k|    while ((c = *str++))
  ------------------
  |  Branch (508:12): [True: 140k, False: 10.8k]
  ------------------
  509|   140k|        hash = ((hash << 5) + hash) + (uint32_t)c; /* hash * 33 + c */
  510|       |
  511|  10.8k|    FUNC_LEAVE_NOAPI(hash)
  ------------------
  |  | 1572|  10.8k|    ;                                                                                                        \
  |  | 1573|  10.8k|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|  10.8k|    return (ret_value);                                                                                      \
  |  | 1575|  10.8k|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  512|  10.8k|} /* end H5_hash_string() */

H5_build_extpath:
  652|      7|{
  653|      7|    char  *full_path = NULL;    /* Pointer to the full path, as built or passed in */
  654|      7|    char  *cwdpath   = NULL;    /* Pointer to the current working directory path */
  655|      7|    char  *new_name  = NULL;    /* Pointer to the name of the file */
  656|      7|    herr_t ret_value = SUCCEED; /* Return value */
  ------------------
  |  |  283|      7|#define SUCCEED 0
  ------------------
  657|       |
  658|      7|    FUNC_ENTER_NOAPI_NOINIT
  ------------------
  |  | 1410|      7|    {                                                                                                        \
  |  | 1411|      7|        FUNC_ENTER_COMMON(!H5_IS_API(__func__));                                                             \
  |  |  ------------------
  |  |  |  | 1265|      7|    bool err_occurred = false;                                                                               \
  |  |  |  | 1266|      7|                                                                                                             \
  |  |  |  | 1267|      7|    FUNC_ENTER_CHECK_NAME(asrt);
  |  |  ------------------
  |  | 1412|      7|        {
  ------------------
  659|       |
  660|      7|    assert(name);
  661|      7|    assert(extpath);
  662|       |
  663|       |    /* Clear external path pointer to begin with */
  664|      7|    *extpath = NULL;
  665|       |
  666|       |    /*
  667|       |     * Unix: name[0] is a "/"
  668|       |     * Windows: name[0-2] is "<drive letter>:\" or "<drive-letter>:/"
  669|       |     */
  670|      7|    if (H5_CHECK_ABSOLUTE(name)) {
  ------------------
  |  | 1010|      7|#define H5_CHECK_ABSOLUTE(NAME)          (H5_CHECK_DELIMITER(*NAME))
  |  |  ------------------
  |  |  |  | 1009|      7|#define H5_CHECK_DELIMITER(SS)           (SS == H5_DIR_SEPC)
  |  |  |  |  ------------------
  |  |  |  |  |  | 1007|      7|#define H5_DIR_SEPC                      '/'
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (1010:42): [True: 7, False: 0]
  |  |  ------------------
  ------------------
  671|      7|        if (NULL == (full_path = (char *)H5MM_strdup(name)))
  ------------------
  |  Branch (671:13): [True: 0, False: 7]
  ------------------
  672|      0|            HGOTO_ERROR(H5E_INTERNAL, H5E_NOSPACE, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  673|      7|    }
  674|      0|    else {
  675|       |        /* relative pathname */
  676|      0|        char  *retcwd;
  677|      0|        size_t name_len;
  678|      0|        int    drive;
  679|       |
  680|      0|        if (NULL == (cwdpath = (char *)H5MM_malloc(MAX_PATH_LEN)))
  ------------------
  |  |   38|      0|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  |  Branch (680:13): [True: 0, False: 0]
  ------------------
  681|      0|            HGOTO_ERROR(H5E_INTERNAL, H5E_NOSPACE, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  682|      0|        name_len = strlen(name) + 1;
  683|      0|        if (NULL == (new_name = (char *)H5MM_malloc(name_len)))
  ------------------
  |  |   38|      0|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  |  Branch (683:13): [True: 0, False: 0]
  ------------------
  684|      0|            HGOTO_ERROR(H5E_INTERNAL, H5E_NOSPACE, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  685|       |
  686|       |        /*
  687|       |         * Windows: name[0-1] is "<drive-letter>:"
  688|       |         *   Get current working directory on the drive specified in NAME
  689|       |         * Unix: does not apply
  690|       |         */
  691|      0|        if (H5_CHECK_ABS_DRIVE(name)) {
  ------------------
  |  | 1011|      0|#define H5_CHECK_ABS_DRIVE(NAME)         (0)
  |  |  ------------------
  |  |  |  Branch (1011:42): [Folded - Ignored]
  |  |  ------------------
  ------------------
  692|      0|            drive  = toupper(name[0]) - 'A' + 1;
  693|      0|            retcwd = HDgetdcwd(drive, cwdpath, MAX_PATH_LEN);
  ------------------
  |  |  735|      0|#define HDgetdcwd(D, S, Z) getcwd(S, Z)
  ------------------
  694|      0|            strncpy(new_name, &name[2], name_len);
  695|      0|        }
  696|       |        /*
  697|       |         * Windows: name[0] is a '/' or '\'
  698|       |         *  Get current drive
  699|       |         * Unix: does not apply
  700|       |         */
  701|      0|        else if (H5_CHECK_ABS_PATH(name) && (0 != (drive = HDgetdrive()))) {
  ------------------
  |  | 1012|      0|#define H5_CHECK_ABS_PATH(NAME)          (0)
  |  |  ------------------
  |  |  |  Branch (1012:42): [Folded - Ignored]
  |  |  ------------------
  ------------------
                      else if (H5_CHECK_ABS_PATH(name) && (0 != (drive = HDgetdrive()))) {
  ------------------
  |  |  740|      0|#define HDgetdrive() 0
  ------------------
  |  Branch (701:45): [True: 0, False: 0]
  ------------------
  702|      0|            snprintf(cwdpath, MAX_PATH_LEN, "%c:%c", (drive + 'A' - 1), name[0]);
  ------------------
  |  |  648|      0|#define MAX_PATH_LEN 1024
  ------------------
  703|      0|            retcwd = cwdpath;
  704|      0|            strncpy(new_name, &name[1], name_len);
  705|      0|        }
  706|       |        /* totally relative for Unix and Windows: get current working directory  */
  707|      0|        else {
  708|      0|            retcwd = HDgetcwd(cwdpath, MAX_PATH_LEN);
  ------------------
  |  |  732|      0|#define HDgetcwd(S, Z) getcwd(S, Z)
  ------------------
  709|      0|            strncpy(new_name, name, name_len);
  710|      0|        }
  711|       |
  712|      0|        if (retcwd != NULL) {
  ------------------
  |  Branch (712:13): [True: 0, False: 0]
  ------------------
  713|      0|            size_t cwdlen;
  714|      0|            size_t path_len;
  715|       |
  716|      0|            cwdlen = strlen(cwdpath);
  717|      0|            if (cwdlen == 0)
  ------------------
  |  Branch (717:17): [True: 0, False: 0]
  ------------------
  718|      0|                HGOTO_ERROR(H5E_INTERNAL, H5E_BADVALUE, FAIL, "cwd length is zero");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  719|      0|            path_len = cwdlen + strlen(new_name) + 2;
  720|      0|            if (NULL == (full_path = (char *)H5MM_malloc(path_len)))
  ------------------
  |  |   38|      0|#define H5MM_malloc(Z) malloc(Z)
  ------------------
  |  Branch (720:17): [True: 0, False: 0]
  ------------------
  721|      0|                HGOTO_ERROR(H5E_INTERNAL, H5E_NOSPACE, FAIL, "memory allocation failed");
  ------------------
  |  |   68|      0|    do {                                                                                                     \
  |  |   69|      0|        HCOMMON_ERROR(maj, min, __VA_ARGS__);                                                                \
  |  |  ------------------
  |  |  |  |   39|      0|    do {                                                                                                     \
  |  |  |  |   40|      0|        HERROR(maj, min, __VA_ARGS__);                                                                       \
  |  |  |  |  ------------------
  |  |  |  |  |  |   30|      0|    do {                                                                                                     \
  |  |  |  |  |  |   31|      0|        H5E_printf_stack(__FILE__, __func__, __LINE__, maj_id, min_id, __VA_ARGS__);                         \
  |  |  |  |  |  |   32|      0|    } while (0)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (32:14): [Folded - Ignored]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   41|      0|        err_occurred = true;                                                                                 \
  |  |  |  |   42|      0|        err_occurred = err_occurred; /* Shut GCC warnings up! */                                             \
  |  |  |  |   43|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (43:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   70|      0|        HGOTO_DONE(ret_val);                                                                                 \
  |  |  ------------------
  |  |  |  |   91|      0|    do {                                                                                                     \
  |  |  |  |   92|      0|        ret_value = ret_val;                                                                                 \
  |  |  |  |   93|      0|        goto done;                                                                                           \
  |  |  |  |   94|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (94:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |   71|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (71:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  722|       |
  723|       |            /* path_len will always be greater than zero, so no check before
  724|       |             * setting the terminal NUL byte of full_path
  725|       |             */
  726|      0|            strncpy(full_path, cwdpath, path_len);
  727|      0|            full_path[path_len - 1] = '\0';
  728|       |
  729|      0|            if (!H5_CHECK_DELIMITER(cwdpath[cwdlen - 1]))
  ------------------
  |  | 1009|      0|#define H5_CHECK_DELIMITER(SS)           (SS == H5_DIR_SEPC)
  |  |  ------------------
  |  |  |  | 1007|      0|#define H5_DIR_SEPC                      '/'
  |  |  ------------------
  ------------------
  |  Branch (729:17): [True: 0, False: 0]
  ------------------
  730|      0|                strncat(full_path, H5_DIR_SEPS, path_len - (cwdlen + 1));
  ------------------
  |  | 1008|      0|#define H5_DIR_SEPS                      "/"
  ------------------
  731|      0|            strncat(full_path, new_name, path_len - (cwdlen + 1) - strlen(H5_DIR_SEPS));
  ------------------
  |  | 1008|      0|#define H5_DIR_SEPS                      "/"
  ------------------
  732|      0|        }
  733|      0|    }
  734|       |
  735|       |    /* Strip out the last component (the file name itself) from the path */
  736|      7|    if (full_path) {
  ------------------
  |  Branch (736:9): [True: 7, False: 0]
  ------------------
  737|      7|        char *ptr = NULL;
  738|       |
  739|      7|        H5_GET_LAST_DELIMITER(full_path, ptr)
  ------------------
  |  | 1013|      7|#define H5_GET_LAST_DELIMITER(NAME, ptr) ptr = strrchr(NAME, H5_DIR_SEPC);
  |  |  ------------------
  |  |  |  | 1007|      7|#define H5_DIR_SEPC                      '/'
  |  |  ------------------
  ------------------
  740|      7|        assert(ptr);
  741|      7|        *++ptr   = '\0';
  742|      7|        *extpath = full_path;
  743|      7|    }
  744|       |
  745|      7|done:
  746|      7|    if (cwdpath)
  ------------------
  |  Branch (746:9): [True: 0, False: 7]
  ------------------
  747|      0|        H5MM_xfree(cwdpath);
  748|      7|    if (new_name)
  ------------------
  |  Branch (748:9): [True: 0, False: 7]
  ------------------
  749|      0|        H5MM_xfree(new_name);
  750|       |
  751|      7|    FUNC_LEAVE_NOAPI(ret_value)
  ------------------
  |  | 1572|      7|    ;                                                                                                        \
  |  | 1573|      7|    } /*end scope from end of FUNC_ENTER*/                                                                   \
  |  | 1574|      7|    return (ret_value);                                                                                      \
  |  | 1575|      7|    } /*end scope from beginning of FUNC_ENTER*/
  ------------------
  752|      7|} /* end H5_build_extpath() */

_ZN19FuzzerTemporaryFileC2EPKhm:
   70|     70|      : filename_(fuzzer_get_tmpfile(data, size)) {}
matio_fuzzer.cpp:_ZL18fuzzer_get_tmpfilePKhm:
   29|     70|static char* fuzzer_get_tmpfile(const uint8_t* data, size_t size) {
   30|     70|  char* filename_buffer = strdup("/tmp/generate_temporary_file.XXXXXX");
   31|     70|  if (!filename_buffer) {
  ------------------
  |  Branch (31:7): [True: 0, False: 70]
  ------------------
   32|      0|    perror("Failed to allocate file name buffer.");
   33|      0|    abort();
   34|      0|  }
   35|     70|  const int file_descriptor = mkstemp(filename_buffer);
   36|     70|  if (file_descriptor < 0) {
  ------------------
  |  Branch (36:7): [True: 0, False: 70]
  ------------------
   37|      0|    perror("Failed to make temporary file.");
   38|      0|    abort();
   39|      0|  }
   40|     70|  FILE* file = fdopen(file_descriptor, "wb");
   41|     70|  if (!file) {
  ------------------
  |  Branch (41:7): [True: 0, False: 70]
  ------------------
   42|      0|    perror("Failed to open file descriptor.");
   43|      0|    close(file_descriptor);
   44|      0|    abort();
   45|      0|  }
   46|     70|  const size_t bytes_written = fwrite(data, sizeof(uint8_t), size, file);
   47|     70|  if (bytes_written < size) {
  ------------------
  |  Branch (47:7): [True: 0, False: 70]
  ------------------
   48|      0|    close(file_descriptor);
   49|      0|    fprintf(stderr, "Failed to write all bytes to file (%zu out of %zu)",
   50|      0|            bytes_written, size);
   51|      0|    abort();
   52|      0|  }
   53|     70|  fclose(file);
   54|     70|  return filename_buffer;
   55|     70|}
_ZNK19FuzzerTemporaryFile8filenameEv:
   74|     70|  const char* filename() const { return filename_; }
_ZN19FuzzerTemporaryFileD2Ev:
   72|     70|  ~FuzzerTemporaryFile() { fuzzer_release_tmpfile(filename_); }
matio_fuzzer.cpp:_ZL22fuzzer_release_tmpfilePc:
   57|     70|static void fuzzer_release_tmpfile(char* filename) {
   58|     70|  if (unlink(filename) != 0) {
  ------------------
  |  Branch (58:7): [True: 0, False: 70]
  ------------------
   59|      0|    perror("WARNING: Failed to delete temporary file.");
   60|      0|  }
   61|     70|  free(filename);
   62|     70|}

LLVMFuzzerTestOneInput:
   27|     70|{
   28|     70|    FuzzerTemporaryFile temp_file(data, size);
   29|       |
   30|     70|    return MatioRead(temp_file.filename());
   31|     70|}

_Z9MatioReadPKc:
   26|     70|{
   27|     70|    Mat_LogInit("ossfuzz");
   28|     70|    mat_t *matfd = Mat_Open(file_name, MAT_ACC_RDONLY);
   29|     70|    if ( matfd == nullptr ) {
  ------------------
  |  Branch (29:10): [True: 1, False: 69]
  ------------------
   30|      1|        return 0;
   31|      1|    }
   32|       |
   33|     69|    enum mat_acc mat_acess_mode = Mat_GetFileAccessMode(matfd);
   34|     69|    const char *mat_file_name = Mat_GetFilename(matfd);
   35|     69|    const char *mat_header = Mat_GetHeader(matfd);
   36|     69|    enum mat_ft mat_version = Mat_GetVersion(matfd);
   37|       |
   38|     69|    size_t n = 0;
   39|     69|    char *const *dir = Mat_GetDir(matfd, &n);
   40|       |
   41|     69|    matvar_t *matvar = nullptr;
   42|    613|    while ( (matvar = Mat_VarReadNextInfo(matfd)) != nullptr ) {
  ------------------
  |  Branch (42:13): [True: 544, False: 69]
  ------------------
   43|    544|        Mat_VarReadDataAll(matfd, matvar);
   44|    544|        Mat_VarGetSize(matvar);
   45|    544|        unsigned nfields = Mat_VarGetNumberOfFields(matvar);
   46|    544|        char *const *field_names = Mat_VarGetStructFieldnames(matvar);
   47|    544|        Mat_VarPrint(matvar, 0);
   48|    544|        Mat_VarPrint(matvar, 1);
   49|    544|        matvar_t *matvar_deep_copy = Mat_VarDuplicate(matvar, 1);
   50|    544|        Mat_VarFree(matvar);
   51|    544|        if ( matvar_deep_copy != nullptr ) {
  ------------------
  |  Branch (51:14): [True: 544, False: 0]
  ------------------
   52|    544|            Mat_VarFree(matvar_deep_copy);
   53|    544|        }
   54|    544|    }
   55|       |
   56|     69|    Mat_Rewind(matfd);
   57|    365|    while ( (matvar = Mat_VarReadNext(matfd)) != nullptr ) {
  ------------------
  |  Branch (57:13): [True: 296, False: 69]
  ------------------
   58|    296|        Mat_VarFree(matvar);
   59|    296|    }
   60|       |
   61|     69|    Mat_Rewind(matfd);
   62|    410|    for ( size_t i = 0; i < n; i++ ) {
  ------------------
  |  Branch (62:25): [True: 341, False: 69]
  ------------------
   63|    341|        matvar = Mat_VarRead(matfd, dir[i]);
   64|    341|        Mat_VarFree(matvar);
   65|    341|    }
   66|       |
   67|     69|    Mat_Close(matfd);
   68|       |
   69|     69|    return 0;
   70|     70|}

Mat_int64Swap:
   50|  3.65M|{
   51|  3.65M|    union {
   52|  3.65M|        mat_int8_t i1[8];
   53|  3.65M|        mat_int64_t i8;
   54|  3.65M|    } tmp;
   55|       |
   56|  3.65M|    tmp.i8 = *a;
   57|       |
   58|  3.65M|    swap(tmp.i1[0], tmp.i1[7]);
  ------------------
  |  |   38|  3.65M|    a ^= b;        \
  |  |   39|  3.65M|    b ^= a;        \
  |  |   40|  3.65M|    a ^= b
  ------------------
   59|  3.65M|    swap(tmp.i1[1], tmp.i1[6]);
  ------------------
  |  |   38|  3.65M|    a ^= b;        \
  |  |   39|  3.65M|    b ^= a;        \
  |  |   40|  3.65M|    a ^= b
  ------------------
   60|  3.65M|    swap(tmp.i1[2], tmp.i1[5]);
  ------------------
  |  |   38|  3.65M|    a ^= b;        \
  |  |   39|  3.65M|    b ^= a;        \
  |  |   40|  3.65M|    a ^= b
  ------------------
   61|  3.65M|    swap(tmp.i1[3], tmp.i1[4]);
  ------------------
  |  |   38|  3.65M|    a ^= b;        \
  |  |   39|  3.65M|    b ^= a;        \
  |  |   40|  3.65M|    a ^= b
  ------------------
   62|       |
   63|  3.65M|    *a = tmp.i8;
   64|       |
   65|  3.65M|    return *a;
   66|  3.65M|}
Mat_int32Swap:
  103|  4.14M|{
  104|  4.14M|    union {
  105|  4.14M|        mat_int8_t i1[4];
  106|  4.14M|        mat_int32_t i4;
  107|  4.14M|    } tmp;
  108|       |
  109|  4.14M|    tmp.i4 = *a;
  110|       |
  111|  4.14M|    swap(tmp.i1[0], tmp.i1[3]);
  ------------------
  |  |   38|  4.14M|    a ^= b;        \
  |  |   39|  4.14M|    b ^= a;        \
  |  |   40|  4.14M|    a ^= b
  ------------------
  112|  4.14M|    swap(tmp.i1[1], tmp.i1[2]);
  ------------------
  |  |   38|  4.14M|    a ^= b;        \
  |  |   39|  4.14M|    b ^= a;        \
  |  |   40|  4.14M|    a ^= b
  ------------------
  113|       |
  114|  4.14M|    *a = tmp.i4;
  115|       |
  116|  4.14M|    return *a;
  117|  4.14M|}
Mat_uint32Swap:
  126|   632k|{
  127|   632k|    union {
  128|   632k|        mat_uint8_t i1[4];
  129|   632k|        mat_uint32_t i4;
  130|   632k|    } tmp;
  131|       |
  132|   632k|    tmp.i4 = *a;
  133|       |
  134|   632k|    swap(tmp.i1[0], tmp.i1[3]);
  ------------------
  |  |   38|   632k|    a ^= b;        \
  |  |   39|   632k|    b ^= a;        \
  |  |   40|   632k|    a ^= b
  ------------------
  135|   632k|    swap(tmp.i1[1], tmp.i1[2]);
  ------------------
  |  |   38|   632k|    a ^= b;        \
  |  |   39|   632k|    b ^= a;        \
  |  |   40|   632k|    a ^= b
  ------------------
  136|       |
  137|   632k|    *a = tmp.i4;
  138|       |
  139|   632k|    return *a;
  140|   632k|}
Mat_int16Swap:
  149|  11.1M|{
  150|  11.1M|    union {
  151|  11.1M|        mat_int8_t i1[2];
  152|  11.1M|        mat_int16_t i2;
  153|  11.1M|    } tmp;
  154|       |
  155|  11.1M|    tmp.i2 = *a;
  156|       |
  157|  11.1M|    swap(tmp.i1[0], tmp.i1[1]);
  ------------------
  |  |   38|  11.1M|    a ^= b;        \
  |  |   39|  11.1M|    b ^= a;        \
  |  |   40|  11.1M|    a ^= b
  ------------------
  158|       |
  159|  11.1M|    *a = tmp.i2;
  160|  11.1M|    return *a;
  161|  11.1M|}
Mat_uint16Swap:
  170|  6.07M|{
  171|  6.07M|    union {
  172|  6.07M|        mat_uint8_t i1[2];
  173|  6.07M|        mat_uint16_t i2;
  174|  6.07M|    } tmp;
  175|       |
  176|  6.07M|    tmp.i2 = *a;
  177|       |
  178|  6.07M|    swap(tmp.i1[0], tmp.i1[1]);
  ------------------
  |  |   38|  6.07M|    a ^= b;        \
  |  |   39|  6.07M|    b ^= a;        \
  |  |   40|  6.07M|    a ^= b
  ------------------
  179|       |
  180|  6.07M|    *a = tmp.i2;
  181|  6.07M|    return *a;
  182|  6.07M|}
Mat_floatSwap:
  191|   932k|{
  192|   932k|    union {
  193|   932k|        char i1[4];
  194|   932k|        float r4;
  195|   932k|    } tmp;
  196|       |
  197|   932k|    tmp.r4 = *a;
  198|       |
  199|   932k|    swap(tmp.i1[0], tmp.i1[3]);
  ------------------
  |  |   38|   932k|    a ^= b;        \
  |  |   39|   932k|    b ^= a;        \
  |  |   40|   932k|    a ^= b
  ------------------
  200|   932k|    swap(tmp.i1[1], tmp.i1[2]);
  ------------------
  |  |   38|   932k|    a ^= b;        \
  |  |   39|   932k|    b ^= a;        \
  |  |   40|   932k|    a ^= b
  ------------------
  201|       |
  202|   932k|    *a = tmp.r4;
  203|   932k|    return *a;
  204|   932k|}
Mat_doubleSwap:
  213|  49.2k|{
  214|       |#ifndef SIZEOF_DOUBLE
  215|       |#define SIZEOF_DOUBLE 8
  216|       |#endif
  217|       |
  218|  49.2k|    union {
  219|  49.2k|        char a[SIZEOF_DOUBLE];
  220|  49.2k|        double b;
  221|  49.2k|    } tmp;
  222|       |
  223|  49.2k|    tmp.b = *a;
  224|       |
  225|       |#if SIZEOF_DOUBLE == 4
  226|       |    swap(tmp.a[0], tmp.a[3]);
  227|       |    swap(tmp.a[1], tmp.a[2]);
  228|       |#elif SIZEOF_DOUBLE == 8
  229|  49.2k|    swap(tmp.a[0], tmp.a[7]);
  ------------------
  |  |   38|  49.2k|    a ^= b;        \
  |  |   39|  49.2k|    b ^= a;        \
  |  |   40|  49.2k|    a ^= b
  ------------------
  230|  49.2k|    swap(tmp.a[1], tmp.a[6]);
  ------------------
  |  |   38|  49.2k|    a ^= b;        \
  |  |   39|  49.2k|    b ^= a;        \
  |  |   40|  49.2k|    a ^= b
  ------------------
  231|  49.2k|    swap(tmp.a[2], tmp.a[5]);
  ------------------
  |  |   38|  49.2k|    a ^= b;        \
  |  |   39|  49.2k|    b ^= a;        \
  |  |   40|  49.2k|    a ^= b
  ------------------
  232|  49.2k|    swap(tmp.a[3], tmp.a[4]);
  ------------------
  |  |   38|  49.2k|    a ^= b;        \
  |  |   39|  49.2k|    b ^= a;        \
  |  |   40|  49.2k|    a ^= b
  ------------------
  233|       |#elif SIZEOF_DOUBLE == 16
  234|       |    swap(tmp.a[0], tmp.a[15]);
  235|       |    swap(tmp.a[1], tmp.a[14]);
  236|       |    swap(tmp.a[2], tmp.a[13]);
  237|       |    swap(tmp.a[3], tmp.a[12]);
  238|       |    swap(tmp.a[4], tmp.a[11]);
  239|       |    swap(tmp.a[5], tmp.a[10]);
  240|       |    swap(tmp.a[6], tmp.a[9]);
  241|       |    swap(tmp.a[7], tmp.a[8]);
  242|       |#endif
  243|  49.2k|    *a = tmp.b;
  244|  49.2k|    return *a;
  245|  49.2k|}

InflateSkip:
   54|     37|{
   55|     37|    mat_uint8_t comp_buf[READ_BLOCK_SIZE], uncomp_buf[READ_BLOCK_SIZE];
   56|     37|    int n, err = MATIO_E_NO_ERROR, cnt = 0;
  ------------------
  |  |  241|     37|#define MATIO_E_NO_ERROR 0
  ------------------
   57|       |
   58|     37|    if ( nBytes < 1 )
  ------------------
  |  Branch (58:10): [True: 0, False: 37]
  ------------------
   59|      0|        return MATIO_E_NO_ERROR;
  ------------------
  |  |  241|      0|#define MATIO_E_NO_ERROR 0
  ------------------
   60|       |
   61|     37|    n = nBytes < READ_BLOCK_SIZE ? nBytes : READ_BLOCK_SIZE;
  ------------------
  |  |   92|     37|#define READ_BLOCK_SIZE (8192)
  ------------------
                  n = nBytes < READ_BLOCK_SIZE ? nBytes : READ_BLOCK_SIZE;
  ------------------
  |  |   92|     45|#define READ_BLOCK_SIZE (8192)
  ------------------
  |  Branch (61:9): [True: 29, False: 8]
  ------------------
   62|     37|    if ( !z->avail_in ) {
  ------------------
  |  Branch (62:10): [True: 34, False: 3]
  ------------------
   63|     34|        size_t nbytes = fread(comp_buf, 1, n, (FILE *)mat->fp);
   64|     34|        if ( 0 == nbytes ) {
  ------------------
  |  Branch (64:14): [True: 0, False: 34]
  ------------------
   65|      0|            return err;
   66|      0|        }
   67|     34|        if ( NULL != bytesread ) {
  ------------------
  |  Branch (67:14): [True: 16, False: 18]
  ------------------
   68|     16|            *bytesread += nbytes;
   69|     16|        }
   70|     34|        z->avail_in = (uInt)nbytes;
   71|     34|        z->next_in = comp_buf;
   72|     34|    }
   73|     37|    z->avail_out = n;
   74|     37|    z->next_out = uncomp_buf;
   75|     37|    err = inflate(z, Z_FULL_FLUSH);
  ------------------
  |  |  171|     37|#define Z_FULL_FLUSH    3
  ------------------
   76|     37|    if ( err == Z_STREAM_END ) {
  ------------------
  |  |  178|     37|#define Z_STREAM_END    1
  ------------------
  |  Branch (76:10): [True: 0, False: 37]
  ------------------
   77|      0|        return MATIO_E_NO_ERROR;
  ------------------
  |  |  241|      0|#define MATIO_E_NO_ERROR 0
  ------------------
   78|     37|    } else if ( err != Z_OK ) {
  ------------------
  |  |  177|     37|#define Z_OK            0
  ------------------
  |  Branch (78:17): [True: 6, False: 31]
  ------------------
   79|      6|        Mat_Critical("InflateSkip: inflate returned %s",
   80|      6|                     zError(err == Z_NEED_DICT ? Z_DATA_ERROR : err));
  ------------------
  |  |  179|      6|#define Z_NEED_DICT     2
  ------------------
                                   zError(err == Z_NEED_DICT ? Z_DATA_ERROR : err));
  ------------------
  |  |  182|      0|#define Z_DATA_ERROR   (-3)
  ------------------
  |  Branch (80:29): [True: 0, False: 6]
  ------------------
   81|      6|        return MATIO_E_FILE_FORMAT_VIOLATION;
  ------------------
  |  |  246|      6|#define MATIO_E_FILE_FORMAT_VIOLATION 5
  ------------------
   82|     31|    } else {
   83|     31|        err = MATIO_E_NO_ERROR;
  ------------------
  |  |  241|     31|#define MATIO_E_NO_ERROR 0
  ------------------
   84|     31|    }
   85|     31|    if ( !z->avail_out ) {
  ------------------
  |  Branch (85:10): [True: 31, False: 0]
  ------------------
   86|     31|        cnt += n;
   87|     31|        n = nBytes - cnt;
   88|     31|        if ( n > READ_BLOCK_SIZE ) {
  ------------------
  |  |   92|     31|#define READ_BLOCK_SIZE (8192)
  ------------------
  |  Branch (88:14): [True: 5, False: 26]
  ------------------
   89|      5|            n = READ_BLOCK_SIZE;
  ------------------
  |  |   92|      5|#define READ_BLOCK_SIZE (8192)
  ------------------
   90|      5|        }
   91|     31|        z->avail_out = n;
   92|     31|        z->next_out = uncomp_buf;
   93|     31|    }
   94|  1.57k|    while ( cnt < nBytes ) {
  ------------------
  |  Branch (94:13): [True: 1.54k, False: 26]
  ------------------
   95|  1.54k|        if ( !z->avail_in ) {
  ------------------
  |  Branch (95:14): [True: 175, False: 1.37k]
  ------------------
   96|    175|            size_t nbytes = fread(comp_buf, 1, n, (FILE *)mat->fp);
   97|    175|            if ( 0 == nbytes ) {
  ------------------
  |  Branch (97:18): [True: 5, False: 170]
  ------------------
   98|      5|                break;
   99|      5|            }
  100|    170|            if ( NULL != bytesread ) {
  ------------------
  |  Branch (100:18): [True: 170, False: 0]
  ------------------
  101|    170|                *bytesread += nbytes;
  102|    170|            }
  103|    170|            z->avail_in = (uInt)nbytes;
  104|    170|            z->next_in = comp_buf;
  105|    170|        }
  106|  1.54k|        err = inflate(z, Z_FULL_FLUSH);
  ------------------
  |  |  171|  1.54k|#define Z_FULL_FLUSH    3
  ------------------
  107|  1.54k|        if ( err == Z_STREAM_END ) {
  ------------------
  |  |  178|  1.54k|#define Z_STREAM_END    1
  ------------------
  |  Branch (107:14): [True: 0, False: 1.54k]
  ------------------
  108|      0|            err = MATIO_E_NO_ERROR;
  ------------------
  |  |  241|      0|#define MATIO_E_NO_ERROR 0
  ------------------
  109|      0|            break;
  110|  1.54k|        } else if ( err != Z_OK ) {
  ------------------
  |  |  177|  1.54k|#define Z_OK            0
  ------------------
  |  Branch (110:21): [True: 0, False: 1.54k]
  ------------------
  111|      0|            const char *errMsg = zError(err == Z_NEED_DICT ? Z_DATA_ERROR : err);
  ------------------
  |  |  179|      0|#define Z_NEED_DICT     2
  ------------------
                          const char *errMsg = zError(err == Z_NEED_DICT ? Z_DATA_ERROR : err);
  ------------------
  |  |  182|      0|#define Z_DATA_ERROR   (-3)
  ------------------
  |  Branch (111:41): [True: 0, False: 0]
  ------------------
  112|      0|            err = MATIO_E_FILE_FORMAT_VIOLATION;
  ------------------
  |  |  246|      0|#define MATIO_E_FILE_FORMAT_VIOLATION 5
  ------------------
  113|      0|            Mat_Critical("InflateSkip: inflate returned %s", errMsg);
  114|      0|            break;
  115|  1.54k|        } else {
  116|  1.54k|            err = MATIO_E_NO_ERROR;
  ------------------
  |  |  241|  1.54k|#define MATIO_E_NO_ERROR 0
  ------------------
  117|  1.54k|        }
  118|  1.54k|        if ( !z->avail_out ) {
  ------------------
  |  Branch (118:14): [True: 1.36k, False: 175]
  ------------------
  119|  1.36k|            cnt += n;
  120|  1.36k|            n = nBytes - cnt;
  121|  1.36k|            if ( n > READ_BLOCK_SIZE ) {
  ------------------
  |  |   92|  1.36k|#define READ_BLOCK_SIZE (8192)
  ------------------
  |  Branch (121:18): [True: 1.36k, False: 0]
  ------------------
  122|  1.36k|                n = READ_BLOCK_SIZE;
  ------------------
  |  |   92|  1.36k|#define READ_BLOCK_SIZE (8192)
  ------------------
  123|  1.36k|            }
  124|  1.36k|            z->avail_out = n;
  125|  1.36k|            z->next_out = uncomp_buf;
  126|  1.36k|        }
  127|  1.54k|    }
  128|       |
  129|     31|    if ( z->avail_in ) {
  ------------------
  |  Branch (129:10): [True: 26, False: 5]
  ------------------
  130|     26|        const mat_off_t offset = -(mat_off_t)z->avail_in;
  131|     26|        (void)fseeko((FILE *)mat->fp, offset, SEEK_CUR);
  132|     26|        if ( NULL != bytesread ) {
  ------------------
  |  Branch (132:14): [True: 8, False: 18]
  ------------------
  133|      8|            *bytesread -= z->avail_in;
  134|      8|        }
  135|     26|        z->avail_in = 0;
  136|     26|    }
  137|       |
  138|     31|    return err;
  139|     37|}
InflateRankDims:
  188|     29|{
  189|     29|    mat_uint32_t tag[2];
  190|     29|    mat_uint32_t rank, i;
  191|     29|    int err;
  192|     29|    size_t nbytes = 0;
  193|       |
  194|     29|    if ( buf == NULL )
  ------------------
  |  Branch (194:10): [True: 0, False: 29]
  ------------------
  195|      0|        return MATIO_E_BAD_ARGUMENT;
  ------------------
  |  |  248|      0|#define MATIO_E_BAD_ARGUMENT 7
  ------------------
  196|       |
  197|     29|    err = Inflate(mat, z, buf, 8, bytesread);
  198|     29|    if ( err ) {
  ------------------
  |  Branch (198:10): [True: 0, False: 29]
  ------------------
  199|      0|        return err;
  200|      0|    }
  201|     29|    tag[0] = *(mat_uint32_t *)buf;
  202|     29|    tag[1] = *((mat_uint32_t *)buf + 1);
  203|     29|    if ( mat->byteswap ) {
  ------------------
  |  Branch (203:10): [True: 0, False: 29]
  ------------------
  204|      0|        Mat_uint32Swap(tag);
  205|      0|        Mat_uint32Swap(tag + 1);
  206|      0|    }
  207|     29|    if ( (tag[0] & 0x0000ffff) != MAT_T_INT32 ) {
  ------------------
  |  Branch (207:10): [True: 0, False: 29]
  ------------------
  208|      0|        Mat_Critical("InflateRankDims: Reading dimensions expected type MAT_T_INT32");
  209|      0|        return MATIO_E_FILE_FORMAT_VIOLATION;
  ------------------
  |  |  246|      0|#define MATIO_E_FILE_FORMAT_VIOLATION 5
  ------------------
  210|      0|    }
  211|     29|    rank = tag[1];
  212|     29|    if ( rank % 8 != 0 )
  ------------------
  |  Branch (212:10): [True: 0, False: 29]
  ------------------
  213|      0|        i = 8 - (rank % 8);
  214|     29|    else
  215|     29|        i = 0;
  216|       |
  217|     29|    if ( rank > INT_MAX - i - 2 ) {
  ------------------
  |  Branch (217:10): [True: 0, False: 29]
  ------------------
  218|      0|        Mat_Critical("InflateRankDims: Reading dimensions expected rank in integer range");
  219|      0|        return MATIO_E_FILE_FORMAT_VIOLATION;
  ------------------
  |  |  246|      0|#define MATIO_E_FILE_FORMAT_VIOLATION 5
  ------------------
  220|      0|    }
  221|     29|    rank += i;
  222|       |
  223|     29|    err = Mul(&nbytes, rank + 2, sizeof(mat_uint32_t));
  224|     29|    if ( err ) {
  ------------------
  |  Branch (224:10): [True: 0, False: 29]
  ------------------
  225|      0|        Mat_Critical("Integer multiplication overflow");
  226|      0|        return err;
  227|      0|    }
  228|       |
  229|     29|    if ( nbytes <= nBytes ) {
  ------------------
  |  Branch (229:10): [True: 29, False: 0]
  ------------------
  230|     29|        err = Inflate(mat, z, (mat_uint32_t *)buf + 2, rank, bytesread);
  231|     29|    } else {
  232|       |        /* Cannot use too small buf, but can allocate output buffer dims */
  233|      0|        *dims = (mat_uint32_t *)calloc(rank, sizeof(mat_uint32_t));
  234|      0|        if ( NULL != *dims ) {
  ------------------
  |  Branch (234:14): [True: 0, False: 0]
  ------------------
  235|      0|            err = Inflate(mat, z, *dims, rank, bytesread);
  236|      0|        } else {
  237|      0|            *((mat_uint32_t *)buf + 1) = 0;
  238|      0|            Mat_Critical("Error allocating memory for dims");
  239|      0|            return MATIO_E_OUT_OF_MEMORY;
  ------------------
  |  |  251|      0|#define MATIO_E_OUT_OF_MEMORY 14
  ------------------
  240|      0|        }
  241|      0|    }
  242|       |
  243|     29|    return err;
  244|     29|}
Inflate:
  260|    219|{
  261|    219|    mat_uint8_t comp_buf[4];
  262|    219|    int err = MATIO_E_NO_ERROR;
  ------------------
  |  |  241|    219|#define MATIO_E_NO_ERROR 0
  ------------------
  263|       |
  264|    219|    if ( buf == NULL )
  ------------------
  |  Branch (264:10): [True: 0, False: 219]
  ------------------
  265|      0|        return MATIO_E_BAD_ARGUMENT;
  ------------------
  |  |  248|      0|#define MATIO_E_BAD_ARGUMENT 7
  ------------------
  266|       |
  267|    219|    if ( !z->avail_in ) {
  ------------------
  |  Branch (267:10): [True: 216, False: 3]
  ------------------
  268|    216|        size_t nbytes = fread(comp_buf, 1, 1, (FILE *)mat->fp);
  269|    216|        if ( 0 == nbytes ) {
  ------------------
  |  Branch (269:14): [True: 40, False: 176]
  ------------------
  270|     40|            return err;
  271|     40|        }
  272|    176|        if ( NULL != bytesread ) {
  ------------------
  |  Branch (272:14): [True: 145, False: 31]
  ------------------
  273|    145|            *bytesread += nbytes;
  274|    145|        }
  275|    176|        z->avail_in = (uInt)nbytes;
  276|    176|        z->next_in = comp_buf;
  277|    176|    }
  278|    179|    z->avail_out = nBytes;
  279|    179|    z->next_out = ZLIB_BYTE_PTR(buf);
  ------------------
  |  |   88|    179|#define ZLIB_BYTE_PTR(a) ((Bytef *)(a))
  ------------------
  280|    179|    err = inflate(z, Z_NO_FLUSH);
  ------------------
  |  |  168|    179|#define Z_NO_FLUSH      0
  ------------------
  281|    179|    if ( err != Z_OK ) {
  ------------------
  |  |  177|    179|#define Z_OK            0
  ------------------
  |  Branch (281:10): [True: 5, False: 174]
  ------------------
  282|      5|        Mat_Critical("Inflate: inflate returned %s",
  283|      5|                     zError(err == Z_NEED_DICT ? Z_DATA_ERROR : err));
  ------------------
  |  |  179|      5|#define Z_NEED_DICT     2
  ------------------
                                   zError(err == Z_NEED_DICT ? Z_DATA_ERROR : err));
  ------------------
  |  |  182|      0|#define Z_DATA_ERROR   (-3)
  ------------------
  |  Branch (283:29): [True: 0, False: 5]
  ------------------
  284|      5|        return MATIO_E_FILE_FORMAT_VIOLATION;
  ------------------
  |  |  246|      5|#define MATIO_E_FILE_FORMAT_VIOLATION 5
  ------------------
  285|    174|    } else {
  286|    174|        err = MATIO_E_NO_ERROR;
  ------------------
  |  |  241|    174|#define MATIO_E_NO_ERROR 0
  ------------------
  287|    174|    }
  288|  1.31k|    while ( z->avail_out && !z->avail_in ) {
  ------------------
  |  Branch (288:13): [True: 1.14k, False: 174]
  |  Branch (288:29): [True: 1.14k, False: 0]
  ------------------
  289|  1.14k|        size_t nbytes = fread(comp_buf, 1, 1, (FILE *)mat->fp);
  290|  1.14k|        if ( 0 == nbytes ) {
  ------------------
  |  Branch (290:14): [True: 0, False: 1.14k]
  ------------------
  291|      0|            break;
  292|      0|        }
  293|  1.14k|        if ( NULL != bytesread ) {
  ------------------
  |  Branch (293:14): [True: 1.12k, False: 20]
  ------------------
  294|  1.12k|            *bytesread += nbytes;
  295|  1.12k|        }
  296|  1.14k|        z->avail_in = (uInt)nbytes;
  297|  1.14k|        z->next_in = comp_buf;
  298|  1.14k|        err = inflate(z, Z_NO_FLUSH);
  ------------------
  |  |  168|  1.14k|#define Z_NO_FLUSH      0
  ------------------
  299|  1.14k|        if ( err != Z_OK ) {
  ------------------
  |  |  177|  1.14k|#define Z_OK            0
  ------------------
  |  Branch (299:14): [True: 0, False: 1.14k]
  ------------------
  300|      0|            Mat_Critical("Inflate: inflate returned %s",
  301|      0|                         zError(err == Z_NEED_DICT ? Z_DATA_ERROR : err));
  ------------------
  |  |  179|      0|#define Z_NEED_DICT     2
  ------------------
                                       zError(err == Z_NEED_DICT ? Z_DATA_ERROR : err));
  ------------------
  |  |  182|      0|#define Z_DATA_ERROR   (-3)
  ------------------
  |  Branch (301:33): [True: 0, False: 0]
  ------------------
  302|      0|            return MATIO_E_FILE_FORMAT_VIOLATION;
  ------------------
  |  |  246|      0|#define MATIO_E_FILE_FORMAT_VIOLATION 5
  ------------------
  303|  1.14k|        } else {
  304|  1.14k|            err = MATIO_E_NO_ERROR;
  ------------------
  |  |  241|  1.14k|#define MATIO_E_NO_ERROR 0
  ------------------
  305|  1.14k|        }
  306|  1.14k|    }
  307|       |
  308|    174|    if ( z->avail_in ) {
  ------------------
  |  Branch (308:10): [True: 36, False: 138]
  ------------------
  309|     36|        const mat_off_t offset = -(mat_off_t)z->avail_in;
  310|     36|        (void)fseeko((FILE *)mat->fp, offset, SEEK_CUR);
  311|     36|        if ( NULL != bytesread ) {
  ------------------
  |  Branch (311:14): [True: 32, False: 4]
  ------------------
  312|     32|            *bytesread -= z->avail_in;
  313|     32|        }
  314|     36|        z->avail_in = 0;
  315|     36|    }
  316|       |
  317|    174|    if ( z->avail_out && feof((FILE *)mat->fp) ) {
  ------------------
  |  Branch (317:10): [True: 0, False: 174]
  |  Branch (317:26): [True: 0, False: 0]
  ------------------
  318|      0|        Mat_Warning(
  319|      0|            "Unexpected end-of-file: "
  320|      0|            "Processed %u bytes, expected %u bytes",
  321|      0|            nBytes - z->avail_out, nBytes);
  322|      0|        memset(buf, 0, nBytes);
  323|      0|    }
  324|       |
  325|    174|    return err;
  326|    174|}
InflateData:
  341|     12|{
  342|     12|    mat_uint8_t comp_buf[READ_BLOCK_SIZE];
  343|     12|    int err = MATIO_E_NO_ERROR;
  ------------------
  |  |  241|     12|#define MATIO_E_NO_ERROR 0
  ------------------
  344|     12|    unsigned int n;
  345|     12|    size_t bytesread = 0;
  346|       |
  347|     12|    if ( buf == NULL )
  ------------------
  |  Branch (347:10): [True: 0, False: 12]
  ------------------
  348|      0|        return MATIO_E_BAD_ARGUMENT;
  ------------------
  |  |  248|      0|#define MATIO_E_BAD_ARGUMENT 7
  ------------------
  349|     12|    if ( nBytes == 0 ) {
  ------------------
  |  Branch (349:10): [True: 0, False: 12]
  ------------------
  350|      0|        return MATIO_E_NO_ERROR;
  ------------------
  |  |  241|      0|#define MATIO_E_NO_ERROR 0
  ------------------
  351|      0|    }
  352|       |
  353|     12|    n = nBytes < READ_BLOCK_SIZE ? nBytes : READ_BLOCK_SIZE;
  ------------------
  |  |   92|     12|#define READ_BLOCK_SIZE (8192)
  ------------------
                  n = nBytes < READ_BLOCK_SIZE ? nBytes : READ_BLOCK_SIZE;
  ------------------
  |  |   92|     12|#define READ_BLOCK_SIZE (8192)
  ------------------
  |  Branch (353:9): [True: 12, False: 0]
  ------------------
  354|     12|    if ( !z->avail_in ) {
  ------------------
  |  Branch (354:10): [True: 12, False: 0]
  ------------------
  355|     12|        size_t nbytes = fread(comp_buf, 1, n, (FILE *)mat->fp);
  356|     12|        if ( 0 == nbytes ) {
  ------------------
  |  Branch (356:14): [True: 0, False: 12]
  ------------------
  357|      0|            return err;
  358|      0|        }
  359|     12|        bytesread += nbytes;
  360|     12|        z->avail_in = (uInt)nbytes;
  361|     12|        z->next_in = comp_buf;
  362|     12|    }
  363|     12|    z->avail_out = nBytes;
  364|     12|    z->next_out = ZLIB_BYTE_PTR(buf);
  ------------------
  |  |   88|     12|#define ZLIB_BYTE_PTR(a) ((Bytef *)(a))
  ------------------
  365|     12|    err = inflate(z, Z_FULL_FLUSH);
  ------------------
  |  |  171|     12|#define Z_FULL_FLUSH    3
  ------------------
  366|     12|    if ( err == Z_STREAM_END ) {
  ------------------
  |  |  178|     12|#define Z_STREAM_END    1
  ------------------
  |  Branch (366:10): [True: 0, False: 12]
  ------------------
  367|      0|        return MATIO_E_NO_ERROR;
  ------------------
  |  |  241|      0|#define MATIO_E_NO_ERROR 0
  ------------------
  368|     12|    } else if ( err != Z_OK ) {
  ------------------
  |  |  177|     12|#define Z_OK            0
  ------------------
  |  Branch (368:17): [True: 3, False: 9]
  ------------------
  369|      3|        Mat_Critical("InflateData: inflate returned %s",
  370|      3|                     zError(err == Z_NEED_DICT ? Z_DATA_ERROR : err));
  ------------------
  |  |  179|      3|#define Z_NEED_DICT     2
  ------------------
                                   zError(err == Z_NEED_DICT ? Z_DATA_ERROR : err));
  ------------------
  |  |  182|      0|#define Z_DATA_ERROR   (-3)
  ------------------
  |  Branch (370:29): [True: 0, False: 3]
  ------------------
  371|      3|        return MATIO_E_FAIL_TO_IDENTIFY;
  ------------------
  |  |  247|      3|#define MATIO_E_FAIL_TO_IDENTIFY 6
  ------------------
  372|      9|    } else {
  373|      9|        err = MATIO_E_NO_ERROR;
  ------------------
  |  |  241|      9|#define MATIO_E_NO_ERROR 0
  ------------------
  374|      9|    }
  375|      9|    while ( z->avail_out && !z->avail_in ) {
  ------------------
  |  Branch (375:13): [True: 0, False: 9]
  |  Branch (375:29): [True: 0, False: 0]
  ------------------
  376|      0|        size_t nbytes;
  377|      0|        if ( nBytes > READ_BLOCK_SIZE + bytesread ) {
  ------------------
  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  ------------------
  |  Branch (377:14): [True: 0, False: 0]
  ------------------
  378|      0|            nbytes = fread(comp_buf, 1, READ_BLOCK_SIZE, (FILE *)mat->fp);
  ------------------
  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  ------------------
  379|      0|        } else if ( nBytes < 1 + bytesread ) { /* Read a byte at a time */
  ------------------
  |  Branch (379:21): [True: 0, False: 0]
  ------------------
  380|      0|            nbytes = fread(comp_buf, 1, 1, (FILE *)mat->fp);
  381|      0|        } else {
  382|      0|            nbytes = fread(comp_buf, 1, nBytes - bytesread, (FILE *)mat->fp);
  383|      0|        }
  384|      0|        if ( 0 == nbytes ) {
  ------------------
  |  Branch (384:14): [True: 0, False: 0]
  ------------------
  385|      0|            break;
  386|      0|        }
  387|      0|        bytesread += nbytes;
  388|      0|        z->avail_in = (uInt)nbytes;
  389|      0|        z->next_in = comp_buf;
  390|      0|        err = inflate(z, Z_FULL_FLUSH);
  ------------------
  |  |  171|      0|#define Z_FULL_FLUSH    3
  ------------------
  391|      0|        if ( err == Z_STREAM_END ) {
  ------------------
  |  |  178|      0|#define Z_STREAM_END    1
  ------------------
  |  Branch (391:14): [True: 0, False: 0]
  ------------------
  392|      0|            err = MATIO_E_NO_ERROR;
  ------------------
  |  |  241|      0|#define MATIO_E_NO_ERROR 0
  ------------------
  393|      0|            break;
  394|      0|        } else if ( err != Z_OK ) {
  ------------------
  |  |  177|      0|#define Z_OK            0
  ------------------
  |  Branch (394:21): [True: 0, False: 0]
  ------------------
  395|      0|            const char *errMsg = zError(err == Z_NEED_DICT ? Z_DATA_ERROR : err);
  ------------------
  |  |  179|      0|#define Z_NEED_DICT     2
  ------------------
                          const char *errMsg = zError(err == Z_NEED_DICT ? Z_DATA_ERROR : err);
  ------------------
  |  |  182|      0|#define Z_DATA_ERROR   (-3)
  ------------------
  |  Branch (395:41): [True: 0, False: 0]
  ------------------
  396|      0|            err = MATIO_E_FAIL_TO_IDENTIFY;
  ------------------
  |  |  247|      0|#define MATIO_E_FAIL_TO_IDENTIFY 6
  ------------------
  397|      0|            Mat_Critical("InflateData: inflate returned %s", errMsg);
  398|      0|            break;
  399|      0|        } else {
  400|      0|            err = MATIO_E_NO_ERROR;
  ------------------
  |  |  241|      0|#define MATIO_E_NO_ERROR 0
  ------------------
  401|      0|        }
  402|      0|    }
  403|       |
  404|      9|    if ( z->avail_in ) {
  ------------------
  |  Branch (404:10): [True: 9, False: 0]
  ------------------
  405|      9|        const mat_off_t offset = -(mat_off_t)z->avail_in;
  406|      9|        (void)fseeko((FILE *)mat->fp, offset, SEEK_CUR);
  407|       |        /* bytesread -= z->avail_in; */
  408|      9|        z->avail_in = 0;
  409|      9|    }
  410|       |
  411|      9|    if ( z->avail_out && feof((FILE *)mat->fp) ) {
  ------------------
  |  Branch (411:10): [True: 0, False: 9]
  |  Branch (411:26): [True: 0, False: 0]
  ------------------
  412|      0|        Mat_Warning("InflateData: Read beyond EOF error: Processed %u bytes, expected %u bytes",
  413|      0|                    nBytes - z->avail_out, nBytes);
  414|      0|        memset(buf, 0, nBytes);
  415|      0|    }
  416|       |
  417|      9|    return err;
  418|     12|}

Mat_Critical:
  377|  1.98k|{
  378|  1.98k|    va_list ap;
  379|       |
  380|  1.98k|    va_start(ap, format);
  381|  1.98k|    mat_log(MATIO_LOG_LEVEL_CRITICAL, format, ap);
  ------------------
  |  |  234|  1.98k|#define MATIO_LOG_LEVEL_CRITICAL 1 << 1
  ------------------
  382|  1.98k|    va_end(ap);
  383|  1.98k|}
Mat_LogInit:
  446|     70|{
  447|     70|    logfunc = &mat_logfunc;
  448|     70|    progname = prog_name;
  449|     70|#if defined(MAT73) && MAT73
  450|     70|    H5Eset_auto(H5E_DEFAULT, mat_h5_log_cb, NULL);
  ------------------
  |  |  782|     70|  #define H5Eset_auto H5Eset_auto2
  ------------------
                  H5Eset_auto(H5E_DEFAULT, mat_h5_log_cb, NULL);
  ------------------
  |  |   25|     70|#define H5E_DEFAULT 0 /* (hid_t) */
  ------------------
  451|     70|#endif
  452|     70|    verbose = 0;
  453|     70|    silent = 0;
  454|       |
  455|     70|    return 0;
  456|     70|}
Mat_Warning:
  487|    236|{
  488|    236|    va_list ap;
  489|       |
  490|    236|    va_start(ap, format);
  491|    236|    mat_log(MATIO_LOG_LEVEL_WARNING, format, ap);
  ------------------
  |  |  235|    236|#define MATIO_LOG_LEVEL_WARNING 1 << 2
  ------------------
  492|    236|    va_end(ap);
  493|    236|}
Mat_SizeOf:
  503|  2.11k|{
  504|  2.11k|    switch ( data_type ) {
  505|    134|        case MAT_T_DOUBLE:
  ------------------
  |  Branch (505:9): [True: 134, False: 1.98k]
  ------------------
  506|    134|            return sizeof(double);
  507|    197|        case MAT_T_SINGLE:
  ------------------
  |  Branch (507:9): [True: 197, False: 1.92k]
  ------------------
  508|    197|            return sizeof(float);
  509|      0|#ifdef HAVE_MAT_INT64_T
  510|    107|        case MAT_T_INT64:
  ------------------
  |  Branch (510:9): [True: 107, False: 2.01k]
  ------------------
  511|    107|            return sizeof(mat_int64_t);
  512|      0|#endif
  513|      0|#ifdef HAVE_MAT_UINT64_T
  514|    254|        case MAT_T_UINT64:
  ------------------
  |  Branch (514:9): [True: 254, False: 1.86k]
  ------------------
  515|    254|            return sizeof(mat_uint64_t);
  516|      0|#endif
  517|    142|        case MAT_T_INT32:
  ------------------
  |  Branch (517:9): [True: 142, False: 1.97k]
  ------------------
  518|    142|            return sizeof(mat_int32_t);
  519|    158|        case MAT_T_UINT32:
  ------------------
  |  Branch (519:9): [True: 158, False: 1.96k]
  ------------------
  520|    158|            return sizeof(mat_uint32_t);
  521|    227|        case MAT_T_INT16:
  ------------------
  |  Branch (521:9): [True: 227, False: 1.89k]
  ------------------
  522|    227|            return sizeof(mat_int16_t);
  523|    193|        case MAT_T_UINT16:
  ------------------
  |  Branch (523:9): [True: 193, False: 1.92k]
  ------------------
  524|    193|            return sizeof(mat_uint16_t);
  525|     59|        case MAT_T_INT8:
  ------------------
  |  Branch (525:9): [True: 59, False: 2.06k]
  ------------------
  526|     59|            return sizeof(mat_int8_t);
  527|     62|        case MAT_T_UINT8:
  ------------------
  |  Branch (527:9): [True: 62, False: 2.05k]
  ------------------
  528|     62|            return sizeof(mat_uint8_t);
  529|      0|        case MAT_T_UTF8:
  ------------------
  |  Branch (529:9): [True: 0, False: 2.11k]
  ------------------
  530|      0|            return 1;
  531|      2|        case MAT_T_UTF16:
  ------------------
  |  Branch (531:9): [True: 2, False: 2.11k]
  ------------------
  532|      2|            return 2;
  533|      0|        case MAT_T_UTF32:
  ------------------
  |  Branch (533:9): [True: 0, False: 2.11k]
  ------------------
  534|      0|            return 4;
  535|    584|        default:
  ------------------
  |  Branch (535:9): [True: 584, False: 1.53k]
  ------------------
  536|    584|            return 0;
  537|  2.11k|    }
  538|  2.11k|}
io.c:mat_log:
  178|  2.22k|{
  179|  2.22k|    char *buffer;
  180|       |
  181|  2.22k|    if ( !logfunc )
  ------------------
  |  Branch (181:10): [True: 0, False: 2.22k]
  ------------------
  182|      0|        return;
  183|  2.22k|    buffer = strdup_vprintf(format, ap);
  184|  2.22k|    (*logfunc)(loglevel, buffer);
  185|  2.22k|    free(buffer);
  186|  2.22k|}
io.c:strdup_vprintf:
   61|  2.22k|{
   62|  2.22k|    va_list ap2;
   63|  2.22k|    int size;
   64|  2.22k|    char *buffer;
   65|       |
   66|  2.22k|    va_copy(ap2, ap);
   67|  2.22k|    size = mat_vsnprintf(NULL, 0, format, ap2) + 1;
  ------------------
  |  |  169|  2.22k|#define mat_vsnprintf vsnprintf
  ------------------
   68|  2.22k|    va_end(ap2);
   69|       |
   70|  2.22k|    buffer = (char *)malloc(size + 1);
   71|  2.22k|    if ( !buffer )
  ------------------
  |  Branch (71:10): [True: 0, False: 2.22k]
  ------------------
   72|      0|        return NULL;
   73|       |
   74|  2.22k|    mat_vsnprintf(buffer, size, format, ap);
  ------------------
  |  |  169|  2.22k|#define mat_vsnprintf vsnprintf
  ------------------
   75|  2.22k|    return buffer;
   76|  2.22k|}
io.c:mat_logfunc:
  126|  2.22k|{
  127|  2.22k|    if ( progname ) {
  ------------------
  |  Branch (127:10): [True: 2.22k, False: 0]
  ------------------
  128|  2.22k|        if ( log_level & MATIO_LOG_LEVEL_CRITICAL ) {
  ------------------
  |  |  234|  2.22k|#define MATIO_LOG_LEVEL_CRITICAL 1 << 1
  ------------------
  |  Branch (128:14): [True: 1.98k, False: 236]
  ------------------
  129|  1.98k|            fprintf(stderr, "-E- %s: %s\n", progname, message);
  130|  1.98k|            fflush(stderr);
  131|  1.98k|        } else if ( log_level & MATIO_LOG_LEVEL_ERROR ) {
  ------------------
  |  |  233|    236|#define MATIO_LOG_LEVEL_ERROR 1
  ------------------
  |  Branch (131:21): [True: 0, False: 236]
  ------------------
  132|      0|            fprintf(stderr, "-E- %s: %s\n", progname, message);
  133|      0|            fflush(stderr);
  134|      0|            abort();
  135|    236|        } else if ( log_level & MATIO_LOG_LEVEL_WARNING ) {
  ------------------
  |  |  235|    236|#define MATIO_LOG_LEVEL_WARNING 1 << 2
  ------------------
  |  Branch (135:21): [True: 236, False: 0]
  ------------------
  136|    236|            fprintf(stderr, "-W- %s: %s\n", progname, message);
  137|    236|            fflush(stderr);
  138|    236|        } else if ( log_level & MATIO_LOG_LEVEL_DEBUG ) {
  ------------------
  |  |  237|      0|#define MATIO_LOG_LEVEL_DEBUG 1 << 4
  ------------------
  |  Branch (138:21): [True: 0, False: 0]
  ------------------
  139|      0|            fprintf(stderr, "-D- %s: %s\n", progname, message);
  140|      0|            fflush(stderr);
  141|      0|        } else if ( log_level & MATIO_LOG_LEVEL_MESSAGE ) {
  ------------------
  |  |  236|      0|#define MATIO_LOG_LEVEL_MESSAGE 1 << 3
  ------------------
  |  Branch (141:21): [True: 0, False: 0]
  ------------------
  142|      0|            fprintf(stdout, "%s\n", message);
  143|      0|            fflush(stdout);
  144|      0|        }
  145|  2.22k|    } else {
  146|      0|        if ( log_level & MATIO_LOG_LEVEL_CRITICAL ) {
  ------------------
  |  |  234|      0|#define MATIO_LOG_LEVEL_CRITICAL 1 << 1
  ------------------
  |  Branch (146:14): [True: 0, False: 0]
  ------------------
  147|      0|            fprintf(stderr, "-E- : %s\n", message);
  148|      0|            fflush(stderr);
  149|      0|        } else if ( log_level & MATIO_LOG_LEVEL_ERROR ) {
  ------------------
  |  |  233|      0|#define MATIO_LOG_LEVEL_ERROR 1
  ------------------
  |  Branch (149:21): [True: 0, False: 0]
  ------------------
  150|      0|            fprintf(stderr, "-E- : %s\n", message);
  151|      0|            fflush(stderr);
  152|      0|            abort();
  153|      0|        } else if ( log_level & MATIO_LOG_LEVEL_WARNING ) {
  ------------------
  |  |  235|      0|#define MATIO_LOG_LEVEL_WARNING 1 << 2
  ------------------
  |  Branch (153:21): [True: 0, False: 0]
  ------------------
  154|      0|            fprintf(stderr, "-W- : %s\n", message);
  155|      0|            fflush(stderr);
  156|      0|        } else if ( log_level & MATIO_LOG_LEVEL_DEBUG ) {
  ------------------
  |  |  237|      0|#define MATIO_LOG_LEVEL_DEBUG 1 << 4
  ------------------
  |  Branch (156:21): [True: 0, False: 0]
  ------------------
  157|      0|            fprintf(stderr, "-D- : %s\n", message);
  158|      0|            fflush(stderr);
  159|      0|        } else if ( log_level & MATIO_LOG_LEVEL_MESSAGE ) {
  ------------------
  |  |  236|      0|#define MATIO_LOG_LEVEL_MESSAGE 1 << 3
  ------------------
  |  Branch (159:21): [True: 0, False: 0]
  ------------------
  160|      0|            fprintf(stdout, "%s\n", message);
  161|      0|            fflush(stdout);
  162|      0|        }
  163|      0|    }
  164|  2.22k|}
io.c:mat_h5_log_cb:
  232|    178|{
  233|    178|    hid_t estack_id = H5Eget_current_stack();
  234|    178|    H5Ewalk(estack_id, H5E_WALK_DOWNWARD, mat_h5_log_func, client_data);
  ------------------
  |  |  793|    178|  #define H5Ewalk H5Ewalk2
  ------------------
  235|    178|    return H5Eclose_stack(estack_id);
  236|    178|}
io.c:mat_h5_log_func:
  200|  1.72k|{
  201|  1.72k|    char maj[MSG_SIZE];
  202|  1.72k|    char min[MSG_SIZE];
  203|  1.72k|    char cls[MSG_SIZE];
  204|       |
  205|  1.72k|    if ( H5Eget_class_name(err_desc->cls_id, cls, MSG_SIZE) < 0 )
  ------------------
  |  |  189|  1.72k|#define MSG_SIZE 1024
  ------------------
  |  Branch (205:10): [True: 0, False: 1.72k]
  ------------------
  206|      0|        return -1;
  207|       |
  208|  1.72k|    if ( H5Eget_msg(err_desc->maj_num, NULL, maj, MSG_SIZE) < 0 )
  ------------------
  |  |  189|  1.72k|#define MSG_SIZE 1024
  ------------------
  |  Branch (208:10): [True: 0, False: 1.72k]
  ------------------
  209|      0|        return -1;
  210|       |
  211|  1.72k|    if ( H5Eget_msg(err_desc->min_num, NULL, min, MSG_SIZE) < 0 )
  ------------------
  |  |  189|  1.72k|#define MSG_SIZE 1024
  ------------------
  |  Branch (211:10): [True: 0, False: 1.72k]
  ------------------
  212|      0|        return -1;
  213|       |
  214|  1.72k|    Mat_Critical(
  215|  1.72k|        "%s error #%03u in %s()\n"
  216|  1.72k|        "      file : %s:%u\n"
  217|  1.72k|        "      major: %s\n"
  218|  1.72k|        "      minor: %s",
  219|  1.72k|        cls, n, err_desc->func_name, err_desc->file_name, err_desc->line, maj, min);
  220|       |
  221|  1.72k|    return 0;
  222|  1.72k|}

ComplexMalloc:
  180|    735|{
  181|    735|    mat_complex_split_t *complex_data = (mat_complex_split_t *)malloc(sizeof(*complex_data));
  182|    735|    if ( NULL != complex_data ) {
  ------------------
  |  Branch (182:10): [True: 735, False: 0]
  ------------------
  183|    735|        complex_data->Re = malloc(nbytes);
  184|    735|        if ( NULL != complex_data->Re ) {
  ------------------
  |  Branch (184:14): [True: 734, False: 1]
  ------------------
  185|    734|            complex_data->Im = malloc(nbytes);
  186|    734|            if ( NULL == complex_data->Im ) {
  ------------------
  |  Branch (186:18): [True: 0, False: 734]
  ------------------
  187|      0|                free(complex_data->Re);
  188|      0|                free(complex_data);
  189|      0|                complex_data = NULL;
  190|      0|            }
  191|    734|        } else {
  192|      1|            free(complex_data);
  193|      1|            complex_data = NULL;
  194|      1|        }
  195|    735|    }
  196|       |
  197|    735|    return complex_data;
  198|    735|}
ComplexFree:
  202|    897|{
  203|    897|    free(complex_data->Re);
  204|    897|    free(complex_data->Im);
  205|    897|    free(complex_data);
  206|    897|}
ClassType2DataType:
  210|     40|{
  211|     40|    switch ( class_type ) {
  212|      7|        case MAT_C_DOUBLE:
  ------------------
  |  Branch (212:9): [True: 7, False: 33]
  ------------------
  213|      7|            return MAT_T_DOUBLE;
  214|      7|        case MAT_C_SINGLE:
  ------------------
  |  Branch (214:9): [True: 7, False: 33]
  ------------------
  215|      7|            return MAT_T_SINGLE;
  216|      0|#ifdef HAVE_MAT_INT64_T
  217|      0|        case MAT_C_INT64:
  ------------------
  |  Branch (217:9): [True: 0, False: 40]
  ------------------
  218|      0|            return MAT_T_INT64;
  219|      0|#endif
  220|      0|#ifdef HAVE_MAT_UINT64_T
  221|      0|        case MAT_C_UINT64:
  ------------------
  |  Branch (221:9): [True: 0, False: 40]
  ------------------
  222|      0|            return MAT_T_UINT64;
  223|      0|#endif
  224|      6|        case MAT_C_INT32:
  ------------------
  |  Branch (224:9): [True: 6, False: 34]
  ------------------
  225|      6|            return MAT_T_INT32;
  226|      0|        case MAT_C_UINT32:
  ------------------
  |  Branch (226:9): [True: 0, False: 40]
  ------------------
  227|      0|            return MAT_T_UINT32;
  228|      4|        case MAT_C_INT16:
  ------------------
  |  Branch (228:9): [True: 4, False: 36]
  ------------------
  229|      4|            return MAT_T_INT16;
  230|      0|        case MAT_C_UINT16:
  ------------------
  |  Branch (230:9): [True: 0, False: 40]
  ------------------
  231|      0|            return MAT_T_UINT16;
  232|      4|        case MAT_C_INT8:
  ------------------
  |  Branch (232:9): [True: 4, False: 36]
  ------------------
  233|      4|            return MAT_T_INT8;
  234|      0|        case MAT_C_CHAR:
  ------------------
  |  Branch (234:9): [True: 0, False: 40]
  ------------------
  235|      0|            return MAT_T_UINT8;
  236|      0|        case MAT_C_UINT8:
  ------------------
  |  Branch (236:9): [True: 0, False: 40]
  ------------------
  237|      0|            return MAT_T_UINT8;
  238|      9|        case MAT_C_CELL:
  ------------------
  |  Branch (238:9): [True: 9, False: 31]
  ------------------
  239|      9|            return MAT_T_CELL;
  240|      3|        case MAT_C_STRUCT:
  ------------------
  |  Branch (240:9): [True: 3, False: 37]
  ------------------
  241|      3|            return MAT_T_STRUCT;
  242|      0|        default:
  ------------------
  |  Branch (242:9): [True: 0, False: 40]
  ------------------
  243|      0|            return MAT_T_UNKNOWN;
  244|     40|    }
  245|     40|}
Mat_MulDims:
  258|  5.19k|{
  259|  5.19k|    int i;
  260|       |
  261|  5.19k|    if ( matvar->rank == 0 ) {
  ------------------
  |  Branch (261:10): [True: 47, False: 5.14k]
  ------------------
  262|     47|        *nelems = 0;
  263|     47|        return MATIO_E_NO_ERROR;
  ------------------
  |  |  241|     47|#define MATIO_E_NO_ERROR 0
  ------------------
  264|     47|    }
  265|       |
  266|  38.5k|    for ( i = 0; i < matvar->rank; i++ ) {
  ------------------
  |  Branch (266:18): [True: 33.3k, False: 5.14k]
  ------------------
  267|  33.3k|        if ( !psnip_safe_size_mul(nelems, *nelems, matvar->dims[i]) ) {
  ------------------
  |  Branch (267:14): [True: 4, False: 33.3k]
  ------------------
  268|      4|            *nelems = 0;
  269|      4|            return MATIO_E_INDEX_TOO_BIG;
  ------------------
  |  |  245|      4|#define MATIO_E_INDEX_TOO_BIG 4
  ------------------
  270|      4|        }
  271|  33.3k|    }
  272|       |
  273|  5.14k|    return MATIO_E_NO_ERROR;
  ------------------
  |  |  241|  5.14k|#define MATIO_E_NO_ERROR 0
  ------------------
  274|  5.14k|}
Mul:
  285|  1.69k|{
  286|  1.69k|    if ( !psnip_safe_size_mul(res, a, b) ) {
  ------------------
  |  Branch (286:10): [True: 4, False: 1.69k]
  ------------------
  287|      4|        *res = 0;
  288|      4|        return MATIO_E_INDEX_TOO_BIG;
  ------------------
  |  |  245|      4|#define MATIO_E_INDEX_TOO_BIG 4
  ------------------
  289|      4|    }
  290|       |
  291|  1.69k|    return MATIO_E_NO_ERROR;
  ------------------
  |  |  241|  1.69k|#define MATIO_E_NO_ERROR 0
  ------------------
  292|  1.69k|}
Add:
  303|     82|{
  304|     82|    if ( !psnip_safe_size_add(res, a, b) ) {
  ------------------
  |  Branch (304:10): [True: 0, False: 82]
  ------------------
  305|      0|        *res = 0;
  306|      0|        return MATIO_E_INDEX_TOO_BIG;
  ------------------
  |  |  245|      0|#define MATIO_E_INDEX_TOO_BIG 4
  ------------------
  307|      0|    }
  308|       |
  309|     82|    return MATIO_E_NO_ERROR;
  ------------------
  |  |  241|     82|#define MATIO_E_NO_ERROR 0
  ------------------
  310|     82|}
Read:
  323|   636k|{
  324|   636k|    const size_t readcount = fread(buf, size, count, fp);
  325|   636k|    int err = readcount != count;
  326|   636k|    if ( NULL != bytesread ) {
  ------------------
  |  Branch (326:10): [True: 626k, False: 9.83k]
  ------------------
  327|   626k|        *bytesread += readcount * size;
  328|   626k|    }
  329|   636k|    if ( err ) {
  ------------------
  |  Branch (329:10): [True: 232, False: 636k]
  ------------------
  330|    232|        Mat_Warning(
  331|    232|            "Unexpected end-of-file: Read %zu"
  332|    232|            " bytes, expected %zu"
  333|    232|            " bytes",
  334|    232|            readcount * size, count * size);
  335|    232|        memset(buf, 0, count * size);
  336|    232|    }
  337|   636k|    return err;
  338|   636k|}
IsEndOfFile:
  348|  3.77k|{
  349|  3.77k|    int isEOF = feof(fp);
  350|  3.77k|    mat_off_t fPos = ftello(fp);
  ------------------
  |  |   63|  3.77k|#define mat_off_t off_t
  ------------------
  351|  3.77k|    if ( !isEOF ) {
  ------------------
  |  Branch (351:10): [True: 3.76k, False: 2]
  ------------------
  352|  3.76k|        if ( fPos == -1L ) {
  ------------------
  |  Branch (352:14): [True: 0, False: 3.76k]
  ------------------
  353|      0|            Mat_Critical("Couldn't determine file position");
  354|  3.76k|        } else {
  355|  3.76k|            (void)fseeko(fp, 0, SEEK_END);
  356|  3.76k|            isEOF = fPos == ftello(fp);
  357|  3.76k|            if ( !isEOF ) {
  ------------------
  |  Branch (357:18): [True: 3.76k, False: 0]
  ------------------
  358|  3.76k|                (void)fseeko(fp, fPos, SEEK_SET);
  359|  3.76k|            }
  360|  3.76k|        }
  361|  3.76k|    }
  362|  3.77k|    if ( NULL != fpos ) {
  ------------------
  |  Branch (362:10): [True: 2.68k, False: 1.08k]
  ------------------
  363|  2.68k|        *fpos = fPos;
  364|  2.68k|    }
  365|  3.77k|    return isEOF;
  366|  3.77k|}
CheckSeekFile:
  376|  1.04k|{
  377|  1.04k|    int err;
  378|  1.04k|    mat_off_t fPos;
  ------------------
  |  |   63|  1.04k|#define mat_off_t off_t
  ------------------
  379|  1.04k|    uint8_t c;
  380|       |
  381|  1.04k|    if ( offset <= 0 ) {
  ------------------
  |  Branch (381:10): [True: 0, False: 1.04k]
  ------------------
  382|      0|        return MATIO_E_NO_ERROR;
  ------------------
  |  |  241|      0|#define MATIO_E_NO_ERROR 0
  ------------------
  383|      0|    }
  384|       |
  385|  1.04k|    fPos = ftello(fp);
  386|  1.04k|    if ( fPos == -1L ) {
  ------------------
  |  Branch (386:10): [True: 0, False: 1.04k]
  ------------------
  387|      0|        Mat_Critical("Couldn't determine file position");
  388|      0|        return MATIO_E_GENERIC_READ_ERROR;
  ------------------
  |  |  243|      0|#define MATIO_E_GENERIC_READ_ERROR 2
  ------------------
  389|      0|    }
  390|       |
  391|  1.04k|    (void)fseeko(fp, offset - 1, SEEK_CUR);
  392|  1.04k|    err = 1 != fread(&c, 1, 1, fp);
  393|  1.04k|    (void)fseeko(fp, fPos, SEEK_SET);
  394|  1.04k|    if ( err ) {
  ------------------
  |  Branch (394:10): [True: 0, False: 1.04k]
  ------------------
  395|      0|        Mat_Critical("Couldn't set file position");
  396|      0|        return MATIO_E_GENERIC_READ_ERROR;
  ------------------
  |  |  243|      0|#define MATIO_E_GENERIC_READ_ERROR 2
  ------------------
  397|      0|    }
  398|       |
  399|  1.04k|    return MATIO_E_NO_ERROR;
  ------------------
  |  |  241|  1.04k|#define MATIO_E_NO_ERROR 0
  ------------------
  400|  1.04k|}
Mat_Open:
  479|     70|{
  480|     70|    FILE *fp = NULL;
  481|     70|    mat_int16_t tmp, tmp2;
  482|     70|    mat_t *mat = NULL;
  483|     70|    size_t bytesread = 0;
  484|       |
  485|     70|    if ( (mode & 0x01) == MAT_ACC_RDONLY ) {
  ------------------
  |  Branch (485:10): [True: 70, False: 0]
  ------------------
  486|       |#if defined(_WIN32)
  487|       |        wchar_t *wname = utf82u(matname);
  488|       |        if ( NULL != wname ) {
  489|       |            fp = _wfopen(wname, L"rb");
  490|       |            free(wname);
  491|       |        }
  492|       |#else
  493|     70|        fp = fopen(matname, "rb");
  494|     70|#endif
  495|     70|        if ( !fp ) {
  ------------------
  |  Branch (495:14): [True: 0, False: 70]
  ------------------
  496|      0|            Mat_Warning("Cannot open file \"%s\" in read-only mode", matname);
  497|      0|            return NULL;
  498|      0|        }
  499|     70|    } else if ( (mode & 0x01) == MAT_ACC_RDWR ) {
  ------------------
  |  Branch (499:17): [True: 0, False: 0]
  ------------------
  500|       |#if defined(_WIN32)
  501|       |        wchar_t *wname = utf82u(matname);
  502|       |        if ( NULL != wname ) {
  503|       |            fp = _wfopen(wname, L"r+b");
  504|       |            free(wname);
  505|       |        }
  506|       |#else
  507|      0|        fp = fopen(matname, "r+b");
  508|      0|#endif
  509|      0|        if ( !fp ) {
  ------------------
  |  Branch (509:14): [True: 0, False: 0]
  ------------------
  510|      0|            mat = Mat_CreateVer(matname, NULL, (enum mat_ft)(mode & 0xfffffffe));
  511|      0|            return mat;
  512|      0|        }
  513|      0|    } else {
  514|      0|        Mat_Critical("Invalid file open mode");
  515|      0|        return NULL;
  516|      0|    }
  517|       |
  518|     70|    mat = (mat_t *)malloc(sizeof(*mat));
  519|     70|    if ( NULL == mat ) {
  ------------------
  |  Branch (519:10): [True: 0, False: 70]
  ------------------
  520|      0|        fclose(fp);
  521|      0|        Mat_Critical("Couldn't allocate memory for the MAT file");
  522|      0|        return NULL;
  523|      0|    }
  524|       |
  525|     70|    mat->fp = fp;
  526|     70|    mat->header = (char *)calloc(128, sizeof(char));
  527|     70|    if ( NULL == mat->header ) {
  ------------------
  |  Branch (527:10): [True: 0, False: 70]
  ------------------
  528|      0|        free(mat);
  529|      0|        fclose(fp);
  530|      0|        Mat_Critical("Couldn't allocate memory for the MAT file header");
  531|      0|        return NULL;
  532|      0|    }
  533|     70|    mat->subsys_offset = (char *)calloc(8, sizeof(char));
  534|     70|    if ( NULL == mat->subsys_offset ) {
  ------------------
  |  Branch (534:10): [True: 0, False: 70]
  ------------------
  535|      0|        free(mat->header);
  536|      0|        free(mat);
  537|      0|        fclose(fp);
  538|      0|        Mat_Critical("Couldn't allocate memory for the MAT file subsys offset");
  539|      0|        return NULL;
  540|      0|    }
  541|     70|    mat->filename = NULL;
  542|     70|    mat->version = 0;
  543|     70|    mat->byteswap = 0;
  544|     70|    mat->num_datasets = 0;
  545|     70|#if defined(MAT73) && MAT73
  546|     70|    mat->refs_id = -1;
  547|     70|#endif
  548|     70|    mat->dir = NULL;
  549|       |
  550|     70|    bytesread += fread(mat->header, 1, 116, fp);
  551|     70|    mat->header[116] = '\0';
  552|     70|    bytesread += fread(mat->subsys_offset, 1, 8, fp);
  553|     70|    bytesread += 2 * fread(&tmp2, 2, 1, fp);
  554|     70|    bytesread += fread(&tmp, 1, 2, fp);
  555|       |
  556|     70|    if ( 128 == bytesread ) {
  ------------------
  |  Branch (556:10): [True: 70, False: 0]
  ------------------
  557|       |        /* v5 and v7.3 files have at least 128 byte header */
  558|     70|        mat->byteswap = -1;
  559|     70|        if ( tmp == 0x4d49 )
  ------------------
  |  Branch (559:14): [True: 54, False: 16]
  ------------------
  560|     54|            mat->byteswap = 0;
  561|     16|        else if ( tmp == 0x494d ) {
  ------------------
  |  Branch (561:19): [True: 16, False: 0]
  ------------------
  562|     16|            mat->byteswap = 1;
  563|     16|            Mat_int16Swap(&tmp2);
  564|     16|        }
  565|       |
  566|     70|        mat->version = (int)tmp2;
  567|     70|        if ( (mat->version == 0x0100 || mat->version == 0x0200) && -1 != mat->byteswap ) {
  ------------------
  |  Branch (567:15): [True: 60, False: 10]
  |  Branch (567:41): [True: 10, False: 0]
  |  Branch (567:68): [True: 70, False: 0]
  ------------------
  568|     70|            mat->bof = ftello((FILE *)mat->fp);
  569|     70|            if ( mat->bof == -1L ) {
  ------------------
  |  Branch (569:18): [True: 0, False: 70]
  ------------------
  570|      0|                free(mat->header);
  571|      0|                free(mat->subsys_offset);
  572|      0|                free(mat);
  573|      0|                fclose(fp);
  574|      0|                Mat_Critical("Couldn't determine file position");
  575|      0|                return NULL;
  576|      0|            }
  577|     70|            mat->next_index = 0;
  578|     70|        } else {
  579|      0|            mat->version = 0;
  580|      0|        }
  581|     70|    }
  582|       |
  583|     70|    if ( 0 == mat->version ) {
  ------------------
  |  Branch (583:10): [True: 0, False: 70]
  ------------------
  584|       |        /* Maybe a V4 MAT file */
  585|      0|        matvar_t *var;
  586|       |
  587|      0|        free(mat->header);
  588|      0|        free(mat->subsys_offset);
  589|       |
  590|      0|        mat->header = NULL;
  591|      0|        mat->subsys_offset = NULL;
  592|      0|        mat->fp = fp;
  593|      0|        mat->version = MAT_FT_MAT4;
  594|      0|        mat->byteswap = 0;
  595|      0|        mat->mode = mode;
  596|      0|        mat->bof = 0;
  597|      0|        mat->next_index = 0;
  598|      0|#if defined(MAT73) && MAT73
  599|      0|        mat->refs_id = -1;
  600|      0|#endif
  601|       |
  602|      0|        Mat_Rewind(mat);
  603|      0|        var = Mat_VarReadNextInfo4(mat);
  604|      0|        if ( NULL == var && bytesread != 0 ) { /* Accept 0 bytes files as a valid V4 file */
  ------------------
  |  Branch (604:14): [True: 0, False: 0]
  |  Branch (604:29): [True: 0, False: 0]
  ------------------
  605|       |            /* Does not seem to be a valid V4 file */
  606|      0|            Mat_Close(mat);
  607|      0|            mat = NULL;
  608|      0|            Mat_Critical("\"%s\" does not seem to be a valid MAT file", matname);
  609|      0|        } else {
  610|      0|            Mat_VarFree(var);
  611|      0|            Mat_Rewind(mat);
  612|      0|        }
  613|      0|    }
  614|       |
  615|     70|    if ( NULL == mat )
  ------------------
  |  Branch (615:10): [True: 0, False: 70]
  ------------------
  616|      0|        return mat;
  617|       |
  618|     70|    mat->filename = strdup(matname);
  619|     70|    mat->mode = mode;
  620|       |
  621|     70|    if ( mat->version == 0x0200 ) {
  ------------------
  |  Branch (621:10): [True: 10, False: 60]
  ------------------
  622|     10|        fclose((FILE *)mat->fp);
  623|     10|#if defined(MAT73) && MAT73
  624|     10|        mat->fp = malloc(sizeof(hid_t));
  625|       |
  626|     10|        if ( (mode & 0x01) == MAT_ACC_RDONLY )
  ------------------
  |  Branch (626:14): [True: 10, False: 0]
  ------------------
  627|     10|            *(hid_t *)mat->fp = H5Fopen(matname, H5F_ACC_RDONLY, H5P_DEFAULT);
  ------------------
  |  |   48|     10|#define H5F_ACC_RDONLY (H5CHECK H5OPEN 0x0000u) /**< Absence of RDWR: read-only */
  |  |  ------------------
  |  |  |  |   26|     10|#define H5CHECK H5check(),
  |  |  |  |  ------------------
  |  |  |  |  |  |  100|     10|#define H5check() H5check_version(H5_VERS_MAJOR, H5_VERS_MINOR, H5_VERS_RELEASE)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   78|     10|#define H5_VERS_MAJOR 1
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define H5check() H5check_version(H5_VERS_MAJOR, H5_VERS_MINOR, H5_VERS_RELEASE)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   82|     10|#define H5_VERS_MINOR 14
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define H5check() H5check_version(H5_VERS_MAJOR, H5_VERS_MINOR, H5_VERS_RELEASE)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   86|     10|#define H5_VERS_RELEASE 5
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define H5F_ACC_RDONLY (H5CHECK H5OPEN 0x0000u) /**< Absence of RDWR: read-only */
  |  |  ------------------
  |  |  |  |   40|     10|#define H5OPEN H5open(),
  |  |  ------------------
  ------------------
                          *(hid_t *)mat->fp = H5Fopen(matname, H5F_ACC_RDONLY, H5P_DEFAULT);
  ------------------
  |  |  228|     10|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
  628|      0|        else if ( (mode & 0x01) == MAT_ACC_RDWR ) {
  ------------------
  |  Branch (628:19): [True: 0, False: 0]
  ------------------
  629|      0|            hid_t plist_ap;
  630|      0|            plist_ap = H5Pcreate(H5P_FILE_ACCESS);
  ------------------
  |  |   64|      0|#define H5P_FILE_ACCESS (H5OPEN H5P_CLS_FILE_ACCESS_ID_g)
  |  |  ------------------
  |  |  |  |   40|      0|#define H5OPEN H5open(),
  |  |  ------------------
  ------------------
  631|      0|#if H5_VERSION_GE(1, 10, 2)
  632|      0|            H5Pset_libver_bounds(plist_ap, H5F_LIBVER_EARLIEST, H5F_LIBVER_V18);
  633|      0|#endif
  634|      0|            *(hid_t *)mat->fp = H5Fopen(matname, H5F_ACC_RDWR, plist_ap);
  ------------------
  |  |   49|      0|#define H5F_ACC_RDWR   (H5CHECK H5OPEN 0x0001u) /**< Open for read and write    */
  |  |  ------------------
  |  |  |  |   26|      0|#define H5CHECK H5check(),
  |  |  |  |  ------------------
  |  |  |  |  |  |  100|      0|#define H5check() H5check_version(H5_VERS_MAJOR, H5_VERS_MINOR, H5_VERS_RELEASE)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   78|      0|#define H5_VERS_MAJOR 1
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define H5check() H5check_version(H5_VERS_MAJOR, H5_VERS_MINOR, H5_VERS_RELEASE)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   82|      0|#define H5_VERS_MINOR 14
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define H5check() H5check_version(H5_VERS_MAJOR, H5_VERS_MINOR, H5_VERS_RELEASE)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   86|      0|#define H5_VERS_RELEASE 5
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define H5F_ACC_RDWR   (H5CHECK H5OPEN 0x0001u) /**< Open for read and write    */
  |  |  ------------------
  |  |  |  |   40|      0|#define H5OPEN H5open(),
  |  |  ------------------
  ------------------
  635|      0|            H5Pclose(plist_ap);
  636|      0|        } else {
  637|      0|            mat->fp = NULL;
  638|      0|            Mat_Close(mat);
  639|      0|            mat = NULL;
  640|      0|        }
  641|       |
  642|     10|        if ( NULL == mat )
  ------------------
  |  Branch (642:14): [True: 0, False: 10]
  ------------------
  643|      0|            return mat;
  644|       |
  645|     10|        if ( -1 < *(hid_t *)mat->fp ) {
  ------------------
  |  Branch (645:14): [True: 7, False: 3]
  ------------------
  646|      7|            H5G_info_t group_info;
  647|      7|            herr_t herr;
  648|      7|            memset(&group_info, 0, sizeof(group_info));
  649|      7|            herr = H5Gget_info(*(hid_t *)mat->fp, &group_info);
  650|      7|            if ( herr < 0 ) {
  ------------------
  |  Branch (650:18): [True: 1, False: 6]
  ------------------
  651|      1|                Mat_Close(mat);
  652|      1|                mat = NULL;
  653|      6|            } else {
  654|      6|                mat->num_datasets = (size_t)group_info.nlinks;
  655|      6|                mat->refs_id = H5I_INVALID_HID;
  ------------------
  |  |   75|      6|#define H5I_INVALID_HID (-1)
  ------------------
  656|      6|            }
  657|      7|        }
  658|       |#else
  659|       |        mat->fp = NULL;
  660|       |        Mat_Close(mat);
  661|       |        mat = NULL;
  662|       |        Mat_Critical(
  663|       |            "No HDF5 support which is required to read the v7.3 "
  664|       |            "MAT file \"%s\"",
  665|       |            matname);
  666|       |#endif
  667|     10|    }
  668|       |
  669|     70|    return mat;
  670|     70|}
Mat_Close:
  681|     70|{
  682|     70|    int err = MATIO_E_NO_ERROR;
  ------------------
  |  |  241|     70|#define MATIO_E_NO_ERROR 0
  ------------------
  683|       |
  684|     70|    if ( NULL != mat ) {
  ------------------
  |  Branch (684:10): [True: 70, False: 0]
  ------------------
  685|     70|#if defined(MAT73) && MAT73
  686|     70|        if ( mat->version == 0x0200 ) {
  ------------------
  |  Branch (686:14): [True: 10, False: 60]
  ------------------
  687|     10|            err = Mat_Close73(mat);
  688|     10|        }
  689|     70|#endif
  690|     70|        if ( NULL != mat->fp ) {
  ------------------
  |  Branch (690:14): [True: 60, False: 10]
  ------------------
  691|     60|            err = fclose((FILE *)mat->fp);
  692|     60|            if ( 0 == err ) {
  ------------------
  |  Branch (692:18): [True: 60, False: 0]
  ------------------
  693|     60|                err = MATIO_E_NO_ERROR;
  ------------------
  |  |  241|     60|#define MATIO_E_NO_ERROR 0
  ------------------
  694|     60|            } else {
  695|      0|                err = MATIO_E_FILESYSTEM_ERROR_ON_CLOSE;
  ------------------
  |  |  261|      0|#define MATIO_E_FILESYSTEM_ERROR_ON_CLOSE 24
  ------------------
  696|      0|            }
  697|     60|        }
  698|     70|        if ( NULL != mat->header )
  ------------------
  |  Branch (698:14): [True: 70, False: 0]
  ------------------
  699|     70|            free(mat->header);
  700|     70|        if ( NULL != mat->subsys_offset )
  ------------------
  |  Branch (700:14): [True: 70, False: 0]
  ------------------
  701|     70|            free(mat->subsys_offset);
  702|     70|        if ( NULL != mat->filename )
  ------------------
  |  Branch (702:14): [True: 70, False: 0]
  ------------------
  703|     70|            free(mat->filename);
  704|     70|        if ( NULL != mat->dir ) {
  ------------------
  |  Branch (704:14): [True: 53, False: 17]
  ------------------
  705|     53|            size_t i;
  706|    414|            for ( i = 0; i < mat->num_datasets; i++ ) {
  ------------------
  |  Branch (706:26): [True: 361, False: 53]
  ------------------
  707|    361|                if ( NULL != mat->dir[i] )
  ------------------
  |  Branch (707:22): [True: 341, False: 20]
  ------------------
  708|    341|                    free(mat->dir[i]);
  709|    361|            }
  710|     53|            free(mat->dir);
  711|     53|        }
  712|     70|        free(mat);
  713|     70|    } else {
  714|      0|        err = MATIO_E_BAD_ARGUMENT;
  ------------------
  |  |  248|      0|#define MATIO_E_BAD_ARGUMENT 7
  ------------------
  715|      0|    }
  716|       |
  717|     70|    return err;
  718|     70|}
Mat_GetFileAccessMode:
  729|     69|{
  730|     69|    enum mat_acc mode = MAT_ACC_RDONLY;
  731|     69|    if ( NULL != mat && (mat->mode & 0x01) == MAT_ACC_RDWR )
  ------------------
  |  Branch (731:10): [True: 69, False: 0]
  |  Branch (731:25): [True: 0, False: 69]
  ------------------
  732|      0|        mode = MAT_ACC_RDWR;
  733|     69|    return mode;
  734|     69|}
Mat_GetFilename:
  745|     69|{
  746|     69|    const char *filename = NULL;
  747|     69|    if ( NULL != mat )
  ------------------
  |  Branch (747:10): [True: 69, False: 0]
  ------------------
  748|     69|        filename = mat->filename;
  749|     69|    return filename;
  750|     69|}
Mat_GetHeader:
  761|     69|{
  762|     69|    const char *header = NULL;
  763|     69|    if ( NULL != mat )
  ------------------
  |  Branch (763:10): [True: 69, False: 0]
  ------------------
  764|     69|        header = mat->header;
  765|     69|    return header;
  766|     69|}
Mat_GetVersion:
  777|     69|{
  778|     69|    enum mat_ft file_type = MAT_FT_UNDEFINED;
  779|     69|    if ( NULL != mat )
  ------------------
  |  Branch (779:10): [True: 69, False: 0]
  ------------------
  780|     69|        file_type = (enum mat_ft)mat->version;
  781|     69|    return file_type;
  782|     69|}
Mat_GetDir:
  794|     69|{
  795|     69|    char **dir = NULL;
  796|       |
  797|     69|    if ( NULL == n )
  ------------------
  |  Branch (797:10): [True: 0, False: 69]
  ------------------
  798|      0|        return dir;
  799|       |
  800|     69|    if ( NULL == mat ) {
  ------------------
  |  Branch (800:10): [True: 0, False: 69]
  ------------------
  801|      0|        *n = 0;
  802|      0|        return dir;
  803|      0|    }
  804|       |
  805|     69|    if ( NULL == mat->dir ) {
  ------------------
  |  Branch (805:10): [True: 69, False: 0]
  ------------------
  806|     69|        if ( mat->version == MAT_FT_MAT73 ) {
  ------------------
  |  Branch (806:14): [True: 9, False: 60]
  ------------------
  807|      9|#if defined(MAT73) && MAT73
  808|      9|            int err = Mat_CalcDir73(mat, n);
  809|      9|            if ( err ) {
  ------------------
  |  Branch (809:18): [True: 2, False: 7]
  ------------------
  810|      2|                *n = 0;
  811|      2|                return dir;
  812|      2|            }
  813|       |#else
  814|       |            *n = 0;
  815|       |#endif
  816|     60|        } else {
  817|     60|            matvar_t *matvar = NULL;
  818|     60|            mat_off_t fpos = ftello((FILE *)mat->fp);
  ------------------
  |  |   63|     60|#define mat_off_t off_t
  ------------------
  819|     60|            if ( fpos == -1L ) {
  ------------------
  |  Branch (819:18): [True: 0, False: 60]
  ------------------
  820|      0|                *n = 0;
  821|      0|                Mat_Critical("Couldn't determine file position");
  822|      0|                return dir;
  823|      0|            }
  824|     60|            (void)fseeko((FILE *)mat->fp, mat->bof, SEEK_SET);
  825|     60|            mat->num_datasets = 0;
  826|    604|            do {
  827|    604|                matvar = Mat_VarReadNextInfo(mat);
  828|    604|                if ( NULL != matvar ) {
  ------------------
  |  Branch (828:22): [True: 544, False: 60]
  ------------------
  829|    544|                    if ( NULL != matvar->name ) {
  ------------------
  |  Branch (829:26): [True: 277, False: 267]
  ------------------
  830|    277|                        if ( NULL == mat->dir ) {
  ------------------
  |  Branch (830:30): [True: 44, False: 233]
  ------------------
  831|     44|                            dir = (char **)malloc(sizeof(char *));
  832|    233|                        } else {
  833|    233|                            dir = (char **)realloc(mat->dir,
  834|    233|                                                   (mat->num_datasets + 1) * (sizeof(char *)));
  835|    233|                        }
  836|    277|                        if ( NULL != dir ) {
  ------------------
  |  Branch (836:30): [True: 277, False: 0]
  ------------------
  837|    277|                            mat->dir = dir;
  838|    277|                            mat->dir[mat->num_datasets++] = strdup(matvar->name);
  839|    277|                        } else {
  840|      0|                            Mat_Critical("Couldn't allocate memory for the directory");
  841|      0|                            break;
  842|      0|                        }
  843|    277|                    }
  844|    544|                    Mat_VarFree(matvar);
  845|    544|                } else if ( !IsEndOfFile((FILE *)mat->fp, NULL) ) {
  ------------------
  |  Branch (845:29): [True: 59, False: 1]
  ------------------
  846|     59|                    Mat_Critical("An error occurred in reading the MAT file");
  847|     59|                    break;
  848|     59|                }
  849|    604|            } while ( !IsEndOfFile((FILE *)mat->fp, NULL) );
  ------------------
  |  Branch (849:23): [True: 544, False: 1]
  ------------------
  850|      0|            (void)fseeko((FILE *)mat->fp, fpos, SEEK_SET);
  851|     60|            *n = mat->num_datasets;
  852|     60|        }
  853|     69|    } else {
  854|      0|        if ( mat->version == MAT_FT_MAT73 ) {
  ------------------
  |  Branch (854:14): [True: 0, False: 0]
  ------------------
  855|      0|            *n = 0;
  856|      0|            while ( *n < mat->num_datasets && NULL != mat->dir[*n] ) {
  ------------------
  |  Branch (856:21): [True: 0, False: 0]
  |  Branch (856:47): [True: 0, False: 0]
  ------------------
  857|      0|                (*n)++;
  858|      0|            }
  859|      0|        } else {
  860|      0|            *n = mat->num_datasets;
  861|      0|        }
  862|      0|    }
  863|     67|    dir = mat->dir;
  864|     67|    return dir;
  865|     69|}
Mat_Rewind:
  876|    138|{
  877|    138|    int err = MATIO_E_NO_ERROR;
  ------------------
  |  |  241|    138|#define MATIO_E_NO_ERROR 0
  ------------------
  878|       |
  879|    138|    switch ( mat->version ) {
  880|     18|        case MAT_FT_MAT73:
  ------------------
  |  Branch (880:9): [True: 18, False: 120]
  ------------------
  881|     18|            mat->next_index = 0;
  882|     18|            break;
  883|      0|        case MAT_FT_MAT4:
  ------------------
  |  Branch (883:9): [True: 0, False: 138]
  ------------------
  884|    120|        case MAT_FT_MAT5:
  ------------------
  |  Branch (884:9): [True: 120, False: 18]
  ------------------
  885|    120|            (void)fseeko((FILE *)mat->fp, mat->bof, SEEK_SET);
  886|    120|            break;
  887|      0|        default:
  ------------------
  |  Branch (887:9): [True: 0, False: 138]
  ------------------
  888|      0|            err = MATIO_E_FAIL_TO_IDENTIFY;
  ------------------
  |  |  247|      0|#define MATIO_E_FAIL_TO_IDENTIFY 6
  ------------------
  889|      0|            break;
  890|    138|    }
  891|       |
  892|    138|    return err;
  893|    138|}
Mat_SizeOfClass:
  904|    486|{
  905|    486|    switch ( class_type ) {
  906|     56|        case MAT_C_DOUBLE:
  ------------------
  |  Branch (906:9): [True: 56, False: 430]
  ------------------
  907|     56|            return sizeof(double);
  908|     26|        case MAT_C_SINGLE:
  ------------------
  |  Branch (908:9): [True: 26, False: 460]
  ------------------
  909|     26|            return sizeof(float);
  910|      0|#ifdef HAVE_MAT_INT64_T
  911|     59|        case MAT_C_INT64:
  ------------------
  |  Branch (911:9): [True: 59, False: 427]
  ------------------
  912|     59|            return sizeof(mat_int64_t);
  913|      0|#endif
  914|      0|#ifdef HAVE_MAT_UINT64_T
  915|     53|        case MAT_C_UINT64:
  ------------------
  |  Branch (915:9): [True: 53, False: 433]
  ------------------
  916|     53|            return sizeof(mat_uint64_t);
  917|      0|#endif
  918|     85|        case MAT_C_INT32:
  ------------------
  |  Branch (918:9): [True: 85, False: 401]
  ------------------
  919|     85|            return sizeof(mat_int32_t);
  920|     45|        case MAT_C_UINT32:
  ------------------
  |  Branch (920:9): [True: 45, False: 441]
  ------------------
  921|     45|            return sizeof(mat_uint32_t);
  922|     36|        case MAT_C_INT16:
  ------------------
  |  Branch (922:9): [True: 36, False: 450]
  ------------------
  923|     36|            return sizeof(mat_int16_t);
  924|     67|        case MAT_C_UINT16:
  ------------------
  |  Branch (924:9): [True: 67, False: 419]
  ------------------
  925|     67|            return sizeof(mat_uint16_t);
  926|     25|        case MAT_C_INT8:
  ------------------
  |  Branch (926:9): [True: 25, False: 461]
  ------------------
  927|     25|            return sizeof(mat_int8_t);
  928|     24|        case MAT_C_UINT8:
  ------------------
  |  Branch (928:9): [True: 24, False: 462]
  ------------------
  929|     24|            return sizeof(mat_uint8_t);
  930|      0|        case MAT_C_CHAR:
  ------------------
  |  Branch (930:9): [True: 0, False: 486]
  ------------------
  931|      0|            return sizeof(mat_int16_t);
  932|     10|        default:
  ------------------
  |  Branch (932:9): [True: 10, False: 476]
  ------------------
  933|     10|            return 0;
  934|    486|    }
  935|    486|}
Mat_VarCalloc:
  950|  2.88k|{
  951|  2.88k|    matvar_t *matvar;
  952|       |
  953|  2.88k|    matvar = (matvar_t *)malloc(sizeof(*matvar));
  954|       |
  955|  2.88k|    if ( NULL != matvar ) {
  ------------------
  |  Branch (955:10): [True: 2.88k, False: 0]
  ------------------
  956|  2.88k|        matvar->nbytes = 0;
  957|  2.88k|        matvar->rank = 0;
  958|  2.88k|        matvar->data_type = MAT_T_UNKNOWN;
  959|  2.88k|        matvar->data_size = 0;
  960|  2.88k|        matvar->class_type = MAT_C_EMPTY;
  961|  2.88k|        matvar->isComplex = 0;
  962|  2.88k|        matvar->isGlobal = 0;
  963|  2.88k|        matvar->isLogical = 0;
  964|  2.88k|        matvar->dims = NULL;
  965|  2.88k|        matvar->name = NULL;
  966|  2.88k|        matvar->data = NULL;
  967|  2.88k|        matvar->mem_conserve = 0;
  968|  2.88k|        matvar->compression = MAT_COMPRESSION_NONE;
  969|  2.88k|        matvar->internal = (struct matvar_internal *)malloc(sizeof(*matvar->internal));
  970|  2.88k|        if ( NULL == matvar->internal ) {
  ------------------
  |  Branch (970:14): [True: 0, False: 2.88k]
  ------------------
  971|      0|            free(matvar);
  972|      0|            matvar = NULL;
  973|  2.88k|        } else {
  974|  2.88k|#if defined(MAT73) && MAT73
  975|  2.88k|            matvar->internal->hdf5_ref = 0;
  976|  2.88k|            matvar->internal->id = H5I_INVALID_HID;
  ------------------
  |  |   75|  2.88k|#define H5I_INVALID_HID (-1)
  ------------------
  977|  2.88k|#endif
  978|  2.88k|            matvar->internal->datapos = 0;
  979|  2.88k|            matvar->internal->num_fields = 0;
  980|  2.88k|            matvar->internal->fieldnames = NULL;
  981|  2.88k|#if HAVE_ZLIB
  982|  2.88k|            matvar->internal->z = NULL;
  983|  2.88k|            matvar->internal->data = NULL;
  984|  2.88k|#endif
  985|  2.88k|        }
  986|  2.88k|    }
  987|       |
  988|  2.88k|    return matvar;
  989|  2.88k|}
Mat_VarDuplicate:
 1477|    570|{
 1478|    570|    matvar_t *out;
 1479|    570|    size_t i;
 1480|       |
 1481|    570|    if ( in == NULL )
  ------------------
  |  Branch (1481:10): [True: 11, False: 559]
  ------------------
 1482|     11|        return NULL;
 1483|       |
 1484|    559|    out = Mat_VarCalloc();
 1485|    559|    if ( out == NULL )
  ------------------
  |  Branch (1485:10): [True: 0, False: 559]
  ------------------
 1486|      0|        return NULL;
 1487|       |
 1488|    559|    out->nbytes = in->nbytes;
 1489|    559|    out->rank = in->rank;
 1490|    559|    out->data_type = in->data_type;
 1491|    559|    out->data_size = in->data_size;
 1492|    559|    out->class_type = in->class_type;
 1493|    559|    out->isComplex = in->isComplex;
 1494|    559|    out->isGlobal = in->isGlobal;
 1495|    559|    out->isLogical = in->isLogical;
 1496|    559|    out->mem_conserve = in->mem_conserve;
 1497|    559|    out->compression = in->compression;
 1498|       |
 1499|    559|    if ( NULL != in->name ) {
  ------------------
  |  Branch (1499:10): [True: 280, False: 279]
  ------------------
 1500|    280|        size_t len = strlen(in->name) + 1;
 1501|    280|        out->name = (char *)malloc(len);
 1502|    280|        if ( NULL != out->name )
  ------------------
  |  Branch (1502:14): [True: 280, False: 0]
  ------------------
 1503|    280|            memcpy(out->name, in->name, len);
 1504|    280|    }
 1505|       |
 1506|    559|    out->dims = (size_t *)malloc(in->rank * sizeof(*out->dims));
 1507|    559|    if ( out->dims != NULL )
  ------------------
  |  Branch (1507:10): [True: 559, False: 0]
  ------------------
 1508|    559|        memcpy(out->dims, in->dims, in->rank * sizeof(*out->dims));
 1509|       |
 1510|    559|    if ( NULL != in->internal ) {
  ------------------
  |  Branch (1510:10): [True: 551, False: 8]
  ------------------
 1511|    551|#if defined(MAT73) && MAT73
 1512|    551|        out->internal->hdf5_ref = in->internal->hdf5_ref;
 1513|    551|        out->internal->id = in->internal->id;
 1514|    551|        if ( out->internal->id >= 0 ) {
  ------------------
  |  Branch (1514:14): [True: 0, False: 551]
  ------------------
 1515|      0|            H5Iinc_ref(out->internal->id);
 1516|      0|        }
 1517|    551|#endif
 1518|    551|        out->internal->datapos = in->internal->datapos;
 1519|    551|#if HAVE_ZLIB
 1520|    551|        out->internal->z = NULL;
 1521|    551|        out->internal->data = NULL;
 1522|    551|#endif
 1523|    551|        out->internal->num_fields = in->internal->num_fields;
 1524|    551|        if ( NULL != in->internal->fieldnames && in->internal->num_fields > 0 ) {
  ------------------
  |  Branch (1524:14): [True: 1, False: 550]
  |  Branch (1524:50): [True: 1, False: 0]
  ------------------
 1525|      1|            out->internal->fieldnames =
 1526|      1|                (char **)calloc(in->internal->num_fields, sizeof(*in->internal->fieldnames));
 1527|      1|            if ( NULL != out->internal->fieldnames ) {
  ------------------
  |  Branch (1527:18): [True: 1, False: 0]
  ------------------
 1528|      7|                for ( i = 0; i < in->internal->num_fields; i++ ) {
  ------------------
  |  Branch (1528:30): [True: 6, False: 1]
  ------------------
 1529|      6|                    if ( NULL != in->internal->fieldnames[i] )
  ------------------
  |  Branch (1529:26): [True: 6, False: 0]
  ------------------
 1530|      6|                        out->internal->fieldnames[i] = strdup(in->internal->fieldnames[i]);
 1531|      6|                }
 1532|      1|            }
 1533|      1|        }
 1534|       |
 1535|    551|#if HAVE_ZLIB
 1536|    551|        if ( in->internal->z != NULL ) {
  ------------------
  |  Branch (1536:14): [True: 6, False: 545]
  ------------------
 1537|      6|            out->internal->z = (z_streamp)malloc(sizeof(z_stream));
 1538|      6|            if ( NULL != out->internal->z ) {
  ------------------
  |  Branch (1538:18): [True: 6, False: 0]
  ------------------
 1539|      6|                int err = inflateCopy(out->internal->z, in->internal->z);
 1540|      6|                if ( err != Z_OK ) {
  ------------------
  |  |  177|      6|#define Z_OK            0
  ------------------
  |  Branch (1540:22): [True: 0, False: 6]
  ------------------
 1541|      0|                    free(out->internal->z);
 1542|      0|                    out->internal->z = NULL;
 1543|      0|                }
 1544|      6|            }
 1545|      6|        }
 1546|    551|        if ( in->internal->data != NULL ) {
  ------------------
  |  Branch (1546:14): [True: 0, False: 551]
  ------------------
 1547|      0|            if ( in->class_type == MAT_C_SPARSE ) {
  ------------------
  |  Branch (1547:18): [True: 0, False: 0]
  ------------------
 1548|      0|                out->internal->data = malloc(sizeof(mat_sparse_t));
 1549|      0|                if ( out->internal->data != NULL ) {
  ------------------
  |  Branch (1549:22): [True: 0, False: 0]
  ------------------
 1550|      0|                    mat_sparse_t *out_sparse = (mat_sparse_t *)out->internal->data;
 1551|      0|                    mat_sparse_t *in_sparse = (mat_sparse_t *)in->internal->data;
 1552|      0|                    out_sparse->nzmax = in_sparse->nzmax;
 1553|      0|                    out_sparse->nir = in_sparse->nir;
 1554|      0|                    out_sparse->ir =
 1555|      0|                        (mat_uint32_t *)malloc(in_sparse->nir * sizeof(*out_sparse->ir));
 1556|      0|                    if ( out_sparse->ir != NULL )
  ------------------
  |  Branch (1556:26): [True: 0, False: 0]
  ------------------
 1557|      0|                        memcpy(out_sparse->ir, in_sparse->ir,
 1558|      0|                               in_sparse->nir * sizeof(*out_sparse->ir));
 1559|      0|                    out_sparse->njc = in_sparse->njc;
 1560|      0|                    out_sparse->jc =
 1561|      0|                        (mat_uint32_t *)malloc(in_sparse->njc * sizeof(*out_sparse->jc));
 1562|      0|                    if ( out_sparse->jc != NULL )
  ------------------
  |  Branch (1562:26): [True: 0, False: 0]
  ------------------
 1563|      0|                        memcpy(out_sparse->jc, in_sparse->jc,
 1564|      0|                               in_sparse->njc * sizeof(*out_sparse->jc));
 1565|      0|                    out_sparse->ndata = in_sparse->ndata;
 1566|      0|                    if ( out->isComplex && NULL != in_sparse->data ) {
  ------------------
  |  Branch (1566:26): [True: 0, False: 0]
  |  Branch (1566:44): [True: 0, False: 0]
  ------------------
 1567|      0|                        out_sparse->data = malloc(sizeof(mat_complex_split_t));
 1568|      0|                        if ( out_sparse->data != NULL ) {
  ------------------
  |  Branch (1568:30): [True: 0, False: 0]
  ------------------
 1569|      0|                            mat_complex_split_t *out_data = (mat_complex_split_t *)out_sparse->data;
 1570|      0|                            const mat_complex_split_t *in_data =
 1571|      0|                                (mat_complex_split_t *)in_sparse->data;
 1572|      0|                            out_data->Re = malloc(in_sparse->ndata * Mat_SizeOf(in->data_type));
 1573|      0|                            if ( NULL != out_data->Re )
  ------------------
  |  Branch (1573:34): [True: 0, False: 0]
  ------------------
 1574|      0|                                memcpy(out_data->Re, in_data->Re,
 1575|      0|                                       in_sparse->ndata * Mat_SizeOf(in->data_type));
 1576|      0|                            out_data->Im = malloc(in_sparse->ndata * Mat_SizeOf(in->data_type));
 1577|      0|                            if ( NULL != out_data->Im )
  ------------------
  |  Branch (1577:34): [True: 0, False: 0]
  ------------------
 1578|      0|                                memcpy(out_data->Im, in_data->Im,
 1579|      0|                                       in_sparse->ndata * Mat_SizeOf(in->data_type));
 1580|      0|                        }
 1581|      0|                    } else if ( in_sparse->data != NULL ) {
  ------------------
  |  Branch (1581:33): [True: 0, False: 0]
  ------------------
 1582|      0|                        out_sparse->data = malloc(in_sparse->ndata * Mat_SizeOf(in->data_type));
 1583|      0|                        if ( NULL != out_sparse->data )
  ------------------
  |  Branch (1583:30): [True: 0, False: 0]
  ------------------
 1584|      0|                            memcpy(out_sparse->data, in_sparse->data,
 1585|      0|                                   in_sparse->ndata * Mat_SizeOf(in->data_type));
 1586|      0|                    } else {
 1587|      0|                        out_sparse->data = NULL;
 1588|      0|                    }
 1589|      0|                }
 1590|      0|            } else if ( out->isComplex ) {
  ------------------
  |  Branch (1590:25): [True: 0, False: 0]
  ------------------
 1591|      0|                out->internal->data = malloc(sizeof(mat_complex_split_t));
 1592|      0|                if ( out->internal->data != NULL ) {
  ------------------
  |  Branch (1592:22): [True: 0, False: 0]
  ------------------
 1593|      0|                    mat_complex_split_t *out_data = (mat_complex_split_t *)out->internal->data;
 1594|      0|                    const mat_complex_split_t *in_data = (mat_complex_split_t *)in->internal->data;
 1595|      0|                    out_data->Re = malloc(out->nbytes);
 1596|      0|                    if ( NULL != out_data->Re )
  ------------------
  |  Branch (1596:26): [True: 0, False: 0]
  ------------------
 1597|      0|                        memcpy(out_data->Re, in_data->Re, out->nbytes);
 1598|      0|                    out_data->Im = malloc(out->nbytes);
 1599|      0|                    if ( NULL != out_data->Im )
  ------------------
  |  Branch (1599:26): [True: 0, False: 0]
  ------------------
 1600|      0|                        memcpy(out_data->Im, in_data->Im, out->nbytes);
 1601|      0|                }
 1602|      0|            } else if ( NULL != (out->internal->data = malloc(in->nbytes)) ) {
  ------------------
  |  Branch (1602:25): [True: 0, False: 0]
  ------------------
 1603|      0|                memcpy(out->internal->data, in->internal->data, in->nbytes);
 1604|      0|            }
 1605|      0|        }
 1606|    551|#endif
 1607|    551|    } else {
 1608|      8|        free(out->internal);
 1609|      8|        out->internal = NULL;
 1610|      8|    }
 1611|       |
 1612|    559|    if ( !opt ) {
  ------------------
  |  Branch (1612:10): [True: 0, False: 559]
  ------------------
 1613|      0|        out->data = in->data;
 1614|    559|    } else if ( in->data != NULL &&
  ------------------
  |  Branch (1614:17): [True: 365, False: 194]
  ------------------
 1615|    559|                (in->class_type == MAT_C_STRUCT || in->class_type == MAT_C_CELL ||
  ------------------
  |  Branch (1615:18): [True: 1, False: 364]
  |  Branch (1615:52): [True: 2, False: 362]
  ------------------
 1616|    365|                 in->class_type == MAT_C_FUNCTION) ) {
  ------------------
  |  Branch (1616:18): [True: 0, False: 362]
  ------------------
 1617|      3|        out->data = malloc(in->nbytes);
 1618|      3|        if ( out->data != NULL && in->data_size > 0 ) {
  ------------------
  |  Branch (1618:14): [True: 3, False: 0]
  |  Branch (1618:35): [True: 3, False: 0]
  ------------------
 1619|      3|            const size_t ndata = in->nbytes / in->data_size;
 1620|      3|            const matvar_t *const *indata = (const matvar_t *const *)in->data;
 1621|      3|            const matvar_t **outdata = (const matvar_t **)out->data;
 1622|     29|            for ( i = 0; i < ndata; i++ ) {
  ------------------
  |  Branch (1622:26): [True: 26, False: 3]
  ------------------
 1623|     26|                outdata[i] = Mat_VarDuplicate(indata[i], opt);
 1624|     26|            }
 1625|      3|        }
 1626|    556|    } else if ( in->data != NULL && in->class_type == MAT_C_SPARSE ) {
  ------------------
  |  Branch (1626:17): [True: 362, False: 194]
  |  Branch (1626:37): [True: 42, False: 320]
  ------------------
 1627|     42|        out->data = malloc(sizeof(mat_sparse_t));
 1628|     42|        if ( out->data != NULL ) {
  ------------------
  |  Branch (1628:14): [True: 42, False: 0]
  ------------------
 1629|     42|            mat_sparse_t *out_sparse = (mat_sparse_t *)out->data;
 1630|     42|            const mat_sparse_t *in_sparse = (mat_sparse_t *)in->data;
 1631|     42|            out_sparse->nzmax = in_sparse->nzmax;
 1632|     42|            out_sparse->nir = in_sparse->nir;
 1633|     42|            out_sparse->ir = (mat_uint32_t *)malloc(in_sparse->nir * sizeof(*out_sparse->ir));
 1634|     42|            if ( out_sparse->ir != NULL )
  ------------------
  |  Branch (1634:18): [True: 42, False: 0]
  ------------------
 1635|     42|                memcpy(out_sparse->ir, in_sparse->ir, in_sparse->nir * sizeof(*out_sparse->ir));
 1636|     42|            out_sparse->njc = in_sparse->njc;
 1637|     42|            out_sparse->jc = (mat_uint32_t *)malloc(in_sparse->njc * sizeof(*out_sparse->jc));
 1638|     42|            if ( out_sparse->jc != NULL )
  ------------------
  |  Branch (1638:18): [True: 42, False: 0]
  ------------------
 1639|     42|                memcpy(out_sparse->jc, in_sparse->jc, in_sparse->njc * sizeof(*out_sparse->jc));
 1640|     42|            out_sparse->ndata = in_sparse->ndata;
 1641|     42|            if ( out->isComplex && NULL != in_sparse->data ) {
  ------------------
  |  Branch (1641:18): [True: 42, False: 0]
  |  Branch (1641:36): [True: 12, False: 30]
  ------------------
 1642|     12|                out_sparse->data = malloc(sizeof(mat_complex_split_t));
 1643|     12|                if ( out_sparse->data != NULL ) {
  ------------------
  |  Branch (1643:22): [True: 12, False: 0]
  ------------------
 1644|     12|                    mat_complex_split_t *out_data = (mat_complex_split_t *)out_sparse->data;
 1645|     12|                    const mat_complex_split_t *in_data =
 1646|     12|                        (const mat_complex_split_t *)in_sparse->data;
 1647|     12|                    out_data->Re = malloc(in_sparse->ndata * Mat_SizeOf(in->data_type));
 1648|     12|                    if ( NULL != out_data->Re )
  ------------------
  |  Branch (1648:26): [True: 12, False: 0]
  ------------------
 1649|     12|                        memcpy(out_data->Re, in_data->Re,
 1650|     12|                               in_sparse->ndata * Mat_SizeOf(in->data_type));
 1651|     12|                    out_data->Im = malloc(in_sparse->ndata * Mat_SizeOf(in->data_type));
 1652|     12|                    if ( NULL != out_data->Im )
  ------------------
  |  Branch (1652:26): [True: 12, False: 0]
  ------------------
 1653|     12|                        memcpy(out_data->Im, in_data->Im,
 1654|     12|                               in_sparse->ndata * Mat_SizeOf(in->data_type));
 1655|     12|                }
 1656|     30|            } else if ( in_sparse->data != NULL ) {
  ------------------
  |  Branch (1656:25): [True: 0, False: 30]
  ------------------
 1657|      0|                out_sparse->data = malloc(in_sparse->ndata * Mat_SizeOf(in->data_type));
 1658|      0|                if ( NULL != out_sparse->data )
  ------------------
  |  Branch (1658:22): [True: 0, False: 0]
  ------------------
 1659|      0|                    memcpy(out_sparse->data, in_sparse->data,
 1660|      0|                           in_sparse->ndata * Mat_SizeOf(in->data_type));
 1661|     30|            } else {
 1662|     30|                out_sparse->data = NULL;
 1663|     30|            }
 1664|     42|        }
 1665|    514|    } else if ( in->data != NULL && in->nbytes != 0 ) {
  ------------------
  |  Branch (1665:17): [True: 320, False: 194]
  |  Branch (1665:37): [True: 260, False: 60]
  ------------------
 1666|    260|        if ( out->isComplex ) {
  ------------------
  |  Branch (1666:14): [True: 151, False: 109]
  ------------------
 1667|    151|            out->data = malloc(sizeof(mat_complex_split_t));
 1668|    151|            if ( out->data != NULL ) {
  ------------------
  |  Branch (1668:18): [True: 151, False: 0]
  ------------------
 1669|    151|                mat_complex_split_t *out_data = (mat_complex_split_t *)out->data;
 1670|    151|                const mat_complex_split_t *in_data = (const mat_complex_split_t *)in->data;
 1671|    151|                out_data->Re = malloc(out->nbytes);
 1672|    151|                if ( NULL != out_data->Re )
  ------------------
  |  Branch (1672:22): [True: 151, False: 0]
  ------------------
 1673|    151|                    memcpy(out_data->Re, in_data->Re, out->nbytes);
 1674|    151|                out_data->Im = malloc(out->nbytes);
 1675|    151|                if ( NULL != out_data->Im )
  ------------------
  |  Branch (1675:22): [True: 151, False: 0]
  ------------------
 1676|    151|                    memcpy(out_data->Im, in_data->Im, out->nbytes);
 1677|    151|            }
 1678|    151|        } else {
 1679|    109|            out->data = malloc(in->nbytes);
 1680|    109|            if ( out->data != NULL )
  ------------------
  |  Branch (1680:18): [True: 109, False: 0]
  ------------------
 1681|    109|                memcpy(out->data, in->data, in->nbytes);
 1682|    109|        }
 1683|    260|    }
 1684|       |
 1685|    559|    return out;
 1686|    559|}
Mat_VarFree:
 1697|  3.43k|{
 1698|  3.43k|    size_t nelems = 0;
 1699|  3.43k|    int err;
 1700|       |
 1701|  3.43k|    if ( NULL == matvar )
  ------------------
  |  Branch (1701:10): [True: 552, False: 2.88k]
  ------------------
 1702|    552|        return;
 1703|  2.88k|    if ( NULL != matvar->dims ) {
  ------------------
  |  Branch (1703:10): [True: 2.55k, False: 329]
  ------------------
 1704|  2.55k|        nelems = 1;
 1705|  2.55k|        err = Mat_MulDims(matvar, &nelems);
 1706|  2.55k|        free(matvar->dims);
 1707|  2.55k|    } else {
 1708|    329|        err = MATIO_E_BAD_ARGUMENT;
  ------------------
  |  |  248|    329|#define MATIO_E_BAD_ARGUMENT 7
  ------------------
 1709|    329|    }
 1710|  2.88k|    if ( NULL != matvar->data ) {
  ------------------
  |  Branch (1710:10): [True: 1.20k, False: 1.68k]
  ------------------
 1711|  1.20k|        switch ( matvar->class_type ) {
  ------------------
  |  Branch (1711:18): [True: 0, False: 1.20k]
  ------------------
 1712|      5|            case MAT_C_STRUCT:
  ------------------
  |  Branch (1712:13): [True: 5, False: 1.19k]
  ------------------
 1713|      5|                if ( !matvar->mem_conserve ) {
  ------------------
  |  Branch (1713:22): [True: 5, False: 0]
  ------------------
 1714|      5|                    if ( MATIO_E_NO_ERROR == err ) {
  ------------------
  |  |  241|      5|#define MATIO_E_NO_ERROR 0
  ------------------
  |  Branch (1714:26): [True: 5, False: 0]
  ------------------
 1715|      5|                        matvar_t **fields = (matvar_t **)matvar->data;
 1716|      5|                        size_t nelems_x_nfields;
 1717|      5|                        err = Mul(&nelems_x_nfields, nelems, matvar->internal->num_fields);
 1718|      5|                        if ( MATIO_E_NO_ERROR == err && nelems_x_nfields > 0 ) {
  ------------------
  |  |  241|      5|#define MATIO_E_NO_ERROR 0
  ------------------
  |  Branch (1718:30): [True: 5, False: 0]
  |  Branch (1718:57): [True: 5, False: 0]
  ------------------
 1719|      5|                            size_t i;
 1720|     35|                            for ( i = 0; i < nelems_x_nfields; i++ )
  ------------------
  |  Branch (1720:42): [True: 30, False: 5]
  ------------------
 1721|     30|                                Mat_VarFree(fields[i]);
 1722|      5|                        }
 1723|      5|                    }
 1724|      5|                    free(matvar->data);
 1725|      5|                }
 1726|      5|                break;
 1727|     19|            case MAT_C_CELL:
  ------------------
  |  Branch (1727:13): [True: 19, False: 1.18k]
  ------------------
 1728|     19|                if ( !matvar->mem_conserve ) {
  ------------------
  |  Branch (1728:22): [True: 19, False: 0]
  ------------------
 1729|     19|                    if ( MATIO_E_NO_ERROR == err ) {
  ------------------
  |  |  241|     19|#define MATIO_E_NO_ERROR 0
  ------------------
  |  Branch (1729:26): [True: 19, False: 0]
  ------------------
 1730|     19|                        matvar_t **cells = (matvar_t **)matvar->data;
 1731|     19|                        size_t i;
 1732|    173|                        for ( i = 0; i < nelems; i++ )
  ------------------
  |  Branch (1732:38): [True: 154, False: 19]
  ------------------
 1733|    154|                            Mat_VarFree(cells[i]);
 1734|     19|                    }
 1735|     19|                    free(matvar->data);
 1736|     19|                }
 1737|     19|                break;
 1738|    122|            case MAT_C_SPARSE:
  ------------------
  |  Branch (1738:13): [True: 122, False: 1.07k]
  ------------------
 1739|    122|                if ( !matvar->mem_conserve ) {
  ------------------
  |  Branch (1739:22): [True: 122, False: 0]
  ------------------
 1740|    122|                    mat_sparse_t *sparse;
 1741|    122|                    sparse = (mat_sparse_t *)matvar->data;
 1742|    122|                    if ( sparse->ir != NULL )
  ------------------
  |  Branch (1742:26): [True: 122, False: 0]
  ------------------
 1743|    122|                        free(sparse->ir);
 1744|    122|                    if ( sparse->jc != NULL )
  ------------------
  |  Branch (1744:26): [True: 120, False: 2]
  ------------------
 1745|    120|                        free(sparse->jc);
 1746|    122|                    if ( matvar->isComplex && NULL != sparse->data ) {
  ------------------
  |  Branch (1746:26): [True: 122, False: 0]
  |  Branch (1746:47): [True: 36, False: 86]
  ------------------
 1747|     36|                        ComplexFree((mat_complex_split_t *)sparse->data);
 1748|     86|                    } else if ( sparse->data != NULL ) {
  ------------------
  |  Branch (1748:33): [True: 0, False: 86]
  ------------------
 1749|      0|                        free(sparse->data);
 1750|      0|                    }
 1751|    122|                    free(sparse);
 1752|    122|                }
 1753|    122|                break;
 1754|    141|            case MAT_C_DOUBLE:
  ------------------
  |  Branch (1754:13): [True: 141, False: 1.05k]
  ------------------
 1755|    214|            case MAT_C_SINGLE:
  ------------------
  |  Branch (1755:13): [True: 73, False: 1.12k]
  ------------------
 1756|    412|            case MAT_C_INT64:
  ------------------
  |  Branch (1756:13): [True: 198, False: 1.00k]
  ------------------
 1757|    528|            case MAT_C_UINT64:
  ------------------
  |  Branch (1757:13): [True: 116, False: 1.08k]
  ------------------
 1758|    596|            case MAT_C_INT32:
  ------------------
  |  Branch (1758:13): [True: 68, False: 1.13k]
  ------------------
 1759|    769|            case MAT_C_UINT32:
  ------------------
  |  Branch (1759:13): [True: 173, False: 1.02k]
  ------------------
 1760|    836|            case MAT_C_INT16:
  ------------------
  |  Branch (1760:13): [True: 67, False: 1.13k]
  ------------------
 1761|    915|            case MAT_C_UINT16:
  ------------------
  |  Branch (1761:13): [True: 79, False: 1.12k]
  ------------------
 1762|    961|            case MAT_C_INT8:
  ------------------
  |  Branch (1762:13): [True: 46, False: 1.15k]
  ------------------
 1763|  1.05k|            case MAT_C_UINT8:
  ------------------
  |  Branch (1763:13): [True: 90, False: 1.11k]
  ------------------
 1764|  1.05k|            case MAT_C_CHAR:
  ------------------
  |  Branch (1764:13): [True: 3, False: 1.19k]
  ------------------
 1765|  1.05k|                if ( !matvar->mem_conserve ) {
  ------------------
  |  Branch (1765:22): [True: 1.05k, False: 0]
  ------------------
 1766|  1.05k|                    if ( matvar->isComplex ) {
  ------------------
  |  Branch (1766:26): [True: 632, False: 422]
  ------------------
 1767|    632|                        ComplexFree((mat_complex_split_t *)matvar->data);
 1768|    632|                    } else {
 1769|    422|                        free(matvar->data);
 1770|    422|                    }
 1771|  1.05k|                }
 1772|  1.05k|                break;
 1773|      0|            case MAT_C_FUNCTION:
  ------------------
  |  Branch (1773:13): [True: 0, False: 1.20k]
  ------------------
 1774|      0|                if ( !matvar->mem_conserve ) {
  ------------------
  |  Branch (1774:22): [True: 0, False: 0]
  ------------------
 1775|      0|                    size_t i;
 1776|      0|                    matvar_t **functions = (matvar_t **)matvar->data;
 1777|      0|                    for ( i = 0; i < nelems; i++ ) {
  ------------------
  |  Branch (1777:34): [True: 0, False: 0]
  ------------------
 1778|      0|                        Mat_VarFree(functions[i]);
 1779|      0|                    }
 1780|      0|                    free(matvar->data);
 1781|      0|                }
 1782|      0|                break;
 1783|      0|            case MAT_C_EMPTY:
  ------------------
  |  Branch (1783:13): [True: 0, False: 1.20k]
  ------------------
 1784|      0|            case MAT_C_OBJECT:
  ------------------
  |  Branch (1784:13): [True: 0, False: 1.20k]
  ------------------
 1785|      0|            case MAT_C_OPAQUE:
  ------------------
  |  Branch (1785:13): [True: 0, False: 1.20k]
  ------------------
 1786|      0|                break;
 1787|  1.20k|        }
 1788|  1.20k|    }
 1789|       |
 1790|  2.88k|    if ( NULL != matvar->internal ) {
  ------------------
  |  Branch (1790:10): [True: 2.83k, False: 48]
  ------------------
 1791|  2.83k|#if HAVE_ZLIB
 1792|  2.83k|        if ( matvar->compression == MAT_COMPRESSION_ZLIB ) {
  ------------------
  |  Branch (1792:14): [True: 36, False: 2.80k]
  ------------------
 1793|     36|            inflateEnd(matvar->internal->z);
 1794|     36|            free(matvar->internal->z);
 1795|     36|            if ( matvar->class_type == MAT_C_SPARSE && NULL != matvar->internal->data ) {
  ------------------
  |  Branch (1795:18): [True: 0, False: 36]
  |  Branch (1795:56): [True: 0, False: 0]
  ------------------
 1796|      0|                mat_sparse_t *sparse;
 1797|      0|                sparse = (mat_sparse_t *)matvar->internal->data;
 1798|      0|                if ( sparse->ir != NULL )
  ------------------
  |  Branch (1798:22): [True: 0, False: 0]
  ------------------
 1799|      0|                    free(sparse->ir);
 1800|      0|                if ( sparse->jc != NULL )
  ------------------
  |  Branch (1800:22): [True: 0, False: 0]
  ------------------
 1801|      0|                    free(sparse->jc);
 1802|      0|                if ( matvar->isComplex && NULL != sparse->data ) {
  ------------------
  |  Branch (1802:22): [True: 0, False: 0]
  |  Branch (1802:43): [True: 0, False: 0]
  ------------------
 1803|      0|                    ComplexFree((mat_complex_split_t *)sparse->data);
 1804|      0|                } else if ( sparse->data != NULL ) {
  ------------------
  |  Branch (1804:29): [True: 0, False: 0]
  ------------------
 1805|      0|                    free(sparse->data);
 1806|      0|                }
 1807|      0|                free(sparse);
 1808|     36|            } else if ( matvar->isComplex && NULL != matvar->internal->data ) {
  ------------------
  |  Branch (1808:25): [True: 20, False: 16]
  |  Branch (1808:46): [True: 1, False: 19]
  ------------------
 1809|      1|                ComplexFree((mat_complex_split_t *)matvar->internal->data);
 1810|     35|            } else if ( NULL != matvar->internal->data ) {
  ------------------
  |  Branch (1810:25): [True: 0, False: 35]
  ------------------
 1811|      0|                free(matvar->internal->data);
 1812|      0|            }
 1813|     36|        }
 1814|  2.83k|#endif
 1815|  2.83k|#if defined(MAT73) && MAT73
 1816|  2.83k|        if ( H5I_INVALID_HID != matvar->internal->id ) {
  ------------------
  |  |   75|  2.83k|#define H5I_INVALID_HID (-1)
  ------------------
  |  Branch (1816:14): [True: 57, False: 2.77k]
  ------------------
 1817|     57|            switch ( H5Iget_type(matvar->internal->id) ) {
 1818|      8|                case H5I_GROUP:
  ------------------
  |  Branch (1818:17): [True: 8, False: 49]
  ------------------
 1819|      8|                    H5Gclose(matvar->internal->id);
 1820|      8|                    matvar->internal->id = H5I_INVALID_HID;
  ------------------
  |  |   75|      8|#define H5I_INVALID_HID (-1)
  ------------------
 1821|      8|                    break;
 1822|     49|                case H5I_DATASET:
  ------------------
  |  Branch (1822:17): [True: 49, False: 8]
  ------------------
 1823|     49|                    H5Dclose(matvar->internal->id);
 1824|     49|                    matvar->internal->id = H5I_INVALID_HID;
  ------------------
  |  |   75|     49|#define H5I_INVALID_HID (-1)
  ------------------
 1825|     49|                    break;
 1826|      0|                default:
  ------------------
  |  Branch (1826:17): [True: 0, False: 57]
  ------------------
 1827|      0|                    break;
 1828|     57|            }
 1829|     57|        }
 1830|  2.83k|#endif
 1831|  2.83k|        if ( NULL != matvar->internal->fieldnames && matvar->internal->num_fields > 0 ) {
  ------------------
  |  Branch (1831:14): [True: 5, False: 2.83k]
  |  Branch (1831:54): [True: 5, False: 0]
  ------------------
 1832|      5|            size_t i;
 1833|     35|            for ( i = 0; i < matvar->internal->num_fields; i++ ) {
  ------------------
  |  Branch (1833:26): [True: 30, False: 5]
  ------------------
 1834|     30|                if ( NULL != matvar->internal->fieldnames[i] )
  ------------------
  |  Branch (1834:22): [True: 30, False: 0]
  ------------------
 1835|     30|                    free(matvar->internal->fieldnames[i]);
 1836|     30|            }
 1837|      5|            free(matvar->internal->fieldnames);
 1838|      5|        }
 1839|  2.83k|        free(matvar->internal);
 1840|  2.83k|        matvar->internal = NULL;
 1841|  2.83k|    }
 1842|  2.88k|    if ( NULL != matvar->name )
  ------------------
  |  Branch (1842:10): [True: 1.56k, False: 1.31k]
  ------------------
 1843|  1.56k|        free(matvar->name);
 1844|  2.88k|    free(matvar);
 1845|  2.88k|}
Mat_VarGetSize:
 2025|    551|{
 2026|    551|    int err;
 2027|    551|    size_t i;
 2028|    551|    size_t bytes = 0, overhead = 0, ptr = 0;
 2029|       |
 2030|    551|#if defined(_WIN64) || (defined(__SIZEOF_POINTER__) && (__SIZEOF_POINTER__ == 8)) || \
 2031|    551|    (defined(SIZEOF_VOID_P) && (SIZEOF_VOID_P == 8))
 2032|       |    /* 112 bytes cell/struct overhead for 64-bit system */
 2033|    551|    overhead = 112;
 2034|    551|    ptr = 8;
 2035|       |#elif defined(_WIN32) || (defined(__SIZEOF_POINTER__) && (__SIZEOF_POINTER__ == 4)) || \
 2036|       |    (defined(SIZEOF_VOID_P) && (SIZEOF_VOID_P == 4))
 2037|       |    /* 60 bytes cell/struct overhead for 32-bit system */
 2038|       |    overhead = 60;
 2039|       |    ptr = 4;
 2040|       |#endif
 2041|       |
 2042|    551|    if ( matvar->class_type == MAT_C_STRUCT ) {
  ------------------
  |  Branch (2042:10): [True: 1, False: 550]
  ------------------
 2043|      1|        matvar_t **fields = (matvar_t **)matvar->data;
 2044|      1|        size_t field_name_length;
 2045|      1|        if ( NULL != fields ) {
  ------------------
  |  Branch (2045:14): [True: 1, False: 0]
  ------------------
 2046|      1|            size_t nelems_x_nfields = matvar->internal->num_fields;
 2047|      1|            err = Mat_MulDims(matvar, &nelems_x_nfields);
 2048|      1|            err |= Mul(&bytes, nelems_x_nfields, overhead);
 2049|      1|            if ( err )
  ------------------
  |  Branch (2049:18): [True: 0, False: 1]
  ------------------
 2050|      0|                return 0;
 2051|       |
 2052|      7|            for ( i = 0; i < nelems_x_nfields; i++ ) {
  ------------------
  |  Branch (2052:26): [True: 6, False: 1]
  ------------------
 2053|      6|                if ( NULL != fields[i] ) {
  ------------------
  |  Branch (2053:22): [True: 3, False: 3]
  ------------------
 2054|      3|                    if ( MAT_C_EMPTY != fields[i]->class_type ) {
  ------------------
  |  Branch (2054:26): [True: 3, False: 0]
  ------------------
 2055|      3|                        err = Add(&bytes, bytes, Mat_VarGetSize(fields[i]));
 2056|      3|                        if ( err )
  ------------------
  |  Branch (2056:30): [True: 0, False: 3]
  ------------------
 2057|      0|                            return 0;
 2058|      3|                    } else {
 2059|      0|                        bytes -= overhead;
 2060|      0|                        bytes += ptr;
 2061|      0|                    }
 2062|      3|                }
 2063|      6|            }
 2064|      1|        }
 2065|      1|        err = Mul(&field_name_length, 64 /* max field name length */, matvar->internal->num_fields);
 2066|      1|        err |= Add(&bytes, bytes, field_name_length);
 2067|      1|        if ( err )
  ------------------
  |  Branch (2067:14): [True: 0, False: 1]
  ------------------
 2068|      0|            return 0;
 2069|    550|    } else if ( matvar->class_type == MAT_C_CELL ) {
  ------------------
  |  Branch (2069:17): [True: 2, False: 548]
  ------------------
 2070|      2|        matvar_t **cells = (matvar_t **)matvar->data;
 2071|      2|        if ( NULL != cells ) {
  ------------------
  |  Branch (2071:14): [True: 2, False: 0]
  ------------------
 2072|      2|            size_t nelems = matvar->nbytes / matvar->data_size;
 2073|      2|            err = Mul(&bytes, nelems, overhead);
 2074|      2|            if ( err )
  ------------------
  |  Branch (2074:18): [True: 0, False: 2]
  ------------------
 2075|      0|                return 0;
 2076|       |
 2077|     22|            for ( i = 0; i < nelems; i++ ) {
  ------------------
  |  Branch (2077:26): [True: 20, False: 2]
  ------------------
 2078|     20|                if ( NULL != cells[i] ) {
  ------------------
  |  Branch (2078:22): [True: 12, False: 8]
  ------------------
 2079|     12|                    if ( MAT_C_EMPTY != cells[i]->class_type ) {
  ------------------
  |  Branch (2079:26): [True: 4, False: 8]
  ------------------
 2080|      4|                        err = Add(&bytes, bytes, Mat_VarGetSize(cells[i]));
 2081|      4|                        if ( err )
  ------------------
  |  Branch (2081:30): [True: 0, False: 4]
  ------------------
 2082|      0|                            return 0;
 2083|      8|                    } else {
 2084|      8|                        bytes -= overhead;
 2085|      8|                        bytes += ptr;
 2086|      8|                    }
 2087|     12|                }
 2088|     20|            }
 2089|      2|        }
 2090|    548|    } else if ( matvar->class_type == MAT_C_SPARSE ) {
  ------------------
  |  Branch (2090:17): [True: 43, False: 505]
  ------------------
 2091|     43|        const mat_sparse_t *sparse = (const mat_sparse_t *)matvar->data;
 2092|     43|        if ( NULL != sparse ) {
  ------------------
  |  Branch (2092:14): [True: 42, False: 1]
  ------------------
 2093|     42|            size_t sparse_size = 0;
 2094|     42|            err = Mul(&bytes, sparse->ndata, Mat_SizeOf(matvar->data_type));
 2095|     42|            if ( err )
  ------------------
  |  Branch (2095:18): [True: 0, False: 42]
  ------------------
 2096|      0|                return 0;
 2097|       |
 2098|     42|            if ( matvar->isComplex ) {
  ------------------
  |  Branch (2098:18): [True: 42, False: 0]
  ------------------
 2099|     42|                err = Mul(&bytes, bytes, 2);
 2100|     42|                if ( err )
  ------------------
  |  Branch (2100:22): [True: 0, False: 42]
  ------------------
 2101|      0|                    return 0;
 2102|     42|            }
 2103|       |
 2104|     42|#if defined(_WIN64) || (defined(__SIZEOF_POINTER__) && (__SIZEOF_POINTER__ == 8)) || \
 2105|     42|    (defined(SIZEOF_VOID_P) && (SIZEOF_VOID_P == 8))
 2106|       |            /* 8 byte integers for 64-bit system (as displayed in MATLAB (x64) whos) */
 2107|     42|            err = Mul(&sparse_size, sparse->nir + sparse->njc, 8);
 2108|       |#elif defined(_WIN32) || (defined(__SIZEOF_POINTER__) && (__SIZEOF_POINTER__ == 4)) || \
 2109|       |    (defined(SIZEOF_VOID_P) && (SIZEOF_VOID_P == 4))
 2110|       |            /* 4 byte integers for 32-bit system (as defined by mat_sparse_t) */
 2111|       |            err = Mul(&sparse_size, sparse->nir + sparse->njc, 4);
 2112|       |#endif
 2113|     42|            err |= Add(&bytes, bytes, sparse_size);
 2114|     42|            if ( err )
  ------------------
  |  Branch (2114:18): [True: 0, False: 42]
  ------------------
 2115|      0|                return 0;
 2116|       |
 2117|     42|            if ( sparse->ndata == 0 || sparse->nir == 0 || sparse->njc == 0 ) {
  ------------------
  |  Branch (2117:18): [True: 32, False: 10]
  |  Branch (2117:40): [True: 0, False: 10]
  |  Branch (2117:60): [True: 0, False: 10]
  ------------------
 2118|     32|                err = Add(&bytes, bytes, matvar->isLogical ? 1 : 8);
  ------------------
  |  Branch (2118:42): [True: 28, False: 4]
  ------------------
 2119|     32|                if ( err )
  ------------------
  |  Branch (2119:22): [True: 0, False: 32]
  ------------------
 2120|      0|                    return 0;
 2121|     32|            }
 2122|     42|        }
 2123|    505|    } else {
 2124|    505|        if ( matvar->rank > 0 ) {
  ------------------
  |  Branch (2124:14): [True: 467, False: 38]
  ------------------
 2125|    467|            bytes = Mat_SizeOfClass(matvar->class_type);
 2126|    467|            err = Mat_MulDims(matvar, &bytes);
 2127|    467|            if ( err )
  ------------------
  |  Branch (2127:18): [True: 4, False: 463]
  ------------------
 2128|      4|                return 0;
 2129|       |
 2130|    463|            if ( matvar->isComplex ) {
  ------------------
  |  Branch (2130:18): [True: 347, False: 116]
  ------------------
 2131|    347|                err = Mul(&bytes, bytes, 2);
 2132|    347|                if ( err )
  ------------------
  |  Branch (2132:22): [True: 0, False: 347]
  ------------------
 2133|      0|                    return 0;
 2134|    347|            }
 2135|    463|        }
 2136|    505|    }
 2137|       |
 2138|    547|    return bytes;
 2139|    551|}
Mat_VarPrint:
 2150|  1.13k|{
 2151|  1.13k|    size_t nelems = 0, i, j;
 2152|  1.13k|    const char *class_type_desc[18] = {"Undefined",
 2153|  1.13k|                                       "Cell Array",
 2154|  1.13k|                                       "Structure",
 2155|  1.13k|                                       "Object",
 2156|  1.13k|                                       "Character Array",
 2157|  1.13k|                                       "Sparse Array",
 2158|  1.13k|                                       "Double Precision Array",
 2159|  1.13k|                                       "Single Precision Array",
 2160|  1.13k|                                       "8-bit, signed integer array",
 2161|  1.13k|                                       "8-bit, unsigned integer array",
 2162|  1.13k|                                       "16-bit, signed integer array",
 2163|  1.13k|                                       "16-bit, unsigned integer array",
 2164|  1.13k|                                       "32-bit, signed integer array",
 2165|  1.13k|                                       "32-bit, unsigned integer array",
 2166|  1.13k|                                       "64-bit, signed integer array",
 2167|  1.13k|                                       "64-bit, unsigned integer array",
 2168|  1.13k|                                       "Function",
 2169|  1.13k|                                       "Opaque"};
 2170|       |
 2171|  1.13k|    if ( matvar == NULL )
  ------------------
  |  Branch (2171:10): [True: 16, False: 1.11k]
  ------------------
 2172|     16|        return;
 2173|  1.11k|    if ( NULL != matvar->name )
  ------------------
  |  Branch (2173:10): [True: 560, False: 558]
  ------------------
 2174|    560|        printf("      Name: %s\n", matvar->name);
 2175|  1.11k|    printf("      Rank: %d\n", matvar->rank);
 2176|  1.11k|    if ( matvar->rank <= 0 )
  ------------------
  |  Branch (2176:10): [True: 94, False: 1.02k]
  ------------------
 2177|     94|        return;
 2178|  1.02k|    if ( NULL != matvar->dims ) {
  ------------------
  |  Branch (2178:10): [True: 1.02k, False: 0]
  ------------------
 2179|  1.02k|        int err;
 2180|  1.02k|        nelems = 1;
 2181|  1.02k|        err = Mat_MulDims(matvar, &nelems);
 2182|  1.02k|        printf("Dimensions: %" SIZE_T_FMTSTR, matvar->dims[0]);
  ------------------
  |  |   56|  1.02k|#define SIZE_T_FMTSTR "zu"
  ------------------
 2183|  1.02k|        if ( MATIO_E_NO_ERROR == err ) {
  ------------------
  |  |  241|  1.02k|#define MATIO_E_NO_ERROR 0
  ------------------
  |  Branch (2183:14): [True: 1.02k, False: 0]
  ------------------
 2184|  1.02k|            int k;
 2185|  7.97k|            for ( k = 1; k < matvar->rank; k++ ) {
  ------------------
  |  Branch (2185:26): [True: 6.95k, False: 1.02k]
  ------------------
 2186|  6.95k|                printf(" x %" SIZE_T_FMTSTR, matvar->dims[k]);
  ------------------
  |  |   56|  6.95k|#define SIZE_T_FMTSTR "zu"
  ------------------
 2187|  6.95k|            }
 2188|  1.02k|        }
 2189|  1.02k|        printf("\n");
 2190|  1.02k|    }
 2191|  1.02k|    printf("Class Type: %s", class_type_desc[matvar->class_type]);
 2192|  1.02k|    if ( matvar->isComplex )
  ------------------
  |  Branch (2192:10): [True: 786, False: 238]
  ------------------
 2193|    786|        printf(" (complex)");
 2194|    238|    else if ( matvar->isLogical )
  ------------------
  |  Branch (2194:15): [True: 20, False: 218]
  ------------------
 2195|     20|        printf(" (logical)");
 2196|  1.02k|    printf("\n");
 2197|  1.02k|    if ( matvar->data_type ) {
  ------------------
  |  Branch (2197:10): [True: 958, False: 66]
  ------------------
 2198|    958|        const char *data_type_desc[25] = {"Unknown",
 2199|    958|                                          "8-bit, signed integer",
 2200|    958|                                          "8-bit, unsigned integer",
 2201|    958|                                          "16-bit, signed integer",
 2202|    958|                                          "16-bit, unsigned integer",
 2203|    958|                                          "32-bit, signed integer",
 2204|    958|                                          "32-bit, unsigned integer",
 2205|    958|                                          "IEEE 754 single-precision",
 2206|    958|                                          "RESERVED",
 2207|    958|                                          "IEEE 754 double-precision",
 2208|    958|                                          "RESERVED",
 2209|    958|                                          "RESERVED",
 2210|    958|                                          "64-bit, signed integer",
 2211|    958|                                          "64-bit, unsigned integer",
 2212|    958|                                          "Matlab Array",
 2213|    958|                                          "Compressed Data",
 2214|    958|                                          "Unicode UTF-8 Encoded Character Data",
 2215|    958|                                          "Unicode UTF-16 Encoded Character Data",
 2216|    958|                                          "Unicode UTF-32 Encoded Character Data",
 2217|    958|                                          "RESERVED",
 2218|    958|                                          "String",
 2219|    958|                                          "Cell Array",
 2220|    958|                                          "Structure",
 2221|    958|                                          "Array",
 2222|    958|                                          "Function"};
 2223|    958|        printf(" Data Type: %s\n", data_type_desc[matvar->data_type]);
 2224|    958|    }
 2225|       |
 2226|  1.02k|    if ( MAT_C_STRUCT == matvar->class_type ) {
  ------------------
  |  Branch (2226:10): [True: 2, False: 1.02k]
  ------------------
 2227|      2|        matvar_t **fields = (matvar_t **)matvar->data;
 2228|      2|        size_t nfields = matvar->internal->num_fields;
 2229|      2|        size_t nelems_x_nfields = 1;
 2230|      2|        int err = Mul(&nelems_x_nfields, nelems, nfields);
 2231|      2|        if ( MATIO_E_NO_ERROR == err && nelems_x_nfields > 0 ) {
  ------------------
  |  |  241|      2|#define MATIO_E_NO_ERROR 0
  ------------------
  |  Branch (2231:14): [True: 2, False: 0]
  |  Branch (2231:41): [True: 2, False: 0]
  ------------------
 2232|      2|            printf("Fields[%" SIZE_T_FMTSTR "] {\n", nelems_x_nfields);
 2233|     14|            for ( i = 0; i < nelems_x_nfields; i++ ) {
  ------------------
  |  Branch (2233:26): [True: 12, False: 2]
  ------------------
 2234|     12|                if ( NULL == fields[i] ) {
  ------------------
  |  Branch (2234:22): [True: 6, False: 6]
  ------------------
 2235|      6|                    printf("      Name: %s\n      Rank: %d\n",
 2236|      6|                           matvar->internal->fieldnames[i % nfields], 0);
 2237|      6|                } else {
 2238|      6|                    Mat_VarPrint(fields[i], printdata);
 2239|      6|                }
 2240|     12|            }
 2241|      2|            printf("}\n");
 2242|      2|        } else {
 2243|      0|            printf("Fields[%" SIZE_T_FMTSTR "] {\n", nfields);
 2244|      0|            for ( i = 0; i < nfields; i++ )
  ------------------
  |  Branch (2244:26): [True: 0, False: 0]
  ------------------
 2245|      0|                printf("      Name: %s\n      Rank: %d\n", matvar->internal->fieldnames[i], 0);
 2246|      0|            printf("}\n");
 2247|      0|        }
 2248|      2|        return;
 2249|  1.02k|    } else if ( matvar->data == NULL || matvar->data_size < 1 ) {
  ------------------
  |  Branch (2249:17): [True: 294, False: 728]
  |  Branch (2249:41): [True: 0, False: 728]
  ------------------
 2250|    294|        if ( printdata )
  ------------------
  |  Branch (2250:14): [True: 147, False: 147]
  ------------------
 2251|    147|            printf("{\n}\n");
 2252|    294|        return;
 2253|    728|    } else if ( MAT_C_CELL == matvar->class_type ) {
  ------------------
  |  Branch (2253:17): [True: 4, False: 724]
  ------------------
 2254|      4|        matvar_t **cells = (matvar_t **)matvar->data;
 2255|      4|        nelems = matvar->nbytes / matvar->data_size;
 2256|      4|        printf("{\n");
 2257|     44|        for ( i = 0; i < nelems; i++ )
  ------------------
  |  Branch (2257:22): [True: 40, False: 4]
  ------------------
 2258|     40|            Mat_VarPrint(cells[i], printdata);
 2259|      4|        printf("}\n");
 2260|      4|        return;
 2261|    724|    } else if ( !printdata ) {
  ------------------
  |  Branch (2261:17): [True: 362, False: 362]
  ------------------
 2262|    362|        return;
 2263|    362|    }
 2264|       |
 2265|    362|    printf("{\n");
 2266|       |
 2267|    362|    if ( matvar->rank > 2 ) {
  ------------------
  |  Branch (2267:10): [True: 14, False: 348]
  ------------------
 2268|     14|        printf("I can't print more than 2 dimensions\n");
 2269|    348|    } else if ( matvar->rank == 1 && NULL != matvar->dims && matvar->dims[0] > 15 ) {
  ------------------
  |  Branch (2269:17): [True: 79, False: 269]
  |  Branch (2269:38): [True: 79, False: 0]
  |  Branch (2269:62): [True: 79, False: 0]
  ------------------
 2270|     79|        printf("I won't print more than 15 elements in a vector\n");
 2271|    269|    } else if ( matvar->rank == 2 && NULL != matvar->dims ) {
  ------------------
  |  Branch (2271:17): [True: 269, False: 0]
  |  Branch (2271:38): [True: 269, False: 0]
  ------------------
 2272|    269|        switch ( matvar->class_type ) {
 2273|     49|            case MAT_C_DOUBLE:
  ------------------
  |  Branch (2273:13): [True: 49, False: 220]
  ------------------
 2274|     67|            case MAT_C_SINGLE:
  ------------------
  |  Branch (2274:13): [True: 18, False: 251]
  ------------------
 2275|     67|#ifdef HAVE_MAT_INT64_T
 2276|     96|            case MAT_C_INT64:
  ------------------
  |  Branch (2276:13): [True: 29, False: 240]
  ------------------
 2277|     96|#endif
 2278|     96|#ifdef HAVE_MAT_UINT64_T
 2279|    136|            case MAT_C_UINT64:
  ------------------
  |  Branch (2279:13): [True: 40, False: 229]
  ------------------
 2280|    136|#endif
 2281|    155|            case MAT_C_INT32:
  ------------------
  |  Branch (2281:13): [True: 19, False: 250]
  ------------------
 2282|    200|            case MAT_C_UINT32:
  ------------------
  |  Branch (2282:13): [True: 45, False: 224]
  ------------------
 2283|    222|            case MAT_C_INT16:
  ------------------
  |  Branch (2283:13): [True: 22, False: 247]
  ------------------
 2284|    249|            case MAT_C_UINT16:
  ------------------
  |  Branch (2284:13): [True: 27, False: 242]
  ------------------
 2285|    251|            case MAT_C_INT8:
  ------------------
  |  Branch (2285:13): [True: 2, False: 267]
  ------------------
 2286|    269|            case MAT_C_UINT8: {
  ------------------
  |  Branch (2286:13): [True: 18, False: 251]
  ------------------
 2287|    269|                size_t stride = Mat_SizeOf(matvar->data_type);
 2288|    269|                if ( matvar->isComplex ) {
  ------------------
  |  Branch (2288:22): [True: 163, False: 106]
  ------------------
 2289|    163|                    mat_complex_split_t *complex_data = (mat_complex_split_t *)matvar->data;
 2290|    163|                    const char *rp = (const char *)complex_data->Re;
 2291|    163|                    const char *ip = (const char *)complex_data->Im;
 2292|  2.41k|                    for ( i = 0; i < matvar->dims[0] && i < 15; i++ ) {
  ------------------
  |  Branch (2292:34): [True: 2.38k, False: 22]
  |  Branch (2292:57): [True: 2.24k, False: 141]
  ------------------
 2293|  14.4k|                        for ( j = 0; j < matvar->dims[1] && j < 15; j++ ) {
  ------------------
  |  Branch (2293:38): [True: 12.4k, False: 1.96k]
  |  Branch (2293:61): [True: 12.1k, False: 284]
  ------------------
 2294|  12.1k|                            size_t idx = matvar->dims[0] * j + i;
 2295|  12.1k|                            Mat_PrintNumber(matvar->data_type, rp + idx * stride);
 2296|  12.1k|                            printf(" + ");
 2297|  12.1k|                            Mat_PrintNumber(matvar->data_type, ip + idx * stride);
 2298|  12.1k|                            printf("i ");
 2299|  12.1k|                        }
 2300|  2.24k|                        if ( j < matvar->dims[1] )
  ------------------
  |  Branch (2300:30): [True: 284, False: 1.96k]
  ------------------
 2301|    284|                            printf("...");
 2302|  2.24k|                        printf("\n");
 2303|  2.24k|                    }
 2304|    163|                    if ( i < matvar->dims[0] )
  ------------------
  |  Branch (2304:26): [True: 141, False: 22]
  ------------------
 2305|    141|                        printf(".\n.\n.\n");
 2306|    163|                } else {
 2307|    106|                    const char *data = (const char *)matvar->data;
 2308|  1.29k|                    for ( i = 0; i < matvar->dims[0] && i < 15; i++ ) {
  ------------------
  |  Branch (2308:34): [True: 1.25k, False: 40]
  |  Branch (2308:57): [True: 1.19k, False: 66]
  ------------------
 2309|  15.3k|                        for ( j = 0; j < matvar->dims[1] && j < 15; j++ ) {
  ------------------
  |  Branch (2309:38): [True: 14.9k, False: 360]
  |  Branch (2309:61): [True: 14.1k, False: 830]
  ------------------
 2310|  14.1k|                            size_t idx = matvar->dims[0] * j + i;
 2311|  14.1k|                            Mat_PrintNumber(matvar->data_type, data + idx * stride);
 2312|  14.1k|                            printf(" ");
 2313|  14.1k|                        }
 2314|  1.19k|                        if ( j < matvar->dims[1] )
  ------------------
  |  Branch (2314:30): [True: 830, False: 360]
  ------------------
 2315|    830|                            printf("...");
 2316|  1.19k|                        printf("\n");
 2317|  1.19k|                    }
 2318|    106|                    if ( i < matvar->dims[0] )
  ------------------
  |  Branch (2318:26): [True: 66, False: 40]
  ------------------
 2319|     66|                        printf(".\n.\n.\n");
 2320|    106|                }
 2321|    269|                break;
 2322|    251|            }
 2323|      0|            case MAT_C_CHAR: {
  ------------------
  |  Branch (2323:13): [True: 0, False: 269]
  ------------------
 2324|      0|                switch ( matvar->data_type ) {
 2325|      0|                    case MAT_T_UINT16:
  ------------------
  |  Branch (2325:21): [True: 0, False: 0]
  ------------------
 2326|      0|                    case MAT_T_UTF16: {
  ------------------
  |  Branch (2326:21): [True: 0, False: 0]
  ------------------
 2327|      0|                        const mat_uint16_t *data = (const mat_uint16_t *)matvar->data;
 2328|      0|                        for ( i = 0; i < matvar->dims[0]; i++ ) {
  ------------------
  |  Branch (2328:38): [True: 0, False: 0]
  ------------------
 2329|      0|                            for ( j = 0; j < matvar->dims[1]; j++ ) {
  ------------------
  |  Branch (2329:42): [True: 0, False: 0]
  ------------------
 2330|      0|                                const mat_uint16_t c = data[j * matvar->dims[0] + i];
 2331|       |#if defined VARPRINT_UTF16
 2332|       |                                printf("%c%c", c & 0xFF, (c >> 8) & 0xFF);
 2333|       |#elif defined VARPRINT_UTF16_DECIMAL
 2334|       |                                Mat_PrintNumber(MAT_T_UINT16, &c);
 2335|       |                                printf(" ");
 2336|       |#else
 2337|       |                                /* Convert to UTF-8 */
 2338|      0|                                if ( c <= 0x7F ) {
  ------------------
  |  Branch (2338:38): [True: 0, False: 0]
  ------------------
 2339|      0|                                    printf("%c", c);
 2340|      0|                                } else if ( c <= 0x7FF ) {
  ------------------
  |  Branch (2340:45): [True: 0, False: 0]
  ------------------
 2341|      0|                                    printf("%c%c", 0xC0 | (c >> 6), 0x80 | (c & 0x3F));
 2342|      0|                                } else /* if (c <= 0xFFFF) */ {
 2343|      0|                                    printf("%c%c%c", 0xE0 | (c >> 12), 0x80 | ((c >> 6) & 0x3F),
 2344|      0|                                           0x80 | (c & 0x3F));
 2345|      0|                                }
 2346|      0|#endif
 2347|      0|                            }
 2348|      0|                            printf("\n");
 2349|      0|                        }
 2350|      0|                        break;
 2351|      0|                    }
 2352|      0|                    case MAT_T_UTF8: {
  ------------------
  |  Branch (2352:21): [True: 0, False: 0]
  ------------------
 2353|      0|                        const mat_uint8_t *data = (const mat_uint8_t *)matvar->data;
 2354|      0|                        size_t k = 0;
 2355|      0|                        size_t *idxOffset;
 2356|      0|                        if ( matvar->nbytes == 0 ) {
  ------------------
  |  Branch (2356:30): [True: 0, False: 0]
  ------------------
 2357|      0|                            break;
 2358|      0|                        }
 2359|      0|                        idxOffset = (size_t *)calloc(nelems, sizeof(size_t));
 2360|      0|                        if ( idxOffset == NULL ) {
  ------------------
  |  Branch (2360:30): [True: 0, False: 0]
  ------------------
 2361|      0|                            break;
 2362|      0|                        }
 2363|      0|                        for ( i = 0; i < matvar->dims[0]; i++ ) {
  ------------------
  |  Branch (2363:38): [True: 0, False: 0]
  ------------------
 2364|      0|                            for ( j = 0; j < matvar->dims[1]; j++ ) {
  ------------------
  |  Branch (2364:42): [True: 0, False: 0]
  ------------------
 2365|      0|                                mat_uint8_t c;
 2366|      0|                                if ( k >= matvar->nbytes ) {
  ------------------
  |  Branch (2366:38): [True: 0, False: 0]
  ------------------
 2367|      0|                                    break;
 2368|      0|                                }
 2369|      0|                                idxOffset[i * matvar->dims[1] + j] = k;
 2370|      0|                                c = data[k];
 2371|      0|                                if ( c <= 0x7F ) {
  ------------------
  |  Branch (2371:38): [True: 0, False: 0]
  ------------------
 2372|      0|                                } else if ( (c & 0xE0) == 0xC0 && k + 1 < matvar->nbytes ) {
  ------------------
  |  Branch (2372:45): [True: 0, False: 0]
  |  Branch (2372:67): [True: 0, False: 0]
  ------------------
 2373|      0|                                    k = k + 1;
 2374|      0|                                } else if ( (c & 0xF0) == 0xE0 && k + 2 < matvar->nbytes ) {
  ------------------
  |  Branch (2374:45): [True: 0, False: 0]
  |  Branch (2374:67): [True: 0, False: 0]
  ------------------
 2375|      0|                                    k = k + 2;
 2376|      0|                                } else if ( (c & 0xF8) == 0xF0 && k + 3 < matvar->nbytes ) {
  ------------------
  |  Branch (2376:45): [True: 0, False: 0]
  |  Branch (2376:67): [True: 0, False: 0]
  ------------------
 2377|      0|                                    k = k + 3;
 2378|      0|                                }
 2379|      0|                                ++k;
 2380|      0|                            }
 2381|      0|                        }
 2382|      0|                        for ( i = 0; i < matvar->dims[0]; i++ ) {
  ------------------
  |  Branch (2382:38): [True: 0, False: 0]
  ------------------
 2383|      0|                            for ( j = 0; j < matvar->dims[1]; j++ ) {
  ------------------
  |  Branch (2383:42): [True: 0, False: 0]
  ------------------
 2384|      0|                                mat_uint8_t c;
 2385|      0|                                k = idxOffset[j * matvar->dims[0] + i];
 2386|      0|                                c = data[k];
 2387|      0|                                if ( c <= 0x7F ) {
  ------------------
  |  Branch (2387:38): [True: 0, False: 0]
  ------------------
 2388|      0|                                    printf("%c", c);
 2389|      0|                                } else if ( (c & 0xE0) == 0xC0 ) {
  ------------------
  |  Branch (2389:45): [True: 0, False: 0]
  ------------------
 2390|      0|                                    printf("%c%c", c, data[k + 1]);
 2391|      0|                                } else if ( (c & 0xF0) == 0xE0 ) {
  ------------------
  |  Branch (2391:45): [True: 0, False: 0]
  ------------------
 2392|      0|                                    printf("%c%c%c", c, data[k + 1], data[k + 2]);
 2393|      0|                                } else if ( (c & 0xF8) == 0xF0 ) {
  ------------------
  |  Branch (2393:45): [True: 0, False: 0]
  ------------------
 2394|      0|                                    printf("%c%c%c%c", c, data[k + 1], data[k + 2], data[k + 3]);
 2395|      0|                                }
 2396|      0|                            }
 2397|      0|                            printf("\n");
 2398|      0|                        }
 2399|      0|                        free(idxOffset);
 2400|      0|                        break;
 2401|      0|                    }
 2402|      0|                    default: {
  ------------------
  |  Branch (2402:21): [True: 0, False: 0]
  ------------------
 2403|      0|                        const char *data = (const char *)matvar->data;
 2404|      0|                        for ( i = 0; i < matvar->dims[0]; i++ ) {
  ------------------
  |  Branch (2404:38): [True: 0, False: 0]
  ------------------
 2405|      0|                            for ( j = 0; j < matvar->dims[1]; j++ )
  ------------------
  |  Branch (2405:42): [True: 0, False: 0]
  ------------------
 2406|      0|                                printf("%c", data[j * matvar->dims[0] + i]);
 2407|      0|                            printf("\n");
 2408|      0|                        }
 2409|      0|                        break;
 2410|      0|                    }
 2411|      0|                }
 2412|      0|                break;
 2413|      0|            }
 2414|      0|            case MAT_C_SPARSE: {
  ------------------
  |  Branch (2414:13): [True: 0, False: 269]
  ------------------
 2415|      0|                mat_sparse_t *sparse;
 2416|      0|                size_t stride = Mat_SizeOf(matvar->data_type);
 2417|       |#if !defined(EXTENDED_SPARSE)
 2418|       |                if ( MAT_T_DOUBLE != matvar->data_type )
 2419|       |                    break;
 2420|       |#endif
 2421|      0|                sparse = (mat_sparse_t *)matvar->data;
 2422|      0|                if ( sparse == NULL || sparse->ndata == 0 || sparse->nir == 0 || sparse->njc == 0 ||
  ------------------
  |  Branch (2422:22): [True: 0, False: 0]
  |  Branch (2422:40): [True: 0, False: 0]
  |  Branch (2422:62): [True: 0, False: 0]
  |  Branch (2422:82): [True: 0, False: 0]
  ------------------
 2423|      0|                     sparse->data == NULL ) {
  ------------------
  |  Branch (2423:22): [True: 0, False: 0]
  ------------------
 2424|      0|                    break;
 2425|      0|                }
 2426|      0|                if ( matvar->isComplex ) {
  ------------------
  |  Branch (2426:22): [True: 0, False: 0]
  ------------------
 2427|      0|                    mat_complex_split_t *complex_data = (mat_complex_split_t *)sparse->data;
 2428|      0|                    const char *re = (const char *)complex_data->Re;
 2429|      0|                    const char *im = (const char *)complex_data->Im;
 2430|      0|                    for ( i = 0; i < (size_t)sparse->njc - 1; i++ ) {
  ------------------
  |  Branch (2430:34): [True: 0, False: 0]
  ------------------
 2431|      0|                        for ( j = sparse->jc[i];
 2432|      0|                              j < (size_t)sparse->jc[i + 1] && j < (size_t)sparse->ndata; j++ ) {
  ------------------
  |  Branch (2432:31): [True: 0, False: 0]
  |  Branch (2432:64): [True: 0, False: 0]
  ------------------
 2433|      0|                            printf("    (%u,%" SIZE_T_FMTSTR ")  ", sparse->ir[j] + 1, i + 1);
 2434|      0|                            Mat_PrintNumber(matvar->data_type, re + j * stride);
 2435|      0|                            printf(" + ");
 2436|      0|                            Mat_PrintNumber(matvar->data_type, im + j * stride);
 2437|      0|                            printf("i\n");
 2438|      0|                        }
 2439|      0|                    }
 2440|      0|                } else {
 2441|      0|                    const char *data = (const char *)sparse->data;
 2442|      0|                    for ( i = 0; i < (size_t)sparse->njc - 1; i++ ) {
  ------------------
  |  Branch (2442:34): [True: 0, False: 0]
  ------------------
 2443|      0|                        for ( j = sparse->jc[i];
 2444|      0|                              j < (size_t)sparse->jc[i + 1] && j < (size_t)sparse->ndata; j++ ) {
  ------------------
  |  Branch (2444:31): [True: 0, False: 0]
  |  Branch (2444:64): [True: 0, False: 0]
  ------------------
 2445|      0|                            printf("    (%u,%" SIZE_T_FMTSTR ")  ", sparse->ir[j] + 1, i + 1);
 2446|      0|                            Mat_PrintNumber(matvar->data_type, data + j * stride);
 2447|      0|                            printf("\n");
 2448|      0|                        }
 2449|      0|                    }
 2450|      0|                }
 2451|      0|                break;
 2452|      0|            } /* case MAT_C_SPARSE: */
 2453|      0|            default:
  ------------------
  |  Branch (2453:13): [True: 0, False: 269]
  ------------------
 2454|      0|                break;
 2455|    269|        } /* switch( matvar->class_type ) */
 2456|    269|    }
 2457|       |
 2458|    362|    printf("}\n");
 2459|    362|}
Mat_VarReadDataAll:
 2528|    544|{
 2529|    544|    int err = MATIO_E_NO_ERROR;
  ------------------
  |  |  241|    544|#define MATIO_E_NO_ERROR 0
  ------------------
 2530|       |
 2531|    544|    if ( mat == NULL || matvar == NULL )
  ------------------
  |  Branch (2531:10): [True: 0, False: 544]
  |  Branch (2531:25): [True: 0, False: 544]
  ------------------
 2532|      0|        err = MATIO_E_BAD_ARGUMENT;
  ------------------
  |  |  248|      0|#define MATIO_E_BAD_ARGUMENT 7
  ------------------
 2533|    544|    else
 2534|    544|        err = ReadData(mat, matvar);
 2535|       |
 2536|    544|    return err;
 2537|    544|}
Mat_VarReadNextInfo:
 2607|  1.97k|{
 2608|  1.97k|    return Mat_VarReadNextInfoPredicate(mat, NULL, NULL);
 2609|  1.97k|}
Mat_VarReadNextInfoPredicate:
 2627|  2.40k|{
 2628|  2.40k|    matvar_t *matvar;
 2629|  2.40k|    if ( mat == NULL )
  ------------------
  |  Branch (2629:10): [True: 0, False: 2.40k]
  ------------------
 2630|      0|        return NULL;
 2631|       |
 2632|  2.40k|    switch ( mat->version ) {
 2633|  2.32k|        case MAT_FT_MAT5:
  ------------------
  |  Branch (2633:9): [True: 2.32k, False: 82]
  ------------------
 2634|  2.32k|            matvar = Mat_VarReadNextInfo5(mat);
 2635|  2.32k|            break;
 2636|     82|        case MAT_FT_MAT73:
  ------------------
  |  Branch (2636:9): [True: 82, False: 2.32k]
  ------------------
 2637|     82|#if defined(MAT73) && MAT73
 2638|     82|            matvar = Mat_VarReadNextInfo73(mat, pred, user_data);
 2639|       |#else
 2640|       |            matvar = NULL;
 2641|       |#endif
 2642|     82|            break;
 2643|      0|        case MAT_FT_MAT4:
  ------------------
  |  Branch (2643:9): [True: 0, False: 2.40k]
  ------------------
 2644|      0|            matvar = Mat_VarReadNextInfo4(mat);
 2645|      0|            break;
 2646|      0|        default:
  ------------------
  |  Branch (2646:9): [True: 0, False: 2.40k]
  ------------------
 2647|      0|            matvar = NULL;
 2648|      0|            break;
 2649|  2.40k|    }
 2650|       |
 2651|  2.40k|    return matvar;
 2652|  2.40k|}
Mat_VarReadInfo:
 2676|    341|{
 2677|    341|    matvar_t *matvar = NULL;
 2678|       |
 2679|    341|    if ( mat == NULL || name == NULL )
  ------------------
  |  Branch (2679:10): [True: 0, False: 341]
  |  Branch (2679:25): [True: 0, False: 341]
  ------------------
 2680|      0|        return NULL;
 2681|       |
 2682|    341|    if ( mat->version == MAT_FT_MAT73 ) {
  ------------------
  |  Branch (2682:10): [True: 64, False: 277]
  ------------------
 2683|     64|        size_t fpos = mat->next_index;
 2684|     64|        mat->next_index = 0;
 2685|     89|        while ( NULL == matvar && mat->next_index < mat->num_datasets ) {
  ------------------
  |  Branch (2685:17): [True: 64, False: 25]
  |  Branch (2685:35): [True: 64, False: 0]
  ------------------
 2686|     64|#if defined(MAT73) && MAT73
 2687|     64|            matvar = Mat_VarReadNextInfoPredicate(mat, Mat_IteratorNameAcceptor, name);
 2688|     64|            if ( NULL == matvar ) {
  ------------------
  |  Branch (2688:18): [True: 39, False: 25]
  ------------------
 2689|     39|                Mat_Critical("An error occurred in reading the MAT file");
 2690|     39|                break;
 2691|     39|            }
 2692|       |#else
 2693|       |            matvar = Mat_VarReadNextInfo(mat);
 2694|       |            if ( matvar != NULL ) {
 2695|       |                if ( matvar->name == NULL || 0 != strcmp(matvar->name, name) ) {
 2696|       |                    Mat_VarFree(matvar);
 2697|       |                    matvar = NULL;
 2698|       |                }
 2699|       |            } else {
 2700|       |                Mat_Critical("An error occurred in reading the MAT file");
 2701|       |                break;
 2702|       |            }
 2703|       |#endif
 2704|     64|        }
 2705|     64|        mat->next_index = fpos;
 2706|    277|    } else {
 2707|    277|        mat_off_t fpos = ftello((FILE *)mat->fp);
  ------------------
  |  |   63|    277|#define mat_off_t off_t
  ------------------
 2708|    277|        if ( fpos != -1L ) {
  ------------------
  |  Branch (2708:14): [True: 277, False: 0]
  ------------------
 2709|    277|            (void)fseeko((FILE *)mat->fp, mat->bof, SEEK_SET);
 2710|    761|            do {
 2711|    761|                matvar = Mat_VarReadNextInfo(mat);
 2712|    761|                if ( matvar != NULL ) {
  ------------------
  |  Branch (2712:22): [True: 761, False: 0]
  ------------------
 2713|    761|                    if ( matvar->name == NULL || 0 != strcmp(matvar->name, name) ) {
  ------------------
  |  Branch (2713:26): [True: 294, False: 467]
  |  Branch (2713:50): [True: 190, False: 277]
  ------------------
 2714|    484|                        Mat_VarFree(matvar);
 2715|    484|                        matvar = NULL;
 2716|    484|                    }
 2717|    761|                } else if ( !IsEndOfFile((FILE *)mat->fp, NULL) ) {
  ------------------
  |  Branch (2717:29): [True: 0, False: 0]
  ------------------
 2718|      0|                    Mat_Critical("An error occurred in reading the MAT file");
 2719|      0|                    break;
 2720|      0|                }
 2721|    761|            } while ( NULL == matvar && !IsEndOfFile((FILE *)mat->fp, NULL) );
  ------------------
  |  Branch (2721:23): [True: 484, False: 277]
  |  Branch (2721:41): [True: 484, False: 0]
  ------------------
 2722|      0|            (void)fseeko((FILE *)mat->fp, fpos, SEEK_SET);
 2723|    277|        } else {
 2724|      0|            Mat_Critical("Couldn't determine file position");
 2725|      0|        }
 2726|    277|    }
 2727|       |
 2728|      0|    return matvar;
 2729|    341|}
Mat_VarRead:
 2742|    341|{
 2743|    341|    matvar_t *matvar = NULL;
 2744|       |
 2745|    341|    if ( mat == NULL || name == NULL )
  ------------------
  |  Branch (2745:10): [True: 0, False: 341]
  |  Branch (2745:25): [True: 0, False: 341]
  ------------------
 2746|      0|        return NULL;
 2747|       |
 2748|    341|    if ( MAT_FT_MAT73 != mat->version ) {
  ------------------
  |  Branch (2748:10): [True: 277, False: 64]
  ------------------
 2749|    277|        mat_off_t fpos = ftello((FILE *)mat->fp);
  ------------------
  |  |   63|    277|#define mat_off_t off_t
  ------------------
 2750|    277|        if ( fpos == -1L ) {
  ------------------
  |  Branch (2750:14): [True: 0, False: 277]
  ------------------
 2751|      0|            Mat_Critical("Couldn't determine file position");
 2752|      0|            return NULL;
 2753|      0|        }
 2754|    277|        matvar = Mat_VarReadInfo(mat, name);
 2755|    277|        if ( matvar != NULL ) {
  ------------------
  |  Branch (2755:14): [True: 277, False: 0]
  ------------------
 2756|    277|            const int err = ReadData(mat, matvar);
 2757|    277|            if ( err ) {
  ------------------
  |  Branch (2757:18): [True: 59, False: 218]
  ------------------
 2758|     59|                Mat_VarFree(matvar);
 2759|     59|                matvar = NULL;
 2760|     59|            }
 2761|    277|        }
 2762|    277|        (void)fseeko((FILE *)mat->fp, fpos, SEEK_SET);
 2763|    277|    } else {
 2764|     64|        size_t fpos = mat->next_index;
 2765|     64|        mat->next_index = 0;
 2766|     64|        matvar = Mat_VarReadInfo(mat, name);
 2767|     64|        if ( matvar != NULL ) {
  ------------------
  |  Branch (2767:14): [True: 25, False: 39]
  ------------------
 2768|     25|            const int err = ReadData(mat, matvar);
 2769|     25|            if ( err ) {
  ------------------
  |  Branch (2769:18): [True: 3, False: 22]
  ------------------
 2770|      3|                Mat_VarFree(matvar);
 2771|      3|                matvar = NULL;
 2772|      3|            }
 2773|     25|        }
 2774|     64|        mat->next_index = fpos;
 2775|     64|    }
 2776|       |
 2777|    341|    return matvar;
 2778|    341|}
Mat_VarReadNext:
 2790|    365|{
 2791|    365|    return Mat_VarReadNextPredicate(mat, NULL, NULL);
 2792|    365|}
Mat_VarReadNextPredicate:
 2807|    365|{
 2808|    365|    mat_off_t fpos = 0;
  ------------------
  |  |   63|    365|#define mat_off_t off_t
  ------------------
 2809|    365|    matvar_t *matvar = NULL;
 2810|       |
 2811|    365|    do {
 2812|    365|        Mat_VarFree(matvar);
 2813|    365|        if ( mat->version != MAT_FT_MAT73 ) {
  ------------------
  |  Branch (2813:14): [True: 356, False: 9]
  ------------------
 2814|    356|            if ( IsEndOfFile((FILE *)mat->fp, &fpos) )
  ------------------
  |  Branch (2814:18): [True: 0, False: 356]
  ------------------
 2815|      0|                return NULL;
 2816|    356|            if ( fpos == -1L ) {
  ------------------
  |  Branch (2816:18): [True: 0, False: 356]
  ------------------
 2817|      0|                return NULL;
 2818|      0|            }
 2819|    356|        }
 2820|    365|        matvar = Mat_VarReadNextInfoPredicate(mat, pred, user_data);
 2821|    365|        if ( matvar ) {
  ------------------
  |  Branch (2821:14): [True: 332, False: 33]
  ------------------
 2822|    332|            const int err = ReadData(mat, matvar);
 2823|    332|            if ( err ) {
  ------------------
  |  Branch (2823:18): [True: 36, False: 296]
  ------------------
 2824|     36|                Mat_VarFree(matvar);
 2825|     36|                matvar = NULL;
 2826|     36|                break;
 2827|     36|            }
 2828|    332|        } else {
 2829|     33|            if ( mat->version != MAT_FT_MAT73 ) {
  ------------------
  |  Branch (2829:18): [True: 24, False: 9]
  ------------------
 2830|       |                /* Reset the file position */
 2831|     24|                (void)fseeko((FILE *)mat->fp, fpos, SEEK_SET);
 2832|     24|            }
 2833|     33|            break;
 2834|     33|        }
 2835|    365|    } while ( (NULL != pred) && 0 == pred(matvar->name, user_data) );
  ------------------
  |  Branch (2835:15): [True: 0, False: 296]
  |  Branch (2835:33): [True: 0, False: 0]
  ------------------
 2836|       |    /* for 7.3 the predicate will be called one extra time */
 2837|       |
 2838|    365|    return matvar;
 2839|    365|}
mat.c:Mat_PrintNumber:
  121|  38.5k|{
  122|  38.5k|    switch ( type ) {
  123|  4.35k|        case MAT_T_DOUBLE:
  ------------------
  |  Branch (123:9): [True: 4.35k, False: 34.1k]
  ------------------
  124|  4.35k|            printf("%g", *(double *)data);
  125|  4.35k|            break;
  126|    570|        case MAT_T_SINGLE:
  ------------------
  |  Branch (126:9): [True: 570, False: 37.9k]
  ------------------
  127|    570|            printf("%g", *(float *)data);
  128|    570|            break;
  129|      0|#ifdef HAVE_MAT_INT64_T
  130|  2.77k|        case MAT_T_INT64:
  ------------------
  |  Branch (130:9): [True: 2.77k, False: 35.7k]
  ------------------
  131|  2.77k|#if HAVE_INTTYPES_H
  132|  2.77k|            printf("%" PRIi64, *(mat_int64_t *)data);
  133|       |#elif defined(_MSC_VER) && _MSC_VER >= 1200
  134|       |            printf("%I64i", *(mat_int64_t *)data);
  135|       |#elif defined(HAVE_LONG_LONG_INT)
  136|       |            printf("%lld", (long long)(*(mat_int64_t *)data));
  137|       |#else
  138|       |            printf("%ld", (long)(*(mat_int64_t *)data));
  139|       |#endif
  140|  2.77k|            break;
  141|      0|#endif
  142|      0|#ifdef HAVE_MAT_UINT64_T
  143|  8.10k|        case MAT_T_UINT64:
  ------------------
  |  Branch (143:9): [True: 8.10k, False: 30.4k]
  ------------------
  144|  8.10k|#if HAVE_INTTYPES_H
  145|  8.10k|            printf("%" PRIu64, *(mat_uint64_t *)data);
  146|       |#elif defined(_MSC_VER) && _MSC_VER >= 1200
  147|       |            printf("%I64u", *(mat_uint64_t *)data);
  148|       |#elif defined(HAVE_UNSIGNED_LONG_LONG_INT)
  149|       |            printf("%llu", (unsigned long long)(*(mat_uint64_t *)data));
  150|       |#else
  151|       |            printf("%lu", (unsigned long)(*(mat_uint64_t *)data));
  152|       |#endif
  153|  8.10k|            break;
  154|      0|#endif
  155|  2.70k|        case MAT_T_INT32:
  ------------------
  |  Branch (155:9): [True: 2.70k, False: 35.8k]
  ------------------
  156|  2.70k|            printf("%d", *(mat_int32_t *)data);
  157|  2.70k|            break;
  158|  4.87k|        case MAT_T_UINT32:
  ------------------
  |  Branch (158:9): [True: 4.87k, False: 33.6k]
  ------------------
  159|  4.87k|            printf("%u", *(mat_uint32_t *)data);
  160|  4.87k|            break;
  161|  3.60k|        case MAT_T_INT16:
  ------------------
  |  Branch (161:9): [True: 3.60k, False: 34.9k]
  ------------------
  162|  3.60k|            printf("%hd", *(mat_int16_t *)data);
  163|  3.60k|            break;
  164|  7.05k|        case MAT_T_UINT16:
  ------------------
  |  Branch (164:9): [True: 7.05k, False: 31.4k]
  ------------------
  165|  7.05k|            printf("%hu", *(mat_uint16_t *)data);
  166|  7.05k|            break;
  167|    450|        case MAT_T_INT8:
  ------------------
  |  Branch (167:9): [True: 450, False: 38.0k]
  ------------------
  168|    450|            printf("%hhd", *(mat_int8_t *)data);
  169|    450|            break;
  170|  4.05k|        case MAT_T_UINT8:
  ------------------
  |  Branch (170:9): [True: 4.05k, False: 34.4k]
  ------------------
  171|  4.05k|            printf("%hhu", *(mat_uint8_t *)data);
  172|  4.05k|            break;
  173|      0|        default:
  ------------------
  |  Branch (173:9): [True: 0, False: 38.5k]
  ------------------
  174|      0|            break;
  175|  38.5k|    }
  176|  38.5k|}
mat.c:ReadData:
  105|  1.17k|{
  106|  1.17k|    if ( mat == NULL || matvar == NULL || mat->fp == NULL )
  ------------------
  |  Branch (106:10): [True: 0, False: 1.17k]
  |  Branch (106:25): [True: 0, False: 1.17k]
  |  Branch (106:43): [True: 0, False: 1.17k]
  ------------------
  107|      0|        return MATIO_E_BAD_ARGUMENT;
  ------------------
  |  |  248|      0|#define MATIO_E_BAD_ARGUMENT 7
  ------------------
  108|  1.17k|    else if ( mat->version == MAT_FT_MAT5 )
  ------------------
  |  Branch (108:15): [True: 1.15k, False: 25]
  ------------------
  109|  1.15k|        return Mat_VarRead5(mat, matvar);
  110|     25|#if defined(MAT73) && MAT73
  111|     25|    else if ( mat->version == MAT_FT_MAT73 )
  ------------------
  |  Branch (111:15): [True: 25, False: 0]
  ------------------
  112|     25|        return Mat_VarRead73(mat, matvar);
  113|      0|#endif
  114|      0|    else if ( mat->version == MAT_FT_MAT4 )
  ------------------
  |  Branch (114:15): [True: 0, False: 0]
  ------------------
  115|      0|        return Mat_VarRead4(mat, matvar);
  116|      0|    return MATIO_E_FAIL_TO_IDENTIFY;
  ------------------
  |  |  247|      0|#define MATIO_E_FAIL_TO_IDENTIFY 6
  ------------------
  117|  1.17k|}
mat.c:Mat_IteratorNameAcceptor:
 2657|    601|{
 2658|    601|    const char *required_name = (const char *)user_data;
 2659|    601|    return (NULL != name) && (NULL != required_name) && 0 == strcmp(name, required_name);
  ------------------
  |  Branch (2659:12): [True: 601, False: 0]
  |  Branch (2659:30): [True: 601, False: 0]
  |  Branch (2659:57): [True: 64, False: 537]
  ------------------
 2660|    601|}

Mat_VarRead5:
 3080|  1.21k|{
 3081|  1.21k|    int nBytes = 0, byteswap, data_in_tag = 0, err;
 3082|  1.21k|    size_t nelems = 1;
 3083|  1.21k|    enum matio_types packed_type = MAT_T_UNKNOWN;
 3084|  1.21k|    mat_off_t fpos;
  ------------------
  |  |   63|  1.21k|#define mat_off_t off_t
  ------------------
 3085|  1.21k|    mat_uint32_t tag[2] = {0, 0};
 3086|  1.21k|    size_t bytesread = 0;
 3087|       |
 3088|  1.21k|    if ( matvar == NULL )
  ------------------
  |  Branch (3088:10): [True: 0, False: 1.21k]
  ------------------
 3089|      0|        return MATIO_E_BAD_ARGUMENT;
  ------------------
  |  |  248|      0|#define MATIO_E_BAD_ARGUMENT 7
  ------------------
 3090|  1.21k|    if ( matvar->rank == 0 ) /* An empty data set */
  ------------------
  |  Branch (3090:10): [True: 95, False: 1.11k]
  ------------------
 3091|     95|        return MATIO_E_NO_ERROR;
  ------------------
  |  |  241|     95|#define MATIO_E_NO_ERROR 0
  ------------------
 3092|  1.11k|#if HAVE_ZLIB
 3093|  1.11k|    if ( NULL != matvar->internal->data ) {
  ------------------
  |  Branch (3093:10): [True: 4, False: 1.11k]
  ------------------
 3094|       |        /* Data already read in ReadNextStructField or ReadNextCell */
 3095|      4|        matvar->data = matvar->internal->data;
 3096|      4|        matvar->internal->data = NULL;
 3097|      4|        return MATIO_E_NO_ERROR;
  ------------------
  |  |  241|      4|#define MATIO_E_NO_ERROR 0
  ------------------
 3098|      4|    }
 3099|  1.11k|#endif
 3100|  1.11k|    fpos = ftello((FILE *)mat->fp);
 3101|  1.11k|    if ( fpos == -1L ) {
  ------------------
  |  Branch (3101:10): [True: 0, False: 1.11k]
  ------------------
 3102|      0|        Mat_Critical("Couldn't determine file position");
 3103|      0|        return MATIO_E_GENERIC_READ_ERROR;
  ------------------
  |  |  243|      0|#define MATIO_E_GENERIC_READ_ERROR 2
  ------------------
 3104|      0|    }
 3105|  1.11k|    err = Mat_MulDims(matvar, &nelems);
 3106|  1.11k|    if ( err ) {
  ------------------
  |  Branch (3106:10): [True: 0, False: 1.11k]
  ------------------
 3107|      0|        Mat_Critical("Integer multiplication overflow");
 3108|      0|        return err;
 3109|      0|    }
 3110|  1.11k|    byteswap = mat->byteswap;
 3111|  1.11k|    switch ( matvar->class_type ) {
 3112|     14|        case MAT_C_EMPTY:
  ------------------
  |  Branch (3112:9): [True: 14, False: 1.09k]
  ------------------
 3113|     14|            matvar->nbytes = 0;
 3114|     14|            matvar->data_size = sizeof(double);
 3115|     14|            matvar->data_type = MAT_T_DOUBLE;
 3116|     14|            matvar->rank = 2;
 3117|     14|            if ( NULL != matvar->dims ) {
  ------------------
  |  Branch (3117:18): [True: 14, False: 0]
  ------------------
 3118|     14|                free(matvar->dims);
 3119|     14|            }
 3120|     14|            matvar->dims = (size_t *)calloc(matvar->rank, sizeof(*(matvar->dims)));
 3121|     14|            break;
 3122|    117|        case MAT_C_DOUBLE:
  ------------------
  |  Branch (3122:9): [True: 117, False: 996]
  ------------------
 3123|    117|            (void)fseeko((FILE *)mat->fp, matvar->internal->datapos, SEEK_SET);
 3124|    117|            matvar->data_size = sizeof(double);
 3125|    117|            matvar->data_type = MAT_T_DOUBLE;
 3126|    117|            break;
 3127|     55|        case MAT_C_SINGLE:
  ------------------
  |  Branch (3127:9): [True: 55, False: 1.05k]
  ------------------
 3128|     55|            (void)fseeko((FILE *)mat->fp, matvar->internal->datapos, SEEK_SET);
 3129|     55|            matvar->data_size = sizeof(float);
 3130|     55|            matvar->data_type = MAT_T_SINGLE;
 3131|     55|            break;
 3132|    168|        case MAT_C_INT64:
  ------------------
  |  Branch (3132:9): [True: 168, False: 945]
  ------------------
 3133|    168|#ifdef HAVE_MAT_INT64_T
 3134|    168|            (void)fseeko((FILE *)mat->fp, matvar->internal->datapos, SEEK_SET);
 3135|    168|            matvar->data_size = sizeof(mat_int64_t);
 3136|    168|            matvar->data_type = MAT_T_INT64;
 3137|    168|#endif
 3138|    168|            break;
 3139|    116|        case MAT_C_UINT64:
  ------------------
  |  Branch (3139:9): [True: 116, False: 997]
  ------------------
 3140|    116|#ifdef HAVE_MAT_UINT64_T
 3141|    116|            (void)fseeko((FILE *)mat->fp, matvar->internal->datapos, SEEK_SET);
 3142|    116|            matvar->data_size = sizeof(mat_uint64_t);
 3143|    116|            matvar->data_type = MAT_T_UINT64;
 3144|    116|#endif
 3145|    116|            break;
 3146|    111|        case MAT_C_INT32:
  ------------------
  |  Branch (3146:9): [True: 111, False: 1.00k]
  ------------------
 3147|    111|            (void)fseeko((FILE *)mat->fp, matvar->internal->datapos, SEEK_SET);
 3148|    111|            matvar->data_size = sizeof(mat_int32_t);
 3149|    111|            matvar->data_type = MAT_T_INT32;
 3150|    111|            break;
 3151|    128|        case MAT_C_UINT32:
  ------------------
  |  Branch (3151:9): [True: 128, False: 985]
  ------------------
 3152|    128|            (void)fseeko((FILE *)mat->fp, matvar->internal->datapos, SEEK_SET);
 3153|    128|            matvar->data_size = sizeof(mat_uint32_t);
 3154|    128|            matvar->data_type = MAT_T_UINT32;
 3155|    128|            break;
 3156|     73|        case MAT_C_INT16:
  ------------------
  |  Branch (3156:9): [True: 73, False: 1.04k]
  ------------------
 3157|     73|            (void)fseeko((FILE *)mat->fp, matvar->internal->datapos, SEEK_SET);
 3158|     73|            matvar->data_size = sizeof(mat_int16_t);
 3159|     73|            matvar->data_type = MAT_T_INT16;
 3160|     73|            break;
 3161|    131|        case MAT_C_UINT16:
  ------------------
  |  Branch (3161:9): [True: 131, False: 982]
  ------------------
 3162|    131|            (void)fseeko((FILE *)mat->fp, matvar->internal->datapos, SEEK_SET);
 3163|    131|            matvar->data_size = sizeof(mat_uint16_t);
 3164|    131|            matvar->data_type = MAT_T_UINT16;
 3165|    131|            break;
 3166|     41|        case MAT_C_INT8:
  ------------------
  |  Branch (3166:9): [True: 41, False: 1.07k]
  ------------------
 3167|     41|            (void)fseeko((FILE *)mat->fp, matvar->internal->datapos, SEEK_SET);
 3168|     41|            matvar->data_size = sizeof(mat_int8_t);
 3169|     41|            matvar->data_type = MAT_T_INT8;
 3170|     41|            break;
 3171|     66|        case MAT_C_UINT8:
  ------------------
  |  Branch (3171:9): [True: 66, False: 1.04k]
  ------------------
 3172|     66|            (void)fseeko((FILE *)mat->fp, matvar->internal->datapos, SEEK_SET);
 3173|     66|            matvar->data_size = sizeof(mat_uint8_t);
 3174|     66|            matvar->data_type = MAT_T_UINT8;
 3175|     66|            break;
 3176|      0|        case MAT_C_CHAR:
  ------------------
  |  Branch (3176:9): [True: 0, False: 1.11k]
  ------------------
 3177|      0|            (void)fseeko((FILE *)mat->fp, matvar->internal->datapos, SEEK_SET);
 3178|      0|            if ( matvar->compression == MAT_COMPRESSION_ZLIB ) {
  ------------------
  |  Branch (3178:18): [True: 0, False: 0]
  ------------------
 3179|      0|#if HAVE_ZLIB
 3180|      0|                if ( matvar->internal->z == NULL ) {
  ------------------
  |  Branch (3180:22): [True: 0, False: 0]
  ------------------
 3181|      0|                    break;
 3182|      0|                }
 3183|      0|                matvar->internal->z->avail_in = 0;
 3184|      0|                err = Inflate(mat, matvar->internal->z, tag, 4, &bytesread);
 3185|      0|                if ( err ) {
  ------------------
  |  Branch (3185:22): [True: 0, False: 0]
  ------------------
 3186|      0|                    break;
 3187|      0|                }
 3188|      0|                if ( byteswap )
  ------------------
  |  Branch (3188:22): [True: 0, False: 0]
  ------------------
 3189|      0|                    (void)Mat_uint32Swap(tag);
 3190|      0|                packed_type = TYPE_FROM_TAG(tag[0]);
  ------------------
  |  |   47|      0|    (((a) & 0x000000ff) <= MAT_T_FUNCTION) ? (enum matio_types)((a) & 0x000000ff) : MAT_T_UNKNOWN
  |  |  ------------------
  |  |  |  Branch (47:5): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3191|      0|                if ( tag[0] & 0xffff0000 ) { /* Data is in the tag */
  ------------------
  |  Branch (3191:22): [True: 0, False: 0]
  ------------------
 3192|      0|                    data_in_tag = 1;
 3193|      0|                    nBytes = (tag[0] & 0xffff0000) >> 16;
 3194|      0|                } else {
 3195|      0|                    data_in_tag = 0;
 3196|      0|                    err = Inflate(mat, matvar->internal->z, tag + 1, 4, &bytesread);
 3197|      0|                    if ( err ) {
  ------------------
  |  Branch (3197:26): [True: 0, False: 0]
  ------------------
 3198|      0|                        break;
 3199|      0|                    }
 3200|      0|                    if ( byteswap )
  ------------------
  |  Branch (3200:26): [True: 0, False: 0]
  ------------------
 3201|      0|                        (void)Mat_uint32Swap(tag + 1);
 3202|      0|                    nBytes = tag[1];
 3203|      0|                }
 3204|      0|#endif
 3205|      0|                matvar->data_type = packed_type;
 3206|      0|                matvar->data_size = Mat_SizeOf(matvar->data_type);
 3207|      0|                matvar->nbytes = nBytes;
 3208|      0|            } else {
 3209|      0|                err = Read(tag, 4, 1, (FILE *)mat->fp, &bytesread);
 3210|      0|                if ( err ) {
  ------------------
  |  Branch (3210:22): [True: 0, False: 0]
  ------------------
 3211|      0|                    break;
 3212|      0|                }
 3213|      0|                if ( byteswap )
  ------------------
  |  Branch (3213:22): [True: 0, False: 0]
  ------------------
 3214|      0|                    (void)Mat_uint32Swap(tag);
 3215|      0|                packed_type = TYPE_FROM_TAG(tag[0]);
  ------------------
  |  |   47|      0|    (((a) & 0x000000ff) <= MAT_T_FUNCTION) ? (enum matio_types)((a) & 0x000000ff) : MAT_T_UNKNOWN
  |  |  ------------------
  |  |  |  Branch (47:5): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3216|      0|                if ( tag[0] & 0xffff0000 ) { /* Data is in the tag */
  ------------------
  |  Branch (3216:22): [True: 0, False: 0]
  ------------------
 3217|      0|                    data_in_tag = 1;
 3218|      0|                    nBytes = (tag[0] & 0xffff0000) >> 16;
 3219|      0|                } else {
 3220|      0|                    data_in_tag = 0;
 3221|      0|                    err = Read(tag + 1, 4, 1, (FILE *)mat->fp, &bytesread);
 3222|      0|                    if ( err ) {
  ------------------
  |  Branch (3222:26): [True: 0, False: 0]
  ------------------
 3223|      0|                        break;
 3224|      0|                    }
 3225|      0|                    if ( byteswap )
  ------------------
  |  Branch (3225:26): [True: 0, False: 0]
  ------------------
 3226|      0|                        (void)Mat_uint32Swap(tag + 1);
 3227|      0|                    nBytes = tag[1];
 3228|      0|                }
 3229|      0|                matvar->data_type = packed_type;
 3230|      0|                matvar->data_size = Mat_SizeOf(matvar->data_type);
 3231|      0|                matvar->nbytes = nBytes;
 3232|      0|            }
 3233|      0|            if ( matvar->isComplex ) {
  ------------------
  |  Branch (3233:18): [True: 0, False: 0]
  ------------------
 3234|      0|                break;
 3235|      0|            }
 3236|      0|            if ( 0 == matvar->nbytes ) {
  ------------------
  |  Branch (3236:18): [True: 0, False: 0]
  ------------------
 3237|      0|                break;
 3238|      0|            }
 3239|      0|            matvar->data = calloc(matvar->nbytes, 1);
 3240|      0|            if ( NULL == matvar->data ) {
  ------------------
  |  Branch (3240:18): [True: 0, False: 0]
  ------------------
 3241|      0|                err = MATIO_E_OUT_OF_MEMORY;
  ------------------
  |  |  251|      0|#define MATIO_E_OUT_OF_MEMORY 14
  ------------------
 3242|      0|                Mat_Critical("Couldn't allocate memory for the data");
 3243|      0|                break;
 3244|      0|            }
 3245|      0|            {
 3246|      0|                size_t nbytes = 0;
 3247|      0|                err = Mul(&nbytes, nelems, matvar->data_size);
 3248|      0|                if ( err || nbytes > matvar->nbytes ) {
  ------------------
  |  Branch (3248:22): [True: 0, False: 0]
  |  Branch (3248:29): [True: 0, False: 0]
  ------------------
 3249|      0|                    free(matvar->data);
 3250|      0|                    matvar->data = NULL;
 3251|      0|                    matvar->nbytes = 0;
 3252|      0|                    break;
 3253|      0|                }
 3254|      0|            }
 3255|      0|            if ( matvar->data_type == MAT_T_UTF8 ) {
  ------------------
  |  Branch (3255:18): [True: 0, False: 0]
  ------------------
 3256|      0|                nelems = matvar->nbytes;
 3257|      0|            }
 3258|      0|            if ( matvar->compression == MAT_COMPRESSION_NONE ) {
  ------------------
  |  Branch (3258:18): [True: 0, False: 0]
  ------------------
 3259|      0|                nBytes = ReadCharData(mat, matvar->data, matvar->data_type, nelems);
 3260|       |                /*
 3261|       |                 * If the data was in the tag we started on a 4-byte
 3262|       |                 * boundary so add 4 to make it an 8-byte
 3263|       |                 */
 3264|      0|                if ( data_in_tag )
  ------------------
  |  Branch (3264:22): [True: 0, False: 0]
  ------------------
 3265|      0|                    nBytes += 4;
 3266|      0|                if ( (nBytes % 8) != 0 )
  ------------------
  |  Branch (3266:22): [True: 0, False: 0]
  ------------------
 3267|      0|                    (void)fseeko((FILE *)mat->fp, 8 - (nBytes % 8), SEEK_CUR);
 3268|      0|#if HAVE_ZLIB
 3269|      0|            } else if ( matvar->compression == MAT_COMPRESSION_ZLIB ) {
  ------------------
  |  Branch (3269:25): [True: 0, False: 0]
  ------------------
 3270|      0|                nBytes = ReadCompressedCharData(mat, matvar->internal->z, matvar->data,
 3271|      0|                                                matvar->data_type, nelems);
 3272|       |                /*
 3273|       |                 * If the data was in the tag we started on a 4-byte
 3274|       |                 * boundary so add 4 to make it an 8-byte
 3275|       |                 */
 3276|      0|                if ( data_in_tag )
  ------------------
  |  Branch (3276:22): [True: 0, False: 0]
  ------------------
 3277|      0|                    nBytes += 4;
 3278|      0|                if ( (nBytes % 8) != 0 )
  ------------------
  |  Branch (3278:22): [True: 0, False: 0]
  ------------------
 3279|      0|                    InflateSkip(mat, matvar->internal->z, 8 - (nBytes % 8), NULL);
 3280|      0|#endif
 3281|      0|            }
 3282|      0|            break;
 3283|      3|        case MAT_C_STRUCT: {
  ------------------
  |  Branch (3283:9): [True: 3, False: 1.11k]
  ------------------
 3284|      3|            matvar_t **fields;
 3285|      3|            size_t i, nelems_x_nfields;
 3286|       |
 3287|      3|            matvar->data_type = MAT_T_STRUCT;
 3288|      3|            err = Mul(&nelems_x_nfields, nelems, matvar->internal->num_fields);
 3289|      3|            if ( err || !matvar->nbytes || !matvar->data_size || NULL == matvar->data )
  ------------------
  |  Branch (3289:18): [True: 0, False: 3]
  |  Branch (3289:25): [True: 0, False: 3]
  |  Branch (3289:44): [True: 0, False: 3]
  |  Branch (3289:66): [True: 0, False: 3]
  ------------------
 3290|      0|                break;
 3291|      3|            fields = (matvar_t **)matvar->data;
 3292|     21|            for ( i = 0; i < nelems_x_nfields; i++ ) {
  ------------------
  |  Branch (3292:26): [True: 18, False: 3]
  ------------------
 3293|     18|                if ( NULL != fields[i] ) {
  ------------------
  |  Branch (3293:22): [True: 9, False: 9]
  ------------------
 3294|      9|                    err = Mat_VarRead5(mat, fields[i]);
 3295|      9|                    if ( err )
  ------------------
  |  Branch (3295:26): [True: 0, False: 9]
  ------------------
 3296|      0|                        break;
 3297|      9|                }
 3298|     18|            }
 3299|      3|            break;
 3300|      3|        }
 3301|      6|        case MAT_C_CELL: {
  ------------------
  |  Branch (3301:9): [True: 6, False: 1.10k]
  ------------------
 3302|      6|            matvar_t **cells;
 3303|      6|            size_t i;
 3304|       |
 3305|      6|            if ( NULL == matvar->data ) {
  ------------------
  |  Branch (3305:18): [True: 0, False: 6]
  ------------------
 3306|      0|                Mat_Critical("Data is NULL for cell array %s", matvar->name);
 3307|      0|                err = MATIO_E_FILE_FORMAT_VIOLATION;
  ------------------
  |  |  246|      0|#define MATIO_E_FILE_FORMAT_VIOLATION 5
  ------------------
 3308|      0|                break;
 3309|      0|            }
 3310|      6|            cells = (matvar_t **)matvar->data;
 3311|     46|            for ( i = 0; i < nelems; i++ ) {
  ------------------
  |  Branch (3311:26): [True: 42, False: 4]
  ------------------
 3312|     42|                if ( NULL != cells[i] ) {
  ------------------
  |  Branch (3312:22): [True: 42, False: 0]
  ------------------
 3313|     42|                    err = Mat_VarRead5(mat, cells[i]);
 3314|     42|                    if ( err )
  ------------------
  |  Branch (3314:26): [True: 2, False: 40]
  ------------------
 3315|      2|                        break;
 3316|     42|                }
 3317|     42|            }
 3318|       |            /* FIXME: */
 3319|      6|            matvar->data_type = MAT_T_CELL;
 3320|      6|            break;
 3321|      6|        }
 3322|     80|        case MAT_C_SPARSE: {
  ------------------
  |  Branch (3322:9): [True: 80, False: 1.03k]
  ------------------
 3323|     80|            mat_uint32_t N = 0;
 3324|     80|            mat_sparse_t *sparse;
 3325|       |
 3326|     80|            matvar->data_size = sizeof(mat_sparse_t);
 3327|     80|            matvar->data = calloc(1, matvar->data_size);
 3328|     80|            if ( matvar->data == NULL ) {
  ------------------
  |  Branch (3328:18): [True: 0, False: 80]
  ------------------
 3329|      0|                err = MATIO_E_OUT_OF_MEMORY;
  ------------------
  |  |  251|      0|#define MATIO_E_OUT_OF_MEMORY 14
  ------------------
 3330|      0|                Mat_Critical("Mat_VarRead5: Allocation of data pointer failed");
 3331|      0|                break;
 3332|      0|            }
 3333|     80|            sparse = (mat_sparse_t *)matvar->data;
 3334|     80|            sparse->nzmax = matvar->nbytes;
 3335|     80|            (void)fseeko((FILE *)mat->fp, matvar->internal->datapos, SEEK_SET);
 3336|       |            /*  Read ir    */
 3337|     80|            bytesread += ReadSparse(mat, matvar, &sparse->nir, &sparse->ir);
 3338|       |            /*  Read jc    */
 3339|     80|            bytesread += ReadSparse(mat, matvar, &sparse->njc, &sparse->jc);
 3340|       |            /*  Read data  */
 3341|     80|            if ( matvar->compression == MAT_COMPRESSION_ZLIB ) {
  ------------------
  |  Branch (3341:18): [True: 0, False: 80]
  ------------------
 3342|      0|#if HAVE_ZLIB
 3343|      0|                matvar->internal->z->avail_in = 0;
 3344|      0|                err = Inflate(mat, matvar->internal->z, tag, 4, &bytesread);
 3345|      0|                if ( err ) {
  ------------------
  |  Branch (3345:22): [True: 0, False: 0]
  ------------------
 3346|      0|                    break;
 3347|      0|                }
 3348|      0|                if ( mat->byteswap )
  ------------------
  |  Branch (3348:22): [True: 0, False: 0]
  ------------------
 3349|      0|                    (void)Mat_uint32Swap(tag);
 3350|      0|                packed_type = TYPE_FROM_TAG(tag[0]);
  ------------------
  |  |   47|      0|    (((a) & 0x000000ff) <= MAT_T_FUNCTION) ? (enum matio_types)((a) & 0x000000ff) : MAT_T_UNKNOWN
  |  |  ------------------
  |  |  |  Branch (47:5): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3351|      0|                if ( tag[0] & 0xffff0000 ) { /* Data is in the tag */
  ------------------
  |  Branch (3351:22): [True: 0, False: 0]
  ------------------
 3352|      0|                    data_in_tag = 1;
 3353|      0|                    N = (tag[0] & 0xffff0000) >> 16;
 3354|      0|                } else {
 3355|      0|                    data_in_tag = 0;
 3356|      0|                    (void)ReadCompressedUInt32Data(mat, matvar->internal->z, &N, MAT_T_UINT32, 1);
 3357|      0|                }
 3358|      0|#endif
 3359|     80|            } else {
 3360|     80|                err = Read(tag, 4, 1, (FILE *)mat->fp, &bytesread);
 3361|     80|                if ( err ) {
  ------------------
  |  Branch (3361:22): [True: 2, False: 78]
  ------------------
 3362|      2|                    break;
 3363|      2|                }
 3364|     78|                if ( mat->byteswap )
  ------------------
  |  Branch (3364:22): [True: 12, False: 66]
  ------------------
 3365|     12|                    (void)Mat_uint32Swap(tag);
 3366|     78|                packed_type = TYPE_FROM_TAG(tag[0]);
  ------------------
  |  |   47|     78|    (((a) & 0x000000ff) <= MAT_T_FUNCTION) ? (enum matio_types)((a) & 0x000000ff) : MAT_T_UNKNOWN
  |  |  ------------------
  |  |  |  Branch (47:5): [True: 59, False: 19]
  |  |  ------------------
  ------------------
 3367|     78|                if ( tag[0] & 0xffff0000 ) { /* Data is in the tag */
  ------------------
  |  Branch (3367:22): [True: 57, False: 21]
  ------------------
 3368|     57|                    data_in_tag = 1;
 3369|     57|                    N = (tag[0] & 0xffff0000) >> 16;
 3370|     57|                } else {
 3371|     21|                    data_in_tag = 0;
 3372|     21|                    err = Read(&N, 4, 1, (FILE *)mat->fp, &bytesread);
 3373|     21|                    if ( err ) {
  ------------------
  |  Branch (3373:26): [True: 0, False: 21]
  ------------------
 3374|      0|                        break;
 3375|      0|                    }
 3376|     21|                    if ( mat->byteswap )
  ------------------
  |  Branch (3376:26): [True: 4, False: 17]
  ------------------
 3377|      4|                        (void)Mat_uint32Swap(&N);
 3378|     21|                }
 3379|     78|            }
 3380|     78|            if ( matvar->isLogical && packed_type == MAT_T_DOUBLE ) {
  ------------------
  |  Branch (3380:18): [True: 66, False: 12]
  |  Branch (3380:39): [True: 0, False: 66]
  ------------------
 3381|       |                /* For some reason, MAT says the data type is a double,
 3382|       |                 * but it appears to be written as 8-bit unsigned integer.
 3383|       |                 */
 3384|      0|                packed_type = MAT_T_UINT8;
 3385|      0|            }
 3386|     78|#if defined(EXTENDED_SPARSE)
 3387|     78|            matvar->data_type = packed_type;
 3388|       |#else
 3389|       |            matvar->data_type = MAT_T_DOUBLE;
 3390|       |#endif
 3391|     78|            {
 3392|     78|                size_t s_type = Mat_SizeOf(packed_type);
 3393|     78|                if ( s_type == 0 )
  ------------------
  |  Branch (3393:22): [True: 54, False: 24]
  ------------------
 3394|     54|                    break;
 3395|     24|                sparse->ndata = N / s_type;
 3396|     24|            }
 3397|     24|            if ( matvar->isComplex ) {
  ------------------
  |  Branch (3397:18): [True: 24, False: 0]
  ------------------
 3398|     24|                mat_complex_split_t *complex_data;
 3399|     24|                size_t nbytes = 0;
 3400|     24|                err = Mul(&nbytes, sparse->ndata, Mat_SizeOf(matvar->data_type));
 3401|     24|                if ( err ) {
  ------------------
  |  Branch (3401:22): [True: 0, False: 24]
  ------------------
 3402|      0|                    Mat_Critical("Integer multiplication overflow");
 3403|      0|                    break;
 3404|      0|                }
 3405|     24|                complex_data = ComplexMalloc(nbytes);
 3406|     24|                if ( NULL == complex_data ) {
  ------------------
  |  Branch (3406:22): [True: 0, False: 24]
  ------------------
 3407|      0|                    err = MATIO_E_OUT_OF_MEMORY;
  ------------------
  |  |  251|      0|#define MATIO_E_OUT_OF_MEMORY 14
  ------------------
 3408|      0|                    Mat_Critical("Couldn't allocate memory for the complex sparse data");
 3409|      0|                    break;
 3410|      0|                }
 3411|     24|                if ( matvar->compression == MAT_COMPRESSION_NONE ) {
  ------------------
  |  Branch (3411:22): [True: 24, False: 0]
  ------------------
 3412|     24|#if defined(EXTENDED_SPARSE)
 3413|     24|                    switch ( matvar->data_type ) {
 3414|      0|                        case MAT_T_DOUBLE:
  ------------------
  |  Branch (3414:25): [True: 0, False: 24]
  ------------------
 3415|      0|                            nBytes = ReadDoubleData(mat, (double *)complex_data->Re, packed_type,
 3416|      0|                                                    sparse->ndata);
 3417|      0|                            break;
 3418|      2|                        case MAT_T_SINGLE:
  ------------------
  |  Branch (3418:25): [True: 2, False: 22]
  ------------------
 3419|      2|                            nBytes = ReadSingleData(mat, (float *)complex_data->Re, packed_type,
 3420|      2|                                                    sparse->ndata);
 3421|      2|                            break;
 3422|      0|                        case MAT_T_INT64:
  ------------------
  |  Branch (3422:25): [True: 0, False: 24]
  ------------------
 3423|      0|#ifdef HAVE_MAT_INT64_T
 3424|      0|                            nBytes = ReadInt64Data(mat, (mat_int64_t *)complex_data->Re,
 3425|      0|                                                   packed_type, sparse->ndata);
 3426|      0|#endif
 3427|      0|                            break;
 3428|      0|                        case MAT_T_UINT64:
  ------------------
  |  Branch (3428:25): [True: 0, False: 24]
  ------------------
 3429|      0|#ifdef HAVE_MAT_UINT64_T
 3430|      0|                            nBytes = ReadUInt64Data(mat, (mat_uint64_t *)complex_data->Re,
 3431|      0|                                                    packed_type, sparse->ndata);
 3432|      0|#endif
 3433|      0|                            break;
 3434|      6|                        case MAT_T_INT32:
  ------------------
  |  Branch (3434:25): [True: 6, False: 18]
  ------------------
 3435|      6|                            nBytes = ReadInt32Data(mat, (mat_int32_t *)complex_data->Re,
 3436|      6|                                                   packed_type, sparse->ndata);
 3437|      6|                            break;
 3438|      8|                        case MAT_T_UINT32:
  ------------------
  |  Branch (3438:25): [True: 8, False: 16]
  ------------------
 3439|      8|                            nBytes = ReadUInt32Data(mat, (mat_uint32_t *)complex_data->Re,
 3440|      8|                                                    packed_type, sparse->ndata);
 3441|      8|                            break;
 3442|      2|                        case MAT_T_INT16:
  ------------------
  |  Branch (3442:25): [True: 2, False: 22]
  ------------------
 3443|      2|                            nBytes = ReadInt16Data(mat, (mat_int16_t *)complex_data->Re,
 3444|      2|                                                   packed_type, sparse->ndata);
 3445|      2|                            break;
 3446|      6|                        case MAT_T_UINT16:
  ------------------
  |  Branch (3446:25): [True: 6, False: 18]
  ------------------
 3447|      6|                            nBytes = ReadUInt16Data(mat, (mat_uint16_t *)complex_data->Re,
 3448|      6|                                                    packed_type, sparse->ndata);
 3449|      6|                            break;
 3450|      0|                        case MAT_T_INT8:
  ------------------
  |  Branch (3450:25): [True: 0, False: 24]
  ------------------
 3451|      0|                            nBytes = ReadInt8Data(mat, (mat_int8_t *)complex_data->Re, packed_type,
 3452|      0|                                                  sparse->ndata);
 3453|      0|                            break;
 3454|      0|                        case MAT_T_UINT8:
  ------------------
  |  Branch (3454:25): [True: 0, False: 24]
  ------------------
 3455|      0|                            nBytes = ReadUInt8Data(mat, (mat_uint8_t *)complex_data->Re,
 3456|      0|                                                   packed_type, sparse->ndata);
 3457|      0|                            break;
 3458|      0|                        default:
  ------------------
  |  Branch (3458:25): [True: 0, False: 24]
  ------------------
 3459|      0|                            break;
 3460|     24|                    }
 3461|       |#else
 3462|       |                    nBytes =
 3463|       |                        ReadDoubleData(mat, (double *)complex_data->Re, packed_type, sparse->ndata);
 3464|       |#endif
 3465|     24|                    nBytes *= Mat_SizeOf(packed_type);
 3466|     24|                    if ( data_in_tag )
  ------------------
  |  Branch (3466:26): [True: 20, False: 4]
  ------------------
 3467|     20|                        nBytes += 4;
 3468|     24|                    if ( (nBytes % 8) != 0 )
  ------------------
  |  Branch (3468:26): [True: 12, False: 12]
  ------------------
 3469|     12|                        (void)fseeko((FILE *)mat->fp, 8 - (nBytes % 8), SEEK_CUR);
 3470|       |
 3471|       |                    /* Complex Data Tag */
 3472|     24|                    err = Read(tag, 4, 1, (FILE *)mat->fp, &bytesread);
 3473|     24|                    if ( err ) {
  ------------------
  |  Branch (3473:26): [True: 0, False: 24]
  ------------------
 3474|      0|                        ComplexFree(complex_data);
 3475|      0|                        break;
 3476|      0|                    }
 3477|     24|                    if ( byteswap )
  ------------------
  |  Branch (3477:26): [True: 4, False: 20]
  ------------------
 3478|      4|                        (void)Mat_uint32Swap(tag);
 3479|     24|                    packed_type = TYPE_FROM_TAG(tag[0]);
  ------------------
  |  |   47|     24|    (((a) & 0x000000ff) <= MAT_T_FUNCTION) ? (enum matio_types)((a) & 0x000000ff) : MAT_T_UNKNOWN
  |  |  ------------------
  |  |  |  Branch (47:5): [True: 20, False: 4]
  |  |  ------------------
  ------------------
 3480|     24|                    if ( tag[0] & 0xffff0000 ) { /* Data is in the tag */
  ------------------
  |  Branch (3480:26): [True: 16, False: 8]
  ------------------
 3481|     16|                        data_in_tag = 1;
 3482|     16|                    } else {
 3483|      8|                        data_in_tag = 0;
 3484|      8|                        err = Read(tag + 1, 4, 1, (FILE *)mat->fp, &bytesread);
 3485|      8|                        if ( err ) {
  ------------------
  |  Branch (3485:30): [True: 0, False: 8]
  ------------------
 3486|      0|                            ComplexFree(complex_data);
 3487|      0|                            break;
 3488|      0|                        }
 3489|      8|                        if ( byteswap )
  ------------------
  |  Branch (3489:30): [True: 0, False: 8]
  ------------------
 3490|      0|                            (void)Mat_uint32Swap(tag + 1);
 3491|      8|                    }
 3492|     24|#if defined(EXTENDED_SPARSE)
 3493|     24|                    switch ( matvar->data_type ) {
 3494|      0|                        case MAT_T_DOUBLE:
  ------------------
  |  Branch (3494:25): [True: 0, False: 24]
  ------------------
 3495|      0|                            nBytes = ReadDoubleData(mat, (double *)complex_data->Im, packed_type,
 3496|      0|                                                    sparse->ndata);
 3497|      0|                            break;
 3498|      2|                        case MAT_T_SINGLE:
  ------------------
  |  Branch (3498:25): [True: 2, False: 22]
  ------------------
 3499|      2|                            nBytes = ReadSingleData(mat, (float *)complex_data->Im, packed_type,
 3500|      2|                                                    sparse->ndata);
 3501|      2|                            break;
 3502|      0|                        case MAT_T_INT64:
  ------------------
  |  Branch (3502:25): [True: 0, False: 24]
  ------------------
 3503|      0|#ifdef HAVE_MAT_INT64_T
 3504|      0|                            nBytes = ReadInt64Data(mat, (mat_int64_t *)complex_data->Im,
 3505|      0|                                                   packed_type, sparse->ndata);
 3506|      0|#endif
 3507|      0|                            break;
 3508|      0|                        case MAT_T_UINT64:
  ------------------
  |  Branch (3508:25): [True: 0, False: 24]
  ------------------
 3509|      0|#ifdef HAVE_MAT_UINT64_T
 3510|      0|                            nBytes = ReadUInt64Data(mat, (mat_uint64_t *)complex_data->Im,
 3511|      0|                                                    packed_type, sparse->ndata);
 3512|      0|#endif
 3513|      0|                            break;
 3514|      6|                        case MAT_T_INT32:
  ------------------
  |  Branch (3514:25): [True: 6, False: 18]
  ------------------
 3515|      6|                            nBytes = ReadInt32Data(mat, (mat_int32_t *)complex_data->Im,
 3516|      6|                                                   packed_type, sparse->ndata);
 3517|      6|                            break;
 3518|      8|                        case MAT_T_UINT32:
  ------------------
  |  Branch (3518:25): [True: 8, False: 16]
  ------------------
 3519|      8|                            nBytes = ReadUInt32Data(mat, (mat_uint32_t *)complex_data->Im,
 3520|      8|                                                    packed_type, sparse->ndata);
 3521|      8|                            break;
 3522|      2|                        case MAT_T_INT16:
  ------------------
  |  Branch (3522:25): [True: 2, False: 22]
  ------------------
 3523|      2|                            nBytes = ReadInt16Data(mat, (mat_int16_t *)complex_data->Im,
 3524|      2|                                                   packed_type, sparse->ndata);
 3525|      2|                            break;
 3526|      6|                        case MAT_T_UINT16:
  ------------------
  |  Branch (3526:25): [True: 6, False: 18]
  ------------------
 3527|      6|                            nBytes = ReadUInt16Data(mat, (mat_uint16_t *)complex_data->Im,
 3528|      6|                                                    packed_type, sparse->ndata);
 3529|      6|                            break;
 3530|      0|                        case MAT_T_INT8:
  ------------------
  |  Branch (3530:25): [True: 0, False: 24]
  ------------------
 3531|      0|                            nBytes = ReadInt8Data(mat, (mat_int8_t *)complex_data->Im, packed_type,
 3532|      0|                                                  sparse->ndata);
 3533|      0|                            break;
 3534|      0|                        case MAT_T_UINT8:
  ------------------
  |  Branch (3534:25): [True: 0, False: 24]
  ------------------
 3535|      0|                            nBytes = ReadUInt8Data(mat, (mat_uint8_t *)complex_data->Im,
 3536|      0|                                                   packed_type, sparse->ndata);
 3537|      0|                            break;
 3538|      0|                        default:
  ------------------
  |  Branch (3538:25): [True: 0, False: 24]
  ------------------
 3539|      0|                            nBytes = (data_in_tag == 0) ? tag[1] : ((tag[0] & 0xffff0000) >> 16);
  ------------------
  |  Branch (3539:38): [True: 0, False: 0]
  ------------------
 3540|      0|                            break;
 3541|     24|                    }
 3542|       |#else  /* EXTENDED_SPARSE */
 3543|       |                    nBytes =
 3544|       |                        ReadDoubleData(mat, (double *)complex_data->Im, packed_type, sparse->ndata);
 3545|       |#endif /* EXTENDED_SPARSE */
 3546|     24|                    nBytes *= Mat_SizeOf(packed_type);
 3547|     24|                    if ( data_in_tag )
  ------------------
  |  Branch (3547:26): [True: 16, False: 8]
  ------------------
 3548|     16|                        nBytes += 4;
 3549|     24|                    if ( (nBytes % 8) != 0 )
  ------------------
  |  Branch (3549:26): [True: 14, False: 10]
  ------------------
 3550|     14|                        (void)fseeko((FILE *)mat->fp, 8 - (nBytes % 8), SEEK_CUR);
 3551|     24|#if HAVE_ZLIB
 3552|     24|                } else if ( matvar->compression == MAT_COMPRESSION_ZLIB ) {
  ------------------
  |  Branch (3552:29): [True: 0, False: 0]
  ------------------
 3553|      0|#if defined(EXTENDED_SPARSE)
 3554|      0|                    switch ( matvar->data_type ) {
 3555|      0|                        case MAT_T_DOUBLE:
  ------------------
  |  Branch (3555:25): [True: 0, False: 0]
  ------------------
 3556|      0|                            nBytes = ReadCompressedDoubleData(mat, matvar->internal->z,
 3557|      0|                                                              (double *)complex_data->Re,
 3558|      0|                                                              packed_type, sparse->ndata);
 3559|      0|                            break;
 3560|      0|                        case MAT_T_SINGLE:
  ------------------
  |  Branch (3560:25): [True: 0, False: 0]
  ------------------
 3561|      0|                            nBytes = ReadCompressedSingleData(mat, matvar->internal->z,
 3562|      0|                                                              (float *)complex_data->Re,
 3563|      0|                                                              packed_type, sparse->ndata);
 3564|      0|                            break;
 3565|      0|                        case MAT_T_INT64:
  ------------------
  |  Branch (3565:25): [True: 0, False: 0]
  ------------------
 3566|      0|#ifdef HAVE_MAT_INT64_T
 3567|      0|                            nBytes = ReadCompressedInt64Data(mat, matvar->internal->z,
 3568|      0|                                                             (mat_int64_t *)complex_data->Re,
 3569|      0|                                                             packed_type, sparse->ndata);
 3570|      0|#endif
 3571|      0|                            break;
 3572|      0|                        case MAT_T_UINT64:
  ------------------
  |  Branch (3572:25): [True: 0, False: 0]
  ------------------
 3573|      0|#ifdef HAVE_MAT_UINT64_T
 3574|      0|                            nBytes = ReadCompressedUInt64Data(mat, matvar->internal->z,
 3575|      0|                                                              (mat_uint64_t *)complex_data->Re,
 3576|      0|                                                              packed_type, sparse->ndata);
 3577|      0|#endif
 3578|      0|                            break;
 3579|      0|                        case MAT_T_INT32:
  ------------------
  |  Branch (3579:25): [True: 0, False: 0]
  ------------------
 3580|      0|                            nBytes = ReadCompressedInt32Data(mat, matvar->internal->z,
 3581|      0|                                                             (mat_int32_t *)complex_data->Re,
 3582|      0|                                                             packed_type, sparse->ndata);
 3583|      0|                            break;
 3584|      0|                        case MAT_T_UINT32:
  ------------------
  |  Branch (3584:25): [True: 0, False: 0]
  ------------------
 3585|      0|                            nBytes = ReadCompressedUInt32Data(mat, matvar->internal->z,
 3586|      0|                                                              (mat_uint32_t *)complex_data->Re,
 3587|      0|                                                              packed_type, sparse->ndata);
 3588|      0|                            break;
 3589|      0|                        case MAT_T_INT16:
  ------------------
  |  Branch (3589:25): [True: 0, False: 0]
  ------------------
 3590|      0|                            nBytes = ReadCompressedInt16Data(mat, matvar->internal->z,
 3591|      0|                                                             (mat_int16_t *)complex_data->Re,
 3592|      0|                                                             packed_type, sparse->ndata);
 3593|      0|                            break;
 3594|      0|                        case MAT_T_UINT16:
  ------------------
  |  Branch (3594:25): [True: 0, False: 0]
  ------------------
 3595|      0|                            nBytes = ReadCompressedUInt16Data(mat, matvar->internal->z,
 3596|      0|                                                              (mat_uint16_t *)complex_data->Re,
 3597|      0|                                                              packed_type, sparse->ndata);
 3598|      0|                            break;
 3599|      0|                        case MAT_T_INT8:
  ------------------
  |  Branch (3599:25): [True: 0, False: 0]
  ------------------
 3600|      0|                            nBytes = ReadCompressedInt8Data(mat, matvar->internal->z,
 3601|      0|                                                            (mat_int8_t *)complex_data->Re,
 3602|      0|                                                            packed_type, sparse->ndata);
 3603|      0|                            break;
 3604|      0|                        case MAT_T_UINT8:
  ------------------
  |  Branch (3604:25): [True: 0, False: 0]
  ------------------
 3605|      0|                            nBytes = ReadCompressedUInt8Data(mat, matvar->internal->z,
 3606|      0|                                                             (mat_uint8_t *)complex_data->Re,
 3607|      0|                                                             packed_type, sparse->ndata);
 3608|      0|                            break;
 3609|      0|                        default:
  ------------------
  |  Branch (3609:25): [True: 0, False: 0]
  ------------------
 3610|      0|                            break;
 3611|      0|                    }
 3612|       |#else  /* EXTENDED_SPARSE */
 3613|       |                    nBytes = ReadCompressedDoubleData(mat, matvar->internal->z,
 3614|       |                                                      (double *)complex_data->Re, packed_type,
 3615|       |                                                      sparse->ndata);
 3616|       |#endif /* EXTENDED_SPARSE */
 3617|      0|                    if ( data_in_tag )
  ------------------
  |  Branch (3617:26): [True: 0, False: 0]
  ------------------
 3618|      0|                        nBytes += 4;
 3619|      0|                    if ( (nBytes % 8) != 0 )
  ------------------
  |  Branch (3619:26): [True: 0, False: 0]
  ------------------
 3620|      0|                        InflateSkip(mat, matvar->internal->z, 8 - (nBytes % 8), NULL);
 3621|       |
 3622|       |                    /* Complex Data Tag */
 3623|      0|                    err = Inflate(mat, matvar->internal->z, tag, 4, NULL);
 3624|      0|                    if ( err ) {
  ------------------
  |  Branch (3624:26): [True: 0, False: 0]
  ------------------
 3625|      0|                        ComplexFree(complex_data);
 3626|      0|                        break;
 3627|      0|                    }
 3628|      0|                    if ( byteswap )
  ------------------
  |  Branch (3628:26): [True: 0, False: 0]
  ------------------
 3629|      0|                        (void)Mat_uint32Swap(tag);
 3630|       |
 3631|      0|                    packed_type = TYPE_FROM_TAG(tag[0]);
  ------------------
  |  |   47|      0|    (((a) & 0x000000ff) <= MAT_T_FUNCTION) ? (enum matio_types)((a) & 0x000000ff) : MAT_T_UNKNOWN
  |  |  ------------------
  |  |  |  Branch (47:5): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 3632|      0|                    if ( tag[0] & 0xffff0000 ) { /* Data is in the tag */
  ------------------
  |  Branch (3632:26): [True: 0, False: 0]
  ------------------
 3633|      0|                        data_in_tag = 1;
 3634|      0|                    } else {
 3635|      0|                        data_in_tag = 0;
 3636|      0|                        err = Inflate(mat, matvar->internal->z, tag + 1, 4, NULL);
 3637|      0|                        if ( err ) {
  ------------------
  |  Branch (3637:30): [True: 0, False: 0]
  ------------------
 3638|      0|                            ComplexFree(complex_data);
 3639|      0|                            break;
 3640|      0|                        }
 3641|      0|                        if ( byteswap )
  ------------------
  |  Branch (3641:30): [True: 0, False: 0]
  ------------------
 3642|      0|                            (void)Mat_uint32Swap(tag + 1);
 3643|      0|                    }
 3644|      0|#if defined(EXTENDED_SPARSE)
 3645|      0|                    switch ( matvar->data_type ) {
 3646|      0|                        case MAT_T_DOUBLE:
  ------------------
  |  Branch (3646:25): [True: 0, False: 0]
  ------------------
 3647|      0|                            nBytes = ReadCompressedDoubleData(mat, matvar->internal->z,
 3648|      0|                                                              (double *)complex_data->Im,
 3649|      0|                                                              packed_type, sparse->ndata);
 3650|      0|                            break;
 3651|      0|                        case MAT_T_SINGLE:
  ------------------
  |  Branch (3651:25): [True: 0, False: 0]
  ------------------
 3652|      0|                            nBytes = ReadCompressedSingleData(mat, matvar->internal->z,
 3653|      0|                                                              (float *)complex_data->Im,
 3654|      0|                                                              packed_type, sparse->ndata);
 3655|      0|                            break;
 3656|      0|                        case MAT_T_INT64:
  ------------------
  |  Branch (3656:25): [True: 0, False: 0]
  ------------------
 3657|      0|#ifdef HAVE_MAT_INT64_T
 3658|      0|                            nBytes = ReadCompressedInt64Data(mat, matvar->internal->z,
 3659|      0|                                                             (mat_int64_t *)complex_data->Im,
 3660|      0|                                                             packed_type, sparse->ndata);
 3661|      0|#endif
 3662|      0|                            break;
 3663|      0|                        case MAT_T_UINT64:
  ------------------
  |  Branch (3663:25): [True: 0, False: 0]
  ------------------
 3664|      0|#ifdef HAVE_MAT_UINT64_T
 3665|      0|                            nBytes = ReadCompressedUInt64Data(mat, matvar->internal->z,
 3666|      0|                                                              (mat_uint64_t *)complex_data->Im,
 3667|      0|                                                              packed_type, sparse->ndata);
 3668|      0|#endif
 3669|      0|                            break;
 3670|      0|                        case MAT_T_INT32:
  ------------------
  |  Branch (3670:25): [True: 0, False: 0]
  ------------------
 3671|      0|                            nBytes = ReadCompressedInt32Data(mat, matvar->internal->z,
 3672|      0|                                                             (mat_int32_t *)complex_data->Im,
 3673|      0|                                                             packed_type, sparse->ndata);
 3674|      0|                            break;
 3675|      0|                        case MAT_T_UINT32:
  ------------------
  |  Branch (3675:25): [True: 0, False: 0]
  ------------------
 3676|      0|                            nBytes = ReadCompressedUInt32Data(mat, matvar->internal->z,
 3677|      0|                                                              (mat_uint32_t *)complex_data->Im,
 3678|      0|                                                              packed_type, sparse->ndata);
 3679|      0|                            break;
 3680|      0|                        case MAT_T_INT16:
  ------------------
  |  Branch (3680:25): [True: 0, False: 0]
  ------------------
 3681|      0|                            nBytes = ReadCompressedInt16Data(mat, matvar->internal->z,
 3682|      0|                                                             (mat_int16_t *)complex_data->Im,
 3683|      0|                                                             packed_type, sparse->ndata);
 3684|      0|                            break;
 3685|      0|                        case MAT_T_UINT16:
  ------------------
  |  Branch (3685:25): [True: 0, False: 0]
  ------------------
 3686|      0|                            nBytes = ReadCompressedUInt16Data(mat, matvar->internal->z,
 3687|      0|                                                              (mat_uint16_t *)complex_data->Im,
 3688|      0|                                                              packed_type, sparse->ndata);
 3689|      0|                            break;
 3690|      0|                        case MAT_T_INT8:
  ------------------
  |  Branch (3690:25): [True: 0, False: 0]
  ------------------
 3691|      0|                            nBytes = ReadCompressedInt8Data(mat, matvar->internal->z,
 3692|      0|                                                            (mat_int8_t *)complex_data->Im,
 3693|      0|                                                            packed_type, sparse->ndata);
 3694|      0|                            break;
 3695|      0|                        case MAT_T_UINT8:
  ------------------
  |  Branch (3695:25): [True: 0, False: 0]
  ------------------
 3696|      0|                            nBytes = ReadCompressedUInt8Data(mat, matvar->internal->z,
 3697|      0|                                                             (mat_uint8_t *)complex_data->Im,
 3698|      0|                                                             packed_type, sparse->ndata);
 3699|      0|                            break;
 3700|      0|                        default:
  ------------------
  |  Branch (3700:25): [True: 0, False: 0]
  ------------------
 3701|      0|                            nBytes = (data_in_tag == 0) ? tag[1] : ((tag[0] & 0xffff0000) >> 16);
  ------------------
  |  Branch (3701:38): [True: 0, False: 0]
  ------------------
 3702|      0|                            break;
 3703|      0|                    }
 3704|       |#else  /* EXTENDED_SPARSE */
 3705|       |                    nBytes = ReadCompressedDoubleData(mat, matvar->internal->z,
 3706|       |                                                      (double *)complex_data->Im, packed_type,
 3707|       |                                                      sparse->ndata);
 3708|       |#endif /* EXTENDED_SPARSE */
 3709|      0|                    if ( data_in_tag )
  ------------------
  |  Branch (3709:26): [True: 0, False: 0]
  ------------------
 3710|      0|                        nBytes += 4;
 3711|      0|                    if ( (nBytes % 8) != 0 )
  ------------------
  |  Branch (3711:26): [True: 0, False: 0]
  ------------------
 3712|      0|                        err = InflateSkip(mat, matvar->internal->z, 8 - (nBytes % 8), NULL);
 3713|      0|#endif /* HAVE_ZLIB */
 3714|      0|                }
 3715|     24|                sparse->data = complex_data;
 3716|     24|            } else { /* isComplex */
 3717|      0|                size_t nbytes = 0;
 3718|      0|                err = Mul(&nbytes, sparse->ndata, Mat_SizeOf(matvar->data_type));
 3719|      0|                if ( err ) {
  ------------------
  |  Branch (3719:22): [True: 0, False: 0]
  ------------------
 3720|      0|                    Mat_Critical("Integer multiplication overflow");
 3721|      0|                    break;
 3722|      0|                }
 3723|      0|                if ( nbytes > 0 ) {
  ------------------
  |  Branch (3723:22): [True: 0, False: 0]
  ------------------
 3724|      0|                    sparse->data = malloc(nbytes);
 3725|      0|                    if ( sparse->data == NULL ) {
  ------------------
  |  Branch (3725:26): [True: 0, False: 0]
  ------------------
 3726|      0|                        err = MATIO_E_OUT_OF_MEMORY;
  ------------------
  |  |  251|      0|#define MATIO_E_OUT_OF_MEMORY 14
  ------------------
 3727|      0|                        Mat_Critical("Couldn't allocate memory for the sparse data");
 3728|      0|                        break;
 3729|      0|                    }
 3730|      0|                }
 3731|      0|                if ( matvar->compression == MAT_COMPRESSION_NONE && nbytes > 0 ) {
  ------------------
  |  Branch (3731:22): [True: 0, False: 0]
  |  Branch (3731:69): [True: 0, False: 0]
  ------------------
 3732|      0|#if defined(EXTENDED_SPARSE)
 3733|      0|                    switch ( matvar->data_type ) {
 3734|      0|                        case MAT_T_DOUBLE:
  ------------------
  |  Branch (3734:25): [True: 0, False: 0]
  ------------------
 3735|      0|                            nBytes = ReadDoubleData(mat, (double *)sparse->data, packed_type,
 3736|      0|                                                    sparse->ndata);
 3737|      0|                            break;
 3738|      0|                        case MAT_T_SINGLE:
  ------------------
  |  Branch (3738:25): [True: 0, False: 0]
  ------------------
 3739|      0|                            nBytes = ReadSingleData(mat, (float *)sparse->data, packed_type,
 3740|      0|                                                    sparse->ndata);
 3741|      0|                            break;
 3742|      0|                        case MAT_T_INT64:
  ------------------
  |  Branch (3742:25): [True: 0, False: 0]
  ------------------
 3743|      0|#ifdef HAVE_MAT_INT64_T
 3744|      0|                            nBytes = ReadInt64Data(mat, (mat_int64_t *)sparse->data, packed_type,
 3745|      0|                                                   sparse->ndata);
 3746|      0|#endif
 3747|      0|                            break;
 3748|      0|                        case MAT_T_UINT64:
  ------------------
  |  Branch (3748:25): [True: 0, False: 0]
  ------------------
 3749|      0|#ifdef HAVE_MAT_UINT64_T
 3750|      0|                            nBytes = ReadUInt64Data(mat, (mat_uint64_t *)sparse->data, packed_type,
 3751|      0|                                                    sparse->ndata);
 3752|      0|#endif
 3753|      0|                            break;
 3754|      0|                        case MAT_T_INT32:
  ------------------
  |  Branch (3754:25): [True: 0, False: 0]
  ------------------
 3755|      0|                            nBytes = ReadInt32Data(mat, (mat_int32_t *)sparse->data, packed_type,
 3756|      0|                                                   sparse->ndata);
 3757|      0|                            break;
 3758|      0|                        case MAT_T_UINT32:
  ------------------
  |  Branch (3758:25): [True: 0, False: 0]
  ------------------
 3759|      0|                            nBytes = ReadUInt32Data(mat, (mat_uint32_t *)sparse->data, packed_type,
 3760|      0|                                                    sparse->ndata);
 3761|      0|                            break;
 3762|      0|                        case MAT_T_INT16:
  ------------------
  |  Branch (3762:25): [True: 0, False: 0]
  ------------------
 3763|      0|                            nBytes = ReadInt16Data(mat, (mat_int16_t *)sparse->data, packed_type,
 3764|      0|                                                   sparse->ndata);
 3765|      0|                            break;
 3766|      0|                        case MAT_T_UINT16:
  ------------------
  |  Branch (3766:25): [True: 0, False: 0]
  ------------------
 3767|      0|                            nBytes = ReadUInt16Data(mat, (mat_uint16_t *)sparse->data, packed_type,
 3768|      0|                                                    sparse->ndata);
 3769|      0|                            break;
 3770|      0|                        case MAT_T_INT8:
  ------------------
  |  Branch (3770:25): [True: 0, False: 0]
  ------------------
 3771|      0|                            nBytes = ReadInt8Data(mat, (mat_int8_t *)sparse->data, packed_type,
 3772|      0|                                                  sparse->ndata);
 3773|      0|                            break;
 3774|      0|                        case MAT_T_UINT8:
  ------------------
  |  Branch (3774:25): [True: 0, False: 0]
  ------------------
 3775|      0|                            nBytes = ReadUInt8Data(mat, (mat_uint8_t *)sparse->data, packed_type,
 3776|      0|                                                   sparse->ndata);
 3777|      0|                            break;
 3778|      0|                        default:
  ------------------
  |  Branch (3778:25): [True: 0, False: 0]
  ------------------
 3779|      0|                            break;
 3780|      0|                    }
 3781|       |#else
 3782|       |                    nBytes =
 3783|       |                        ReadDoubleData(mat, (double *)sparse->data, packed_type, sparse->ndata);
 3784|       |#endif
 3785|      0|                    nBytes *= Mat_SizeOf(packed_type);
 3786|      0|                    if ( data_in_tag )
  ------------------
  |  Branch (3786:26): [True: 0, False: 0]
  ------------------
 3787|      0|                        nBytes += 4;
 3788|      0|                    if ( (nBytes % 8) != 0 )
  ------------------
  |  Branch (3788:26): [True: 0, False: 0]
  ------------------
 3789|      0|                        (void)fseeko((FILE *)mat->fp, 8 - (nBytes % 8), SEEK_CUR);
 3790|      0|#if HAVE_ZLIB
 3791|      0|                } else if ( matvar->compression == MAT_COMPRESSION_ZLIB && nbytes > 0 ) {
  ------------------
  |  Branch (3791:29): [True: 0, False: 0]
  |  Branch (3791:76): [True: 0, False: 0]
  ------------------
 3792|      0|#if defined(EXTENDED_SPARSE)
 3793|      0|                    switch ( matvar->data_type ) {
 3794|      0|                        case MAT_T_DOUBLE:
  ------------------
  |  Branch (3794:25): [True: 0, False: 0]
  ------------------
 3795|      0|                            nBytes = ReadCompressedDoubleData(mat, matvar->internal->z,
 3796|      0|                                                              (double *)sparse->data, packed_type,
 3797|      0|                                                              sparse->ndata);
 3798|      0|                            break;
 3799|      0|                        case MAT_T_SINGLE:
  ------------------
  |  Branch (3799:25): [True: 0, False: 0]
  ------------------
 3800|      0|                            nBytes = ReadCompressedSingleData(mat, matvar->internal->z,
 3801|      0|                                                              (float *)sparse->data, packed_type,
 3802|      0|                                                              sparse->ndata);
 3803|      0|                            break;
 3804|      0|                        case MAT_T_INT64:
  ------------------
  |  Branch (3804:25): [True: 0, False: 0]
  ------------------
 3805|      0|#ifdef HAVE_MAT_INT64_T
 3806|      0|                            nBytes = ReadCompressedInt64Data(mat, matvar->internal->z,
 3807|      0|                                                             (mat_int64_t *)sparse->data,
 3808|      0|                                                             packed_type, sparse->ndata);
 3809|      0|#endif
 3810|      0|                            break;
 3811|      0|                        case MAT_T_UINT64:
  ------------------
  |  Branch (3811:25): [True: 0, False: 0]
  ------------------
 3812|      0|#ifdef HAVE_MAT_UINT64_T
 3813|      0|                            nBytes = ReadCompressedUInt64Data(mat, matvar->internal->z,
 3814|      0|                                                              (mat_uint64_t *)sparse->data,
 3815|      0|                                                              packed_type, sparse->ndata);
 3816|      0|#endif
 3817|      0|                            break;
 3818|      0|                        case MAT_T_INT32:
  ------------------
  |  Branch (3818:25): [True: 0, False: 0]
  ------------------
 3819|      0|                            nBytes = ReadCompressedInt32Data(mat, matvar->internal->z,
 3820|      0|                                                             (mat_int32_t *)sparse->data,
 3821|      0|                                                             packed_type, sparse->ndata);
 3822|      0|                            break;
 3823|      0|                        case MAT_T_UINT32:
  ------------------
  |  Branch (3823:25): [True: 0, False: 0]
  ------------------
 3824|      0|                            nBytes = ReadCompressedUInt32Data(mat, matvar->internal->z,
 3825|      0|                                                              (mat_uint32_t *)sparse->data,
 3826|      0|                                                              packed_type, sparse->ndata);
 3827|      0|                            break;
 3828|      0|                        case MAT_T_INT16:
  ------------------
  |  Branch (3828:25): [True: 0, False: 0]
  ------------------
 3829|      0|                            nBytes = ReadCompressedInt16Data(mat, matvar->internal->z,
 3830|      0|                                                             (mat_int16_t *)sparse->data,
 3831|      0|                                                             packed_type, sparse->ndata);
 3832|      0|                            break;
 3833|      0|                        case MAT_T_UINT16:
  ------------------
  |  Branch (3833:25): [True: 0, False: 0]
  ------------------
 3834|      0|                            nBytes = ReadCompressedUInt16Data(mat, matvar->internal->z,
 3835|      0|                                                              (mat_uint16_t *)sparse->data,
 3836|      0|                                                              packed_type, sparse->ndata);
 3837|      0|                            break;
 3838|      0|                        case MAT_T_INT8:
  ------------------
  |  Branch (3838:25): [True: 0, False: 0]
  ------------------
 3839|      0|                            nBytes = ReadCompressedInt8Data(mat, matvar->internal->z,
 3840|      0|                                                            (mat_int8_t *)sparse->data, packed_type,
 3841|      0|                                                            sparse->ndata);
 3842|      0|                            break;
 3843|      0|                        case MAT_T_UINT8:
  ------------------
  |  Branch (3843:25): [True: 0, False: 0]
  ------------------
 3844|      0|                            nBytes = ReadCompressedUInt8Data(mat, matvar->internal->z,
 3845|      0|                                                             (mat_uint8_t *)sparse->data,
 3846|      0|                                                             packed_type, sparse->ndata);
 3847|      0|                            break;
 3848|      0|                        default:
  ------------------
  |  Branch (3848:25): [True: 0, False: 0]
  ------------------
 3849|      0|                            break;
 3850|      0|                    }
 3851|       |#else  /* EXTENDED_SPARSE */
 3852|       |                    nBytes =
 3853|       |                        ReadCompressedDoubleData(mat, matvar->internal->z, (double *)sparse->data,
 3854|       |                                                 packed_type, sparse->ndata);
 3855|       |#endif /* EXTENDED_SPARSE */
 3856|      0|                    if ( data_in_tag )
  ------------------
  |  Branch (3856:26): [True: 0, False: 0]
  ------------------
 3857|      0|                        nBytes += 4;
 3858|      0|                    if ( (nBytes % 8) != 0 )
  ------------------
  |  Branch (3858:26): [True: 0, False: 0]
  ------------------
 3859|      0|                        err = InflateSkip(mat, matvar->internal->z, 8 - (nBytes % 8), NULL);
 3860|      0|                } else if ( matvar->compression == MAT_COMPRESSION_ZLIB ) {
  ------------------
  |  Branch (3860:29): [True: 0, False: 0]
  ------------------
 3861|      0|                    if ( data_in_tag )
  ------------------
  |  Branch (3861:26): [True: 0, False: 0]
  ------------------
 3862|      0|                        nBytes = 4;
 3863|      0|                    if ( (nBytes % 8) != 0 )
  ------------------
  |  Branch (3863:26): [True: 0, False: 0]
  ------------------
 3864|      0|                        err = InflateSkip(mat, matvar->internal->z, 8 - (nBytes % 8), NULL);
 3865|      0|#endif /* HAVE_ZLIB */
 3866|      0|                }
 3867|      0|            }
 3868|     24|            break;
 3869|     24|        }
 3870|     24|        case MAT_C_FUNCTION: {
  ------------------
  |  Branch (3870:9): [True: 0, False: 1.11k]
  ------------------
 3871|      0|            matvar_t **functions;
 3872|      0|            size_t nfunctions = 0;
 3873|       |
 3874|      0|            if ( !matvar->nbytes || !matvar->data_size )
  ------------------
  |  Branch (3874:18): [True: 0, False: 0]
  |  Branch (3874:37): [True: 0, False: 0]
  ------------------
 3875|      0|                break;
 3876|      0|            nfunctions = matvar->nbytes / matvar->data_size;
 3877|      0|            functions = (matvar_t **)matvar->data;
 3878|      0|            if ( NULL != functions ) {
  ------------------
  |  Branch (3878:18): [True: 0, False: 0]
  ------------------
 3879|      0|                size_t i;
 3880|      0|                for ( i = 0; i < nfunctions; i++ ) {
  ------------------
  |  Branch (3880:30): [True: 0, False: 0]
  ------------------
 3881|      0|                    err = Mat_VarRead5(mat, functions[i]);
 3882|      0|                    if ( err )
  ------------------
  |  Branch (3882:26): [True: 0, False: 0]
  ------------------
 3883|      0|                        break;
 3884|      0|                }
 3885|      0|            }
 3886|       |            /* FIXME: */
 3887|      0|            matvar->data_type = MAT_T_FUNCTION;
 3888|      0|            break;
 3889|      0|        }
 3890|      4|        case MAT_C_OBJECT:
  ------------------
  |  Branch (3890:9): [True: 4, False: 1.10k]
  ------------------
 3891|      4|            Mat_Warning("Mat_VarRead5: %d is not a supported class", matvar->class_type);
 3892|      4|            break;
 3893|      0|        default:
  ------------------
  |  Branch (3893:9): [True: 0, False: 1.11k]
  ------------------
 3894|      0|            err = MATIO_E_OPERATION_NOT_SUPPORTED;
  ------------------
  |  |  250|      0|#define MATIO_E_OPERATION_NOT_SUPPORTED 13
  ------------------
 3895|      0|            Mat_Critical("Mat_VarRead5: %d is not a supported class", matvar->class_type);
 3896|      0|            break;
 3897|  1.11k|    }
 3898|  1.11k|    switch ( matvar->class_type ) {
 3899|    117|        case MAT_C_DOUBLE:
  ------------------
  |  Branch (3899:9): [True: 117, False: 996]
  ------------------
 3900|    172|        case MAT_C_SINGLE:
  ------------------
  |  Branch (3900:9): [True: 55, False: 1.05k]
  ------------------
 3901|    172|#ifdef HAVE_MAT_INT64_T
 3902|    340|        case MAT_C_INT64:
  ------------------
  |  Branch (3902:9): [True: 168, False: 945]
  ------------------
 3903|    340|#endif
 3904|    340|#ifdef HAVE_MAT_UINT64_T
 3905|    456|        case MAT_C_UINT64:
  ------------------
  |  Branch (3905:9): [True: 116, False: 997]
  ------------------
 3906|    456|#endif
 3907|    567|        case MAT_C_INT32:
  ------------------
  |  Branch (3907:9): [True: 111, False: 1.00k]
  ------------------
 3908|    695|        case MAT_C_UINT32:
  ------------------
  |  Branch (3908:9): [True: 128, False: 985]
  ------------------
 3909|    768|        case MAT_C_INT16:
  ------------------
  |  Branch (3909:9): [True: 73, False: 1.04k]
  ------------------
 3910|    899|        case MAT_C_UINT16:
  ------------------
  |  Branch (3910:9): [True: 131, False: 982]
  ------------------
 3911|    940|        case MAT_C_INT8:
  ------------------
  |  Branch (3911:9): [True: 41, False: 1.07k]
  ------------------
 3912|  1.00k|        case MAT_C_UINT8:
  ------------------
  |  Branch (3912:9): [True: 66, False: 1.04k]
  ------------------
 3913|  1.00k|            if ( matvar->isComplex ) {
  ------------------
  |  Branch (3913:18): [True: 715, False: 291]
  ------------------
 3914|    715|                mat_complex_split_t *complex_data;
 3915|       |
 3916|    715|                err = Mul(&matvar->nbytes, nelems, matvar->data_size);
 3917|    715|                if ( err ) {
  ------------------
  |  Branch (3917:22): [True: 4, False: 711]
  ------------------
 3918|      4|                    Mat_Critical("Integer multiplication overflow");
 3919|      4|                    break;
 3920|      4|                }
 3921|       |
 3922|    711|                complex_data = ComplexMalloc(matvar->nbytes);
 3923|    711|                if ( NULL == complex_data ) {
  ------------------
  |  Branch (3923:22): [True: 1, False: 710]
  ------------------
 3924|      1|                    err = MATIO_E_OUT_OF_MEMORY;
  ------------------
  |  |  251|      1|#define MATIO_E_OUT_OF_MEMORY 14
  ------------------
 3925|      1|                    Mat_Critical("Couldn't allocate memory for the complex data");
 3926|      1|                    break;
 3927|      1|                }
 3928|       |
 3929|    710|                err = Mat_VarReadNumeric5(mat, matvar, complex_data->Re, nelems);
 3930|    710|                if ( err ) {
  ------------------
  |  Branch (3930:22): [True: 5, False: 705]
  ------------------
 3931|      5|                    ComplexFree(complex_data);
 3932|      5|                    break;
 3933|      5|                }
 3934|    705|                err = Mat_VarReadNumeric5(mat, matvar, complex_data->Im, nelems);
 3935|    705|                if ( err ) {
  ------------------
  |  Branch (3935:22): [True: 223, False: 482]
  ------------------
 3936|    223|                    ComplexFree(complex_data);
 3937|    223|                    break;
 3938|    223|                }
 3939|    482|                matvar->data = complex_data;
 3940|    482|            } else {
 3941|    291|                void *data;
 3942|    291|                err = Mul(&matvar->nbytes, nelems, matvar->data_size);
 3943|    291|                if ( err ) {
  ------------------
  |  Branch (3943:22): [True: 0, False: 291]
  ------------------
 3944|      0|                    Mat_Critical("Integer multiplication overflow");
 3945|      0|                    break;
 3946|      0|                }
 3947|       |
 3948|    291|                data = malloc(matvar->nbytes);
 3949|    291|                if ( NULL == data ) {
  ------------------
  |  Branch (3949:22): [True: 0, False: 291]
  ------------------
 3950|      0|                    err = MATIO_E_OUT_OF_MEMORY;
  ------------------
  |  |  251|      0|#define MATIO_E_OUT_OF_MEMORY 14
  ------------------
 3951|      0|                    Mat_Critical("Couldn't allocate memory for the data");
 3952|      0|                    break;
 3953|      0|                }
 3954|    291|                err = Mat_VarReadNumeric5(mat, matvar, data, nelems);
 3955|    291|                if ( err ) {
  ------------------
  |  Branch (3955:22): [True: 0, False: 291]
  ------------------
 3956|      0|                    free(data);
 3957|      0|                    break;
 3958|      0|                }
 3959|    291|                matvar->data = data;
 3960|    291|            }
 3961|    880|        default:
  ------------------
  |  Branch (3961:9): [True: 107, False: 1.00k]
  ------------------
 3962|    880|            break;
 3963|  1.11k|    }
 3964|  1.11k|    (void)fseeko((FILE *)mat->fp, fpos, SEEK_SET);
 3965|       |
 3966|  1.11k|    return err;
 3967|  1.11k|}
Mat_VarReadNextInfo5:
 5155|  2.32k|{
 5156|  2.32k|    int err;
 5157|  2.32k|    mat_uint32_t data_type, nBytes;
 5158|  2.32k|    mat_off_t fpos;
  ------------------
  |  |   63|  2.32k|#define mat_off_t off_t
  ------------------
 5159|  2.32k|    matvar_t *matvar = NULL;
 5160|       |
 5161|  2.32k|    if ( mat == NULL || mat->fp == NULL )
  ------------------
  |  Branch (5161:10): [True: 0, False: 2.32k]
  |  Branch (5161:25): [True: 0, False: 2.32k]
  ------------------
 5162|      0|        return NULL;
 5163|       |
 5164|  2.32k|    if ( IsEndOfFile((FILE *)mat->fp, &fpos) )
  ------------------
  |  Branch (5164:10): [True: 0, False: 2.32k]
  ------------------
 5165|      0|        return NULL;
 5166|       |
 5167|  2.32k|    if ( fpos == -1L )
  ------------------
  |  Branch (5167:10): [True: 0, False: 2.32k]
  ------------------
 5168|      0|        return NULL;
 5169|       |
 5170|  2.32k|    {
 5171|  2.32k|        size_t nbytes = 0;
 5172|  2.32k|        err = Read(&data_type, sizeof(mat_uint32_t), 1, (FILE *)mat->fp, &nbytes);
 5173|  2.32k|        if ( err || 0 == nbytes )
  ------------------
  |  Branch (5173:14): [True: 2, False: 2.32k]
  |  Branch (5173:21): [True: 0, False: 2.32k]
  ------------------
 5174|      2|            return NULL;
 5175|  2.32k|    }
 5176|  2.32k|    err = Read(&nBytes, sizeof(mat_uint32_t), 1, (FILE *)mat->fp, NULL);
 5177|  2.32k|    if ( err )
  ------------------
  |  Branch (5177:10): [True: 0, False: 2.32k]
  ------------------
 5178|      0|        return NULL;
 5179|  2.32k|    if ( mat->byteswap ) {
  ------------------
  |  Branch (5179:10): [True: 506, False: 1.81k]
  ------------------
 5180|    506|        (void)Mat_uint32Swap(&data_type);
 5181|    506|        (void)Mat_uint32Swap(&nBytes);
 5182|    506|    }
 5183|  2.32k|    if ( nBytes > UINT32_MAX - 8 )
  ------------------
  |  Branch (5183:10): [True: 0, False: 2.32k]
  ------------------
 5184|      0|        return NULL;
 5185|  2.32k|    switch ( data_type ) {
 5186|     13|        case MAT_T_COMPRESSED: {
  ------------------
  |  Branch (5186:9): [True: 13, False: 2.31k]
  ------------------
 5187|     13|#if HAVE_ZLIB
 5188|     13|            mat_uint32_t uncomp_buf[16];
 5189|     13|            size_t bytesread = 0;
 5190|       |
 5191|     13|            memset(&uncomp_buf, 0, sizeof(uncomp_buf));
 5192|     13|            matvar = Mat_VarCalloc();
 5193|     13|            if ( NULL == matvar ) {
  ------------------
  |  Branch (5193:18): [True: 0, False: 13]
  ------------------
 5194|      0|                Mat_Critical("Couldn't allocate memory");
 5195|      0|                break;
 5196|      0|            }
 5197|       |
 5198|     13|            matvar->compression = MAT_COMPRESSION_ZLIB;
 5199|     13|            matvar->internal->z = (z_streamp)calloc(1, sizeof(z_stream));
 5200|     13|            err = inflateInit(matvar->internal->z);
  ------------------
  |  | 1819|     13|          inflateInit_((strm), ZLIB_VERSION, (int)sizeof(z_stream))
  |  |  ------------------
  |  |  |  |   40|     13|#define ZLIB_VERSION "1.3.1.1-motley"
  |  |  ------------------
  ------------------
 5201|     13|            if ( err != Z_OK ) {
  ------------------
  |  |  177|     13|#define Z_OK            0
  ------------------
  |  Branch (5201:18): [True: 0, False: 13]
  ------------------
 5202|      0|                Mat_VarFree(matvar);
 5203|      0|                matvar = NULL;
 5204|      0|                Mat_Critical("inflateInit returned %s", zError(err));
 5205|      0|                break;
 5206|      0|            }
 5207|       |
 5208|       |            /* Read variable tag */
 5209|     13|            err = Inflate(mat, matvar->internal->z, uncomp_buf, 8, &bytesread);
 5210|     13|            if ( err ) {
  ------------------
  |  Branch (5210:18): [True: 0, False: 13]
  ------------------
 5211|      0|                Mat_VarFree(matvar);
 5212|      0|                matvar = NULL;
 5213|      0|                break;
 5214|      0|            }
 5215|     13|            if ( mat->byteswap ) {
  ------------------
  |  Branch (5215:18): [True: 0, False: 13]
  ------------------
 5216|      0|                (void)Mat_uint32Swap(uncomp_buf);
 5217|      0|                (void)Mat_uint32Swap(uncomp_buf + 1);
 5218|      0|            }
 5219|     13|            if ( uncomp_buf[0] != MAT_T_MATRIX ) {
  ------------------
  |  Branch (5219:18): [True: 0, False: 13]
  ------------------
 5220|      0|                (void)fseeko((FILE *)mat->fp, (mat_off_t)(nBytes - bytesread), SEEK_CUR);
 5221|      0|                Mat_VarFree(matvar);
 5222|      0|                matvar = NULL;
 5223|      0|                Mat_Critical("Uncompressed type not MAT_T_MATRIX");
 5224|      0|                break;
 5225|      0|            }
 5226|       |            /* Array flags */
 5227|     13|            err = Inflate(mat, matvar->internal->z, uncomp_buf, 16, &bytesread);
 5228|     13|            if ( err ) {
  ------------------
  |  Branch (5228:18): [True: 0, False: 13]
  ------------------
 5229|      0|                Mat_VarFree(matvar);
 5230|      0|                matvar = NULL;
 5231|      0|                break;
 5232|      0|            }
 5233|     13|            if ( mat->byteswap ) {
  ------------------
  |  Branch (5233:18): [True: 0, False: 13]
  ------------------
 5234|      0|                (void)Mat_uint32Swap(uncomp_buf);
 5235|      0|                (void)Mat_uint32Swap(uncomp_buf + 2);
 5236|      0|                (void)Mat_uint32Swap(uncomp_buf + 3);
 5237|      0|            }
 5238|       |            /* Array flags */
 5239|     13|            if ( uncomp_buf[0] == MAT_T_UINT32 ) {
  ------------------
  |  Branch (5239:18): [True: 8, False: 5]
  ------------------
 5240|      8|                mat_uint32_t array_flags = uncomp_buf[2];
 5241|      8|                matvar->class_type = CLASS_FROM_ARRAY_FLAGS(array_flags);
  ------------------
  |  |   50|      8|    (((a) & 0x000000ff) <= MAT_C_OPAQUE) ? ((enum matio_classes)((a) & 0x000000ff)) : MAT_C_EMPTY
  |  |  ------------------
  |  |  |  Branch (50:5): [True: 8, False: 0]
  |  |  ------------------
  ------------------
 5242|      8|                matvar->isComplex = (array_flags & MAT_F_COMPLEX);
 5243|      8|                matvar->isGlobal = (array_flags & MAT_F_GLOBAL);
 5244|      8|                matvar->isLogical = (array_flags & MAT_F_LOGICAL);
 5245|      8|                if ( matvar->class_type == MAT_C_SPARSE ) {
  ------------------
  |  Branch (5245:22): [True: 0, False: 8]
  ------------------
 5246|       |                    /* Need to find a more appropriate place to store nzmax */
 5247|      0|                    matvar->nbytes = uncomp_buf[3];
 5248|      0|                }
 5249|      8|            }
 5250|     13|            if ( matvar->class_type != MAT_C_OPAQUE ) {
  ------------------
  |  Branch (5250:18): [True: 13, False: 0]
  ------------------
 5251|     13|                mat_uint32_t *dims = NULL;
 5252|     13|                int do_clean = 0;
 5253|     13|                err = InflateRankDims(mat, matvar->internal->z, uncomp_buf, sizeof(uncomp_buf),
 5254|     13|                                      &dims, &bytesread);
 5255|     13|                if ( NULL == dims ) {
  ------------------
  |  Branch (5255:22): [True: 13, False: 0]
  ------------------
 5256|     13|                    dims = uncomp_buf + 2;
 5257|     13|                } else {
 5258|      0|                    do_clean = 1;
 5259|      0|                }
 5260|     13|                if ( err ) {
  ------------------
  |  Branch (5260:22): [True: 0, False: 13]
  ------------------
 5261|      0|                    if ( do_clean ) {
  ------------------
  |  Branch (5261:26): [True: 0, False: 0]
  ------------------
 5262|      0|                        free(dims);
 5263|      0|                    }
 5264|      0|                    Mat_VarFree(matvar);
 5265|      0|                    matvar = NULL;
 5266|      0|                    break;
 5267|      0|                }
 5268|     13|                if ( mat->byteswap ) {
  ------------------
  |  Branch (5268:22): [True: 0, False: 13]
  ------------------
 5269|      0|                    (void)Mat_uint32Swap(uncomp_buf);
 5270|      0|                    (void)Mat_uint32Swap(uncomp_buf + 1);
 5271|      0|                }
 5272|       |                /* Rank and dimension */
 5273|     13|                if ( uncomp_buf[0] == MAT_T_INT32 ) {
  ------------------
  |  Branch (5273:22): [True: 13, False: 0]
  ------------------
 5274|     13|                    int j;
 5275|     13|                    size_t size;
 5276|     13|                    int nbytes = uncomp_buf[1];
 5277|     13|                    matvar->rank = nbytes / 4;
 5278|     13|                    if ( 0 == do_clean && matvar->rank > 13 ) {
  ------------------
  |  Branch (5278:26): [True: 13, False: 0]
  |  Branch (5278:43): [True: 0, False: 13]
  ------------------
 5279|      0|                        int rank = matvar->rank;
 5280|      0|                        matvar->rank = 0;
 5281|      0|                        Mat_Critical("%d is not a valid rank", rank);
 5282|      0|                        break;
 5283|      0|                    }
 5284|     13|                    err = Mul(&size, matvar->rank, sizeof(*matvar->dims));
 5285|     13|                    if ( err ) {
  ------------------
  |  Branch (5285:26): [True: 0, False: 13]
  ------------------
 5286|      0|                        if ( do_clean ) {
  ------------------
  |  Branch (5286:30): [True: 0, False: 0]
  ------------------
 5287|      0|                            free(dims);
 5288|      0|                        }
 5289|      0|                        (void)fseeko((FILE *)mat->fp, (mat_off_t)(nBytes - bytesread), SEEK_CUR);
 5290|      0|                        Mat_VarFree(matvar);
 5291|      0|                        matvar = NULL;
 5292|      0|                        Mat_Critical("Integer multiplication overflow");
 5293|      0|                        break;
 5294|      0|                    }
 5295|     13|                    matvar->dims = (size_t *)malloc(size);
 5296|     13|                    if ( NULL == matvar->dims ) {
  ------------------
  |  Branch (5296:26): [True: 0, False: 13]
  ------------------
 5297|      0|                        if ( do_clean )
  ------------------
  |  Branch (5297:30): [True: 0, False: 0]
  ------------------
 5298|      0|                            free(dims);
 5299|      0|                        (void)fseeko((FILE *)mat->fp, (mat_off_t)(nBytes - bytesread), SEEK_CUR);
 5300|      0|                        Mat_VarFree(matvar);
 5301|      0|                        matvar = NULL;
 5302|      0|                        Mat_Critical("Couldn't allocate memory");
 5303|      0|                        break;
 5304|      0|                    }
 5305|     13|                    if ( mat->byteswap ) {
  ------------------
  |  Branch (5305:26): [True: 0, False: 13]
  ------------------
 5306|      0|                        for ( j = 0; j < matvar->rank; j++ )
  ------------------
  |  Branch (5306:38): [True: 0, False: 0]
  ------------------
 5307|      0|                            matvar->dims[j] = Mat_uint32Swap(dims + j);
 5308|     13|                    } else {
 5309|     39|                        for ( j = 0; j < matvar->rank; j++ )
  ------------------
  |  Branch (5309:38): [True: 26, False: 13]
  ------------------
 5310|     26|                            matvar->dims[j] = dims[j];
 5311|     13|                    }
 5312|     13|                }
 5313|     13|                if ( do_clean ) {
  ------------------
  |  Branch (5313:22): [True: 0, False: 13]
  ------------------
 5314|      0|                    free(dims);
 5315|      0|                }
 5316|       |                /* Variable name tag */
 5317|     13|                err = Inflate(mat, matvar->internal->z, uncomp_buf, 8, &bytesread);
 5318|     13|                if ( err ) {
  ------------------
  |  Branch (5318:22): [True: 0, False: 13]
  ------------------
 5319|      0|                    Mat_VarFree(matvar);
 5320|      0|                    matvar = NULL;
 5321|      0|                    break;
 5322|      0|                }
 5323|     13|                if ( mat->byteswap )
  ------------------
  |  Branch (5323:22): [True: 0, False: 13]
  ------------------
 5324|      0|                    (void)Mat_uint32Swap(uncomp_buf);
 5325|       |                /* Name of variable */
 5326|     13|                if ( uncomp_buf[0] == MAT_T_INT8 ) { /* Name not in tag */
  ------------------
  |  Branch (5326:22): [True: 0, False: 13]
  ------------------
 5327|      0|                    mat_uint32_t len, len_pad;
 5328|      0|                    if ( mat->byteswap )
  ------------------
  |  Branch (5328:26): [True: 0, False: 0]
  ------------------
 5329|      0|                        len = Mat_uint32Swap(uncomp_buf + 1);
 5330|      0|                    else
 5331|      0|                        len = uncomp_buf[1];
 5332|       |
 5333|      0|                    if ( len % 8 == 0 )
  ------------------
  |  Branch (5333:26): [True: 0, False: 0]
  ------------------
 5334|      0|                        len_pad = len;
 5335|      0|                    else if ( len < UINT32_MAX - 8 + (len % 8) )
  ------------------
  |  Branch (5335:31): [True: 0, False: 0]
  ------------------
 5336|      0|                        len_pad = len + 8 - (len % 8);
 5337|      0|                    else {
 5338|      0|                        Mat_VarFree(matvar);
 5339|      0|                        matvar = NULL;
 5340|      0|                        break;
 5341|      0|                    }
 5342|      0|                    matvar->name = (char *)malloc(len_pad + 1);
 5343|      0|                    if ( NULL != matvar->name ) {
  ------------------
  |  Branch (5343:26): [True: 0, False: 0]
  ------------------
 5344|       |                        /* Variable name */
 5345|      0|                        err = Inflate(mat, matvar->internal->z, matvar->name, len_pad, &bytesread);
 5346|      0|                        if ( err ) {
  ------------------
  |  Branch (5346:30): [True: 0, False: 0]
  ------------------
 5347|      0|                            Mat_VarFree(matvar);
 5348|      0|                            matvar = NULL;
 5349|      0|                            break;
 5350|      0|                        }
 5351|      0|                        matvar->name[len] = '\0';
 5352|      0|                    }
 5353|     13|                } else {
 5354|     13|                    mat_uint32_t len = (uncomp_buf[0] & 0xffff0000) >> 16;
 5355|     13|                    if ( ((uncomp_buf[0] & 0x0000ffff) == MAT_T_INT8) && len > 0 && len <= 4 ) {
  ------------------
  |  Branch (5355:26): [True: 8, False: 5]
  |  Branch (5355:74): [True: 8, False: 0]
  |  Branch (5355:85): [True: 8, False: 0]
  ------------------
 5356|       |                        /* Name packed in tag */
 5357|      8|                        matvar->name = (char *)malloc(len + 1);
 5358|      8|                        if ( NULL != matvar->name ) {
  ------------------
  |  Branch (5358:30): [True: 8, False: 0]
  ------------------
 5359|      8|                            memcpy(matvar->name, uncomp_buf + 1, len);
 5360|      8|                            matvar->name[len] = '\0';
 5361|      8|                        }
 5362|      8|                    }
 5363|     13|                }
 5364|     13|                if ( matvar->class_type == MAT_C_STRUCT )
  ------------------
  |  Branch (5364:22): [True: 0, False: 13]
  ------------------
 5365|      0|                    (void)ReadNextStructField(mat, matvar);
 5366|     13|                else if ( matvar->class_type == MAT_C_CELL )
  ------------------
  |  Branch (5366:27): [True: 8, False: 5]
  ------------------
 5367|      8|                    (void)ReadNextCell(mat, matvar);
 5368|     13|                (void)fseeko((FILE *)mat->fp, -(mat_off_t)matvar->internal->z->avail_in, SEEK_CUR);
 5369|     13|                matvar->internal->datapos = ftello((FILE *)mat->fp);
 5370|     13|                if ( matvar->internal->datapos == -1L ) {
  ------------------
  |  Branch (5370:22): [True: 0, False: 13]
  ------------------
 5371|      0|                    Mat_Critical("Couldn't determine file position");
 5372|      0|                }
 5373|     13|            }
 5374|     13|            (void)fseeko((FILE *)mat->fp, nBytes + 8 + fpos, SEEK_SET);
 5375|     13|            break;
 5376|       |#else
 5377|       |            Mat_Critical(
 5378|       |                "Compressed variable found in \"%s\", but matio was "
 5379|       |                "built without zlib support",
 5380|       |                mat->filename);
 5381|       |            (void)fseeko((FILE *)mat->fp, nBytes + 8 + fpos, SEEK_SET);
 5382|       |            return NULL;
 5383|       |#endif
 5384|     13|        }
 5385|  2.17k|        case MAT_T_MATRIX: {
  ------------------
  |  Branch (5385:9): [True: 2.17k, False: 152]
  ------------------
 5386|  2.17k|            mat_uint32_t buf[6];
 5387|       |
 5388|       |            /* Read array flags and the dimensions tag */
 5389|  2.17k|            err = Read(buf, 4, 6, (FILE *)mat->fp, NULL);
 5390|  2.17k|            if ( err ) {
  ------------------
  |  Branch (5390:18): [True: 0, False: 2.17k]
  ------------------
 5391|      0|                (void)fseeko((FILE *)mat->fp, fpos, SEEK_SET);
 5392|      0|                break;
 5393|      0|            }
 5394|  2.17k|            if ( mat->byteswap ) {
  ------------------
  |  Branch (5394:18): [True: 471, False: 1.70k]
  ------------------
 5395|    471|                (void)Mat_uint32Swap(buf);
 5396|    471|                (void)Mat_uint32Swap(buf + 1);
 5397|    471|                (void)Mat_uint32Swap(buf + 2);
 5398|    471|                (void)Mat_uint32Swap(buf + 3);
 5399|    471|                (void)Mat_uint32Swap(buf + 4);
 5400|    471|                (void)Mat_uint32Swap(buf + 5);
 5401|    471|            }
 5402|       |
 5403|  2.17k|            matvar = Mat_VarCalloc();
 5404|  2.17k|            if ( NULL == matvar ) {
  ------------------
  |  Branch (5404:18): [True: 0, False: 2.17k]
  ------------------
 5405|      0|                Mat_Critical("Couldn't allocate memory");
 5406|      0|                break;
 5407|      0|            }
 5408|       |
 5409|       |            /* Array flags */
 5410|  2.17k|            if ( buf[0] == MAT_T_UINT32 || buf[0] == MAT_T_INT32 ) { /* Also allow INT32 for SWAN */
  ------------------
  |  Branch (5410:18): [True: 2.01k, False: 152]
  |  Branch (5410:44): [True: 0, False: 152]
  ------------------
 5411|  2.01k|                mat_uint32_t array_flags = buf[2];
 5412|  2.01k|                matvar->class_type = CLASS_FROM_ARRAY_FLAGS(array_flags);
  ------------------
  |  |   50|  2.01k|    (((a) & 0x000000ff) <= MAT_C_OPAQUE) ? ((enum matio_classes)((a) & 0x000000ff)) : MAT_C_EMPTY
  |  |  ------------------
  |  |  |  Branch (50:5): [True: 2.01k, False: 0]
  |  |  ------------------
  ------------------
 5413|  2.01k|                matvar->isComplex = (array_flags & MAT_F_COMPLEX);
 5414|  2.01k|                matvar->isGlobal = (array_flags & MAT_F_GLOBAL);
 5415|  2.01k|                matvar->isLogical = (array_flags & MAT_F_LOGICAL);
 5416|  2.01k|                if ( matvar->class_type == MAT_C_SPARSE ) {
  ------------------
  |  Branch (5416:22): [True: 127, False: 1.89k]
  ------------------
 5417|       |                    /* Need to find a more appropriate place to store nzmax */
 5418|    127|                    matvar->nbytes = buf[3];
 5419|    127|                }
 5420|  2.01k|            }
 5421|       |            /* Rank and dimension */
 5422|  2.17k|            {
 5423|  2.17k|                size_t nbytes = 0;
 5424|  2.17k|                err = ReadRankDims(mat, matvar, (enum matio_types)buf[4], buf[5], &nbytes);
 5425|  2.17k|                if ( err ) {
  ------------------
  |  Branch (5425:22): [True: 3, False: 2.16k]
  ------------------
 5426|      3|                    Mat_VarFree(matvar);
 5427|      3|                    matvar = NULL;
 5428|      3|                    (void)fseeko((FILE *)mat->fp, fpos, SEEK_SET);
 5429|      3|                    break;
 5430|      3|                }
 5431|  2.17k|            }
 5432|       |            /* Variable name tag */
 5433|  2.16k|            err = Read(buf, 4, 2, (FILE *)mat->fp, NULL);
 5434|  2.16k|            if ( err ) {
  ------------------
  |  Branch (5434:18): [True: 0, False: 2.16k]
  ------------------
 5435|      0|                Mat_VarFree(matvar);
 5436|      0|                matvar = NULL;
 5437|      0|                (void)fseeko((FILE *)mat->fp, fpos, SEEK_SET);
 5438|      0|                break;
 5439|      0|            }
 5440|  2.16k|            if ( mat->byteswap )
  ------------------
  |  Branch (5440:18): [True: 468, False: 1.70k]
  ------------------
 5441|    468|                (void)Mat_uint32Swap(buf);
 5442|       |            /* Name of variable */
 5443|  2.16k|            if ( buf[0] == MAT_T_INT8 ) { /* Name not in tag */
  ------------------
  |  Branch (5443:18): [True: 1.21k, False: 956]
  ------------------
 5444|  1.21k|                mat_uint32_t len, len_pad;
 5445|  1.21k|                if ( mat->byteswap )
  ------------------
  |  Branch (5445:22): [True: 305, False: 907]
  ------------------
 5446|    305|                    len = Mat_uint32Swap(buf + 1);
 5447|    907|                else
 5448|    907|                    len = buf[1];
 5449|  1.21k|                if ( len % 8 == 0 )
  ------------------
  |  Branch (5449:22): [True: 1.16k, False: 43]
  ------------------
 5450|  1.16k|                    len_pad = len;
 5451|     43|                else if ( len < UINT32_MAX - 8 + (len % 8) )
  ------------------
  |  Branch (5451:27): [True: 43, False: 0]
  ------------------
 5452|     43|                    len_pad = len + 8 - (len % 8);
 5453|      0|                else {
 5454|      0|                    Mat_VarFree(matvar);
 5455|      0|                    matvar = NULL;
 5456|      0|                    (void)fseeko((FILE *)mat->fp, fpos, SEEK_SET);
 5457|      0|                    break;
 5458|      0|                }
 5459|  1.21k|                if ( len_pad > MAX_READ_SIZE_WITHOUT_EOF_CHECK ) {
  ------------------
  |  |   56|  1.21k|#define MAX_READ_SIZE_WITHOUT_EOF_CHECK (3)
  ------------------
  |  Branch (5459:22): [True: 1.04k, False: 170]
  ------------------
 5460|  1.04k|                    err = CheckSeekFile((FILE *)mat->fp, (mat_off_t)len_pad);
 5461|  1.04k|                    if ( err ) {
  ------------------
  |  Branch (5461:26): [True: 0, False: 1.04k]
  ------------------
 5462|      0|                        Mat_VarFree(matvar);
 5463|      0|                        matvar = NULL;
 5464|      0|                        (void)fseeko((FILE *)mat->fp, fpos, SEEK_SET);
 5465|      0|                        break;
 5466|      0|                    }
 5467|  1.04k|                }
 5468|  1.21k|                matvar->name = (char *)malloc(len_pad + 1);
 5469|  1.21k|                if ( NULL != matvar->name ) {
  ------------------
  |  Branch (5469:22): [True: 1.21k, False: 0]
  ------------------
 5470|  1.21k|                    err = Read(matvar->name, 1, len_pad, (FILE *)mat->fp, NULL);
 5471|  1.21k|                    if ( MATIO_E_NO_ERROR == err ) {
  ------------------
  |  |  241|  1.21k|#define MATIO_E_NO_ERROR 0
  ------------------
  |  Branch (5471:26): [True: 1.21k, False: 0]
  ------------------
 5472|  1.21k|                        matvar->name[len] = '\0';
 5473|  1.21k|                    } else {
 5474|      0|                        Mat_VarFree(matvar);
 5475|      0|                        matvar = NULL;
 5476|      0|                        (void)fseeko((FILE *)mat->fp, fpos, SEEK_SET);
 5477|      0|                        break;
 5478|      0|                    }
 5479|  1.21k|                }
 5480|  1.21k|            } else {
 5481|    956|                mat_uint32_t len = (buf[0] & 0xffff0000) >> 16;
 5482|    956|                if ( ((buf[0] & 0x0000ffff) == MAT_T_INT8) && len > 0 && len <= 4 ) {
  ------------------
  |  Branch (5482:22): [True: 15, False: 941]
  |  Branch (5482:63): [True: 15, False: 0]
  |  Branch (5482:74): [True: 4, False: 11]
  ------------------
 5483|       |                    /* Name packed in tag */
 5484|      4|                    matvar->name = (char *)malloc(len + 1);
 5485|      4|                    if ( NULL != matvar->name ) {
  ------------------
  |  Branch (5485:26): [True: 4, False: 0]
  ------------------
 5486|      4|                        memcpy(matvar->name, buf + 1, len);
 5487|      4|                        matvar->name[len] = '\0';
 5488|      4|                    }
 5489|      4|                }
 5490|    956|            }
 5491|  2.16k|            if ( matvar->class_type == MAT_C_STRUCT )
  ------------------
  |  Branch (5491:18): [True: 4, False: 2.16k]
  ------------------
 5492|      4|                (void)ReadNextStructField(mat, matvar);
 5493|  2.16k|            else if ( matvar->class_type == MAT_C_CELL )
  ------------------
  |  Branch (5493:23): [True: 0, False: 2.16k]
  ------------------
 5494|      0|                (void)ReadNextCell(mat, matvar);
 5495|  2.16k|            else if ( matvar->class_type == MAT_C_FUNCTION )
  ------------------
  |  Branch (5495:23): [True: 0, False: 2.16k]
  ------------------
 5496|      0|                (void)ReadNextFunctionHandle(mat, matvar);
 5497|  2.16k|            matvar->internal->datapos = ftello((FILE *)mat->fp);
 5498|  2.16k|            if ( matvar->internal->datapos == -1L ) {
  ------------------
  |  Branch (5498:18): [True: 0, False: 2.16k]
  ------------------
 5499|      0|                Mat_Critical("Couldn't determine file position");
 5500|      0|            }
 5501|  2.16k|            (void)fseeko((FILE *)mat->fp, nBytes + 8 + fpos, SEEK_SET);
 5502|  2.16k|            break;
 5503|  2.16k|        }
 5504|    139|        default:
  ------------------
  |  Branch (5504:9): [True: 139, False: 2.18k]
  ------------------
 5505|    139|            Mat_Critical("%u is not valid (MAT_T_MATRIX or MAT_T_COMPRESSED)", data_type);
 5506|    139|            return NULL;
 5507|  2.32k|    }
 5508|       |
 5509|  2.18k|    return matvar;
 5510|  2.32k|}
mat5.c:ReadSparse:
  479|    160|{
  480|    160|    int data_in_tag = 0;
  481|    160|    enum matio_types packed_type;
  482|    160|    size_t bytesread = 0;
  483|    160|    mat_uint32_t N = 0;
  484|       |
  485|    160|    if ( matvar->compression == MAT_COMPRESSION_ZLIB ) {
  ------------------
  |  Branch (485:10): [True: 0, False: 160]
  ------------------
  486|      0|#if HAVE_ZLIB
  487|      0|        mat_uint32_t tag[2] = {0, 0};
  488|      0|        matvar->internal->z->avail_in = 0;
  489|      0|        if ( 0 != Inflate(mat, matvar->internal->z, tag, 4, &bytesread) ) {
  ------------------
  |  Branch (489:14): [True: 0, False: 0]
  ------------------
  490|      0|            return bytesread;
  491|      0|        }
  492|      0|        if ( mat->byteswap )
  ------------------
  |  Branch (492:14): [True: 0, False: 0]
  ------------------
  493|      0|            (void)Mat_uint32Swap(tag);
  494|      0|        packed_type = TYPE_FROM_TAG(tag[0]);
  ------------------
  |  |   47|      0|    (((a) & 0x000000ff) <= MAT_T_FUNCTION) ? (enum matio_types)((a) & 0x000000ff) : MAT_T_UNKNOWN
  |  |  ------------------
  |  |  |  Branch (47:5): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  495|      0|        if ( tag[0] & 0xffff0000 ) { /* Data is in the tag */
  ------------------
  |  Branch (495:14): [True: 0, False: 0]
  ------------------
  496|      0|            data_in_tag = 1;
  497|      0|            N = (tag[0] & 0xffff0000) >> 16;
  498|      0|        } else {
  499|      0|            data_in_tag = 0;
  500|      0|            (void)ReadCompressedUInt32Data(mat, matvar->internal->z, &N, MAT_T_UINT32, 1);
  501|      0|        }
  502|      0|#endif
  503|    160|    } else {
  504|    160|        mat_uint32_t tag[2] = {0, 0};
  505|    160|        if ( 0 != Read(tag, 4, 1, (FILE *)mat->fp, &bytesread) ) {
  ------------------
  |  Branch (505:14): [True: 2, False: 158]
  ------------------
  506|      2|            return bytesread;
  507|      2|        }
  508|    158|        if ( mat->byteswap )
  ------------------
  |  Branch (508:14): [True: 24, False: 134]
  ------------------
  509|     24|            (void)Mat_uint32Swap(tag);
  510|    158|        packed_type = TYPE_FROM_TAG(tag[0]);
  ------------------
  |  |   47|    158|    (((a) & 0x000000ff) <= MAT_T_FUNCTION) ? (enum matio_types)((a) & 0x000000ff) : MAT_T_UNKNOWN
  |  |  ------------------
  |  |  |  Branch (47:5): [True: 146, False: 12]
  |  |  ------------------
  ------------------
  511|    158|        if ( tag[0] & 0xffff0000 ) { /* Data is in the tag */
  ------------------
  |  Branch (511:14): [True: 154, False: 4]
  ------------------
  512|    154|            data_in_tag = 1;
  513|    154|            N = (tag[0] & 0xffff0000) >> 16;
  514|    154|        } else {
  515|      4|            data_in_tag = 0;
  516|      4|            if ( 0 != Read(&N, 4, 1, (FILE *)mat->fp, &bytesread) ) {
  ------------------
  |  Branch (516:18): [True: 0, False: 4]
  ------------------
  517|      0|                return bytesread;
  518|      0|            }
  519|      4|            if ( mat->byteswap )
  ------------------
  |  Branch (519:18): [True: 2, False: 2]
  ------------------
  520|      2|                (void)Mat_uint32Swap(&N);
  521|      4|        }
  522|    158|    }
  523|    158|    if ( 0 == N )
  ------------------
  |  Branch (523:10): [True: 0, False: 158]
  ------------------
  524|      0|        return bytesread;
  525|    158|    *n = N / 4;
  526|    158|    *v = (mat_uint32_t *)calloc(N, 1);
  527|    158|    if ( NULL != *v ) {
  ------------------
  |  Branch (527:10): [True: 158, False: 0]
  ------------------
  528|    158|        if ( matvar->compression == MAT_COMPRESSION_NONE ) {
  ------------------
  |  Branch (528:14): [True: 158, False: 0]
  ------------------
  529|    158|            int nBytes = ReadUInt32Data(mat, *v, packed_type, *n);
  530|       |            /*
  531|       |                * If the data was in the tag we started on a 4-byte
  532|       |                * boundary so add 4 to make it an 8-byte
  533|       |                */
  534|    158|            nBytes *= Mat_SizeOf(packed_type);
  535|    158|            if ( data_in_tag )
  ------------------
  |  Branch (535:18): [True: 154, False: 4]
  ------------------
  536|    154|                nBytes += 4;
  537|    158|            if ( (nBytes % 8) != 0 )
  ------------------
  |  Branch (537:18): [True: 154, False: 4]
  ------------------
  538|    154|                (void)fseeko((FILE *)mat->fp, 8 - (nBytes % 8), SEEK_CUR);
  539|    158|#if HAVE_ZLIB
  540|    158|        } else if ( matvar->compression == MAT_COMPRESSION_ZLIB ) {
  ------------------
  |  Branch (540:21): [True: 0, False: 0]
  ------------------
  541|      0|            int nBytes = ReadCompressedUInt32Data(mat, matvar->internal->z, *v, packed_type, *n);
  542|       |            /*
  543|       |                * If the data was in the tag we started on a 4-byte
  544|       |                * boundary so add 4 to make it an 8-byte
  545|       |                */
  546|      0|            if ( data_in_tag )
  ------------------
  |  Branch (546:18): [True: 0, False: 0]
  ------------------
  547|      0|                nBytes += 4;
  548|      0|            if ( (nBytes % 8) != 0 )
  ------------------
  |  Branch (548:18): [True: 0, False: 0]
  ------------------
  549|      0|                InflateSkip(mat, matvar->internal->z, 8 - (nBytes % 8), NULL);
  550|      0|#endif
  551|      0|        }
  552|    158|    } else {
  553|      0|        Mat_Critical("Couldn't allocate memory");
  554|      0|    }
  555|       |
  556|    158|    return bytesread;
  557|    158|}
mat5.c:Mat_VarReadNumeric5:
 2901|  1.70k|{
 2902|  1.70k|    int nBytes = 0, data_in_tag = 0, err = MATIO_E_NO_ERROR;
  ------------------
  |  |  241|  1.70k|#define MATIO_E_NO_ERROR 0
  ------------------
 2903|  1.70k|    enum matio_types packed_type = MAT_T_UNKNOWN;
 2904|  1.70k|    mat_uint32_t tag[2] = {0, 0};
 2905|       |
 2906|  1.70k|    if ( matvar->compression == MAT_COMPRESSION_ZLIB ) {
  ------------------
  |  Branch (2906:10): [True: 23, False: 1.68k]
  ------------------
 2907|     23|#if HAVE_ZLIB
 2908|     23|        matvar->internal->z->avail_in = 0;
 2909|     23|        err = Inflate(mat, matvar->internal->z, tag, 4, NULL);
 2910|     23|        if ( err ) {
  ------------------
  |  Branch (2910:14): [True: 2, False: 21]
  ------------------
 2911|      2|            return err;
 2912|      2|        }
 2913|     21|        if ( mat->byteswap )
  ------------------
  |  Branch (2913:14): [True: 0, False: 21]
  ------------------
 2914|      0|            (void)Mat_uint32Swap(tag);
 2915|       |
 2916|     21|        packed_type = TYPE_FROM_TAG(tag[0]);
  ------------------
  |  |   47|     21|    (((a) & 0x000000ff) <= MAT_T_FUNCTION) ? (enum matio_types)((a) & 0x000000ff) : MAT_T_UNKNOWN
  |  |  ------------------
  |  |  |  Branch (47:5): [True: 21, False: 0]
  |  |  ------------------
  ------------------
 2917|     21|        if ( tag[0] & 0xffff0000 ) { /* Data is in the tag */
  ------------------
  |  Branch (2917:14): [True: 13, False: 8]
  ------------------
 2918|     13|            data_in_tag = 1;
 2919|     13|            nBytes = (tag[0] & 0xffff0000) >> 16;
 2920|     13|        } else {
 2921|      8|            data_in_tag = 0;
 2922|      8|            err = Inflate(mat, matvar->internal->z, tag + 1, 4, NULL);
 2923|      8|            if ( err ) {
  ------------------
  |  Branch (2923:18): [True: 0, False: 8]
  ------------------
 2924|      0|                return err;
 2925|      0|            }
 2926|      8|            if ( mat->byteswap )
  ------------------
  |  Branch (2926:18): [True: 0, False: 8]
  ------------------
 2927|      0|                (void)Mat_uint32Swap(tag + 1);
 2928|      8|            nBytes = tag[1];
 2929|      8|        }
 2930|     21|#endif
 2931|  1.68k|    } else {
 2932|  1.68k|        err = Read(tag, 4, 1, (FILE *)mat->fp, NULL);
 2933|  1.68k|        if ( err ) {
  ------------------
  |  Branch (2933:14): [True: 223, False: 1.46k]
  ------------------
 2934|    223|            return err;
 2935|    223|        }
 2936|  1.46k|        if ( mat->byteswap )
  ------------------
  |  Branch (2936:14): [True: 325, False: 1.13k]
  ------------------
 2937|    325|            (void)Mat_uint32Swap(tag);
 2938|  1.46k|        packed_type = TYPE_FROM_TAG(tag[0]);
  ------------------
  |  |   47|  1.46k|    (((a) & 0x000000ff) <= MAT_T_FUNCTION) ? (enum matio_types)((a) & 0x000000ff) : MAT_T_UNKNOWN
  |  |  ------------------
  |  |  |  Branch (47:5): [True: 1.19k, False: 266]
  |  |  ------------------
  ------------------
 2939|  1.46k|        if ( tag[0] & 0xffff0000 ) { /* Data is in the tag */
  ------------------
  |  Branch (2939:14): [True: 1.18k, False: 279]
  ------------------
 2940|  1.18k|            data_in_tag = 1;
 2941|  1.18k|            nBytes = (tag[0] & 0xffff0000) >> 16;
 2942|  1.18k|        } else {
 2943|    279|            data_in_tag = 0;
 2944|    279|            err = Read(tag + 1, 4, 1, (FILE *)mat->fp, NULL);
 2945|    279|            if ( err ) {
  ------------------
  |  Branch (2945:18): [True: 0, False: 279]
  ------------------
 2946|      0|                return err;
 2947|      0|            }
 2948|    279|            if ( mat->byteswap )
  ------------------
  |  Branch (2948:18): [True: 222, False: 57]
  ------------------
 2949|    222|                (void)Mat_uint32Swap(tag + 1);
 2950|    279|            nBytes = tag[1];
 2951|    279|        }
 2952|  1.46k|    }
 2953|  1.48k|    if ( nBytes == 0 ) {
  ------------------
  |  Branch (2953:10): [True: 32, False: 1.44k]
  ------------------
 2954|     32|        matvar->nbytes = 0;
 2955|     32|        return err;
 2956|     32|    }
 2957|       |
 2958|  1.44k|    if ( matvar->compression == MAT_COMPRESSION_NONE ) {
  ------------------
  |  Branch (2958:10): [True: 1.42k, False: 21]
  ------------------
 2959|  1.42k|        switch ( matvar->class_type ) {
 2960|    220|            case MAT_C_DOUBLE:
  ------------------
  |  Branch (2960:13): [True: 220, False: 1.20k]
  ------------------
 2961|    220|                nBytes = ReadDoubleData(mat, (double *)data, packed_type, N);
 2962|    220|                break;
 2963|     48|            case MAT_C_SINGLE:
  ------------------
  |  Branch (2963:13): [True: 48, False: 1.38k]
  ------------------
 2964|     48|                nBytes = ReadSingleData(mat, (float *)data, packed_type, N);
 2965|     48|                break;
 2966|    318|            case MAT_C_INT64:
  ------------------
  |  Branch (2966:13): [True: 318, False: 1.11k]
  ------------------
 2967|    318|#ifdef HAVE_MAT_INT64_T
 2968|    318|                nBytes = ReadInt64Data(mat, (mat_int64_t *)data, packed_type, N);
 2969|    318|#endif
 2970|    318|                break;
 2971|    176|            case MAT_C_UINT64:
  ------------------
  |  Branch (2971:13): [True: 176, False: 1.25k]
  ------------------
 2972|    176|#ifdef HAVE_MAT_UINT64_T
 2973|    176|                nBytes = ReadUInt64Data(mat, (mat_uint64_t *)data, packed_type, N);
 2974|    176|#endif
 2975|    176|                break;
 2976|    114|            case MAT_C_INT32:
  ------------------
  |  Branch (2976:13): [True: 114, False: 1.31k]
  ------------------
 2977|    114|                nBytes = ReadInt32Data(mat, (mat_int32_t *)data, packed_type, N);
 2978|    114|                break;
 2979|    128|            case MAT_C_UINT32:
  ------------------
  |  Branch (2979:13): [True: 128, False: 1.30k]
  ------------------
 2980|    128|                nBytes = ReadUInt32Data(mat, (mat_uint32_t *)data, packed_type, N);
 2981|    128|                break;
 2982|    123|            case MAT_C_INT16:
  ------------------
  |  Branch (2982:13): [True: 123, False: 1.30k]
  ------------------
 2983|    123|                nBytes = ReadInt16Data(mat, (mat_int16_t *)data, packed_type, N);
 2984|    123|                break;
 2985|    166|            case MAT_C_UINT16:
  ------------------
  |  Branch (2985:13): [True: 166, False: 1.26k]
  ------------------
 2986|    166|                nBytes = ReadUInt16Data(mat, (mat_uint16_t *)data, packed_type, N);
 2987|    166|                break;
 2988|     57|            case MAT_C_INT8:
  ------------------
  |  Branch (2988:13): [True: 57, False: 1.37k]
  ------------------
 2989|     57|                nBytes = ReadInt8Data(mat, (mat_int8_t *)data, packed_type, N);
 2990|     57|                break;
 2991|     78|            case MAT_C_UINT8:
  ------------------
  |  Branch (2991:13): [True: 78, False: 1.35k]
  ------------------
 2992|     78|                nBytes = ReadUInt8Data(mat, (mat_uint8_t *)data, packed_type, N);
 2993|     78|                break;
 2994|      0|            default:
  ------------------
  |  Branch (2994:13): [True: 0, False: 1.42k]
  ------------------
 2995|      0|                break;
 2996|  1.42k|        }
 2997|  1.42k|        nBytes *= Mat_SizeOf(packed_type);
 2998|       |        /*
 2999|       |         * If the data was in the tag we started on a 4-byte
 3000|       |         * boundary so add 4 to make it an 8-byte
 3001|       |         */
 3002|  1.42k|        if ( data_in_tag )
  ------------------
  |  Branch (3002:14): [True: 1.18k, False: 247]
  ------------------
 3003|  1.18k|            nBytes += 4;
 3004|  1.42k|        if ( (nBytes % 8) != 0 )
  ------------------
  |  Branch (3004:14): [True: 1.04k, False: 382]
  ------------------
 3005|  1.04k|            (void)fseeko((FILE *)mat->fp, 8 - (nBytes % 8), SEEK_CUR);
 3006|  1.42k|#if HAVE_ZLIB
 3007|  1.42k|    } else if ( matvar->compression == MAT_COMPRESSION_ZLIB ) {
  ------------------
  |  Branch (3007:17): [True: 21, False: 0]
  ------------------
 3008|     21|        switch ( matvar->class_type ) {
 3009|      0|            case MAT_C_DOUBLE:
  ------------------
  |  Branch (3009:13): [True: 0, False: 21]
  ------------------
 3010|      0|                nBytes = ReadCompressedDoubleData(mat, matvar->internal->z, (double *)data,
 3011|      0|                                                  packed_type, N);
 3012|      0|                break;
 3013|     21|            case MAT_C_SINGLE:
  ------------------
  |  Branch (3013:13): [True: 21, False: 0]
  ------------------
 3014|     21|                nBytes = ReadCompressedSingleData(mat, matvar->internal->z, (float *)data,
 3015|     21|                                                  packed_type, N);
 3016|     21|                break;
 3017|      0|            case MAT_C_INT64:
  ------------------
  |  Branch (3017:13): [True: 0, False: 21]
  ------------------
 3018|      0|#ifdef HAVE_MAT_INT64_T
 3019|      0|                nBytes = ReadCompressedInt64Data(mat, matvar->internal->z, (mat_int64_t *)data,
 3020|      0|                                                 packed_type, N);
 3021|      0|#endif
 3022|      0|                break;
 3023|      0|            case MAT_C_UINT64:
  ------------------
  |  Branch (3023:13): [True: 0, False: 21]
  ------------------
 3024|      0|#ifdef HAVE_MAT_UINT64_T
 3025|      0|                nBytes = ReadCompressedUInt64Data(mat, matvar->internal->z, (mat_uint64_t *)data,
 3026|      0|                                                  packed_type, N);
 3027|      0|#endif
 3028|      0|                break;
 3029|      0|            case MAT_C_INT32:
  ------------------
  |  Branch (3029:13): [True: 0, False: 21]
  ------------------
 3030|      0|                nBytes = ReadCompressedInt32Data(mat, matvar->internal->z, (mat_int32_t *)data,
 3031|      0|                                                 packed_type, N);
 3032|      0|                break;
 3033|      0|            case MAT_C_UINT32:
  ------------------
  |  Branch (3033:13): [True: 0, False: 21]
  ------------------
 3034|      0|                nBytes = ReadCompressedUInt32Data(mat, matvar->internal->z, (mat_uint32_t *)data,
 3035|      0|                                                  packed_type, N);
 3036|      0|                break;
 3037|      0|            case MAT_C_INT16:
  ------------------
  |  Branch (3037:13): [True: 0, False: 21]
  ------------------
 3038|      0|                nBytes = ReadCompressedInt16Data(mat, matvar->internal->z, (mat_int16_t *)data,
 3039|      0|                                                 packed_type, N);
 3040|      0|                break;
 3041|      0|            case MAT_C_UINT16:
  ------------------
  |  Branch (3041:13): [True: 0, False: 21]
  ------------------
 3042|      0|                nBytes = ReadCompressedUInt16Data(mat, matvar->internal->z, (mat_uint16_t *)data,
 3043|      0|                                                  packed_type, N);
 3044|      0|                break;
 3045|      0|            case MAT_C_INT8:
  ------------------
  |  Branch (3045:13): [True: 0, False: 21]
  ------------------
 3046|      0|                nBytes = ReadCompressedInt8Data(mat, matvar->internal->z, (mat_int8_t *)data,
 3047|      0|                                                packed_type, N);
 3048|      0|                break;
 3049|      0|            case MAT_C_UINT8:
  ------------------
  |  Branch (3049:13): [True: 0, False: 21]
  ------------------
 3050|      0|                nBytes = ReadCompressedUInt8Data(mat, matvar->internal->z, (mat_uint8_t *)data,
 3051|      0|                                                 packed_type, N);
 3052|      0|                break;
 3053|      0|            default:
  ------------------
  |  Branch (3053:13): [True: 0, False: 21]
  ------------------
 3054|      0|                break;
 3055|     21|        }
 3056|       |        /*
 3057|       |         * If the data was in the tag we started on a 4-byte
 3058|       |         * boundary so add 4 to make it an 8-byte
 3059|       |         */
 3060|     21|        if ( data_in_tag )
  ------------------
  |  Branch (3060:14): [True: 13, False: 8]
  ------------------
 3061|     13|            nBytes += 4;
 3062|     21|        if ( (nBytes % 8) != 0 )
  ------------------
  |  Branch (3062:14): [True: 21, False: 0]
  ------------------
 3063|     21|            err = InflateSkip(mat, matvar->internal->z, 8 - (nBytes % 8), NULL);
 3064|     21|#endif
 3065|     21|    }
 3066|  1.44k|    return err;
 3067|  1.44k|}
mat5.c:ReadNextStructField:
 1380|      4|{
 1381|      4|    int err;
 1382|      4|    size_t bytesread = 0;
 1383|      4|    matvar_t **fields = NULL;
 1384|      4|    size_t nelems = 1, nelems_x_nfields;
 1385|       |
 1386|      4|    err = Mat_MulDims(matvar, &nelems);
 1387|      4|    if ( err ) {
  ------------------
  |  Branch (1387:10): [True: 0, False: 4]
  ------------------
 1388|      0|        Mat_Critical("Integer multiplication overflow");
 1389|      0|        return bytesread;
 1390|      0|    }
 1391|      4|    if ( matvar->compression == MAT_COMPRESSION_ZLIB ) {
  ------------------
  |  Branch (1391:10): [True: 0, False: 4]
  ------------------
 1392|      0|#if HAVE_ZLIB
 1393|      0|        size_t nfields, i;
 1394|      0|        mat_uint32_t uncomp_buf[16];
 1395|      0|        mat_uint32_t array_flags, len, fieldname_size;
 1396|       |
 1397|      0|        memset(&uncomp_buf, 0, sizeof(uncomp_buf));
 1398|       |        /* Field name length */
 1399|      0|        err = Inflate(mat, matvar->internal->z, uncomp_buf, 8, &bytesread);
 1400|      0|        if ( err ) {
  ------------------
  |  Branch (1400:14): [True: 0, False: 0]
  ------------------
 1401|      0|            return bytesread;
 1402|      0|        }
 1403|      0|        if ( mat->byteswap ) {
  ------------------
  |  Branch (1403:14): [True: 0, False: 0]
  ------------------
 1404|      0|            (void)Mat_uint32Swap(uncomp_buf);
 1405|      0|            (void)Mat_uint32Swap(uncomp_buf + 1);
 1406|      0|        }
 1407|      0|        if ( (uncomp_buf[0] & 0x0000ffff) == MAT_T_INT32 && uncomp_buf[1] > 0 ) {
  ------------------
  |  Branch (1407:14): [True: 0, False: 0]
  |  Branch (1407:61): [True: 0, False: 0]
  ------------------
 1408|      0|            fieldname_size = uncomp_buf[1];
 1409|      0|        } else {
 1410|      0|            Mat_Critical("Error getting fieldname size");
 1411|      0|            return bytesread;
 1412|      0|        }
 1413|       |
 1414|       |        /* Field name tag */
 1415|      0|        err = Inflate(mat, matvar->internal->z, uncomp_buf, 8, &bytesread);
 1416|      0|        if ( err ) {
  ------------------
  |  Branch (1416:14): [True: 0, False: 0]
  ------------------
 1417|      0|            return bytesread;
 1418|      0|        }
 1419|      0|        if ( mat->byteswap )
  ------------------
  |  Branch (1419:14): [True: 0, False: 0]
  ------------------
 1420|      0|            (void)Mat_uint32Swap(uncomp_buf);
 1421|       |        /* Name of field */
 1422|      0|        if ( uncomp_buf[0] == MAT_T_INT8 ) { /* Name not in tag */
  ------------------
  |  Branch (1422:14): [True: 0, False: 0]
  ------------------
 1423|      0|            if ( mat->byteswap )
  ------------------
  |  Branch (1423:18): [True: 0, False: 0]
  ------------------
 1424|      0|                len = Mat_uint32Swap(uncomp_buf + 1);
 1425|      0|            else
 1426|      0|                len = uncomp_buf[1];
 1427|      0|            nfields = len / fieldname_size;
 1428|      0|            if ( nfields * fieldname_size % 8 != 0 )
  ------------------
  |  Branch (1428:18): [True: 0, False: 0]
  ------------------
 1429|      0|                i = 8 - (nfields * fieldname_size % 8);
 1430|      0|            else
 1431|      0|                i = 0;
 1432|      0|            if ( nfields ) {
  ------------------
  |  Branch (1432:18): [True: 0, False: 0]
  ------------------
 1433|      0|                char *ptr = (char *)malloc(nfields * fieldname_size + i);
 1434|      0|                if ( NULL != ptr ) {
  ------------------
  |  Branch (1434:22): [True: 0, False: 0]
  ------------------
 1435|      0|                    err = Inflate(mat, matvar->internal->z, ptr,
 1436|      0|                                  (unsigned int)(nfields * fieldname_size + i), &bytesread);
 1437|      0|                    if ( 0 == err ) {
  ------------------
  |  Branch (1437:26): [True: 0, False: 0]
  ------------------
 1438|      0|                        SetFieldNames(matvar, ptr, nfields, fieldname_size);
 1439|      0|                    } else {
 1440|      0|                        matvar->internal->num_fields = nfields;
 1441|      0|                        matvar->internal->fieldnames = NULL;
 1442|      0|                    }
 1443|      0|                    free(ptr);
 1444|      0|                }
 1445|      0|            } else {
 1446|      0|                matvar->internal->num_fields = 0;
 1447|      0|                matvar->internal->fieldnames = NULL;
 1448|      0|            }
 1449|      0|        } else {
 1450|      0|            len = (uncomp_buf[0] & 0xffff0000) >> 16;
 1451|      0|            if ( ((uncomp_buf[0] & 0x0000ffff) == MAT_T_INT8) && len > 0 && len <= 4 ) {
  ------------------
  |  Branch (1451:18): [True: 0, False: 0]
  |  Branch (1451:66): [True: 0, False: 0]
  |  Branch (1451:77): [True: 0, False: 0]
  ------------------
 1452|       |                /* Name packed in tag */
 1453|      0|                nfields = len / fieldname_size;
 1454|      0|                if ( nfields ) {
  ------------------
  |  Branch (1454:22): [True: 0, False: 0]
  ------------------
 1455|      0|                    SetFieldNames(matvar, (char *)(uncomp_buf + 1), nfields, fieldname_size);
 1456|      0|                } else {
 1457|      0|                    matvar->internal->num_fields = 0;
 1458|      0|                    matvar->internal->fieldnames = NULL;
 1459|      0|                }
 1460|      0|            } else {
 1461|      0|                nfields = 0;
 1462|      0|            }
 1463|      0|        }
 1464|       |
 1465|      0|        matvar->data_size = sizeof(matvar_t *);
 1466|      0|        err = Mul(&nelems_x_nfields, nelems, nfields);
 1467|      0|        if ( err ) {
  ------------------
  |  Branch (1467:14): [True: 0, False: 0]
  ------------------
 1468|      0|            Mat_Critical("Integer multiplication overflow");
 1469|      0|            return bytesread;
 1470|      0|        }
 1471|      0|        err = Mul(&matvar->nbytes, nelems_x_nfields, matvar->data_size);
 1472|      0|        if ( err ) {
  ------------------
  |  Branch (1472:14): [True: 0, False: 0]
  ------------------
 1473|      0|            Mat_Critical("Integer multiplication overflow");
 1474|      0|            return bytesread;
 1475|      0|        }
 1476|      0|        if ( !matvar->nbytes )
  ------------------
  |  Branch (1476:14): [True: 0, False: 0]
  ------------------
 1477|      0|            return bytesread;
 1478|       |
 1479|      0|        matvar->data = calloc(nelems_x_nfields, matvar->data_size);
 1480|      0|        if ( NULL == matvar->data ) {
  ------------------
  |  Branch (1480:14): [True: 0, False: 0]
  ------------------
 1481|      0|            Mat_Critical("Couldn't allocate memory for the data");
 1482|      0|            return bytesread;
 1483|      0|        }
 1484|       |
 1485|      0|        fields = (matvar_t **)matvar->data;
 1486|      0|        for ( i = 0; i < nelems; i++ ) {
  ------------------
  |  Branch (1486:22): [True: 0, False: 0]
  ------------------
 1487|      0|            size_t k;
 1488|      0|            for ( k = 0; k < nfields; k++ ) {
  ------------------
  |  Branch (1488:26): [True: 0, False: 0]
  ------------------
 1489|      0|                fields[i * nfields + k] = Mat_VarCalloc();
 1490|      0|            }
 1491|      0|        }
 1492|      0|        if ( NULL != matvar->internal->fieldnames ) {
  ------------------
  |  Branch (1492:14): [True: 0, False: 0]
  ------------------
 1493|      0|            for ( i = 0; i < nelems; i++ ) {
  ------------------
  |  Branch (1493:26): [True: 0, False: 0]
  ------------------
 1494|      0|                size_t k;
 1495|      0|                for ( k = 0; k < nfields; k++ ) {
  ------------------
  |  Branch (1495:30): [True: 0, False: 0]
  ------------------
 1496|      0|                    if ( NULL != matvar->internal->fieldnames[k] ) {
  ------------------
  |  Branch (1496:26): [True: 0, False: 0]
  ------------------
 1497|      0|                        fields[i * nfields + k]->name = strdup(matvar->internal->fieldnames[k]);
 1498|      0|                    }
 1499|      0|                }
 1500|      0|            }
 1501|      0|        }
 1502|       |
 1503|      0|        for ( i = 0; i < nelems_x_nfields; i++ ) {
  ------------------
  |  Branch (1503:22): [True: 0, False: 0]
  ------------------
 1504|      0|            mat_uint32_t nBytes;
 1505|       |            /* Read variable tag for struct field */
 1506|      0|            err = Inflate(mat, matvar->internal->z, uncomp_buf, 8, &bytesread);
 1507|      0|            if ( err ) {
  ------------------
  |  Branch (1507:18): [True: 0, False: 0]
  ------------------
 1508|      0|                Mat_VarFree(fields[i]);
 1509|      0|                fields[i] = NULL;
 1510|      0|                break;
 1511|      0|            }
 1512|      0|            if ( mat->byteswap ) {
  ------------------
  |  Branch (1512:18): [True: 0, False: 0]
  ------------------
 1513|      0|                (void)Mat_uint32Swap(uncomp_buf);
 1514|      0|                (void)Mat_uint32Swap(uncomp_buf + 1);
 1515|      0|            }
 1516|      0|            nBytes = uncomp_buf[1];
 1517|      0|            if ( uncomp_buf[0] != MAT_T_MATRIX ) {
  ------------------
  |  Branch (1517:18): [True: 0, False: 0]
  ------------------
 1518|      0|                Mat_VarFree(fields[i]);
 1519|      0|                fields[i] = NULL;
 1520|      0|                Mat_Critical("fields[%zu], Uncompressed type not MAT_T_MATRIX", i);
 1521|      0|                break;
 1522|      0|            } else if ( 0 == nBytes ) {
  ------------------
  |  Branch (1522:25): [True: 0, False: 0]
  ------------------
 1523|       |                /* Empty field: Memory optimization */
 1524|      0|                free(fields[i]->internal);
 1525|      0|                fields[i]->internal = NULL;
 1526|      0|                continue;
 1527|      0|            }
 1528|      0|            fields[i]->compression = MAT_COMPRESSION_ZLIB;
 1529|      0|            err = Inflate(mat, matvar->internal->z, uncomp_buf, 16, &bytesread);
 1530|      0|            if ( err ) {
  ------------------
  |  Branch (1530:18): [True: 0, False: 0]
  ------------------
 1531|      0|                Mat_VarFree(fields[i]);
 1532|      0|                fields[i] = NULL;
 1533|      0|                break;
 1534|      0|            }
 1535|      0|            if ( mat->byteswap ) {
  ------------------
  |  Branch (1535:18): [True: 0, False: 0]
  ------------------
 1536|      0|                (void)Mat_uint32Swap(uncomp_buf);
 1537|      0|                (void)Mat_uint32Swap(uncomp_buf + 1);
 1538|      0|                (void)Mat_uint32Swap(uncomp_buf + 2);
 1539|      0|                (void)Mat_uint32Swap(uncomp_buf + 3);
 1540|      0|            }
 1541|      0|            nBytes -= 16;
 1542|       |            /* Array flags */
 1543|      0|            if ( uncomp_buf[0] == MAT_T_UINT32 ) {
  ------------------
  |  Branch (1543:18): [True: 0, False: 0]
  ------------------
 1544|      0|                array_flags = uncomp_buf[2];
 1545|      0|                fields[i]->class_type = CLASS_FROM_ARRAY_FLAGS(array_flags);
  ------------------
  |  |   50|      0|    (((a) & 0x000000ff) <= MAT_C_OPAQUE) ? ((enum matio_classes)((a) & 0x000000ff)) : MAT_C_EMPTY
  |  |  ------------------
  |  |  |  Branch (50:5): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1546|      0|                fields[i]->isComplex = (array_flags & MAT_F_COMPLEX);
 1547|      0|                fields[i]->isGlobal = (array_flags & MAT_F_GLOBAL);
 1548|      0|                fields[i]->isLogical = (array_flags & MAT_F_LOGICAL);
 1549|      0|                if ( fields[i]->class_type == MAT_C_SPARSE ) {
  ------------------
  |  Branch (1549:22): [True: 0, False: 0]
  ------------------
 1550|       |                    /* Need to find a more appropriate place to store nzmax */
 1551|      0|                    fields[i]->nbytes = uncomp_buf[3];
 1552|      0|                }
 1553|      0|            } else {
 1554|      0|                Mat_Critical("Expected MAT_T_UINT32 for array tags, got %d", uncomp_buf[0]);
 1555|      0|                InflateSkip(mat, matvar->internal->z, nBytes, &bytesread);
 1556|      0|            }
 1557|      0|            if ( fields[i]->class_type != MAT_C_OPAQUE ) {
  ------------------
  |  Branch (1557:18): [True: 0, False: 0]
  ------------------
 1558|      0|                mat_uint32_t *dims = NULL;
 1559|      0|                int do_clean = 0;
 1560|      0|                err = InflateRankDims(mat, matvar->internal->z, uncomp_buf, sizeof(uncomp_buf),
 1561|      0|                                      &dims, &bytesread);
 1562|      0|                if ( NULL == dims ) {
  ------------------
  |  Branch (1562:22): [True: 0, False: 0]
  ------------------
 1563|      0|                    dims = uncomp_buf + 2;
 1564|      0|                } else {
 1565|      0|                    do_clean = 1;
 1566|      0|                }
 1567|      0|                if ( err ) {
  ------------------
  |  Branch (1567:22): [True: 0, False: 0]
  ------------------
 1568|      0|                    if ( do_clean ) {
  ------------------
  |  Branch (1568:26): [True: 0, False: 0]
  ------------------
 1569|      0|                        free(dims);
 1570|      0|                    }
 1571|      0|                    Mat_VarFree(fields[i]);
 1572|      0|                    fields[i] = NULL;
 1573|      0|                    break;
 1574|      0|                }
 1575|      0|                nBytes -= 8;
 1576|      0|                if ( mat->byteswap ) {
  ------------------
  |  Branch (1576:22): [True: 0, False: 0]
  ------------------
 1577|      0|                    (void)Mat_uint32Swap(uncomp_buf);
 1578|      0|                    (void)Mat_uint32Swap(uncomp_buf + 1);
 1579|      0|                }
 1580|       |                /* Rank and dimension */
 1581|      0|                if ( uncomp_buf[0] == MAT_T_INT32 ) {
  ------------------
  |  Branch (1581:22): [True: 0, False: 0]
  ------------------
 1582|      0|                    int j;
 1583|      0|                    size_t size;
 1584|      0|                    fields[i]->rank = uncomp_buf[1];
 1585|      0|                    nBytes -= fields[i]->rank;
 1586|      0|                    fields[i]->rank /= 4;
 1587|      0|                    if ( 0 == do_clean && fields[i]->rank > 13 ) {
  ------------------
  |  Branch (1587:26): [True: 0, False: 0]
  |  Branch (1587:43): [True: 0, False: 0]
  ------------------
 1588|      0|                        int rank = fields[i]->rank;
 1589|      0|                        fields[i]->rank = 0;
 1590|      0|                        Mat_Critical("%d is not a valid rank", rank);
 1591|      0|                        continue;
 1592|      0|                    }
 1593|      0|                    err = Mul(&size, fields[i]->rank, sizeof(*fields[i]->dims));
 1594|      0|                    if ( err ) {
  ------------------
  |  Branch (1594:26): [True: 0, False: 0]
  ------------------
 1595|      0|                        if ( do_clean ) {
  ------------------
  |  Branch (1595:30): [True: 0, False: 0]
  ------------------
 1596|      0|                            free(dims);
 1597|      0|                        }
 1598|      0|                        Mat_VarFree(fields[i]);
 1599|      0|                        fields[i] = NULL;
 1600|      0|                        Mat_Critical("Integer multiplication overflow");
 1601|      0|                        continue;
 1602|      0|                    }
 1603|      0|                    fields[i]->dims = (size_t *)malloc(size);
 1604|      0|                    if ( mat->byteswap ) {
  ------------------
  |  Branch (1604:26): [True: 0, False: 0]
  ------------------
 1605|      0|                        for ( j = 0; j < fields[i]->rank; j++ )
  ------------------
  |  Branch (1605:38): [True: 0, False: 0]
  ------------------
 1606|      0|                            fields[i]->dims[j] = Mat_uint32Swap(dims + j);
 1607|      0|                    } else {
 1608|      0|                        for ( j = 0; j < fields[i]->rank; j++ )
  ------------------
  |  Branch (1608:38): [True: 0, False: 0]
  ------------------
 1609|      0|                            fields[i]->dims[j] = dims[j];
 1610|      0|                    }
 1611|      0|                    if ( fields[i]->rank % 2 != 0 )
  ------------------
  |  Branch (1611:26): [True: 0, False: 0]
  ------------------
 1612|      0|                        nBytes -= 4;
 1613|      0|                }
 1614|      0|                if ( do_clean ) {
  ------------------
  |  Branch (1614:22): [True: 0, False: 0]
  ------------------
 1615|      0|                    free(dims);
 1616|      0|                }
 1617|       |                /* Variable name tag */
 1618|      0|                err = Inflate(mat, matvar->internal->z, uncomp_buf, 8, &bytesread);
 1619|      0|                if ( err ) {
  ------------------
  |  Branch (1619:22): [True: 0, False: 0]
  ------------------
 1620|      0|                    Mat_VarFree(fields[i]);
 1621|      0|                    fields[i] = NULL;
 1622|      0|                    break;
 1623|      0|                }
 1624|      0|                nBytes -= 8;
 1625|      0|                fields[i]->internal->z = (z_streamp)calloc(1, sizeof(z_stream));
 1626|      0|                if ( fields[i]->internal->z != NULL ) {
  ------------------
  |  Branch (1626:22): [True: 0, False: 0]
  ------------------
 1627|      0|                    err = inflateCopy(fields[i]->internal->z, matvar->internal->z);
 1628|      0|                    if ( err == Z_OK ) {
  ------------------
  |  |  177|      0|#define Z_OK            0
  ------------------
  |  Branch (1628:26): [True: 0, False: 0]
  ------------------
 1629|      0|                        fields[i]->internal->datapos = ftello((FILE *)mat->fp);
 1630|      0|                        if ( fields[i]->internal->datapos != -1L ) {
  ------------------
  |  Branch (1630:30): [True: 0, False: 0]
  ------------------
 1631|      0|                            fields[i]->internal->datapos -= matvar->internal->z->avail_in;
 1632|      0|                            if ( fields[i]->class_type == MAT_C_STRUCT )
  ------------------
  |  Branch (1632:34): [True: 0, False: 0]
  ------------------
 1633|      0|                                bytesread += ReadNextStructField(mat, fields[i]);
 1634|      0|                            else if ( fields[i]->class_type == MAT_C_CELL )
  ------------------
  |  Branch (1634:39): [True: 0, False: 0]
  ------------------
 1635|      0|                                bytesread += ReadNextCell(mat, fields[i]);
 1636|      0|                            else if ( nBytes <= (1 << MAX_WBITS) ) {
  ------------------
  |  |  277|      0|#  define MAX_WBITS   15 /* 32K LZ77 window */
  ------------------
  |  Branch (1636:39): [True: 0, False: 0]
  ------------------
 1637|       |                                /* Memory optimization: Read data if less in size
 1638|       |                                   than the zlib inflate state (approximately) */
 1639|      0|                                /* err = */ Mat_VarRead5(mat, fields[i]);
 1640|      0|                                fields[i]->internal->data = fields[i]->data;
 1641|      0|                                fields[i]->data = NULL;
 1642|      0|                            }
 1643|      0|                            (void)fseeko((FILE *)mat->fp, fields[i]->internal->datapos, SEEK_SET);
 1644|      0|                        } else {
 1645|      0|                            Mat_Critical("Couldn't determine file position");
 1646|      0|                        }
 1647|      0|                        if ( fields[i]->internal->data != NULL ||
  ------------------
  |  Branch (1647:30): [True: 0, False: 0]
  ------------------
 1648|      0|                             fields[i]->class_type == MAT_C_STRUCT ||
  ------------------
  |  Branch (1648:30): [True: 0, False: 0]
  ------------------
 1649|      0|                             fields[i]->class_type == MAT_C_CELL ||
  ------------------
  |  Branch (1649:30): [True: 0, False: 0]
  ------------------
 1650|      0|                             (nBytes <= (1 << MAX_WBITS) && fields[i]->class_type == MAT_C_CHAR) ) {
  ------------------
  |  |  277|      0|#  define MAX_WBITS   15 /* 32K LZ77 window */
  ------------------
  |  Branch (1650:31): [True: 0, False: 0]
  |  Branch (1650:61): [True: 0, False: 0]
  ------------------
 1651|       |                            /* Memory optimization: Free inflate state */
 1652|      0|                            inflateEnd(fields[i]->internal->z);
 1653|      0|                            free(fields[i]->internal->z);
 1654|      0|                            fields[i]->internal->z = NULL;
 1655|      0|                        }
 1656|      0|                    } else {
 1657|      0|                        Mat_Critical("inflateCopy returned error %s", zError(err));
 1658|      0|                    }
 1659|      0|                } else {
 1660|      0|                    Mat_Critical("Couldn't allocate memory");
 1661|      0|                }
 1662|      0|            }
 1663|      0|            InflateSkip(mat, matvar->internal->z, nBytes, &bytesread);
 1664|      0|        }
 1665|       |#else
 1666|       |        Mat_Critical("Not compiled with zlib support");
 1667|       |#endif
 1668|      4|    } else {
 1669|      4|        size_t nfields, i;
 1670|      4|        mat_uint32_t buf[6] = {0, 0, 0, 0, 0, 0};
 1671|      4|        mat_uint32_t array_flags, len, fieldname_size;
 1672|       |
 1673|      4|        err = Read(buf, 4, 2, (FILE *)mat->fp, &bytesread);
 1674|      4|        if ( err ) {
  ------------------
  |  Branch (1674:14): [True: 0, False: 4]
  ------------------
 1675|      0|            return bytesread;
 1676|      0|        }
 1677|      4|        if ( mat->byteswap ) {
  ------------------
  |  Branch (1677:14): [True: 4, False: 0]
  ------------------
 1678|      4|            (void)Mat_uint32Swap(buf);
 1679|      4|            (void)Mat_uint32Swap(buf + 1);
 1680|      4|        }
 1681|      4|        if ( (buf[0] & 0x0000ffff) == MAT_T_INT32 && buf[1] > 0 ) {
  ------------------
  |  Branch (1681:14): [True: 4, False: 0]
  |  Branch (1681:54): [True: 4, False: 0]
  ------------------
 1682|      4|            fieldname_size = buf[1];
 1683|      4|        } else {
 1684|      0|            Mat_Critical("Error getting fieldname size");
 1685|      0|            return bytesread;
 1686|      0|        }
 1687|       |
 1688|       |        /* Field name tag */
 1689|      4|        err = Read(buf, 4, 2, (FILE *)mat->fp, &bytesread);
 1690|      4|        if ( err ) {
  ------------------
  |  Branch (1690:14): [True: 0, False: 4]
  ------------------
 1691|      0|            return bytesread;
 1692|      0|        }
 1693|      4|        if ( mat->byteswap )
  ------------------
  |  Branch (1693:14): [True: 4, False: 0]
  ------------------
 1694|      4|            (void)Mat_uint32Swap(buf);
 1695|       |        /* Name of field */
 1696|      4|        if ( buf[0] == MAT_T_INT8 ) { /* Name not in tag */
  ------------------
  |  Branch (1696:14): [True: 4, False: 0]
  ------------------
 1697|      4|            if ( mat->byteswap )
  ------------------
  |  Branch (1697:18): [True: 4, False: 0]
  ------------------
 1698|      4|                len = Mat_uint32Swap(buf + 1);
 1699|      0|            else
 1700|      0|                len = buf[1];
 1701|      4|            nfields = len / fieldname_size;
 1702|      4|            if ( nfields ) {
  ------------------
  |  Branch (1702:18): [True: 4, False: 0]
  ------------------
 1703|      4|                char *ptr = (char *)malloc(nfields * fieldname_size);
 1704|      4|                if ( NULL != ptr ) {
  ------------------
  |  Branch (1704:22): [True: 4, False: 0]
  ------------------
 1705|      4|                    err = Read(ptr, 1, nfields * fieldname_size, (FILE *)mat->fp, &bytesread);
 1706|      4|                    if ( 0 == err ) {
  ------------------
  |  Branch (1706:26): [True: 4, False: 0]
  ------------------
 1707|      4|                        SetFieldNames(matvar, ptr, nfields, fieldname_size);
 1708|      4|                    } else {
 1709|      0|                        matvar->internal->num_fields = 0;
 1710|      0|                        matvar->internal->fieldnames = NULL;
 1711|      0|                    }
 1712|      4|                    free(ptr);
 1713|      4|                }
 1714|      4|                if ( (nfields * fieldname_size) % 8 ) {
  ------------------
  |  Branch (1714:22): [True: 0, False: 4]
  ------------------
 1715|      0|                    (void)fseeko((FILE *)mat->fp, 8 - ((nfields * fieldname_size) % 8), SEEK_CUR);
 1716|      0|                    bytesread += 8 - ((nfields * fieldname_size) % 8);
 1717|      0|                }
 1718|      4|            } else {
 1719|      0|                matvar->internal->num_fields = 0;
 1720|      0|                matvar->internal->fieldnames = NULL;
 1721|      0|            }
 1722|      4|        } else {
 1723|      0|            len = (buf[0] & 0xffff0000) >> 16;
 1724|      0|            if ( ((buf[0] & 0x0000ffff) == MAT_T_INT8) && len > 0 && len <= 4 ) {
  ------------------
  |  Branch (1724:18): [True: 0, False: 0]
  |  Branch (1724:59): [True: 0, False: 0]
  |  Branch (1724:70): [True: 0, False: 0]
  ------------------
 1725|       |                /* Name packed in tag */
 1726|      0|                nfields = len / fieldname_size;
 1727|      0|                if ( nfields ) {
  ------------------
  |  Branch (1727:22): [True: 0, False: 0]
  ------------------
 1728|      0|                    SetFieldNames(matvar, (char *)(buf + 1), nfields, fieldname_size);
 1729|      0|                } else {
 1730|      0|                    matvar->internal->num_fields = 0;
 1731|      0|                    matvar->internal->fieldnames = NULL;
 1732|      0|                }
 1733|      0|            } else {
 1734|      0|                nfields = 0;
 1735|      0|            }
 1736|      0|        }
 1737|       |
 1738|      4|        matvar->data_size = sizeof(matvar_t *);
 1739|      4|        err = Mul(&nelems_x_nfields, nelems, nfields);
 1740|      4|        if ( err ) {
  ------------------
  |  Branch (1740:14): [True: 0, False: 4]
  ------------------
 1741|      0|            Mat_Critical("Integer multiplication overflow");
 1742|      0|            return bytesread;
 1743|      0|        }
 1744|      4|        err = Mul(&matvar->nbytes, nelems_x_nfields, matvar->data_size);
 1745|      4|        if ( err ) {
  ------------------
  |  Branch (1745:14): [True: 0, False: 4]
  ------------------
 1746|      0|            Mat_Critical("Integer multiplication overflow");
 1747|      0|            return bytesread;
 1748|      0|        }
 1749|      4|        if ( !matvar->nbytes )
  ------------------
  |  Branch (1749:14): [True: 0, False: 4]
  ------------------
 1750|      0|            return bytesread;
 1751|       |
 1752|      4|        matvar->data = calloc(nelems_x_nfields, matvar->data_size);
 1753|      4|        if ( NULL == matvar->data ) {
  ------------------
  |  Branch (1753:14): [True: 0, False: 4]
  ------------------
 1754|      0|            Mat_Critical("Couldn't allocate memory for the data");
 1755|      0|            return bytesread;
 1756|      0|        }
 1757|       |
 1758|      4|        fields = (matvar_t **)matvar->data;
 1759|     16|        for ( i = 0; i < nelems_x_nfields; i++ ) {
  ------------------
  |  Branch (1759:22): [True: 16, False: 0]
  ------------------
 1760|     16|            mat_uint32_t nBytes;
 1761|       |
 1762|     16|            fields[i] = Mat_VarCalloc();
 1763|     16|            if ( NULL == fields[i] ) {
  ------------------
  |  Branch (1763:18): [True: 0, False: 16]
  ------------------
 1764|      0|                Mat_Critical("Couldn't allocate memory for field %zu", i);
 1765|      0|                continue;
 1766|      0|            }
 1767|       |
 1768|       |            /* Read variable tag for struct field */
 1769|     16|            err = Read(buf, 4, 2, (FILE *)mat->fp, &bytesread);
 1770|     16|            if ( err ) {
  ------------------
  |  Branch (1770:18): [True: 0, False: 16]
  ------------------
 1771|      0|                Mat_VarFree(fields[i]);
 1772|      0|                fields[i] = NULL;
 1773|      0|                break;
 1774|      0|            }
 1775|     16|            if ( mat->byteswap ) {
  ------------------
  |  Branch (1775:18): [True: 16, False: 0]
  ------------------
 1776|     16|                (void)Mat_uint32Swap(buf);
 1777|     16|                (void)Mat_uint32Swap(buf + 1);
 1778|     16|            }
 1779|     16|            nBytes = buf[1];
 1780|     16|            if ( buf[0] != MAT_T_MATRIX ) {
  ------------------
  |  Branch (1780:18): [True: 4, False: 12]
  ------------------
 1781|      4|                Mat_VarFree(fields[i]);
 1782|      4|                fields[i] = NULL;
 1783|      4|#if HAVE_LONG_LONG_INT
 1784|      4|                Mat_Critical("fields[%zu] not MAT_T_MATRIX, fpos = %lld", i,
 1785|      4|                             (long long)ftello((FILE *)mat->fp));
 1786|       |#else
 1787|       |                Mat_Critical("fields[%zu] not MAT_T_MATRIX", i);
 1788|       |#endif
 1789|      4|                break;
 1790|     12|            } else if ( 0 == nBytes ) {
  ------------------
  |  Branch (1790:25): [True: 0, False: 12]
  ------------------
 1791|       |                /* Empty field: Memory optimization */
 1792|      0|                free(fields[i]->internal);
 1793|      0|                fields[i]->internal = NULL;
 1794|      0|                continue;
 1795|      0|            }
 1796|       |
 1797|       |            /* Read array flags and the dimensions tag */
 1798|     12|            err = Read(buf, 4, 6, (FILE *)mat->fp, &bytesread);
 1799|     12|            if ( err ) {
  ------------------
  |  Branch (1799:18): [True: 0, False: 12]
  ------------------
 1800|      0|                Mat_VarFree(fields[i]);
 1801|      0|                fields[i] = NULL;
 1802|      0|                break;
 1803|      0|            }
 1804|     12|            if ( mat->byteswap ) {
  ------------------
  |  Branch (1804:18): [True: 12, False: 0]
  ------------------
 1805|     12|                (void)Mat_uint32Swap(buf);
 1806|     12|                (void)Mat_uint32Swap(buf + 1);
 1807|     12|                (void)Mat_uint32Swap(buf + 2);
 1808|     12|                (void)Mat_uint32Swap(buf + 3);
 1809|     12|                (void)Mat_uint32Swap(buf + 4);
 1810|     12|                (void)Mat_uint32Swap(buf + 5);
 1811|     12|            }
 1812|     12|            nBytes -= 24;
 1813|       |            /* Array flags */
 1814|     12|            if ( buf[0] == MAT_T_UINT32 ) {
  ------------------
  |  Branch (1814:18): [True: 12, False: 0]
  ------------------
 1815|     12|                array_flags = buf[2];
 1816|     12|                fields[i]->class_type = CLASS_FROM_ARRAY_FLAGS(array_flags);
  ------------------
  |  |   50|     12|    (((a) & 0x000000ff) <= MAT_C_OPAQUE) ? ((enum matio_classes)((a) & 0x000000ff)) : MAT_C_EMPTY
  |  |  ------------------
  |  |  |  Branch (50:5): [True: 12, False: 0]
  |  |  ------------------
  ------------------
 1817|     12|                fields[i]->isComplex = (array_flags & MAT_F_COMPLEX);
 1818|     12|                fields[i]->isGlobal = (array_flags & MAT_F_GLOBAL);
 1819|     12|                fields[i]->isLogical = (array_flags & MAT_F_LOGICAL);
 1820|     12|                if ( fields[i]->class_type == MAT_C_SPARSE ) {
  ------------------
  |  Branch (1820:22): [True: 0, False: 12]
  ------------------
 1821|       |                    /* Need to find a more appropriate place to store nzmax */
 1822|      0|                    fields[i]->nbytes = buf[3];
 1823|      0|                }
 1824|     12|            }
 1825|       |            /* Rank and dimension */
 1826|     12|            {
 1827|     12|                size_t nbytes = 0;
 1828|     12|                err = ReadRankDims(mat, fields[i], (enum matio_types)buf[4], buf[5], &nbytes);
 1829|     12|                bytesread += nbytes;
 1830|     12|                nBytes -= nbytes;
 1831|     12|                if ( err ) {
  ------------------
  |  Branch (1831:22): [True: 0, False: 12]
  ------------------
 1832|      0|                    Mat_VarFree(fields[i]);
 1833|      0|                    fields[i] = NULL;
 1834|      0|                    break;
 1835|      0|                }
 1836|     12|            }
 1837|       |            /* Variable name tag */
 1838|     12|            err = Read(buf, 1, 8, (FILE *)mat->fp, &bytesread);
 1839|     12|            if ( err ) {
  ------------------
  |  Branch (1839:18): [True: 0, False: 12]
  ------------------
 1840|      0|                Mat_VarFree(fields[i]);
 1841|      0|                fields[i] = NULL;
 1842|      0|                break;
 1843|      0|            }
 1844|     12|            nBytes -= 8;
 1845|     12|            fields[i]->internal->datapos = ftello((FILE *)mat->fp);
 1846|     12|            if ( fields[i]->internal->datapos != -1L ) {
  ------------------
  |  Branch (1846:18): [True: 12, False: 0]
  ------------------
 1847|     12|                if ( fields[i]->class_type == MAT_C_STRUCT )
  ------------------
  |  Branch (1847:22): [True: 0, False: 12]
  ------------------
 1848|      0|                    bytesread += ReadNextStructField(mat, fields[i]);
 1849|     12|                else if ( fields[i]->class_type == MAT_C_CELL )
  ------------------
  |  Branch (1849:27): [True: 0, False: 12]
  ------------------
 1850|      0|                    bytesread += ReadNextCell(mat, fields[i]);
 1851|     12|                (void)fseeko((FILE *)mat->fp, fields[i]->internal->datapos + nBytes, SEEK_SET);
 1852|     12|            } else {
 1853|      0|                Mat_Critical("Couldn't determine file position");
 1854|      0|            }
 1855|     12|        }
 1856|       |
 1857|      4|        if ( NULL != matvar->internal->fieldnames ) {
  ------------------
  |  Branch (1857:14): [True: 4, False: 0]
  ------------------
 1858|      8|            for ( i = 0; i < nelems; i++ ) {
  ------------------
  |  Branch (1858:26): [True: 4, False: 4]
  ------------------
 1859|      4|                size_t k;
 1860|     28|                for ( k = 0; k < nfields; k++ ) {
  ------------------
  |  Branch (1860:30): [True: 24, False: 4]
  ------------------
 1861|     24|                    if ( NULL != matvar->internal->fieldnames[k] &&
  ------------------
  |  Branch (1861:26): [True: 24, False: 0]
  ------------------
 1862|     24|                         NULL != fields[i * nfields + k] ) {
  ------------------
  |  Branch (1862:26): [True: 12, False: 12]
  ------------------
 1863|     12|                        fields[i * nfields + k]->name = strdup(matvar->internal->fieldnames[k]);
 1864|     12|                    }
 1865|     24|                }
 1866|      4|            }
 1867|      4|        }
 1868|      4|    }
 1869|       |
 1870|      4|    return bytesread;
 1871|      4|}
mat5.c:SetFieldNames:
  461|      4|{
  462|      4|    matvar->internal->num_fields = nfields;
  463|      4|    matvar->internal->fieldnames = (char **)calloc(nfields, sizeof(*matvar->internal->fieldnames));
  464|      4|    if ( NULL != matvar->internal->fieldnames ) {
  ------------------
  |  Branch (464:10): [True: 4, False: 0]
  ------------------
  465|      4|        size_t i;
  466|     28|        for ( i = 0; i < nfields; i++ ) {
  ------------------
  |  Branch (466:22): [True: 24, False: 4]
  ------------------
  467|     24|            matvar->internal->fieldnames[i] = (char *)malloc(fieldname_length);
  468|     24|            if ( NULL != matvar->internal->fieldnames[i] ) {
  ------------------
  |  Branch (468:18): [True: 24, False: 0]
  ------------------
  469|     24|                memcpy(matvar->internal->fieldnames[i], buf + i * fieldname_length,
  470|     24|                       fieldname_length);
  471|     24|                matvar->internal->fieldnames[i][fieldname_length - 1] = '\0';
  472|     24|            }
  473|     24|        }
  474|      4|    }
  475|      4|}
mat5.c:ReadNextCell:
  988|      8|{
  989|      8|    size_t bytesread = 0;
  990|      8|    int err;
  991|      8|    matvar_t **cells = NULL;
  992|      8|    size_t nelems = 1;
  993|       |
  994|      8|    err = Mat_MulDims(matvar, &nelems);
  995|      8|    if ( err ) {
  ------------------
  |  Branch (995:10): [True: 0, False: 8]
  ------------------
  996|      0|        Mat_Critical("Integer multiplication overflow");
  997|      0|        return bytesread;
  998|      0|    }
  999|      8|    matvar->data_size = sizeof(matvar_t *);
 1000|      8|    err = Mul(&matvar->nbytes, nelems, matvar->data_size);
 1001|      8|    if ( err ) {
  ------------------
  |  Branch (1001:10): [True: 0, False: 8]
  ------------------
 1002|      0|        Mat_Critical("Integer multiplication overflow");
 1003|      0|        return bytesread;
 1004|      0|    }
 1005|       |
 1006|      8|    matvar->data = calloc(nelems, matvar->data_size);
 1007|      8|    if ( NULL == matvar->data ) {
  ------------------
  |  Branch (1007:10): [True: 0, False: 8]
  ------------------
 1008|      0|        if ( NULL != matvar->name )
  ------------------
  |  Branch (1008:14): [True: 0, False: 0]
  ------------------
 1009|      0|            Mat_Critical("Couldn't allocate memory for %s->data", matvar->name);
 1010|      0|        return bytesread;
 1011|      0|    }
 1012|      8|    cells = (matvar_t **)matvar->data;
 1013|       |
 1014|      8|    if ( matvar->compression == MAT_COMPRESSION_ZLIB ) {
  ------------------
  |  Branch (1014:10): [True: 8, False: 0]
  ------------------
 1015|      8|#if HAVE_ZLIB
 1016|      8|        size_t i;
 1017|      8|        mat_uint32_t uncomp_buf[16];
 1018|      8|        mat_uint32_t nBytes;
 1019|      8|        mat_uint32_t array_flags;
 1020|       |
 1021|      8|        memset(&uncomp_buf, 0, sizeof(uncomp_buf));
 1022|     64|        for ( i = 0; i < nelems; i++ ) {
  ------------------
  |  Branch (1022:22): [True: 59, False: 5]
  ------------------
 1023|     59|            cells[i] = Mat_VarCalloc();
 1024|     59|            if ( NULL == cells[i] ) {
  ------------------
  |  Branch (1024:18): [True: 0, False: 59]
  ------------------
 1025|      0|                Mat_Critical("Couldn't allocate memory for cell %zu", i);
 1026|      0|                continue;
 1027|      0|            }
 1028|       |
 1029|       |            /* Read variable tag for cell */
 1030|     59|            uncomp_buf[0] = 0;
 1031|     59|            uncomp_buf[1] = 0;
 1032|     59|            err = Inflate(mat, matvar->internal->z, uncomp_buf, 8, &bytesread);
 1033|     59|            if ( err ) {
  ------------------
  |  Branch (1033:18): [True: 3, False: 56]
  ------------------
 1034|      3|                Mat_VarFree(cells[i]);
 1035|      3|                cells[i] = NULL;
 1036|      3|                break;
 1037|      3|            }
 1038|     56|            if ( mat->byteswap ) {
  ------------------
  |  Branch (1038:18): [True: 0, False: 56]
  ------------------
 1039|      0|                (void)Mat_uint32Swap(uncomp_buf);
 1040|      0|                (void)Mat_uint32Swap(uncomp_buf + 1);
 1041|      0|            }
 1042|     56|            nBytes = uncomp_buf[1];
 1043|     56|            if ( 0 == nBytes ) {
  ------------------
  |  Branch (1043:18): [True: 40, False: 16]
  ------------------
 1044|       |                /* Empty cell: Memory optimization */
 1045|     40|                free(cells[i]->internal);
 1046|     40|                cells[i]->internal = NULL;
 1047|     40|                continue;
 1048|     40|            } else if ( uncomp_buf[0] != MAT_T_MATRIX ) {
  ------------------
  |  Branch (1048:25): [True: 0, False: 16]
  ------------------
 1049|      0|                Mat_VarFree(cells[i]);
 1050|      0|                cells[i] = NULL;
 1051|      0|                Mat_Critical("cells[%zu], Uncompressed type not MAT_T_MATRIX", i);
 1052|      0|                break;
 1053|      0|            }
 1054|     16|            cells[i]->compression = MAT_COMPRESSION_ZLIB;
 1055|     16|            err = Inflate(mat, matvar->internal->z, uncomp_buf, 16, &bytesread);
 1056|     16|            if ( err ) {
  ------------------
  |  Branch (1056:18): [True: 0, False: 16]
  ------------------
 1057|      0|                Mat_VarFree(cells[i]);
 1058|      0|                cells[i] = NULL;
 1059|      0|                break;
 1060|      0|            }
 1061|     16|            nBytes -= 16;
 1062|     16|            if ( mat->byteswap ) {
  ------------------
  |  Branch (1062:18): [True: 0, False: 16]
  ------------------
 1063|      0|                (void)Mat_uint32Swap(uncomp_buf);
 1064|      0|                (void)Mat_uint32Swap(uncomp_buf + 1);
 1065|      0|                (void)Mat_uint32Swap(uncomp_buf + 2);
 1066|      0|                (void)Mat_uint32Swap(uncomp_buf + 3);
 1067|      0|            }
 1068|       |            /* Array Flags */
 1069|     16|            if ( uncomp_buf[0] == MAT_T_UINT32 ) {
  ------------------
  |  Branch (1069:18): [True: 16, False: 0]
  ------------------
 1070|     16|                array_flags = uncomp_buf[2];
 1071|     16|                cells[i]->class_type = CLASS_FROM_ARRAY_FLAGS(array_flags);
  ------------------
  |  |   50|     16|    (((a) & 0x000000ff) <= MAT_C_OPAQUE) ? ((enum matio_classes)((a) & 0x000000ff)) : MAT_C_EMPTY
  |  |  ------------------
  |  |  |  Branch (50:5): [True: 16, False: 0]
  |  |  ------------------
  ------------------
 1072|     16|                cells[i]->isComplex = (array_flags & MAT_F_COMPLEX);
 1073|     16|                cells[i]->isGlobal = (array_flags & MAT_F_GLOBAL);
 1074|     16|                cells[i]->isLogical = (array_flags & MAT_F_LOGICAL);
 1075|     16|                if ( cells[i]->class_type == MAT_C_SPARSE ) {
  ------------------
  |  Branch (1075:22): [True: 0, False: 16]
  ------------------
 1076|       |                    /* Need to find a more appropriate place to store nzmax */
 1077|      0|                    cells[i]->nbytes = uncomp_buf[3];
 1078|      0|                }
 1079|     16|            } else {
 1080|      0|                Mat_Critical("Expected MAT_T_UINT32 for array tags, got %d", uncomp_buf[0]);
 1081|      0|                InflateSkip(mat, matvar->internal->z, nBytes, &bytesread);
 1082|      0|            }
 1083|     16|            if ( cells[i]->class_type != MAT_C_OPAQUE ) {
  ------------------
  |  Branch (1083:18): [True: 16, False: 0]
  ------------------
 1084|     16|                mat_uint32_t *dims = NULL;
 1085|     16|                int do_clean = 0;
 1086|     16|                err = InflateRankDims(mat, matvar->internal->z, uncomp_buf, sizeof(uncomp_buf),
 1087|     16|                                      &dims, &bytesread);
 1088|     16|                if ( NULL == dims ) {
  ------------------
  |  Branch (1088:22): [True: 16, False: 0]
  ------------------
 1089|     16|                    dims = uncomp_buf + 2;
 1090|     16|                } else {
 1091|      0|                    do_clean = 1;
 1092|      0|                }
 1093|     16|                if ( err ) {
  ------------------
  |  Branch (1093:22): [True: 0, False: 16]
  ------------------
 1094|      0|                    if ( do_clean ) {
  ------------------
  |  Branch (1094:26): [True: 0, False: 0]
  ------------------
 1095|      0|                        free(dims);
 1096|      0|                    }
 1097|      0|                    Mat_VarFree(cells[i]);
 1098|      0|                    cells[i] = NULL;
 1099|      0|                    break;
 1100|      0|                }
 1101|     16|                nBytes -= 8;
 1102|     16|                if ( mat->byteswap ) {
  ------------------
  |  Branch (1102:22): [True: 0, False: 16]
  ------------------
 1103|      0|                    (void)Mat_uint32Swap(uncomp_buf);
 1104|      0|                    (void)Mat_uint32Swap(uncomp_buf + 1);
 1105|      0|                }
 1106|       |                /* Rank and Dimension */
 1107|     16|                if ( uncomp_buf[0] == MAT_T_INT32 ) {
  ------------------
  |  Branch (1107:22): [True: 16, False: 0]
  ------------------
 1108|     16|                    int j;
 1109|     16|                    size_t size;
 1110|     16|                    cells[i]->rank = uncomp_buf[1];
 1111|     16|                    nBytes -= cells[i]->rank;
 1112|     16|                    cells[i]->rank /= 4;
 1113|     16|                    if ( 0 == do_clean && cells[i]->rank > 13 ) {
  ------------------
  |  Branch (1113:26): [True: 16, False: 0]
  |  Branch (1113:43): [True: 0, False: 16]
  ------------------
 1114|      0|                        int rank = cells[i]->rank;
 1115|      0|                        cells[i]->rank = 0;
 1116|      0|                        Mat_Critical("%d is not a valid rank", rank);
 1117|      0|                        continue;
 1118|      0|                    }
 1119|     16|                    err = Mul(&size, cells[i]->rank, sizeof(*cells[i]->dims));
 1120|     16|                    if ( err ) {
  ------------------
  |  Branch (1120:26): [True: 0, False: 16]
  ------------------
 1121|      0|                        if ( do_clean ) {
  ------------------
  |  Branch (1121:30): [True: 0, False: 0]
  ------------------
 1122|      0|                            free(dims);
 1123|      0|                        }
 1124|      0|                        Mat_VarFree(cells[i]);
 1125|      0|                        cells[i] = NULL;
 1126|      0|                        Mat_Critical("Integer multiplication overflow");
 1127|      0|                        continue;
 1128|      0|                    }
 1129|     16|                    cells[i]->dims = (size_t *)malloc(size);
 1130|     16|                    if ( mat->byteswap ) {
  ------------------
  |  Branch (1130:26): [True: 0, False: 16]
  ------------------
 1131|      0|                        for ( j = 0; j < cells[i]->rank; j++ )
  ------------------
  |  Branch (1131:38): [True: 0, False: 0]
  ------------------
 1132|      0|                            cells[i]->dims[j] = Mat_uint32Swap(dims + j);
 1133|     16|                    } else {
 1134|     48|                        for ( j = 0; j < cells[i]->rank; j++ )
  ------------------
  |  Branch (1134:38): [True: 32, False: 16]
  ------------------
 1135|     32|                            cells[i]->dims[j] = dims[j];
 1136|     16|                    }
 1137|     16|                    if ( cells[i]->rank % 2 != 0 )
  ------------------
  |  Branch (1137:26): [True: 0, False: 16]
  ------------------
 1138|      0|                        nBytes -= 4;
 1139|     16|                }
 1140|     16|                if ( do_clean ) {
  ------------------
  |  Branch (1140:22): [True: 0, False: 16]
  ------------------
 1141|      0|                    free(dims);
 1142|      0|                }
 1143|       |                /* Variable name tag */
 1144|     16|                err = Inflate(mat, matvar->internal->z, uncomp_buf, 8, &bytesread);
 1145|     16|                if ( err ) {
  ------------------
  |  Branch (1145:22): [True: 0, False: 16]
  ------------------
 1146|      0|                    Mat_VarFree(cells[i]);
 1147|      0|                    cells[i] = NULL;
 1148|      0|                    break;
 1149|      0|                }
 1150|     16|                nBytes -= 8;
 1151|     16|                if ( mat->byteswap ) {
  ------------------
  |  Branch (1151:22): [True: 0, False: 16]
  ------------------
 1152|      0|                    (void)Mat_uint32Swap(uncomp_buf);
 1153|      0|                    (void)Mat_uint32Swap(uncomp_buf + 1);
 1154|      0|                }
 1155|       |                /* Handle cell elements written with a variable name */
 1156|     16|                if ( uncomp_buf[1] > 0 ) {
  ------------------
  |  Branch (1156:22): [True: 0, False: 16]
  ------------------
 1157|       |                    /* Name of variable */
 1158|      0|                    if ( uncomp_buf[0] == MAT_T_INT8 ) { /* Name not in tag */
  ------------------
  |  Branch (1158:26): [True: 0, False: 0]
  ------------------
 1159|      0|                        mat_uint32_t len = uncomp_buf[1];
 1160|       |
 1161|      0|                        if ( len % 8 > 0 ) {
  ------------------
  |  Branch (1161:30): [True: 0, False: 0]
  ------------------
 1162|      0|                            if ( len < UINT32_MAX - 8 + (len % 8) )
  ------------------
  |  Branch (1162:34): [True: 0, False: 0]
  ------------------
 1163|      0|                                len = len + 8 - (len % 8);
 1164|      0|                            else {
 1165|      0|                                Mat_VarFree(cells[i]);
 1166|      0|                                cells[i] = NULL;
 1167|      0|                                break;
 1168|      0|                            }
 1169|      0|                        }
 1170|      0|                        cells[i]->name = (char *)malloc(len + 1);
 1171|      0|                        nBytes -= len;
 1172|      0|                        if ( NULL != cells[i]->name ) {
  ------------------
  |  Branch (1172:30): [True: 0, False: 0]
  ------------------
 1173|       |                            /* Variable name */
 1174|      0|                            err =
 1175|      0|                                Inflate(mat, matvar->internal->z, cells[i]->name, len, &bytesread);
 1176|      0|                            if ( err ) {
  ------------------
  |  Branch (1176:34): [True: 0, False: 0]
  ------------------
 1177|      0|                                Mat_VarFree(cells[i]);
 1178|      0|                                cells[i] = NULL;
 1179|      0|                                break;
 1180|      0|                            }
 1181|      0|                            cells[i]->name[len] = '\0';
 1182|      0|                        }
 1183|      0|                    } else {
 1184|      0|                        mat_uint32_t len = (uncomp_buf[0] & 0xffff0000) >> 16;
 1185|      0|                        if ( ((uncomp_buf[0] & 0x0000ffff) == MAT_T_INT8) && len > 0 && len <= 4 ) {
  ------------------
  |  Branch (1185:30): [True: 0, False: 0]
  |  Branch (1185:78): [True: 0, False: 0]
  |  Branch (1185:89): [True: 0, False: 0]
  ------------------
 1186|       |                            /* Name packed in tag */
 1187|      0|                            cells[i]->name = (char *)malloc(len + 1);
 1188|      0|                            if ( NULL != cells[i]->name ) {
  ------------------
  |  Branch (1188:34): [True: 0, False: 0]
  ------------------
 1189|      0|                                memcpy(cells[i]->name, uncomp_buf + 1, len);
 1190|      0|                                cells[i]->name[len] = '\0';
 1191|      0|                            }
 1192|      0|                        }
 1193|      0|                    }
 1194|      0|                }
 1195|     16|                cells[i]->internal->z = (z_streamp)calloc(1, sizeof(z_stream));
 1196|     16|                if ( cells[i]->internal->z != NULL ) {
  ------------------
  |  Branch (1196:22): [True: 16, False: 0]
  ------------------
 1197|     16|                    err = inflateCopy(cells[i]->internal->z, matvar->internal->z);
 1198|     16|                    if ( err == Z_OK ) {
  ------------------
  |  |  177|     16|#define Z_OK            0
  ------------------
  |  Branch (1198:26): [True: 16, False: 0]
  ------------------
 1199|     16|                        cells[i]->internal->datapos = ftello((FILE *)mat->fp);
 1200|     16|                        if ( cells[i]->internal->datapos != -1L ) {
  ------------------
  |  Branch (1200:30): [True: 16, False: 0]
  ------------------
 1201|     16|                            cells[i]->internal->datapos -= matvar->internal->z->avail_in;
 1202|     16|                            if ( cells[i]->class_type == MAT_C_STRUCT )
  ------------------
  |  Branch (1202:34): [True: 0, False: 16]
  ------------------
 1203|      0|                                bytesread += ReadNextStructField(mat, cells[i]);
 1204|     16|                            else if ( cells[i]->class_type == MAT_C_CELL )
  ------------------
  |  Branch (1204:39): [True: 0, False: 16]
  ------------------
 1205|      0|                                bytesread += ReadNextCell(mat, cells[i]);
 1206|     16|                            else if ( nBytes <= (1 << MAX_WBITS) ) {
  ------------------
  |  |  277|     16|#  define MAX_WBITS   15 /* 32K LZ77 window */
  ------------------
  |  Branch (1206:39): [True: 8, False: 8]
  ------------------
 1207|       |                                /* Memory optimization: Read data if less in size
 1208|       |                                   than the zlib inflate state (approximately) */
 1209|      8|                                err = Mat_VarRead5(mat, cells[i]);
 1210|      8|                                cells[i]->internal->data = cells[i]->data;
 1211|      8|                                cells[i]->data = NULL;
 1212|      8|                            }
 1213|     16|                            (void)fseeko((FILE *)mat->fp, cells[i]->internal->datapos, SEEK_SET);
 1214|     16|                        } else {
 1215|      0|                            Mat_Critical("Couldn't determine file position");
 1216|      0|                        }
 1217|     16|                        if ( cells[i]->internal->data != NULL ||
  ------------------
  |  Branch (1217:30): [True: 5, False: 11]
  ------------------
 1218|     16|                             cells[i]->class_type == MAT_C_STRUCT ||
  ------------------
  |  Branch (1218:30): [True: 0, False: 11]
  ------------------
 1219|     16|                             cells[i]->class_type == MAT_C_CELL ||
  ------------------
  |  Branch (1219:30): [True: 0, False: 11]
  ------------------
 1220|     16|                             (nBytes <= (1 << MAX_WBITS) && cells[i]->class_type == MAT_C_CHAR) ) {
  ------------------
  |  |  277|     11|#  define MAX_WBITS   15 /* 32K LZ77 window */
  ------------------
  |  Branch (1220:31): [True: 3, False: 8]
  |  Branch (1220:61): [True: 0, False: 3]
  ------------------
 1221|       |                            /* Memory optimization: Free inflate state */
 1222|      5|                            inflateEnd(cells[i]->internal->z);
 1223|      5|                            free(cells[i]->internal->z);
 1224|      5|                            cells[i]->internal->z = NULL;
 1225|      5|                        }
 1226|     16|                    } else {
 1227|      0|                        Mat_Critical("inflateCopy returned error %s", zError(err));
 1228|      0|                    }
 1229|     16|                } else {
 1230|      0|                    Mat_Critical("Couldn't allocate memory");
 1231|      0|                }
 1232|     16|            }
 1233|     16|            InflateSkip(mat, matvar->internal->z, nBytes, &bytesread);
 1234|     16|        }
 1235|       |#else
 1236|       |        Mat_Critical("Not compiled with zlib support");
 1237|       |#endif
 1238|       |
 1239|      8|    } else {
 1240|      0|        size_t i;
 1241|      0|        mat_uint32_t buf[6] = {0, 0, 0, 0, 0, 0};
 1242|      0|        mat_uint32_t nBytes;
 1243|      0|        mat_uint32_t array_flags;
 1244|       |
 1245|      0|        for ( i = 0; i < nelems; i++ ) {
  ------------------
  |  Branch (1245:22): [True: 0, False: 0]
  ------------------
 1246|      0|            size_t nbytes = 0;
 1247|      0|            cells[i] = Mat_VarCalloc();
 1248|      0|            if ( NULL == cells[i] ) {
  ------------------
  |  Branch (1248:18): [True: 0, False: 0]
  ------------------
 1249|      0|                Mat_Critical("Couldn't allocate memory for cell %zu", i);
 1250|      0|                continue;
 1251|      0|            }
 1252|       |
 1253|       |            /* Read variable tag for cell */
 1254|      0|            err = Read(buf, 4, 2, (FILE *)mat->fp, &nbytes);
 1255|       |
 1256|       |            /* Empty cells at the end of a file may cause an EOF */
 1257|      0|            if ( 0 == err && 0 == nbytes )
  ------------------
  |  Branch (1257:18): [True: 0, False: 0]
  |  Branch (1257:30): [True: 0, False: 0]
  ------------------
 1258|      0|                continue;
 1259|      0|            bytesread += nbytes;
 1260|      0|            if ( err ) {
  ------------------
  |  Branch (1260:18): [True: 0, False: 0]
  ------------------
 1261|      0|                Mat_VarFree(cells[i]);
 1262|      0|                cells[i] = NULL;
 1263|      0|                break;
 1264|      0|            }
 1265|      0|            if ( mat->byteswap ) {
  ------------------
  |  Branch (1265:18): [True: 0, False: 0]
  ------------------
 1266|      0|                (void)Mat_uint32Swap(buf);
 1267|      0|                (void)Mat_uint32Swap(buf + 1);
 1268|      0|            }
 1269|      0|            nBytes = buf[1];
 1270|      0|            if ( 0 == nBytes ) {
  ------------------
  |  Branch (1270:18): [True: 0, False: 0]
  ------------------
 1271|       |                /* Empty cell: Memory optimization */
 1272|      0|                free(cells[i]->internal);
 1273|      0|                cells[i]->internal = NULL;
 1274|      0|                continue;
 1275|      0|            } else if ( buf[0] != MAT_T_MATRIX ) {
  ------------------
  |  Branch (1275:25): [True: 0, False: 0]
  ------------------
 1276|      0|                Mat_VarFree(cells[i]);
 1277|      0|                cells[i] = NULL;
 1278|      0|#if HAVE_LONG_LONG_INT
 1279|      0|                Mat_Critical("cells[%zu] not MAT_T_MATRIX, fpos = %lld", i,
 1280|      0|                             (long long)ftello((FILE *)mat->fp));
 1281|       |#else
 1282|       |                Mat_Critical("cells[%zu] not MAT_T_MATRIX", i);
 1283|       |#endif
 1284|      0|                break;
 1285|      0|            }
 1286|       |
 1287|       |            /* Read array flags and the dimensions tag */
 1288|      0|            err = Read(buf, 4, 6, (FILE *)mat->fp, &bytesread);
 1289|      0|            if ( err ) {
  ------------------
  |  Branch (1289:18): [True: 0, False: 0]
  ------------------
 1290|      0|                Mat_VarFree(cells[i]);
 1291|      0|                cells[i] = NULL;
 1292|      0|                break;
 1293|      0|            }
 1294|      0|            if ( mat->byteswap ) {
  ------------------
  |  Branch (1294:18): [True: 0, False: 0]
  ------------------
 1295|      0|                (void)Mat_uint32Swap(buf);
 1296|      0|                (void)Mat_uint32Swap(buf + 1);
 1297|      0|                (void)Mat_uint32Swap(buf + 2);
 1298|      0|                (void)Mat_uint32Swap(buf + 3);
 1299|      0|                (void)Mat_uint32Swap(buf + 4);
 1300|      0|                (void)Mat_uint32Swap(buf + 5);
 1301|      0|            }
 1302|      0|            nBytes -= 24;
 1303|       |            /* Array flags */
 1304|      0|            if ( buf[0] == MAT_T_UINT32 ) {
  ------------------
  |  Branch (1304:18): [True: 0, False: 0]
  ------------------
 1305|      0|                array_flags = buf[2];
 1306|      0|                cells[i]->class_type = CLASS_FROM_ARRAY_FLAGS(array_flags);
  ------------------
  |  |   50|      0|    (((a) & 0x000000ff) <= MAT_C_OPAQUE) ? ((enum matio_classes)((a) & 0x000000ff)) : MAT_C_EMPTY
  |  |  ------------------
  |  |  |  Branch (50:5): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1307|      0|                cells[i]->isComplex = (array_flags & MAT_F_COMPLEX);
 1308|      0|                cells[i]->isGlobal = (array_flags & MAT_F_GLOBAL);
 1309|      0|                cells[i]->isLogical = (array_flags & MAT_F_LOGICAL);
 1310|      0|                if ( cells[i]->class_type == MAT_C_SPARSE ) {
  ------------------
  |  Branch (1310:22): [True: 0, False: 0]
  ------------------
 1311|       |                    /* Need to find a more appropriate place to store nzmax */
 1312|      0|                    cells[i]->nbytes = buf[3];
 1313|      0|                }
 1314|      0|            }
 1315|       |            /* Rank and dimension */
 1316|      0|            nbytes = 0;
 1317|      0|            err = ReadRankDims(mat, cells[i], (enum matio_types)buf[4], buf[5], &nbytes);
 1318|      0|            bytesread += nbytes;
 1319|      0|            nBytes -= nbytes;
 1320|      0|            if ( err ) {
  ------------------
  |  Branch (1320:18): [True: 0, False: 0]
  ------------------
 1321|      0|                Mat_VarFree(cells[i]);
 1322|      0|                cells[i] = NULL;
 1323|      0|                break;
 1324|      0|            }
 1325|       |            /* Variable name tag */
 1326|      0|            if ( 0 != Read(buf, 1, 8, (FILE *)mat->fp, &bytesread) ) {
  ------------------
  |  Branch (1326:18): [True: 0, False: 0]
  ------------------
 1327|      0|                Mat_VarFree(cells[i]);
 1328|      0|                cells[i] = NULL;
 1329|      0|                break;
 1330|      0|            }
 1331|      0|            nBytes -= 8;
 1332|      0|            if ( mat->byteswap ) {
  ------------------
  |  Branch (1332:18): [True: 0, False: 0]
  ------------------
 1333|      0|                (void)Mat_uint32Swap(buf);
 1334|      0|                (void)Mat_uint32Swap(buf + 1);
 1335|      0|            }
 1336|      0|            if ( buf[1] > 0 ) {
  ------------------
  |  Branch (1336:18): [True: 0, False: 0]
  ------------------
 1337|       |                /* Name of variable */
 1338|      0|                if ( buf[0] == MAT_T_INT8 ) { /* Name not in tag */
  ------------------
  |  Branch (1338:22): [True: 0, False: 0]
  ------------------
 1339|      0|                    mat_uint32_t name_len = buf[1];
 1340|      0|                    if ( name_len % 8 > 0 ) {
  ------------------
  |  Branch (1340:26): [True: 0, False: 0]
  ------------------
 1341|      0|                        if ( name_len < UINT32_MAX - 8 + (name_len % 8) ) {
  ------------------
  |  Branch (1341:30): [True: 0, False: 0]
  ------------------
 1342|      0|                            name_len = name_len + 8 - (name_len % 8);
 1343|      0|                        } else {
 1344|      0|                            Mat_VarFree(cells[i]);
 1345|      0|                            cells[i] = NULL;
 1346|      0|                            break;
 1347|      0|                        }
 1348|      0|                    }
 1349|      0|                    nBytes -= name_len;
 1350|      0|                    (void)fseeko((FILE *)mat->fp, name_len, SEEK_CUR);
 1351|      0|                }
 1352|      0|            }
 1353|      0|            cells[i]->internal->datapos = ftello((FILE *)mat->fp);
 1354|      0|            if ( cells[i]->internal->datapos != -1L ) {
  ------------------
  |  Branch (1354:18): [True: 0, False: 0]
  ------------------
 1355|      0|                if ( cells[i]->class_type == MAT_C_STRUCT )
  ------------------
  |  Branch (1355:22): [True: 0, False: 0]
  ------------------
 1356|      0|                    bytesread += ReadNextStructField(mat, cells[i]);
 1357|      0|                if ( cells[i]->class_type == MAT_C_CELL )
  ------------------
  |  Branch (1357:22): [True: 0, False: 0]
  ------------------
 1358|      0|                    bytesread += ReadNextCell(mat, cells[i]);
 1359|      0|                (void)fseeko((FILE *)mat->fp, cells[i]->internal->datapos + nBytes, SEEK_SET);
 1360|      0|            } else {
 1361|      0|                Mat_Critical("Couldn't determine file position");
 1362|      0|            }
 1363|      0|        }
 1364|      0|    }
 1365|       |
 1366|      8|    return bytesread;
 1367|      8|}
mat5.c:ReadRankDims:
 1933|  2.18k|{
 1934|  2.18k|    int err = MATIO_E_NO_ERROR;
  ------------------
  |  |  241|  2.18k|#define MATIO_E_NO_ERROR 0
  ------------------
 1935|       |    /* Rank and dimension */
 1936|  2.18k|    if ( data_type == MAT_T_INT32 ) {
  ------------------
  |  Branch (1936:10): [True: 1.93k, False: 253]
  ------------------
 1937|  1.93k|        matvar->rank = nbytes / sizeof(mat_uint32_t);
 1938|  1.93k|        matvar->dims = (size_t *)malloc(matvar->rank * sizeof(*matvar->dims));
 1939|  1.93k|        if ( NULL != matvar->dims ) {
  ------------------
  |  Branch (1939:14): [True: 1.93k, False: 0]
  ------------------
 1940|  1.93k|            int i;
 1941|  1.93k|            mat_uint32_t buf;
 1942|       |
 1943|   625k|            for ( i = 0; i < matvar->rank; i++ ) {
  ------------------
  |  Branch (1943:26): [True: 623k, False: 1.92k]
  ------------------
 1944|   623k|                err = Read(&buf, sizeof(mat_uint32_t), 1, (FILE *)mat->fp, read_bytes);
 1945|   623k|                if ( MATIO_E_NO_ERROR == err ) {
  ------------------
  |  |  241|   623k|#define MATIO_E_NO_ERROR 0
  ------------------
  |  Branch (1945:22): [True: 623k, False: 3]
  ------------------
 1946|   623k|                    if ( mat->byteswap ) {
  ------------------
  |  Branch (1946:26): [True: 619k, False: 3.54k]
  ------------------
 1947|   619k|                        matvar->dims[i] = Mat_uint32Swap(&buf);
 1948|   619k|                    } else {
 1949|  3.54k|                        matvar->dims[i] = buf;
 1950|  3.54k|                    }
 1951|   623k|                } else {
 1952|      3|                    free(matvar->dims);
 1953|      3|                    matvar->dims = NULL;
 1954|      3|                    matvar->rank = 0;
 1955|      3|                    return err;
 1956|      3|                }
 1957|   623k|            }
 1958|       |
 1959|  1.92k|            if ( matvar->rank % 2 != 0 ) {
  ------------------
  |  Branch (1959:18): [True: 517, False: 1.41k]
  ------------------
 1960|    517|                err = Read(&buf, sizeof(mat_uint32_t), 1, (FILE *)mat->fp, read_bytes);
 1961|    517|                if ( err ) {
  ------------------
  |  Branch (1961:22): [True: 0, False: 517]
  ------------------
 1962|      0|                    free(matvar->dims);
 1963|      0|                    matvar->dims = NULL;
 1964|      0|                    matvar->rank = 0;
 1965|      0|                    return err;
 1966|      0|                }
 1967|    517|            }
 1968|  1.92k|        } else {
 1969|      0|            matvar->rank = 0;
 1970|      0|            err = MATIO_E_OUT_OF_MEMORY;
  ------------------
  |  |  251|      0|#define MATIO_E_OUT_OF_MEMORY 14
  ------------------
 1971|      0|            Mat_Critical("Error allocating memory for dims");
 1972|      0|        }
 1973|  1.93k|    }
 1974|  2.18k|    return err;
 1975|  2.18k|}

Mat_Close73:
 2641|     10|{
 2642|     10|    int err = MATIO_E_NO_ERROR;
  ------------------
  |  |  241|     10|#define MATIO_E_NO_ERROR 0
  ------------------
 2643|     10|    if ( mat->refs_id >= 0 )
  ------------------
  |  Branch (2643:10): [True: 0, False: 10]
  ------------------
 2644|      0|        H5Gclose(mat->refs_id);
 2645|     10|    if ( H5Fclose(*(hid_t *)mat->fp) < 0 )
  ------------------
  |  Branch (2645:10): [True: 3, False: 7]
  ------------------
 2646|      3|        err = MATIO_E_FILESYSTEM_ERROR_ON_CLOSE;
  ------------------
  |  |  261|      3|#define MATIO_E_FILESYSTEM_ERROR_ON_CLOSE 24
  ------------------
 2647|     10|    free(mat->fp);
 2648|     10|    mat->fp = NULL;
 2649|     10|    return err;
 2650|     10|}
Mat_VarRead73:
 2663|     25|{
 2664|     25|    int err = MATIO_E_NO_ERROR;
  ------------------
  |  |  241|     25|#define MATIO_E_NO_ERROR 0
  ------------------
 2665|     25|    hid_t fid, dset_id, ref_id;
 2666|       |
 2667|     25|    if ( NULL == mat || NULL == matvar )
  ------------------
  |  Branch (2667:10): [True: 0, False: 25]
  |  Branch (2667:25): [True: 0, False: 25]
  ------------------
 2668|      0|        return MATIO_E_BAD_ARGUMENT;
  ------------------
  |  |  248|      0|#define MATIO_E_BAD_ARGUMENT 7
  ------------------
 2669|     25|    else if ( matvar->internal->id < 0 )
  ------------------
  |  Branch (2669:15): [True: 0, False: 25]
  ------------------
 2670|      0|        return MATIO_E_FAIL_TO_IDENTIFY;
  ------------------
  |  |  247|      0|#define MATIO_E_FAIL_TO_IDENTIFY 6
  ------------------
 2671|       |
 2672|     25|    fid = *(hid_t *)mat->fp;
 2673|       |
 2674|     25|    switch ( matvar->class_type ) {
 2675|      1|        case MAT_C_DOUBLE:
  ------------------
  |  Branch (2675:9): [True: 1, False: 24]
  ------------------
 2676|      5|        case MAT_C_SINGLE:
  ------------------
  |  Branch (2676:9): [True: 4, False: 21]
  ------------------
 2677|      5|        case MAT_C_INT64:
  ------------------
  |  Branch (2677:9): [True: 0, False: 25]
  ------------------
 2678|      5|        case MAT_C_UINT64:
  ------------------
  |  Branch (2678:9): [True: 0, False: 25]
  ------------------
 2679|     11|        case MAT_C_INT32:
  ------------------
  |  Branch (2679:9): [True: 6, False: 19]
  ------------------
 2680|     11|        case MAT_C_UINT32:
  ------------------
  |  Branch (2680:9): [True: 0, False: 25]
  ------------------
 2681|     15|        case MAT_C_INT16:
  ------------------
  |  Branch (2681:9): [True: 4, False: 21]
  ------------------
 2682|     15|        case MAT_C_UINT16:
  ------------------
  |  Branch (2682:9): [True: 0, False: 25]
  ------------------
 2683|     19|        case MAT_C_INT8:
  ------------------
  |  Branch (2683:9): [True: 4, False: 21]
  ------------------
 2684|     19|        case MAT_C_UINT8: {
  ------------------
  |  Branch (2684:9): [True: 0, False: 25]
  ------------------
 2685|     19|            size_t nelems = 1;
 2686|     19|            matvar->data_size = (int)Mat_SizeOfClass(matvar->class_type);
 2687|     19|            err = Mat_MulDims(matvar, &nelems);
 2688|     19|            if ( err ) {
  ------------------
  |  Branch (2688:18): [True: 0, False: 19]
  ------------------
 2689|      0|                Mat_Critical("Integer multiplication overflow");
 2690|      0|                return err;
 2691|      0|            }
 2692|     19|            err = Mul(&matvar->nbytes, nelems, matvar->data_size);
 2693|     19|            if ( err ) {
  ------------------
  |  Branch (2693:18): [True: 0, False: 19]
  ------------------
 2694|      0|                Mat_Critical("Integer multiplication overflow");
 2695|      0|                return err;
 2696|      0|            }
 2697|       |
 2698|     19|            if ( nelems < 1 )
  ------------------
  |  Branch (2698:18): [True: 0, False: 19]
  ------------------
 2699|      0|                break;
 2700|       |
 2701|     19|            ref_id = matvar->internal->id;
 2702|     19|            H5Iinc_ref(ref_id);
 2703|       |
 2704|     19|            if ( 0 < matvar->internal->hdf5_ref ) {
  ------------------
  |  Branch (2704:18): [True: 0, False: 19]
  ------------------
 2705|      0|                dset_id = H5RDEREFERENCE(ref_id, H5R_OBJECT, &matvar->internal->hdf5_ref);
  ------------------
  |  |   69|      0|    H5Rdereference2((obj_id), H5P_DATASET_ACCESS_DEFAULT, (ref_type), (_ref))
  |  |  ------------------
  |  |  |  |  156|      0|#define H5P_DATASET_ACCESS_DEFAULT (H5OPEN H5P_LST_DATASET_ACCESS_ID_g)
  |  |  |  |  ------------------
  |  |  |  |  |  |   40|      0|#define H5OPEN H5open(),
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2706|     19|            } else {
 2707|     19|                dset_id = ref_id;
 2708|     19|                H5Iinc_ref(dset_id);
 2709|     19|            }
 2710|       |
 2711|     19|            if ( !matvar->isComplex ) {
  ------------------
  |  Branch (2711:18): [True: 19, False: 0]
  ------------------
 2712|     19|                matvar->data = malloc(matvar->nbytes);
 2713|     19|            } else {
 2714|      0|                matvar->data = ComplexMalloc(matvar->nbytes);
 2715|      0|            }
 2716|     19|            if ( NULL != matvar->data ) {
  ------------------
  |  Branch (2716:18): [True: 19, False: 0]
  ------------------
 2717|     19|                err = Mat_H5ReadData(dset_id, ClassType2H5T(matvar->class_type), H5S_ALL, H5S_ALL,
  ------------------
  |  |   32|     19|#define H5S_ALL 0
  ------------------
                              err = Mat_H5ReadData(dset_id, ClassType2H5T(matvar->class_type), H5S_ALL, H5S_ALL,
  ------------------
  |  |   32|     19|#define H5S_ALL 0
  ------------------
 2718|     19|                                     matvar->isComplex, matvar->data);
 2719|     19|            }
 2720|     19|            H5Dclose(dset_id);
 2721|     19|            H5Dclose(ref_id);
 2722|     19|            break;
 2723|     19|        }
 2724|      3|        case MAT_C_CHAR: {
  ------------------
  |  Branch (2724:9): [True: 3, False: 22]
  ------------------
 2725|      3|            size_t nelems = 1;
 2726|      3|            matvar->data_size = (int)Mat_SizeOf(matvar->data_type);
 2727|      3|            err = Mat_MulDims(matvar, &nelems);
 2728|      3|            if ( err ) {
  ------------------
  |  Branch (2728:18): [True: 0, False: 3]
  ------------------
 2729|      0|                Mat_Critical("Integer multiplication overflow");
 2730|      0|                return err;
 2731|      0|            }
 2732|      3|            err = Mul(&matvar->nbytes, nelems, matvar->data_size);
 2733|      3|            if ( err ) {
  ------------------
  |  Branch (2733:18): [True: 0, False: 3]
  ------------------
 2734|      0|                Mat_Critical("Integer multiplication overflow");
 2735|      0|                return err;
 2736|      0|            }
 2737|       |
 2738|      3|            dset_id = matvar->internal->id;
 2739|      3|            H5Iinc_ref(dset_id);
 2740|       |
 2741|      3|            if ( matvar->nbytes > 0 ) {
  ------------------
  |  Branch (2741:18): [True: 3, False: 0]
  ------------------
 2742|      3|                matvar->data = malloc(matvar->nbytes);
 2743|      3|                if ( NULL != matvar->data ) {
  ------------------
  |  Branch (2743:22): [True: 3, False: 0]
  ------------------
 2744|      3|                    herr_t herr = H5Dread(dset_id, DataType2H5T(matvar->data_type), H5S_ALL,
  ------------------
  |  |   32|      3|#define H5S_ALL 0
  ------------------
 2745|      3|                                          H5S_ALL, H5P_DEFAULT, matvar->data);
  ------------------
  |  |   32|      3|#define H5S_ALL 0
  ------------------
                                                        H5S_ALL, H5P_DEFAULT, matvar->data);
  ------------------
  |  |  228|      3|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
 2746|      3|                    if ( herr < 0 ) {
  ------------------
  |  Branch (2746:26): [True: 0, False: 3]
  ------------------
 2747|      0|                        err = MATIO_E_GENERIC_READ_ERROR;
  ------------------
  |  |  243|      0|#define MATIO_E_GENERIC_READ_ERROR 2
  ------------------
 2748|      0|                    }
 2749|      3|                } else {
 2750|      0|                    err = MATIO_E_OUT_OF_MEMORY;
  ------------------
  |  |  251|      0|#define MATIO_E_OUT_OF_MEMORY 14
  ------------------
 2751|      0|                }
 2752|      3|            }
 2753|      3|            H5Dclose(dset_id);
 2754|      3|            break;
 2755|      3|        }
 2756|      0|        case MAT_C_STRUCT: {
  ------------------
  |  Branch (2756:9): [True: 0, False: 25]
  ------------------
 2757|      0|            matvar_t **fields;
 2758|      0|            size_t i, nelems_x_nfields, nelems = 1;
 2759|       |
 2760|      0|            if ( !matvar->internal->num_fields || NULL == matvar->data )
  ------------------
  |  Branch (2760:18): [True: 0, False: 0]
  |  Branch (2760:51): [True: 0, False: 0]
  ------------------
 2761|      0|                break;
 2762|       |
 2763|      0|            err = Mat_MulDims(matvar, &nelems);
 2764|      0|            if ( err ) {
  ------------------
  |  Branch (2764:18): [True: 0, False: 0]
  ------------------
 2765|      0|                Mat_Critical("Integer multiplication overflow");
 2766|      0|                return err;
 2767|      0|            }
 2768|      0|            err = Mul(&nelems_x_nfields, nelems, matvar->internal->num_fields);
 2769|      0|            if ( err ) {
  ------------------
  |  Branch (2769:18): [True: 0, False: 0]
  ------------------
 2770|      0|                Mat_Critical("Integer multiplication overflow");
 2771|      0|                return err;
 2772|      0|            }
 2773|       |
 2774|      0|            fields = (matvar_t **)matvar->data;
 2775|      0|            for ( i = 0; i < nelems_x_nfields; i++ ) {
  ------------------
  |  Branch (2775:26): [True: 0, False: 0]
  ------------------
 2776|      0|                if ( NULL != fields[i] && 0 < fields[i]->internal->hdf5_ref &&
  ------------------
  |  Branch (2776:22): [True: 0, False: 0]
  |  Branch (2776:43): [True: 0, False: 0]
  ------------------
 2777|      0|                     fields[i]->internal->id >= 0 ) {
  ------------------
  |  Branch (2777:22): [True: 0, False: 0]
  ------------------
 2778|       |                    /* Dataset of references */
 2779|      0|                    err = Mat_H5ReadNextReferenceData(fields[i], mat);
 2780|      0|                } else {
 2781|      0|                    err = Mat_VarRead73(mat, fields[i]);
 2782|      0|                }
 2783|      0|                if ( err ) {
  ------------------
  |  Branch (2783:22): [True: 0, False: 0]
  ------------------
 2784|      0|                    break;
 2785|      0|                }
 2786|      0|            }
 2787|      0|            break;
 2788|      0|        }
 2789|      0|        case MAT_C_CELL: {
  ------------------
  |  Branch (2789:9): [True: 0, False: 25]
  ------------------
 2790|      0|            matvar_t **cells;
 2791|      0|            size_t i, nelems;
 2792|       |
 2793|      0|            if ( NULL == matvar->data ) {
  ------------------
  |  Branch (2793:18): [True: 0, False: 0]
  ------------------
 2794|      0|                Mat_Critical("Data is NULL for cell array %s", matvar->name);
 2795|      0|                err = MATIO_E_FILE_FORMAT_VIOLATION;
  ------------------
  |  |  246|      0|#define MATIO_E_FILE_FORMAT_VIOLATION 5
  ------------------
 2796|      0|                break;
 2797|      0|            }
 2798|      0|            nelems = matvar->nbytes / matvar->data_size;
 2799|      0|            cells = (matvar_t **)matvar->data;
 2800|      0|            for ( i = 0; i < nelems; i++ ) {
  ------------------
  |  Branch (2800:26): [True: 0, False: 0]
  ------------------
 2801|      0|                if ( NULL != cells[i] ) {
  ------------------
  |  Branch (2801:22): [True: 0, False: 0]
  ------------------
 2802|      0|                    err = Mat_H5ReadNextReferenceData(cells[i], mat);
 2803|      0|                }
 2804|      0|                if ( err ) {
  ------------------
  |  Branch (2804:22): [True: 0, False: 0]
  ------------------
 2805|      0|                    break;
 2806|      0|                }
 2807|      0|            }
 2808|      0|            break;
 2809|      0|        }
 2810|      3|        case MAT_C_SPARSE: {
  ------------------
  |  Branch (2810:9): [True: 3, False: 22]
  ------------------
 2811|      3|            hid_t sparse_dset_id;
 2812|      3|            mat_sparse_t *sparse_data = (mat_sparse_t *)calloc(1, sizeof(*sparse_data));
 2813|       |
 2814|      3|            dset_id = matvar->internal->id;
 2815|      3|            H5Iinc_ref(dset_id);
 2816|       |
 2817|      3|            if ( H5Lexists(dset_id, "ir", H5P_DEFAULT) ) {
  ------------------
  |  |  228|      3|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
  |  Branch (2817:18): [True: 3, False: 0]
  ------------------
 2818|      3|                size_t *dims;
 2819|      3|                hsize_t nelems;
 2820|      3|                int rank;
 2821|       |
 2822|      3|                sparse_dset_id = H5Dopen(dset_id, "ir", H5P_DEFAULT);
  ------------------
  |  |  727|      3|  #define H5Dopen H5Dopen2
  ------------------
                              sparse_dset_id = H5Dopen(dset_id, "ir", H5P_DEFAULT);
  ------------------
  |  |  228|      3|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
 2823|      3|                dims = Mat_H5ReadDims(sparse_dset_id, &nelems, &rank);
 2824|      3|                if ( NULL != dims ) {
  ------------------
  |  Branch (2824:22): [True: 0, False: 3]
  ------------------
 2825|      0|                    size_t nbytes = 0;
 2826|      0|                    sparse_data->nir = (mat_uint32_t)dims[0];
 2827|      0|                    free(dims);
 2828|      0|                    err = Mul(&nbytes, sparse_data->nir, sizeof(mat_uint32_t));
 2829|      0|                    if ( err ) {
  ------------------
  |  Branch (2829:26): [True: 0, False: 0]
  ------------------
 2830|      0|                        H5Dclose(sparse_dset_id);
 2831|      0|                        H5Gclose(dset_id);
 2832|      0|                        free(sparse_data);
 2833|      0|                        Mat_Critical("Integer multiplication overflow");
 2834|      0|                        return err;
 2835|      0|                    }
 2836|      0|                    sparse_data->ir = (mat_uint32_t *)malloc(nbytes);
 2837|      0|                    if ( sparse_data->ir != NULL ) {
  ------------------
  |  Branch (2837:26): [True: 0, False: 0]
  ------------------
 2838|      0|                        herr_t herr = H5Dread(sparse_dset_id, H5T_NATIVE_UINT, H5S_ALL, H5S_ALL,
  ------------------
  |  |  785|      0|#define H5T_NATIVE_UINT (H5OPEN H5T_NATIVE_UINT_g)
  |  |  ------------------
  |  |  |  |   40|      0|#define H5OPEN H5open(),
  |  |  ------------------
  ------------------
                                      herr_t herr = H5Dread(sparse_dset_id, H5T_NATIVE_UINT, H5S_ALL, H5S_ALL,
  ------------------
  |  |   32|      0|#define H5S_ALL 0
  ------------------
                                      herr_t herr = H5Dread(sparse_dset_id, H5T_NATIVE_UINT, H5S_ALL, H5S_ALL,
  ------------------
  |  |   32|      0|#define H5S_ALL 0
  ------------------
 2839|      0|                                              H5P_DEFAULT, sparse_data->ir);
  ------------------
  |  |  228|      0|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
 2840|      0|                        if ( herr < 0 ) {
  ------------------
  |  Branch (2840:30): [True: 0, False: 0]
  ------------------
 2841|      0|                            err = MATIO_E_GENERIC_READ_ERROR;
  ------------------
  |  |  243|      0|#define MATIO_E_GENERIC_READ_ERROR 2
  ------------------
 2842|      0|                        }
 2843|      0|                    } else {
 2844|      0|                        err = MATIO_E_OUT_OF_MEMORY;
  ------------------
  |  |  251|      0|#define MATIO_E_OUT_OF_MEMORY 14
  ------------------
 2845|      0|                    }
 2846|      3|                } else {
 2847|      3|                    err = MATIO_E_UNKNOWN_ERROR;
  ------------------
  |  |  242|      3|#define MATIO_E_UNKNOWN_ERROR 1
  ------------------
 2848|      3|                }
 2849|      3|                H5Dclose(sparse_dset_id);
 2850|      3|                if ( err ) {
  ------------------
  |  Branch (2850:22): [True: 3, False: 0]
  ------------------
 2851|      3|                    H5Gclose(dset_id);
 2852|      3|                    if ( sparse_data->ir != NULL )
  ------------------
  |  Branch (2852:26): [True: 0, False: 3]
  ------------------
 2853|      0|                        free(sparse_data->ir);
 2854|      3|                    free(sparse_data);
 2855|      3|                    return err;
 2856|      3|                }
 2857|      3|            }
 2858|       |
 2859|      0|            if ( H5Lexists(dset_id, "jc", H5P_DEFAULT) ) {
  ------------------
  |  |  228|      0|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
  |  Branch (2859:18): [True: 0, False: 0]
  ------------------
 2860|      0|                size_t *dims;
 2861|      0|                hsize_t nelems;
 2862|      0|                int rank;
 2863|       |
 2864|      0|                sparse_dset_id = H5Dopen(dset_id, "jc", H5P_DEFAULT);
  ------------------
  |  |  727|      0|  #define H5Dopen H5Dopen2
  ------------------
                              sparse_dset_id = H5Dopen(dset_id, "jc", H5P_DEFAULT);
  ------------------
  |  |  228|      0|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
 2865|      0|                dims = Mat_H5ReadDims(sparse_dset_id, &nelems, &rank);
 2866|      0|                if ( NULL != dims ) {
  ------------------
  |  Branch (2866:22): [True: 0, False: 0]
  ------------------
 2867|      0|                    size_t nbytes = 0;
 2868|      0|                    sparse_data->njc = (mat_uint32_t)dims[0];
 2869|      0|                    free(dims);
 2870|      0|                    err = Mul(&nbytes, sparse_data->njc, sizeof(mat_uint32_t));
 2871|      0|                    if ( err ) {
  ------------------
  |  Branch (2871:26): [True: 0, False: 0]
  ------------------
 2872|      0|                        H5Dclose(sparse_dset_id);
 2873|      0|                        H5Gclose(dset_id);
 2874|      0|                        free(sparse_data);
 2875|      0|                        Mat_Critical("Integer multiplication overflow");
 2876|      0|                        return err;
 2877|      0|                    }
 2878|      0|                    sparse_data->jc = (mat_uint32_t *)malloc(nbytes);
 2879|      0|                    if ( sparse_data->jc != NULL ) {
  ------------------
  |  Branch (2879:26): [True: 0, False: 0]
  ------------------
 2880|      0|                        herr_t herr = H5Dread(sparse_dset_id, H5T_NATIVE_UINT, H5S_ALL, H5S_ALL,
  ------------------
  |  |  785|      0|#define H5T_NATIVE_UINT (H5OPEN H5T_NATIVE_UINT_g)
  |  |  ------------------
  |  |  |  |   40|      0|#define H5OPEN H5open(),
  |  |  ------------------
  ------------------
                                      herr_t herr = H5Dread(sparse_dset_id, H5T_NATIVE_UINT, H5S_ALL, H5S_ALL,
  ------------------
  |  |   32|      0|#define H5S_ALL 0
  ------------------
                                      herr_t herr = H5Dread(sparse_dset_id, H5T_NATIVE_UINT, H5S_ALL, H5S_ALL,
  ------------------
  |  |   32|      0|#define H5S_ALL 0
  ------------------
 2881|      0|                                              H5P_DEFAULT, sparse_data->jc);
  ------------------
  |  |  228|      0|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
 2882|      0|                        if ( herr < 0 ) {
  ------------------
  |  Branch (2882:30): [True: 0, False: 0]
  ------------------
 2883|      0|                            err = MATIO_E_GENERIC_READ_ERROR;
  ------------------
  |  |  243|      0|#define MATIO_E_GENERIC_READ_ERROR 2
  ------------------
 2884|      0|                        }
 2885|      0|                    } else {
 2886|      0|                        err = MATIO_E_OUT_OF_MEMORY;
  ------------------
  |  |  251|      0|#define MATIO_E_OUT_OF_MEMORY 14
  ------------------
 2887|      0|                    }
 2888|      0|                } else {
 2889|      0|                    err = MATIO_E_UNKNOWN_ERROR;
  ------------------
  |  |  242|      0|#define MATIO_E_UNKNOWN_ERROR 1
  ------------------
 2890|      0|                }
 2891|      0|                H5Dclose(sparse_dset_id);
 2892|      0|                if ( err ) {
  ------------------
  |  Branch (2892:22): [True: 0, False: 0]
  ------------------
 2893|      0|                    H5Gclose(dset_id);
 2894|      0|                    if ( sparse_data->jc != NULL )
  ------------------
  |  Branch (2894:26): [True: 0, False: 0]
  ------------------
 2895|      0|                        free(sparse_data->jc);
 2896|      0|                    if ( sparse_data->ir != NULL )
  ------------------
  |  Branch (2896:26): [True: 0, False: 0]
  ------------------
 2897|      0|                        free(sparse_data->ir);
 2898|      0|                    free(sparse_data);
 2899|      0|                    return err;
 2900|      0|                }
 2901|      0|            }
 2902|       |
 2903|      0|            if ( H5Lexists(dset_id, "data", H5P_DEFAULT) ) {
  ------------------
  |  |  228|      0|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
  |  Branch (2903:18): [True: 0, False: 0]
  ------------------
 2904|      0|                size_t *dims;
 2905|      0|                hsize_t nelems;
 2906|      0|                int rank;
 2907|       |
 2908|      0|                sparse_dset_id = H5Dopen(dset_id, "data", H5P_DEFAULT);
  ------------------
  |  |  727|      0|  #define H5Dopen H5Dopen2
  ------------------
                              sparse_dset_id = H5Dopen(dset_id, "data", H5P_DEFAULT);
  ------------------
  |  |  228|      0|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
 2909|      0|                dims = Mat_H5ReadDims(sparse_dset_id, &nelems, &rank);
 2910|      0|                if ( NULL != dims ) {
  ------------------
  |  Branch (2910:22): [True: 0, False: 0]
  ------------------
 2911|      0|                    size_t ndata_bytes = 0;
 2912|      0|                    sparse_data->nzmax = (mat_uint32_t)dims[0];
 2913|      0|                    sparse_data->ndata = (mat_uint32_t)dims[0];
 2914|      0|                    free(dims);
 2915|      0|                    err = Mul(&ndata_bytes, sparse_data->nzmax, Mat_SizeOf(matvar->data_type));
 2916|      0|                    if ( err ) {
  ------------------
  |  Branch (2916:26): [True: 0, False: 0]
  ------------------
 2917|      0|                        H5Dclose(sparse_dset_id);
 2918|      0|                        H5Gclose(dset_id);
 2919|      0|                        free(sparse_data);
 2920|      0|                        Mat_Critical("Integer multiplication overflow");
 2921|      0|                        return err;
 2922|      0|                    }
 2923|      0|                    matvar->data_size = sizeof(mat_sparse_t);
 2924|      0|                    matvar->nbytes = matvar->data_size;
 2925|      0|                    if ( !matvar->isComplex ) {
  ------------------
  |  Branch (2925:26): [True: 0, False: 0]
  ------------------
 2926|      0|                        sparse_data->data = malloc(ndata_bytes);
 2927|      0|                    } else {
 2928|      0|                        sparse_data->data = ComplexMalloc(ndata_bytes);
 2929|      0|                    }
 2930|      0|                    if ( NULL != sparse_data->data ) {
  ------------------
  |  Branch (2930:26): [True: 0, False: 0]
  ------------------
 2931|      0|                        err =
 2932|      0|                            Mat_H5ReadData(sparse_dset_id, DataType2H5T(matvar->data_type), H5S_ALL,
  ------------------
  |  |   32|      0|#define H5S_ALL 0
  ------------------
 2933|      0|                                           H5S_ALL, matvar->isComplex, sparse_data->data);
  ------------------
  |  |   32|      0|#define H5S_ALL 0
  ------------------
 2934|      0|                    } else {
 2935|      0|                        err = MATIO_E_OUT_OF_MEMORY;
  ------------------
  |  |  251|      0|#define MATIO_E_OUT_OF_MEMORY 14
  ------------------
 2936|      0|                    }
 2937|      0|                }
 2938|      0|                H5Dclose(sparse_dset_id);
 2939|      0|            }
 2940|      0|            H5Gclose(dset_id);
 2941|      0|            matvar->data = sparse_data;
 2942|      0|            break;
 2943|      0|        }
 2944|      0|        case MAT_C_EMPTY:
  ------------------
  |  Branch (2944:9): [True: 0, False: 25]
  ------------------
 2945|      0|        case MAT_C_FUNCTION:
  ------------------
  |  Branch (2945:9): [True: 0, False: 25]
  ------------------
 2946|      0|        case MAT_C_OBJECT:
  ------------------
  |  Branch (2946:9): [True: 0, False: 25]
  ------------------
 2947|      0|        case MAT_C_OPAQUE:
  ------------------
  |  Branch (2947:9): [True: 0, False: 25]
  ------------------
 2948|      0|            break;
 2949|      0|        default:
  ------------------
  |  Branch (2949:9): [True: 0, False: 25]
  ------------------
 2950|      0|            err = MATIO_E_FAIL_TO_IDENTIFY;
  ------------------
  |  |  247|      0|#define MATIO_E_FAIL_TO_IDENTIFY 6
  ------------------
 2951|      0|            break;
 2952|     25|    }
 2953|     22|    return err;
 2954|     25|}
Mat_VarReadNextInfo73:
 3143|     82|{
 3144|     82|    hid_t id;
 3145|     82|    hsize_t idx;
 3146|     82|    herr_t herr;
 3147|     82|    struct ReadNextIterData iter_data;
 3148|       |
 3149|     82|    if ( mat == NULL )
  ------------------
  |  Branch (3149:10): [True: 0, False: 82]
  ------------------
 3150|      0|        return NULL;
 3151|       |
 3152|     82|    if ( mat->next_index >= mat->num_datasets )
  ------------------
  |  Branch (3152:10): [True: 6, False: 76]
  ------------------
 3153|      6|        return NULL;
 3154|       |
 3155|     76|    id = *(hid_t *)mat->fp;
 3156|     76|    idx = (hsize_t)mat->next_index;
 3157|     76|    iter_data.mat = mat;
 3158|     76|    iter_data.matvar = NULL;
 3159|     76|    iter_data.pred = pred;
 3160|     76|    iter_data.pred_user_data = user_data;
 3161|     76|    herr = H5Literate(id, H5_INDEX_NAME, H5_ITER_NATIVE, &idx, Mat_VarReadNextInfoIterate,
  ------------------
  |  |  869|     76|  #define H5Literate H5Literate2
  ------------------
 3162|     76|                      (void *)&iter_data);
 3163|     76|    if ( herr > 0 )
  ------------------
  |  Branch (3163:10): [True: 25, False: 51]
  ------------------
 3164|     25|        mat->next_index = (size_t)idx;
 3165|     76|    return iter_data.matvar;
 3166|     82|}
Mat_CalcDir73:
 3316|      9|{
 3317|      9|    hsize_t i;
 3318|       |
 3319|      9|    if ( NULL == mat || NULL == n )
  ------------------
  |  Branch (3319:10): [True: 0, False: 9]
  |  Branch (3319:25): [True: 0, False: 9]
  ------------------
 3320|      0|        return MATIO_E_BAD_ARGUMENT;
  ------------------
  |  |  248|      0|#define MATIO_E_BAD_ARGUMENT 7
  ------------------
 3321|       |
 3322|      9|    *n = 0;
 3323|      9|    mat->dir = (char **)calloc(mat->num_datasets, sizeof(char *));
 3324|      9|    if ( NULL == mat->dir ) {
  ------------------
  |  Branch (3324:10): [True: 0, False: 9]
  ------------------
 3325|      0|        Mat_Critical("Couldn't allocate memory for the directory");
 3326|      0|        return MATIO_E_OUT_OF_MEMORY;
  ------------------
  |  |  251|      0|#define MATIO_E_OUT_OF_MEMORY 14
  ------------------
 3327|      0|    }
 3328|       |
 3329|     77|    for ( i = 0; i < (hsize_t)mat->num_datasets; i++ ) {
  ------------------
  |  Branch (3329:18): [True: 70, False: 7]
  ------------------
 3330|     70|        char *name;
 3331|     70|        ssize_t name_len = H5Lget_name_by_idx(*(hid_t *)mat->fp, "/", H5_INDEX_NAME, H5_ITER_INC, i,
 3332|     70|                                              NULL, 0, H5P_DEFAULT);
  ------------------
  |  |  228|     70|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
 3333|     70|        if ( name_len < 1 ) {
  ------------------
  |  Branch (3333:14): [True: 2, False: 68]
  ------------------
 3334|      2|            return MATIO_E_FAIL_TO_IDENTIFY;
  ------------------
  |  |  247|      2|#define MATIO_E_FAIL_TO_IDENTIFY 6
  ------------------
 3335|      2|        }
 3336|     68|        name = (char *)malloc(name_len + 1);
 3337|     68|        if ( NULL == name ) {
  ------------------
  |  Branch (3337:14): [True: 0, False: 68]
  ------------------
 3338|      0|            *n = 0;
 3339|      0|            *n = 0;
 3340|      0|            Mat_Critical("Couldn't allocate memory");
 3341|      0|            return MATIO_E_OUT_OF_MEMORY;
  ------------------
  |  |  251|      0|#define MATIO_E_OUT_OF_MEMORY 14
  ------------------
 3342|      0|        }
 3343|     68|        H5Lget_name_by_idx(*(hid_t *)mat->fp, "/", H5_INDEX_NAME, H5_ITER_INC, i, name,
 3344|     68|                           name_len + 1, H5P_DEFAULT);
  ------------------
  |  |  228|     68|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
 3345|     68|        if ( 0 != strcmp(name, "#refs#") ) {
  ------------------
  |  Branch (3345:14): [True: 64, False: 4]
  ------------------
 3346|     64|            mat->dir[*n] = name;
 3347|     64|            (*n)++;
 3348|     64|        } else {
 3349|      4|            free(name);
 3350|      4|        }
 3351|     68|    }
 3352|      7|    return MATIO_E_NO_ERROR;
  ------------------
  |  |  241|      7|#define MATIO_E_NO_ERROR 0
  ------------------
 3353|      9|}
mat73.c:Mat_H5ReadData:
 1175|     19|{
 1176|     19|    herr_t herr;
 1177|       |
 1178|     19|    if ( !isComplex ) {
  ------------------
  |  Branch (1178:10): [True: 19, False: 0]
  ------------------
 1179|     19|        herr = H5Dread(dset_id, h5_type, mem_space, dset_space, H5P_DEFAULT, data);
  ------------------
  |  |  228|     19|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
 1180|     19|        if ( herr < 0 ) {
  ------------------
  |  Branch (1180:14): [True: 0, False: 19]
  ------------------
 1181|      0|            return MATIO_E_GENERIC_READ_ERROR;
  ------------------
  |  |  243|      0|#define MATIO_E_GENERIC_READ_ERROR 2
  ------------------
 1182|      0|        }
 1183|     19|    } else {
 1184|      0|        mat_complex_split_t *complex_data = (mat_complex_split_t *)data;
 1185|      0|        hid_t h5_complex;
 1186|      0|        size_t h5_size = H5Tget_size(h5_type);
 1187|       |
 1188|      0|        h5_complex = H5Tcreate(H5T_COMPOUND, h5_size);
 1189|      0|        H5Tinsert(h5_complex, "real", 0, h5_type);
 1190|      0|        herr = H5Dread(dset_id, h5_complex, mem_space, dset_space, H5P_DEFAULT, complex_data->Re);
  ------------------
  |  |  228|      0|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
 1191|      0|        H5Tclose(h5_complex);
 1192|      0|        if ( herr < 0 ) {
  ------------------
  |  Branch (1192:14): [True: 0, False: 0]
  ------------------
 1193|      0|            return MATIO_E_GENERIC_READ_ERROR;
  ------------------
  |  |  243|      0|#define MATIO_E_GENERIC_READ_ERROR 2
  ------------------
 1194|      0|        }
 1195|       |
 1196|      0|        h5_complex = H5Tcreate(H5T_COMPOUND, h5_size);
 1197|      0|        H5Tinsert(h5_complex, "imag", 0, h5_type);
 1198|      0|        herr = H5Dread(dset_id, h5_complex, mem_space, dset_space, H5P_DEFAULT, complex_data->Im);
  ------------------
  |  |  228|      0|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
 1199|      0|        H5Tclose(h5_complex);
 1200|      0|        if ( herr < 0 ) {
  ------------------
  |  Branch (1200:14): [True: 0, False: 0]
  ------------------
 1201|      0|            return MATIO_E_GENERIC_READ_ERROR;
  ------------------
  |  |  243|      0|#define MATIO_E_GENERIC_READ_ERROR 2
  ------------------
 1202|      0|        }
 1203|      0|    }
 1204|       |
 1205|     19|    return MATIO_E_NO_ERROR;
  ------------------
  |  |  241|     19|#define MATIO_E_NO_ERROR 0
  ------------------
 1206|     19|}
mat73.c:ClassType2H5T:
  199|     19|{
  200|     19|    switch ( class_type ) {
  201|      1|        case MAT_C_DOUBLE:
  ------------------
  |  Branch (201:9): [True: 1, False: 18]
  ------------------
  202|      1|            return H5T_NATIVE_DOUBLE;
  ------------------
  |  |  820|      1|#define H5T_NATIVE_DOUBLE (H5OPEN H5T_NATIVE_DOUBLE_g)
  |  |  ------------------
  |  |  |  |   40|      1|#define H5OPEN H5open(),
  |  |  ------------------
  ------------------
  203|      4|        case MAT_C_SINGLE:
  ------------------
  |  Branch (203:9): [True: 4, False: 15]
  ------------------
  204|      4|            return H5T_NATIVE_FLOAT;
  ------------------
  |  |  815|      4|#define H5T_NATIVE_FLOAT (H5OPEN H5T_NATIVE_FLOAT_g)
  |  |  ------------------
  |  |  |  |   40|      4|#define H5OPEN H5open(),
  |  |  ------------------
  ------------------
  205|      0|        case MAT_C_INT64:
  ------------------
  |  Branch (205:9): [True: 0, False: 19]
  ------------------
  206|       |#if CHAR_BIT * SIZEOF_SHORT == 64
  207|       |            return H5T_NATIVE_SHORT;
  208|       |#elif CHAR_BIT * SIZEOF_INT == 64
  209|       |            return H5T_NATIVE_INT;
  210|       |#elif CHAR_BIT * SIZEOF_LONG == 64
  211|      0|            return H5T_NATIVE_LONG;
  ------------------
  |  |  790|      0|#define H5T_NATIVE_LONG (H5OPEN H5T_NATIVE_LONG_g)
  |  |  ------------------
  |  |  |  |   40|      0|#define H5OPEN H5open(),
  |  |  ------------------
  ------------------
  212|       |#elif CHAR_BIT * SIZEOF_LONG_LONG == 64
  213|       |            return H5T_NATIVE_LLONG;
  214|       |#endif
  215|      0|        case MAT_C_UINT64:
  ------------------
  |  Branch (215:9): [True: 0, False: 19]
  ------------------
  216|       |#if CHAR_BIT * SIZEOF_SHORT == 64
  217|       |            return H5T_NATIVE_USHORT;
  218|       |#elif CHAR_BIT * SIZEOF_INT == 64
  219|       |            return H5T_NATIVE_UINT;
  220|       |#elif CHAR_BIT * SIZEOF_LONG == 64
  221|      0|            return H5T_NATIVE_ULONG;
  ------------------
  |  |  795|      0|#define H5T_NATIVE_ULONG (H5OPEN H5T_NATIVE_ULONG_g)
  |  |  ------------------
  |  |  |  |   40|      0|#define H5OPEN H5open(),
  |  |  ------------------
  ------------------
  222|       |#elif CHAR_BIT * SIZEOF_LONG_LONG == 64
  223|       |            return H5T_NATIVE_ULLONG;
  224|       |#endif
  225|      6|        case MAT_C_INT32:
  ------------------
  |  Branch (225:9): [True: 6, False: 13]
  ------------------
  226|       |#if CHAR_BIT == 32
  227|       |            return H5T_NATIVE_SCHAR;
  228|       |#elif CHAR_BIT * SIZEOF_SHORT == 32
  229|       |            return H5T_NATIVE_SHORT;
  230|       |#elif CHAR_BIT * SIZEOF_INT == 32
  231|      6|            return H5T_NATIVE_INT;
  ------------------
  |  |  780|      6|#define H5T_NATIVE_INT (H5OPEN H5T_NATIVE_INT_g)
  |  |  ------------------
  |  |  |  |   40|      6|#define H5OPEN H5open(),
  |  |  ------------------
  ------------------
  232|       |#elif CHAR_BIT * SIZEOF_LONG == 32
  233|       |            return H5T_NATIVE_LONG;
  234|       |#elif CHAR_BIT * SIZEOF_LONG_LONG == 32
  235|       |            return H5T_NATIVE_LLONG;
  236|       |#endif
  237|      0|        case MAT_C_UINT32:
  ------------------
  |  Branch (237:9): [True: 0, False: 19]
  ------------------
  238|       |#if CHAR_BIT == 32
  239|       |            return H5T_NATIVE_UCHAR;
  240|       |#elif CHAR_BIT * SIZEOF_SHORT == 32
  241|       |            return H5T_NATIVE_USHORT;
  242|       |#elif CHAR_BIT * SIZEOF_INT == 32
  243|      0|            return H5T_NATIVE_UINT;
  ------------------
  |  |  785|      0|#define H5T_NATIVE_UINT (H5OPEN H5T_NATIVE_UINT_g)
  |  |  ------------------
  |  |  |  |   40|      0|#define H5OPEN H5open(),
  |  |  ------------------
  ------------------
  244|       |#elif CHAR_BIT * SIZEOF_LONG == 32
  245|       |            return H5T_NATIVE_ULONG;
  246|       |#elif CHAR_BIT * SIZEOF_LONG_LONG == 32
  247|       |            return H5T_NATIVE_ULLONG;
  248|       |#endif
  249|      4|        case MAT_C_INT16:
  ------------------
  |  Branch (249:9): [True: 4, False: 15]
  ------------------
  250|       |#if CHAR_BIT == 16
  251|       |            return H5T_NATIVE_SCHAR;
  252|       |#elif CHAR_BIT * SIZEOF_SHORT == 16
  253|      4|            return H5T_NATIVE_SHORT;
  ------------------
  |  |  770|      4|#define H5T_NATIVE_SHORT (H5OPEN H5T_NATIVE_SHORT_g)
  |  |  ------------------
  |  |  |  |   40|      4|#define H5OPEN H5open(),
  |  |  ------------------
  ------------------
  254|       |#elif CHAR_BIT * SIZEOF_INT == 16
  255|       |            return H5T_NATIVE_INT;
  256|       |#elif CHAR_BIT * SIZEOF_LONG == 16
  257|       |            return H5T_NATIVE_LONG;
  258|       |#elif CHAR_BIT * SIZEOF_LONG_LONG == 16
  259|       |            return H5T_NATIVE_LLONG;
  260|       |#endif
  261|      0|        case MAT_C_UINT16:
  ------------------
  |  Branch (261:9): [True: 0, False: 19]
  ------------------
  262|       |#if CHAR_BIT == 16
  263|       |            return H5T_NATIVE_UCHAR;
  264|       |#elif CHAR_BIT * SIZEOF_SHORT == 16
  265|      0|            return H5T_NATIVE_USHORT;
  ------------------
  |  |  775|      0|#define H5T_NATIVE_USHORT (H5OPEN H5T_NATIVE_USHORT_g)
  |  |  ------------------
  |  |  |  |   40|      0|#define H5OPEN H5open(),
  |  |  ------------------
  ------------------
  266|       |#elif CHAR_BIT * SIZEOF_INT == 16
  267|       |            return H5T_NATIVE_UINT;
  268|       |#elif CHAR_BIT * SIZEOF_LONG == 16
  269|       |            return H5T_NATIVE_ULONG;
  270|       |#elif CHAR_BIT * SIZEOF_LONG_LONG == 16
  271|       |            return H5T_NATIVE_ULLONG;
  272|       |#endif
  273|      4|        case MAT_C_INT8:
  ------------------
  |  Branch (273:9): [True: 4, False: 15]
  ------------------
  274|      4|#if CHAR_BIT == 8
  275|      4|            return H5T_NATIVE_SCHAR;
  ------------------
  |  |  760|      4|#define H5T_NATIVE_SCHAR (H5OPEN H5T_NATIVE_SCHAR_g)
  |  |  ------------------
  |  |  |  |   40|      4|#define H5OPEN H5open(),
  |  |  ------------------
  ------------------
  276|       |#elif CHAR_BIT * SIZEOF_SHORT == 8
  277|       |            return H5T_NATIVE_SHORT;
  278|       |#elif CHAR_BIT * SIZEOF_INT == 8
  279|       |            return H5T_NATIVE_INT;
  280|       |#elif CHAR_BIT * SIZEOF_LONG == 8
  281|       |            return H5T_NATIVE_LONG;
  282|       |#elif CHAR_BIT * SIZEOF_LONG_LONG == 8
  283|       |            return H5T_NATIVE_LLONG;
  284|       |#endif
  285|      0|        case MAT_C_UINT8:
  ------------------
  |  Branch (285:9): [True: 0, False: 19]
  ------------------
  286|      0|#if CHAR_BIT == 8
  287|      0|            return H5T_NATIVE_UCHAR;
  ------------------
  |  |  765|      0|#define H5T_NATIVE_UCHAR (H5OPEN H5T_NATIVE_UCHAR_g)
  |  |  ------------------
  |  |  |  |   40|      0|#define H5OPEN H5open(),
  |  |  ------------------
  ------------------
  288|       |#elif CHAR_BIT * SIZEOF_SHORT == 8
  289|       |            return H5T_NATIVE_USHORT;
  290|       |#elif CHAR_BIT * SIZEOF_INT == 8
  291|       |            return H5T_NATIVE_UINT;
  292|       |#elif CHAR_BIT * SIZEOF_LONG == 8
  293|       |            return H5T_NATIVE_ULONG;
  294|       |#elif CHAR_BIT * SIZEOF_LONG_LONG == 8
  295|       |            return H5T_NATIVE_ULLONG;
  296|       |#endif
  297|      0|        default:
  ------------------
  |  Branch (297:9): [True: 0, False: 19]
  ------------------
  298|      0|            return -1;
  299|     19|    }
  300|     19|}
mat73.c:DataType2H5T:
  304|      3|{
  305|      3|    switch ( data_type ) {
  306|      0|        case MAT_T_DOUBLE:
  ------------------
  |  Branch (306:9): [True: 0, False: 3]
  ------------------
  307|      0|            return H5T_NATIVE_DOUBLE;
  ------------------
  |  |  820|      0|#define H5T_NATIVE_DOUBLE (H5OPEN H5T_NATIVE_DOUBLE_g)
  |  |  ------------------
  |  |  |  |   40|      0|#define H5OPEN H5open(),
  |  |  ------------------
  ------------------
  308|      0|        case MAT_T_SINGLE:
  ------------------
  |  Branch (308:9): [True: 0, False: 3]
  ------------------
  309|      0|            return H5T_NATIVE_FLOAT;
  ------------------
  |  |  815|      0|#define H5T_NATIVE_FLOAT (H5OPEN H5T_NATIVE_FLOAT_g)
  |  |  ------------------
  |  |  |  |   40|      0|#define H5OPEN H5open(),
  |  |  ------------------
  ------------------
  310|      0|        case MAT_T_INT64:
  ------------------
  |  Branch (310:9): [True: 0, False: 3]
  ------------------
  311|       |#if CHAR_BIT * SIZEOF_SHORT == 64
  312|       |            return H5T_NATIVE_SHORT;
  313|       |#elif CHAR_BIT * SIZEOF_INT == 64
  314|       |            return H5T_NATIVE_INT;
  315|       |#elif CHAR_BIT * SIZEOF_LONG == 64
  316|      0|            return H5T_NATIVE_LONG;
  ------------------
  |  |  790|      0|#define H5T_NATIVE_LONG (H5OPEN H5T_NATIVE_LONG_g)
  |  |  ------------------
  |  |  |  |   40|      0|#define H5OPEN H5open(),
  |  |  ------------------
  ------------------
  317|       |#elif CHAR_BIT * SIZEOF_LONG_LONG == 64
  318|       |            return H5T_NATIVE_LLONG;
  319|       |#endif
  320|      0|        case MAT_T_UINT64:
  ------------------
  |  Branch (320:9): [True: 0, False: 3]
  ------------------
  321|       |#if CHAR_BIT * SIZEOF_SHORT == 64
  322|       |            return H5T_NATIVE_USHORT;
  323|       |#elif CHAR_BIT * SIZEOF_INT == 64
  324|       |            return H5T_NATIVE_UINT;
  325|       |#elif CHAR_BIT * SIZEOF_LONG == 64
  326|      0|            return H5T_NATIVE_ULONG;
  ------------------
  |  |  795|      0|#define H5T_NATIVE_ULONG (H5OPEN H5T_NATIVE_ULONG_g)
  |  |  ------------------
  |  |  |  |   40|      0|#define H5OPEN H5open(),
  |  |  ------------------
  ------------------
  327|       |#elif CHAR_BIT * SIZEOF_LONG_LONG == 64
  328|       |            return H5T_NATIVE_ULLONG;
  329|       |#endif
  330|      0|        case MAT_T_INT32:
  ------------------
  |  Branch (330:9): [True: 0, False: 3]
  ------------------
  331|       |#if CHAR_BIT == 32
  332|       |            return H5T_NATIVE_SCHAR;
  333|       |#elif CHAR_BIT * SIZEOF_SHORT == 32
  334|       |            return H5T_NATIVE_SHORT;
  335|       |#elif CHAR_BIT * SIZEOF_INT == 32
  336|      0|            return H5T_NATIVE_INT;
  ------------------
  |  |  780|      0|#define H5T_NATIVE_INT (H5OPEN H5T_NATIVE_INT_g)
  |  |  ------------------
  |  |  |  |   40|      0|#define H5OPEN H5open(),
  |  |  ------------------
  ------------------
  337|       |#elif CHAR_BIT * SIZEOF_LONG == 32
  338|       |            return H5T_NATIVE_LONG;
  339|       |#elif CHAR_BIT * SIZEOF_LONG_LONG == 32
  340|       |            return H5T_NATIVE_LLONG;
  341|       |#endif
  342|      0|        case MAT_T_UINT32:
  ------------------
  |  Branch (342:9): [True: 0, False: 3]
  ------------------
  343|       |#if CHAR_BIT == 32
  344|       |            return H5T_NATIVE_UCHAR;
  345|       |#elif CHAR_BIT * SIZEOF_SHORT == 32
  346|       |            return H5T_NATIVE_USHORT;
  347|       |#elif CHAR_BIT * SIZEOF_INT == 32
  348|      0|            return H5T_NATIVE_UINT;
  ------------------
  |  |  785|      0|#define H5T_NATIVE_UINT (H5OPEN H5T_NATIVE_UINT_g)
  |  |  ------------------
  |  |  |  |   40|      0|#define H5OPEN H5open(),
  |  |  ------------------
  ------------------
  349|       |#elif CHAR_BIT * SIZEOF_LONG == 32
  350|       |            return H5T_NATIVE_ULONG;
  351|       |#elif CHAR_BIT * SIZEOF_LONG_LONG == 32
  352|       |            return H5T_NATIVE_ULLONG;
  353|       |#endif
  354|      0|        case MAT_T_INT16:
  ------------------
  |  Branch (354:9): [True: 0, False: 3]
  ------------------
  355|       |#if CHAR_BIT == 16
  356|       |            return H5T_NATIVE_SCHAR;
  357|       |#elif CHAR_BIT * SIZEOF_SHORT == 16
  358|      0|            return H5T_NATIVE_SHORT;
  ------------------
  |  |  770|      0|#define H5T_NATIVE_SHORT (H5OPEN H5T_NATIVE_SHORT_g)
  |  |  ------------------
  |  |  |  |   40|      0|#define H5OPEN H5open(),
  |  |  ------------------
  ------------------
  359|       |#elif CHAR_BIT * SIZEOF_INT == 16
  360|       |            return H5T_NATIVE_INT;
  361|       |#elif CHAR_BIT * SIZEOF_LONG == 16
  362|       |            return H5T_NATIVE_LONG;
  363|       |#elif CHAR_BIT * SIZEOF_LONG_LONG == 16
  364|       |            return H5T_NATIVE_LLONG;
  365|       |#endif
  366|      3|        case MAT_T_UINT16:
  ------------------
  |  Branch (366:9): [True: 3, False: 0]
  ------------------
  367|      3|        case MAT_T_UTF16:
  ------------------
  |  Branch (367:9): [True: 0, False: 3]
  ------------------
  368|       |#if CHAR_BIT == 16
  369|       |            return H5T_NATIVE_UCHAR;
  370|       |#elif CHAR_BIT * SIZEOF_SHORT == 16
  371|      3|            return H5T_NATIVE_USHORT;
  ------------------
  |  |  775|      3|#define H5T_NATIVE_USHORT (H5OPEN H5T_NATIVE_USHORT_g)
  |  |  ------------------
  |  |  |  |   40|      3|#define H5OPEN H5open(),
  |  |  ------------------
  ------------------
  372|       |#elif CHAR_BIT * SIZEOF_INT == 16
  373|       |            return H5T_NATIVE_UINT;
  374|       |#elif CHAR_BIT * SIZEOF_LONG == 16
  375|       |            return H5T_NATIVE_ULONG;
  376|       |#elif CHAR_BIT * SIZEOF_LONG_LONG == 16
  377|       |            return H5T_NATIVE_ULLONG;
  378|       |#endif
  379|      0|        case MAT_T_INT8:
  ------------------
  |  Branch (379:9): [True: 0, False: 3]
  ------------------
  380|      0|#if CHAR_BIT == 8
  381|      0|            return H5T_NATIVE_SCHAR;
  ------------------
  |  |  760|      0|#define H5T_NATIVE_SCHAR (H5OPEN H5T_NATIVE_SCHAR_g)
  |  |  ------------------
  |  |  |  |   40|      0|#define H5OPEN H5open(),
  |  |  ------------------
  ------------------
  382|       |#elif CHAR_BIT * SIZEOF_SHORT == 8
  383|       |            return H5T_NATIVE_SHORT;
  384|       |#elif CHAR_BIT * SIZEOF_INT == 8
  385|       |            return H5T_NATIVE_INT;
  386|       |#elif CHAR_BIT * SIZEOF_LONG == 8
  387|       |            return H5T_NATIVE_LONG;
  388|       |#elif CHAR_BIT * SIZEOF_LONG_LONG == 8
  389|       |            return H5T_NATIVE_LLONG;
  390|       |#endif
  391|      0|        case MAT_T_UINT8:
  ------------------
  |  Branch (391:9): [True: 0, False: 3]
  ------------------
  392|      0|#if CHAR_BIT == 8
  393|      0|            return H5T_NATIVE_UCHAR;
  ------------------
  |  |  765|      0|#define H5T_NATIVE_UCHAR (H5OPEN H5T_NATIVE_UCHAR_g)
  |  |  ------------------
  |  |  |  |   40|      0|#define H5OPEN H5open(),
  |  |  ------------------
  ------------------
  394|       |#elif CHAR_BIT * SIZEOF_SHORT == 8
  395|       |            return H5T_NATIVE_USHORT;
  396|       |#elif CHAR_BIT * SIZEOF_INT == 8
  397|       |            return H5T_NATIVE_UINT;
  398|       |#elif CHAR_BIT * SIZEOF_LONG == 8
  399|       |            return H5T_NATIVE_ULONG;
  400|       |#elif CHAR_BIT * SIZEOF_LONG_LONG == 8
  401|       |            return H5T_NATIVE_ULLONG;
  402|       |#endif
  403|      0|        case MAT_T_UTF8:
  ------------------
  |  Branch (403:9): [True: 0, False: 3]
  ------------------
  404|      0|            return H5T_NATIVE_CHAR;
  ------------------
  |  |  755|      0|#define H5T_NATIVE_CHAR (CHAR_MIN ? H5T_NATIVE_SCHAR : H5T_NATIVE_UCHAR)
  |  |  ------------------
  |  |  |  |  760|      0|#define H5T_NATIVE_SCHAR (H5OPEN H5T_NATIVE_SCHAR_g)
  |  |  |  |  ------------------
  |  |  |  |  |  |   40|      0|#define H5OPEN H5open(),
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define H5T_NATIVE_CHAR (CHAR_MIN ? H5T_NATIVE_SCHAR : H5T_NATIVE_UCHAR)
  |  |  ------------------
  |  |  |  |  765|      0|#define H5T_NATIVE_UCHAR (H5OPEN H5T_NATIVE_UCHAR_g)
  |  |  |  |  ------------------
  |  |  |  |  |  |   40|      0|#define H5OPEN H5open(),
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  405|      0|        default:
  ------------------
  |  Branch (405:9): [True: 0, False: 3]
  ------------------
  406|      0|            return -1;
  407|      3|    }
  408|      3|}
mat73.c:Mat_H5ReadDims:
  550|     43|{
  551|     43|    hid_t space_id;
  552|     43|    size_t *perm_dims;
  553|       |
  554|     43|    *nelems = 0;
  555|     43|    space_id = H5Dget_space(dset_id);
  556|     43|    *rank = H5Sget_simple_extent_ndims(space_id);
  557|     43|    if ( 0 > *rank ) {
  ------------------
  |  Branch (557:10): [True: 3, False: 40]
  ------------------
  558|      3|        *rank = 0;
  559|      3|        H5Sclose(space_id);
  560|      3|        return NULL;
  561|      3|    }
  562|     40|    perm_dims = (size_t *)malloc(*rank * sizeof(*perm_dims));
  563|     40|    if ( NULL != perm_dims ) {
  ------------------
  |  Branch (563:10): [True: 40, False: 0]
  ------------------
  564|     40|        int err = 0;
  565|     40|        if ( MAX_RANK >= *rank ) {
  ------------------
  |  |   90|     40|#define MAX_RANK (3)
  ------------------
  |  Branch (565:14): [True: 40, False: 0]
  ------------------
  566|     40|            hsize_t dims[MAX_RANK];
  567|     40|            int k;
  568|     40|            size_t tmp = 1;
  569|     40|            (void)H5Sget_simple_extent_dims(space_id, dims, NULL);
  570|       |            /* Permute dimensions */
  571|    117|            for ( k = 0; k < *rank; k++ ) {
  ------------------
  |  Branch (571:26): [True: 77, False: 40]
  ------------------
  572|     77|                perm_dims[k] = (size_t)dims[*rank - k - 1];
  573|     77|                err |= Mul(&tmp, tmp, perm_dims[k]);
  574|     77|            }
  575|     40|            if ( err ) {
  ------------------
  |  Branch (575:18): [True: 0, False: 40]
  ------------------
  576|      0|                Mat_Critical("Integer multiplication overflow");
  577|      0|                free(perm_dims);
  578|      0|                perm_dims = NULL;
  579|      0|                *rank = 0;
  580|      0|            }
  581|     40|            *nelems = (hsize_t)tmp;
  582|     40|            H5Sclose(space_id);
  583|     40|        } else {
  584|      0|            hsize_t *dims = (hsize_t *)malloc(*rank * sizeof(hsize_t));
  585|      0|            if ( NULL != dims ) {
  ------------------
  |  Branch (585:18): [True: 0, False: 0]
  ------------------
  586|      0|                int k;
  587|      0|                size_t tmp = 1;
  588|      0|                (void)H5Sget_simple_extent_dims(space_id, dims, NULL);
  589|       |                /* Permute dimensions */
  590|      0|                for ( k = 0; k < *rank; k++ ) {
  ------------------
  |  Branch (590:30): [True: 0, False: 0]
  ------------------
  591|      0|                    perm_dims[k] = (size_t)dims[*rank - k - 1];
  592|      0|                    err |= Mul(&tmp, tmp, perm_dims[k]);
  593|      0|                }
  594|      0|                if ( err ) {
  ------------------
  |  Branch (594:22): [True: 0, False: 0]
  ------------------
  595|      0|                    Mat_Critical("Integer multiplication overflow");
  596|      0|                    free(perm_dims);
  597|      0|                    perm_dims = NULL;
  598|      0|                    *rank = 0;
  599|      0|                }
  600|      0|                *nelems = (hsize_t)tmp;
  601|      0|                free(dims);
  602|      0|                H5Sclose(space_id);
  603|      0|            } else {
  604|      0|                free(perm_dims);
  605|      0|                perm_dims = NULL;
  606|      0|                *rank = 0;
  607|      0|                H5Sclose(space_id);
  608|      0|                Mat_Critical("Error allocating memory for dims");
  609|      0|            }
  610|      0|        }
  611|     40|    } else {
  612|      0|        *rank = 0;
  613|      0|        H5Sclose(space_id);
  614|      0|        Mat_Critical("Error allocating memory for matvar->dims");
  615|      0|    }
  616|       |
  617|     40|    return perm_dims;
  618|     43|}
mat73.c:Mat_VarReadNextInfoIterate:
 3170|    685|{
 3171|    685|    mat_t *mat;
 3172|    685|    herr_t herr;
 3173|    685|    H5O_INFO_T object_info;
  ------------------
  |  |   75|    685|#define H5O_INFO_T H5O_info2_t
  ------------------
 3174|    685|    struct ReadNextIterData *iter_data;
 3175|       |
 3176|       |    /* FIXME: follow symlinks, datatypes? */
 3177|       |
 3178|    685|    iter_data = (struct ReadNextIterData *)op_data;
 3179|       |
 3180|       |    /* Check that this is not the /#refs# or /"#subsystem#" group */
 3181|    685|    if ( 0 == strcmp(name, "#refs#") || 0 == strcmp(name, "#subsystem#") )
  ------------------
  |  Branch (3181:10): [True: 72, False: 613]
  |  Branch (3181:41): [True: 0, False: 613]
  ------------------
 3182|     72|        return 0;
 3183|    613|    if ( (NULL != iter_data) && (NULL != iter_data->pred) &&
  ------------------
  |  Branch (3183:10): [True: 613, False: 0]
  |  Branch (3183:33): [True: 601, False: 12]
  ------------------
 3184|    613|         0 == iter_data->pred(name, iter_data->pred_user_data) ) /* do we need to skip it? */
  ------------------
  |  Branch (3184:10): [True: 537, False: 64]
  ------------------
 3185|    537|        return 0;
 3186|       |
 3187|     76|    object_info.type = H5O_TYPE_UNKNOWN;
 3188|     76|    herr = H5OGET_INFO_BY_NAME(id, name, &object_info, H5P_DEFAULT);
  ------------------
  |  |   77|     76|    H5Oget_info_by_name3((loc_id), (name), (oinfo), H5O_INFO_BASIC, (lapl_id));
  |  |  ------------------
  |  |  |  |   81|     76|#define H5O_INFO_BASIC     0x0001u /**< Fill in the fileno, addr, type, and rc fields */
  |  |  ------------------
  ------------------
 3189|     76|    if ( herr < 0 )
  ------------------
  |  Branch (3189:10): [True: 24, False: 52]
  ------------------
 3190|     24|        return -1;
 3191|     52|    if ( H5O_TYPE_DATASET != object_info.type && H5O_TYPE_GROUP != object_info.type )
  ------------------
  |  Branch (3191:10): [True: 9, False: 43]
  |  Branch (3191:50): [True: 1, False: 8]
  ------------------
 3192|      1|        return 0;
 3193|       |
 3194|     51|    if ( NULL == iter_data )
  ------------------
  |  Branch (3194:10): [True: 0, False: 51]
  ------------------
 3195|      0|        return -1;
 3196|     51|    mat = iter_data->mat;
 3197|       |
 3198|     51|    switch ( object_info.type ) {
 3199|     43|        case H5O_TYPE_DATASET: {
  ------------------
  |  Branch (3199:9): [True: 43, False: 8]
  ------------------
 3200|     43|            int err;
 3201|     43|            hid_t dset_id;
 3202|     43|            matvar_t *matvar = Mat_VarCalloc();
 3203|     43|            if ( NULL == matvar )
  ------------------
  |  Branch (3203:18): [True: 0, False: 43]
  ------------------
 3204|      0|                return -1;
 3205|       |
 3206|     43|            matvar->name = strdup(name);
 3207|     43|            if ( NULL == matvar->name ) {
  ------------------
  |  Branch (3207:18): [True: 0, False: 43]
  ------------------
 3208|      0|                Mat_VarFree(matvar);
 3209|      0|                return -1;
 3210|      0|            }
 3211|       |
 3212|     43|            dset_id = H5Dopen(id, name, H5P_DEFAULT);
  ------------------
  |  |  727|     43|  #define H5Dopen H5Dopen2
  ------------------
                          dset_id = H5Dopen(id, name, H5P_DEFAULT);
  ------------------
  |  |  228|     43|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
 3213|     43|            err = Mat_H5ReadDatasetInfo(mat, matvar, dset_id);
 3214|     43|            if ( matvar->internal->id != dset_id ) {
  ------------------
  |  Branch (3214:18): [True: 0, False: 43]
  ------------------
 3215|       |                /* Close dataset and increment count */
 3216|      0|                H5Dclose(dset_id);
 3217|      0|            }
 3218|     43|            if ( err ) {
  ------------------
  |  Branch (3218:18): [True: 21, False: 22]
  ------------------
 3219|     21|                Mat_VarFree(matvar);
 3220|     21|                return -1;
 3221|     21|            }
 3222|     22|            iter_data->matvar = matvar;
 3223|     22|            break;
 3224|     43|        }
 3225|      8|        case H5O_TYPE_GROUP: {
  ------------------
  |  Branch (3225:9): [True: 8, False: 43]
  ------------------
 3226|      8|            int err;
 3227|      8|            hid_t dset_id;
 3228|      8|            matvar_t *matvar = Mat_VarCalloc();
 3229|      8|            if ( NULL == matvar )
  ------------------
  |  Branch (3229:18): [True: 0, False: 8]
  ------------------
 3230|      0|                return -1;
 3231|       |
 3232|      8|            matvar->name = strdup(name);
 3233|      8|            if ( NULL == matvar->name ) {
  ------------------
  |  Branch (3233:18): [True: 0, False: 8]
  ------------------
 3234|      0|                Mat_VarFree(matvar);
 3235|      0|                return -1;
 3236|      0|            }
 3237|       |
 3238|      8|            dset_id = H5Gopen(id, name, H5P_DEFAULT);
  ------------------
  |  |  832|      8|  #define H5Gopen H5Gopen2
  ------------------
                          dset_id = H5Gopen(id, name, H5P_DEFAULT);
  ------------------
  |  |  228|      8|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
 3239|      8|            err = Mat_H5ReadGroupInfo(mat, matvar, dset_id);
 3240|      8|            if ( err ) {
  ------------------
  |  Branch (3240:18): [True: 5, False: 3]
  ------------------
 3241|      5|                Mat_VarFree(matvar);
 3242|      5|                return -1;
 3243|      5|            }
 3244|      3|            iter_data->matvar = matvar;
 3245|      3|            break;
 3246|      8|        }
 3247|      0|        default:
  ------------------
  |  Branch (3247:9): [True: 0, False: 51]
  ------------------
 3248|      0|            break;
 3249|     51|    }
 3250|       |
 3251|     25|    return 1;
 3252|     51|}
mat73.c:Mat_H5ReadDatasetInfo:
  690|     52|{
  691|     52|    int err;
  692|     52|    hsize_t nelems;
  693|       |
  694|     52|    err = Mat_H5ReadVarInfo(matvar, dset_id);
  695|     52|    if ( err ) {
  ------------------
  |  Branch (695:10): [True: 15, False: 37]
  ------------------
  696|     15|        return err;
  697|     15|    }
  698|       |
  699|     37|    matvar->dims = Mat_H5ReadDims(dset_id, &nelems, &matvar->rank);
  700|     37|    if ( NULL == matvar->dims ) {
  ------------------
  |  Branch (700:10): [True: 0, False: 37]
  ------------------
  701|      0|        return MATIO_E_UNKNOWN_ERROR;
  ------------------
  |  |  242|      0|#define MATIO_E_UNKNOWN_ERROR 1
  ------------------
  702|      0|    }
  703|       |
  704|       |    /* Check for attribute that indicates an empty array */
  705|     37|    if ( H5Aexists_by_name(dset_id, ".", "MATLAB_empty", H5P_DEFAULT) ) {
  ------------------
  |  |  228|     37|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
  |  Branch (705:10): [True: 0, False: 37]
  ------------------
  706|      0|        int empty = 0;
  707|      0|        herr_t herr;
  708|      0|        hid_t attr_id = H5Aopen_by_name(dset_id, ".", "MATLAB_empty", H5P_DEFAULT, H5P_DEFAULT);
  ------------------
  |  |  228|      0|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
                      hid_t attr_id = H5Aopen_by_name(dset_id, ".", "MATLAB_empty", H5P_DEFAULT, H5P_DEFAULT);
  ------------------
  |  |  228|      0|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
  709|       |        /* FIXME: Check that dataspace is scalar */
  710|      0|        herr = H5Aread(attr_id, H5T_NATIVE_INT, &empty);
  ------------------
  |  |  780|      0|#define H5T_NATIVE_INT (H5OPEN H5T_NATIVE_INT_g)
  |  |  ------------------
  |  |  |  |   40|      0|#define H5OPEN H5open(),
  |  |  ------------------
  ------------------
  711|      0|        H5Aclose(attr_id);
  712|      0|        if ( herr < 0 ) {
  ------------------
  |  Branch (712:14): [True: 0, False: 0]
  ------------------
  713|      0|            err = MATIO_E_GENERIC_READ_ERROR;
  ------------------
  |  |  243|      0|#define MATIO_E_GENERIC_READ_ERROR 2
  ------------------
  714|      0|        } else if ( empty ) {
  ------------------
  |  Branch (714:21): [True: 0, False: 0]
  ------------------
  715|      0|            matvar->rank = (int)matvar->dims[0];
  716|      0|            free(matvar->dims);
  717|      0|            matvar->dims = (size_t *)calloc(matvar->rank, sizeof(*matvar->dims));
  718|      0|            if ( matvar->dims == NULL ) {
  ------------------
  |  Branch (718:18): [True: 0, False: 0]
  ------------------
  719|      0|                err = MATIO_E_OUT_OF_MEMORY;
  ------------------
  |  |  251|      0|#define MATIO_E_OUT_OF_MEMORY 14
  ------------------
  720|      0|            } else {
  721|      0|                herr =
  722|      0|                    H5Dread(dset_id, SizeType2H5T(), H5S_ALL, H5S_ALL, H5P_DEFAULT, matvar->dims);
  ------------------
  |  |   32|      0|#define H5S_ALL 0
  ------------------
                                  H5Dread(dset_id, SizeType2H5T(), H5S_ALL, H5S_ALL, H5P_DEFAULT, matvar->dims);
  ------------------
  |  |   32|      0|#define H5S_ALL 0
  ------------------
                                  H5Dread(dset_id, SizeType2H5T(), H5S_ALL, H5S_ALL, H5P_DEFAULT, matvar->dims);
  ------------------
  |  |  228|      0|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
  723|      0|                if ( herr < 0 ) {
  ------------------
  |  Branch (723:22): [True: 0, False: 0]
  ------------------
  724|      0|                    err = MATIO_E_GENERIC_READ_ERROR;
  ------------------
  |  |  243|      0|#define MATIO_E_GENERIC_READ_ERROR 2
  ------------------
  725|      0|                } else {
  726|      0|                    size_t tmp = 1;
  727|      0|                    err = Mat_MulDims(matvar, &tmp);
  728|      0|                    nelems = (hsize_t)tmp;
  729|      0|                }
  730|      0|            }
  731|      0|        }
  732|      0|        if ( err ) {
  ------------------
  |  Branch (732:14): [True: 0, False: 0]
  ------------------
  733|      0|            return err;
  734|      0|        }
  735|      0|    }
  736|       |
  737|       |    /* Test if dataset type is compound and if so if it's complex */
  738|     37|    {
  739|     37|        hid_t type_id = H5Dget_type(dset_id);
  740|     37|        if ( H5T_COMPOUND == H5Tget_class(type_id) ) {
  ------------------
  |  Branch (740:14): [True: 0, False: 37]
  ------------------
  741|       |            /* FIXME: Any more checks? */
  742|      0|            matvar->isComplex = MAT_F_COMPLEX;
  743|      0|        }
  744|     37|        H5Tclose(type_id);
  745|     37|    }
  746|       |
  747|       |    /* Test if dataset is deflated */
  748|     37|    {
  749|     37|        hid_t plist_id = H5Dget_create_plist(dset_id);
  750|     37|        if ( plist_id > 0 ) {
  ------------------
  |  Branch (750:14): [True: 37, False: 0]
  ------------------
  751|     37|            const int nFilters = H5Pget_nfilters(plist_id);
  752|     37|            int i;
  753|     37|            for ( i = 0; i < nFilters; i++ ) {
  ------------------
  |  Branch (753:26): [True: 0, False: 37]
  ------------------
  754|      0|                const H5Z_filter_t filterType =
  755|      0|                    H5Pget_filter2(plist_id, i, NULL, NULL, 0, 0, NULL, NULL);
  756|      0|                if ( H5Z_FILTER_DEFLATE == filterType ) {
  ------------------
  |  |   41|      0|#define H5Z_FILTER_DEFLATE 1
  ------------------
  |  Branch (756:22): [True: 0, False: 0]
  ------------------
  757|      0|                    matvar->compression = MAT_COMPRESSION_ZLIB;
  758|      0|                    break;
  759|      0|                }
  760|      0|            }
  761|     37|            H5Pclose(plist_id);
  762|     37|        }
  763|     37|    }
  764|       |
  765|       |    /* If the dataset is a cell array read the info of the cells */
  766|     37|    if ( MAT_C_CELL == matvar->class_type ) {
  ------------------
  |  Branch (766:10): [True: 9, False: 28]
  ------------------
  767|      9|        matvar_t **cells;
  768|       |
  769|      9|        matvar->data_size = sizeof(matvar_t **);
  770|      9|        err = Mul(&matvar->nbytes, nelems, matvar->data_size);
  771|      9|        if ( err ) {
  ------------------
  |  Branch (771:14): [True: 0, False: 9]
  ------------------
  772|      0|            Mat_Critical("Integer multiplication overflow");
  773|      0|            return err;
  774|      0|        }
  775|      9|        matvar->data = calloc(matvar->nbytes, 1);
  776|      9|        if ( NULL == matvar->data ) {
  ------------------
  |  Branch (776:14): [True: 0, False: 9]
  ------------------
  777|      0|            Mat_Critical("Couldn't allocate memory for the data");
  778|      0|            return MATIO_E_OUT_OF_MEMORY;
  ------------------
  |  |  251|      0|#define MATIO_E_OUT_OF_MEMORY 14
  ------------------
  779|      0|        }
  780|      9|        cells = (matvar_t **)matvar->data;
  781|       |
  782|      9|        if ( nelems ) {
  ------------------
  |  Branch (782:14): [True: 9, False: 0]
  ------------------
  783|      9|            hobj_ref_t *ref_ids = (hobj_ref_t *)calloc(nelems, sizeof(*ref_ids));
  784|      9|            if ( ref_ids != NULL ) {
  ------------------
  |  Branch (784:18): [True: 9, False: 0]
  ------------------
  785|      9|                size_t i;
  786|      9|                herr_t herr =
  787|      9|                    H5Dread(dset_id, H5T_STD_REF_OBJ, H5S_ALL, H5S_ALL, H5P_DEFAULT, ref_ids);
  ------------------
  |  |  418|      9|#define H5T_STD_REF_OBJ (H5OPEN H5T_STD_REF_OBJ_g)
  |  |  ------------------
  |  |  |  |   40|      9|#define H5OPEN H5open(),
  |  |  ------------------
  ------------------
                                  H5Dread(dset_id, H5T_STD_REF_OBJ, H5S_ALL, H5S_ALL, H5P_DEFAULT, ref_ids);
  ------------------
  |  |   32|      9|#define H5S_ALL 0
  ------------------
                                  H5Dread(dset_id, H5T_STD_REF_OBJ, H5S_ALL, H5S_ALL, H5P_DEFAULT, ref_ids);
  ------------------
  |  |   32|      9|#define H5S_ALL 0
  ------------------
                                  H5Dread(dset_id, H5T_STD_REF_OBJ, H5S_ALL, H5S_ALL, H5P_DEFAULT, ref_ids);
  ------------------
  |  |  228|      9|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
  788|      9|                if ( herr < 0 ) {
  ------------------
  |  Branch (788:22): [True: 0, False: 9]
  ------------------
  789|      0|                    free(ref_ids);
  790|      0|                    return MATIO_E_GENERIC_READ_ERROR;
  ------------------
  |  |  243|      0|#define MATIO_E_GENERIC_READ_ERROR 2
  ------------------
  791|      0|                }
  792|     15|                for ( i = 0; i < nelems; i++ ) {
  ------------------
  |  Branch (792:30): [True: 15, False: 0]
  ------------------
  793|     15|                    hid_t ref_id;
  794|     15|                    if ( matvar->internal->hdf5_ref == ref_ids[i] ) {
  ------------------
  |  Branch (794:26): [True: 0, False: 15]
  ------------------
  795|      0|                        err = MATIO_E_GENERIC_READ_ERROR;
  ------------------
  |  |  243|      0|#define MATIO_E_GENERIC_READ_ERROR 2
  ------------------
  796|      0|                        break;
  797|      0|                    }
  798|     15|                    cells[i] = Mat_VarCalloc();
  799|     15|                    cells[i]->internal->hdf5_ref = ref_ids[i];
  800|       |                    /* Closing of ref_id is done in Mat_H5ReadNextReferenceInfo */
  801|     15|                    ref_id = H5RDEREFERENCE(dset_id, H5R_OBJECT, ref_ids + i);
  ------------------
  |  |   69|     15|    H5Rdereference2((obj_id), H5P_DATASET_ACCESS_DEFAULT, (ref_type), (_ref))
  |  |  ------------------
  |  |  |  |  156|     15|#define H5P_DATASET_ACCESS_DEFAULT (H5OPEN H5P_LST_DATASET_ACCESS_ID_g)
  |  |  |  |  ------------------
  |  |  |  |  |  |   40|     15|#define H5OPEN H5open(),
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  802|     15|                    if ( ref_id < 0 ) {
  ------------------
  |  Branch (802:26): [True: 6, False: 9]
  ------------------
  803|      6|                        err = MATIO_E_GENERIC_READ_ERROR;
  ------------------
  |  |  243|      6|#define MATIO_E_GENERIC_READ_ERROR 2
  ------------------
  804|      9|                    } else {
  805|      9|                        cells[i]->internal->id = ref_id;
  806|      9|                        err = Mat_H5ReadNextReferenceInfo(ref_id, cells[i], mat);
  807|      9|                    }
  808|     15|                    if ( err ) {
  ------------------
  |  Branch (808:26): [True: 9, False: 6]
  ------------------
  809|      9|                        break;
  810|      9|                    }
  811|     15|                }
  812|      9|                free(ref_ids);
  813|      9|            } else {
  814|      0|                err = MATIO_E_OUT_OF_MEMORY;
  ------------------
  |  |  251|      0|#define MATIO_E_OUT_OF_MEMORY 14
  ------------------
  815|      0|            }
  816|      9|        }
  817|     28|    } else if ( MAT_C_STRUCT == matvar->class_type ) {
  ------------------
  |  Branch (817:17): [True: 0, False: 28]
  ------------------
  818|       |        /* Empty structures can be a dataset */
  819|       |
  820|       |        /* Check if the structure defines its fields in MATLAB_fields */
  821|      0|        if ( H5Aexists_by_name(dset_id, ".", "MATLAB_fields", H5P_DEFAULT) ) {
  ------------------
  |  |  228|      0|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
  |  Branch (821:14): [True: 0, False: 0]
  ------------------
  822|      0|            hsize_t nfields;
  823|      0|            err = Mat_H5ReadFieldNames(matvar, dset_id, &nfields);
  824|      0|        }
  825|      0|    }
  826|       |
  827|     37|    return err;
  828|     37|}
mat73.c:Mat_H5ReadVarInfo:
  461|     60|{
  462|     60|    hid_t attr_id, type_id;
  463|     60|    int err = MATIO_E_NO_ERROR;
  ------------------
  |  |  241|     60|#define MATIO_E_NO_ERROR 0
  ------------------
  464|     60|    char *class_str;
  465|       |
  466|     60|    matvar->internal->id = dset_id;
  467|     60|    attr_id = H5Aopen_by_name(dset_id, ".", "MATLAB_class", H5P_DEFAULT, H5P_DEFAULT);
  ------------------
  |  |  228|     60|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
                  attr_id = H5Aopen_by_name(dset_id, ".", "MATLAB_class", H5P_DEFAULT, H5P_DEFAULT);
  ------------------
  |  |  228|     60|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
  468|     60|    if ( attr_id < 1 )
  ------------------
  |  Branch (468:10): [True: 5, False: 55]
  ------------------
  469|      5|        return MATIO_E_FAIL_TO_IDENTIFY;
  ------------------
  |  |  247|      5|#define MATIO_E_FAIL_TO_IDENTIFY 6
  ------------------
  470|     55|    type_id = H5Aget_type(attr_id);
  471|     55|    class_str = (char *)calloc(H5Tget_size(type_id) + 1, 1);
  472|     55|    if ( NULL != class_str ) {
  ------------------
  |  Branch (472:10): [True: 55, False: 0]
  ------------------
  473|     55|        herr_t herr = H5Aread(attr_id, type_id, class_str);
  474|     55|        if ( herr < 0 ) {
  ------------------
  |  Branch (474:14): [True: 0, False: 55]
  ------------------
  475|      0|            free(class_str);
  476|      0|            H5Tclose(type_id);
  477|      0|            H5Aclose(attr_id);
  478|      0|            return MATIO_E_GENERIC_READ_ERROR;
  ------------------
  |  |  243|      0|#define MATIO_E_GENERIC_READ_ERROR 2
  ------------------
  479|      0|        }
  480|     55|        matvar->class_type = ClassStr2ClassType(class_str);
  481|     55|        if ( MAT_C_EMPTY == matvar->class_type || MAT_C_CHAR == matvar->class_type ) {
  ------------------
  |  Branch (481:14): [True: 3, False: 52]
  |  Branch (481:51): [True: 12, False: 40]
  ------------------
  482|     15|            int int_decode = 0;
  483|     15|            if ( H5Aexists_by_name(dset_id, ".", "MATLAB_int_decode", H5P_DEFAULT) ) {
  ------------------
  |  |  228|     15|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
  |  Branch (483:18): [True: 12, False: 3]
  ------------------
  484|     12|                hid_t attr_id2 =
  485|     12|                    H5Aopen_by_name(dset_id, ".", "MATLAB_int_decode", H5P_DEFAULT, H5P_DEFAULT);
  ------------------
  |  |  228|     12|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
                                  H5Aopen_by_name(dset_id, ".", "MATLAB_int_decode", H5P_DEFAULT, H5P_DEFAULT);
  ------------------
  |  |  228|     12|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
  486|       |                /* FIXME: Check that dataspace is scalar */
  487|     12|                herr = H5Aread(attr_id2, H5T_NATIVE_INT, &int_decode);
  ------------------
  |  |  780|     12|#define H5T_NATIVE_INT (H5OPEN H5T_NATIVE_INT_g)
  |  |  ------------------
  |  |  |  |   40|     12|#define H5OPEN H5open(),
  |  |  ------------------
  ------------------
  488|     12|                H5Aclose(attr_id2);
  489|     12|                if ( herr < 0 ) {
  ------------------
  |  Branch (489:22): [True: 9, False: 3]
  ------------------
  490|      9|                    free(class_str);
  491|      9|                    H5Tclose(type_id);
  492|      9|                    H5Aclose(attr_id);
  493|      9|                    return MATIO_E_GENERIC_READ_ERROR;
  ------------------
  |  |  243|      9|#define MATIO_E_GENERIC_READ_ERROR 2
  ------------------
  494|      9|                }
  495|     12|            }
  496|      6|            switch ( int_decode ) {
  497|      3|                case 2:
  ------------------
  |  Branch (497:17): [True: 3, False: 3]
  ------------------
  498|      3|                    matvar->data_type = MAT_T_UINT16;
  499|      3|                    break;
  500|      0|                case 1:
  ------------------
  |  Branch (500:17): [True: 0, False: 6]
  ------------------
  501|      0|                    matvar->data_type = MAT_T_UINT8;
  502|      0|                    break;
  503|      0|                case 4:
  ------------------
  |  Branch (503:17): [True: 0, False: 6]
  ------------------
  504|      0|                    matvar->data_type = MAT_T_UINT32;
  505|      0|                    break;
  506|      3|                default:
  ------------------
  |  Branch (506:17): [True: 3, False: 3]
  ------------------
  507|      3|                    matvar->data_type = MAT_T_UNKNOWN;
  508|      3|                    break;
  509|      6|            }
  510|      6|            if ( MAT_C_EMPTY == matvar->class_type ) {
  ------------------
  |  Branch (510:18): [True: 3, False: 3]
  ------------------
  511|       |                /* Check if this is a logical variable */
  512|      3|                if ( 0 == strcmp(class_str, "logical") ) {
  ------------------
  |  Branch (512:22): [True: 0, False: 3]
  ------------------
  513|      0|                    matvar->isLogical = MAT_F_LOGICAL;
  514|      0|                }
  515|      3|                matvar->class_type = DataType2ClassType(matvar->data_type);
  516|      3|            } else if ( MAT_T_UNKNOWN == matvar->data_type ) {
  ------------------
  |  Branch (516:25): [True: 0, False: 3]
  ------------------
  517|      0|                matvar->data_type = MAT_T_UINT16;
  518|      0|            }
  519|     40|        } else {
  520|     40|            matvar->data_type = ClassType2DataType(matvar->class_type);
  521|     40|        }
  522|     46|        free(class_str);
  523|     46|    } else {
  524|      0|        err = MATIO_E_OUT_OF_MEMORY;
  ------------------
  |  |  251|      0|#define MATIO_E_OUT_OF_MEMORY 14
  ------------------
  525|      0|    }
  526|     46|    H5Tclose(type_id);
  527|     46|    H5Aclose(attr_id);
  528|       |
  529|     46|    if ( err ) {
  ------------------
  |  Branch (529:10): [True: 0, False: 46]
  ------------------
  530|      0|        return err;
  531|      0|    }
  532|       |
  533|       |    /* Check if the variable is global */
  534|     46|    if ( H5Aexists_by_name(dset_id, ".", "MATLAB_global", H5P_DEFAULT) ) {
  ------------------
  |  |  228|     46|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
  |  Branch (534:10): [True: 3, False: 43]
  ------------------
  535|      3|        herr_t herr;
  536|      3|        attr_id = H5Aopen_by_name(dset_id, ".", "MATLAB_global", H5P_DEFAULT, H5P_DEFAULT);
  ------------------
  |  |  228|      3|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
                      attr_id = H5Aopen_by_name(dset_id, ".", "MATLAB_global", H5P_DEFAULT, H5P_DEFAULT);
  ------------------
  |  |  228|      3|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
  537|       |        /* FIXME: Check that dataspace is scalar */
  538|      3|        herr = H5Aread(attr_id, H5T_NATIVE_INT, &matvar->isGlobal);
  ------------------
  |  |  780|      3|#define H5T_NATIVE_INT (H5OPEN H5T_NATIVE_INT_g)
  |  |  ------------------
  |  |  |  |   40|      3|#define H5OPEN H5open(),
  |  |  ------------------
  ------------------
  539|      3|        H5Aclose(attr_id);
  540|      3|        if ( herr < 0 ) {
  ------------------
  |  Branch (540:14): [True: 3, False: 0]
  ------------------
  541|      3|            return MATIO_E_GENERIC_READ_ERROR;
  ------------------
  |  |  243|      3|#define MATIO_E_GENERIC_READ_ERROR 2
  ------------------
  542|      3|        }
  543|      3|    }
  544|       |
  545|     43|    return MATIO_E_NO_ERROR;
  ------------------
  |  |  241|     43|#define MATIO_E_NO_ERROR 0
  ------------------
  546|     46|}
mat73.c:ClassStr2ClassType:
  149|     55|{
  150|     55|    enum matio_classes id = MAT_C_EMPTY;
  151|     55|    if ( NULL != name ) {
  ------------------
  |  Branch (151:10): [True: 55, False: 0]
  ------------------
  152|     55|        int k;
  153|    349|        for ( k = 1; k < 17; k++ ) {
  ------------------
  |  Branch (153:22): [True: 346, False: 3]
  ------------------
  154|    346|            if ( 0 == strcmp(name, ClassNames[k]) ) {
  ------------------
  |  Branch (154:18): [True: 52, False: 294]
  ------------------
  155|     52|                id = (enum matio_classes)k;
  156|     52|                break;
  157|     52|            }
  158|    346|        }
  159|     55|    }
  160|       |
  161|     55|    return id;
  162|     55|}
mat73.c:DataType2ClassType:
  166|      3|{
  167|      3|    switch ( type ) {
  168|      0|        case MAT_T_DOUBLE:
  ------------------
  |  Branch (168:9): [True: 0, False: 3]
  ------------------
  169|      0|            return MAT_C_DOUBLE;
  170|      0|        case MAT_T_SINGLE:
  ------------------
  |  Branch (170:9): [True: 0, False: 3]
  ------------------
  171|      0|            return MAT_C_SINGLE;
  172|      0|#ifdef HAVE_MAT_INT64_T
  173|      0|        case MAT_T_INT64:
  ------------------
  |  Branch (173:9): [True: 0, False: 3]
  ------------------
  174|      0|            return MAT_C_INT64;
  175|      0|#endif
  176|      0|#ifdef HAVE_MAT_UINT64_T
  177|      0|        case MAT_T_UINT64:
  ------------------
  |  Branch (177:9): [True: 0, False: 3]
  ------------------
  178|      0|            return MAT_C_UINT64;
  179|      0|#endif
  180|      0|        case MAT_T_INT32:
  ------------------
  |  Branch (180:9): [True: 0, False: 3]
  ------------------
  181|      0|            return MAT_C_INT32;
  182|      0|        case MAT_T_UINT32:
  ------------------
  |  Branch (182:9): [True: 0, False: 3]
  ------------------
  183|      0|            return MAT_C_UINT32;
  184|      0|        case MAT_T_INT16:
  ------------------
  |  Branch (184:9): [True: 0, False: 3]
  ------------------
  185|      0|            return MAT_C_INT16;
  186|      0|        case MAT_T_UINT16:
  ------------------
  |  Branch (186:9): [True: 0, False: 3]
  ------------------
  187|      0|            return MAT_C_UINT16;
  188|      0|        case MAT_T_INT8:
  ------------------
  |  Branch (188:9): [True: 0, False: 3]
  ------------------
  189|      0|            return MAT_C_INT8;
  190|      0|        case MAT_T_UINT8:
  ------------------
  |  Branch (190:9): [True: 0, False: 3]
  ------------------
  191|      0|            return MAT_C_UINT8;
  192|      3|        default:
  ------------------
  |  Branch (192:9): [True: 3, False: 0]
  ------------------
  193|      3|            return MAT_C_EMPTY;
  194|      3|    }
  195|      3|}
mat73.c:Mat_H5ReadNextReferenceInfo:
 1144|      9|{
 1145|      9|    int err;
 1146|      9|    if ( ref_id < 0 || matvar == NULL )
  ------------------
  |  Branch (1146:10): [True: 0, False: 9]
  |  Branch (1146:24): [True: 0, False: 9]
  ------------------
 1147|      0|        return MATIO_E_NO_ERROR;
  ------------------
  |  |  241|      0|#define MATIO_E_NO_ERROR 0
  ------------------
 1148|       |
 1149|      9|    switch ( H5Iget_type(ref_id) ) {
 1150|      9|        case H5I_DATASET:
  ------------------
  |  Branch (1150:9): [True: 9, False: 0]
  ------------------
 1151|      9|            err = Mat_H5ReadDatasetInfo(mat, matvar, ref_id);
 1152|      9|            if ( matvar->internal->id != ref_id ) {
  ------------------
  |  Branch (1152:18): [True: 0, False: 9]
  ------------------
 1153|       |                /* Close dataset and increment count */
 1154|      0|                H5Dclose(ref_id);
 1155|      0|            }
 1156|       |
 1157|       |            /*H5Dclose(ref_id);*/
 1158|      9|            break;
 1159|       |
 1160|      0|        case H5I_GROUP:
  ------------------
  |  Branch (1160:9): [True: 0, False: 9]
  ------------------
 1161|      0|            err = Mat_H5ReadGroupInfo(mat, matvar, ref_id);
 1162|      0|            break;
 1163|       |
 1164|      0|        default:
  ------------------
  |  Branch (1164:9): [True: 0, False: 9]
  ------------------
 1165|      0|            err = MATIO_E_NO_ERROR;
  ------------------
  |  |  241|      0|#define MATIO_E_NO_ERROR 0
  ------------------
 1166|      0|            break;
 1167|      9|    }
 1168|       |
 1169|      9|    return err;
 1170|      9|}
mat73.c:Mat_H5ReadFieldNames:
  622|      3|{
  623|      3|    hsize_t i;
  624|      3|    hid_t attr_id, space_id;
  625|      3|    herr_t herr;
  626|      3|    int err, ndims;
  627|       |
  628|      3|    attr_id = H5Aopen_by_name(dset_id, ".", "MATLAB_fields", H5P_DEFAULT, H5P_DEFAULT);
  ------------------
  |  |  228|      3|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
                  attr_id = H5Aopen_by_name(dset_id, ".", "MATLAB_fields", H5P_DEFAULT, H5P_DEFAULT);
  ------------------
  |  |  228|      3|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
  629|      3|    space_id = H5Aget_space(attr_id);
  630|      3|    ndims = H5Sget_simple_extent_ndims(space_id);
  631|      3|    if ( 0 > ndims || 1 < ndims ) {
  ------------------
  |  Branch (631:10): [True: 0, False: 3]
  |  Branch (631:23): [True: 0, False: 3]
  ------------------
  632|      0|        *nfields = 0;
  633|      0|        H5Sclose(space_id);
  634|      0|        H5Aclose(attr_id);
  635|      0|        return MATIO_E_GENERIC_READ_ERROR;
  ------------------
  |  |  243|      0|#define MATIO_E_GENERIC_READ_ERROR 2
  ------------------
  636|      3|    } else {
  637|      3|        err = MATIO_E_NO_ERROR;
  ------------------
  |  |  241|      3|#define MATIO_E_NO_ERROR 0
  ------------------
  638|      3|    }
  639|      3|    (void)H5Sget_simple_extent_dims(space_id, nfields, NULL);
  640|      3|    if ( *nfields > 0 ) {
  ------------------
  |  Branch (640:10): [True: 3, False: 0]
  ------------------
  641|      3|        hid_t field_id;
  642|      3|        hvl_t *fieldnames_vl = (hvl_t *)calloc((size_t)(*nfields), sizeof(*fieldnames_vl));
  643|      3|        if ( fieldnames_vl == NULL ) {
  ------------------
  |  Branch (643:14): [True: 0, False: 3]
  ------------------
  644|      0|            H5Sclose(space_id);
  645|      0|            H5Aclose(attr_id);
  646|      0|            return MATIO_E_OUT_OF_MEMORY;
  ------------------
  |  |  251|      0|#define MATIO_E_OUT_OF_MEMORY 14
  ------------------
  647|      0|        }
  648|      3|        field_id = H5Aget_type(attr_id);
  649|      3|        herr = H5Aread(attr_id, field_id, fieldnames_vl);
  650|      3|        if ( herr >= 0 ) {
  ------------------
  |  Branch (650:14): [True: 0, False: 3]
  ------------------
  651|      0|            matvar->internal->num_fields = (unsigned int)*nfields;
  652|      0|            matvar->internal->fieldnames =
  653|      0|                (char **)calloc((size_t)(*nfields), sizeof(*matvar->internal->fieldnames));
  654|      0|            if ( matvar->internal->fieldnames != NULL ) {
  ------------------
  |  Branch (654:18): [True: 0, False: 0]
  ------------------
  655|      0|                for ( i = 0; i < *nfields; i++ ) {
  ------------------
  |  Branch (655:30): [True: 0, False: 0]
  ------------------
  656|      0|                    matvar->internal->fieldnames[i] = (char *)calloc(fieldnames_vl[i].len + 1, 1);
  657|      0|                    if ( matvar->internal->fieldnames[i] != NULL ) {
  ------------------
  |  Branch (657:26): [True: 0, False: 0]
  ------------------
  658|      0|                        if ( fieldnames_vl[i].p != NULL ) {
  ------------------
  |  Branch (658:30): [True: 0, False: 0]
  ------------------
  659|      0|                            memcpy(matvar->internal->fieldnames[i], fieldnames_vl[i].p,
  660|      0|                                   fieldnames_vl[i].len);
  661|      0|                        }
  662|      0|                    } else {
  663|      0|                        err = MATIO_E_OUT_OF_MEMORY;
  ------------------
  |  |  251|      0|#define MATIO_E_OUT_OF_MEMORY 14
  ------------------
  664|      0|                        break;
  665|      0|                    }
  666|      0|                }
  667|      0|            } else {
  668|      0|                err = MATIO_E_OUT_OF_MEMORY;
  ------------------
  |  |  251|      0|#define MATIO_E_OUT_OF_MEMORY 14
  ------------------
  669|      0|            }
  670|      0|#if H5_VERSION_GE(1, 12, 0)
  671|      0|            H5Treclaim(field_id, space_id, H5P_DEFAULT, fieldnames_vl);
  ------------------
  |  |  228|      0|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
  672|       |#else
  673|       |            H5Dvlen_reclaim(field_id, space_id, H5P_DEFAULT, fieldnames_vl);
  674|       |#endif
  675|      0|            free(fieldnames_vl);
  676|      0|            H5Tclose(field_id);
  677|      3|        } else {
  678|      3|            err = MATIO_E_GENERIC_READ_ERROR;
  ------------------
  |  |  243|      3|#define MATIO_E_GENERIC_READ_ERROR 2
  ------------------
  679|      3|        }
  680|      3|    }
  681|       |
  682|      3|    H5Sclose(space_id);
  683|      3|    H5Aclose(attr_id);
  684|       |
  685|      3|    return err;
  686|      3|}
mat73.c:Mat_H5ReadGroupInfo:
  832|      8|{
  833|      8|    int fields_are_variables = 1;
  834|      8|    hsize_t nfields = 0, nelems;
  835|      8|    hid_t attr_id, field_id;
  836|      8|    matvar_t **fields;
  837|      8|    H5O_type_t obj_type;
  838|      8|    int err;
  839|       |
  840|      8|    err = Mat_H5ReadVarInfo(matvar, dset_id);
  841|      8|    if ( err ) {
  ------------------
  |  Branch (841:10): [True: 2, False: 6]
  ------------------
  842|      2|        return err;
  843|      2|    }
  844|       |
  845|       |    /* Check if the variable is sparse */
  846|      6|    if ( H5Aexists_by_name(dset_id, ".", "MATLAB_sparse", H5P_DEFAULT) ) {
  ------------------
  |  |  228|      6|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
  |  Branch (846:10): [True: 3, False: 3]
  ------------------
  847|      3|        herr_t herr;
  848|      3|        hid_t sparse_dset_id;
  849|      3|        unsigned nrows = 0;
  850|       |
  851|      3|        attr_id = H5Aopen_by_name(dset_id, ".", "MATLAB_sparse", H5P_DEFAULT, H5P_DEFAULT);
  ------------------
  |  |  228|      3|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
                      attr_id = H5Aopen_by_name(dset_id, ".", "MATLAB_sparse", H5P_DEFAULT, H5P_DEFAULT);
  ------------------
  |  |  228|      3|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
  852|      3|        herr = H5Aread(attr_id, H5T_NATIVE_UINT, &nrows);
  ------------------
  |  |  785|      3|#define H5T_NATIVE_UINT (H5OPEN H5T_NATIVE_UINT_g)
  |  |  ------------------
  |  |  |  |   40|      3|#define H5OPEN H5open(),
  |  |  ------------------
  ------------------
  853|      3|        H5Aclose(attr_id);
  854|      3|        if ( herr < 0 ) {
  ------------------
  |  Branch (854:14): [True: 0, False: 3]
  ------------------
  855|      0|            return MATIO_E_GENERIC_READ_ERROR;
  ------------------
  |  |  243|      0|#define MATIO_E_GENERIC_READ_ERROR 2
  ------------------
  856|      0|        }
  857|       |
  858|      3|        matvar->class_type = MAT_C_SPARSE;
  859|       |
  860|      3|        sparse_dset_id = H5Dopen(dset_id, "jc", H5P_DEFAULT);
  ------------------
  |  |  727|      3|  #define H5Dopen H5Dopen2
  ------------------
                      sparse_dset_id = H5Dopen(dset_id, "jc", H5P_DEFAULT);
  ------------------
  |  |  228|      3|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
  861|      3|        matvar->dims = Mat_H5ReadDims(sparse_dset_id, &nelems, &matvar->rank);
  862|      3|        H5Dclose(sparse_dset_id);
  863|      3|        if ( NULL != matvar->dims ) {
  ------------------
  |  Branch (863:14): [True: 3, False: 0]
  ------------------
  864|      3|            if ( 1 == matvar->rank ) {
  ------------------
  |  Branch (864:18): [True: 3, False: 0]
  ------------------
  865|      3|                size_t *dims = (size_t *)realloc(matvar->dims, 2 * sizeof(*matvar->dims));
  866|      3|                if ( NULL != dims ) {
  ------------------
  |  Branch (866:22): [True: 3, False: 0]
  ------------------
  867|      3|                    matvar->rank = 2;
  868|      3|                    matvar->dims = dims;
  869|      3|                }
  870|      3|            }
  871|      3|            if ( 2 == matvar->rank ) {
  ------------------
  |  Branch (871:18): [True: 3, False: 0]
  ------------------
  872|      3|                matvar->dims[1] = matvar->dims[0] - 1;
  873|      3|                matvar->dims[0] = nrows;
  874|      3|            }
  875|      3|        } else {
  876|      0|            return MATIO_E_UNKNOWN_ERROR;
  ------------------
  |  |  242|      0|#define MATIO_E_UNKNOWN_ERROR 1
  ------------------
  877|      0|        }
  878|       |
  879|       |        /* Test if dataset type is compound and if so if it's complex */
  880|      3|        if ( H5Lexists(dset_id, "data", H5P_DEFAULT) ) {
  ------------------
  |  |  228|      3|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
  |  Branch (880:14): [True: 3, False: 0]
  ------------------
  881|      3|            hid_t type_id;
  882|      3|            sparse_dset_id = H5Dopen(dset_id, "data", H5P_DEFAULT);
  ------------------
  |  |  727|      3|  #define H5Dopen H5Dopen2
  ------------------
                          sparse_dset_id = H5Dopen(dset_id, "data", H5P_DEFAULT);
  ------------------
  |  |  228|      3|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
  883|      3|            type_id = H5Dget_type(sparse_dset_id);
  884|      3|            if ( H5T_COMPOUND == H5Tget_class(type_id) ) {
  ------------------
  |  Branch (884:18): [True: 0, False: 3]
  ------------------
  885|       |                /* FIXME: Any more checks? */
  886|      0|                matvar->isComplex = MAT_F_COMPLEX;
  887|      0|            }
  888|      3|            H5Tclose(type_id);
  889|      3|            H5Dclose(sparse_dset_id);
  890|      3|        }
  891|      3|        return MATIO_E_NO_ERROR;
  ------------------
  |  |  241|      3|#define MATIO_E_NO_ERROR 0
  ------------------
  892|      3|    }
  893|       |
  894|      3|    if ( MAT_C_STRUCT != matvar->class_type ) {
  ------------------
  |  Branch (894:10): [True: 0, False: 3]
  ------------------
  895|      0|        return MATIO_E_GENERIC_READ_ERROR;
  ------------------
  |  |  243|      0|#define MATIO_E_GENERIC_READ_ERROR 2
  ------------------
  896|      0|    }
  897|       |
  898|       |    /* Check if the structure defines its fields in MATLAB_fields */
  899|      3|    if ( H5Aexists_by_name(dset_id, ".", "MATLAB_fields", H5P_DEFAULT) ) {
  ------------------
  |  |  228|      3|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
  |  Branch (899:10): [True: 3, False: 0]
  ------------------
  900|      3|        err = Mat_H5ReadFieldNames(matvar, dset_id, &nfields);
  901|      3|        if ( err ) {
  ------------------
  |  Branch (901:14): [True: 3, False: 0]
  ------------------
  902|      3|            return err;
  903|      3|        }
  904|      3|    } else {
  905|      0|        herr_t herr;
  906|      0|        H5G_info_t group_info;
  907|      0|        matvar->internal->num_fields = 0;
  908|      0|        group_info.nlinks = 0;
  909|      0|        herr = H5Gget_info(dset_id, &group_info);
  910|      0|        if ( herr >= 0 && group_info.nlinks > 0 ) {
  ------------------
  |  Branch (910:14): [True: 0, False: 0]
  |  Branch (910:27): [True: 0, False: 0]
  ------------------
  911|      0|            struct ReadGroupInfoIterData group_data = {0, NULL};
  912|       |
  913|       |            /* First iteration to retrieve number of relevant links */
  914|      0|            herr = H5Literate(dset_id, H5_INDEX_NAME, H5_ITER_NATIVE, NULL,
  ------------------
  |  |  869|      0|  #define H5Literate H5Literate2
  ------------------
  915|      0|                              Mat_H5ReadGroupInfoIterate, (void *)&group_data);
  916|      0|            if ( herr > 0 && group_data.nfields > 0 ) {
  ------------------
  |  Branch (916:18): [True: 0, False: 0]
  |  Branch (916:30): [True: 0, False: 0]
  ------------------
  917|      0|                matvar->internal->fieldnames = (char **)calloc(
  918|      0|                    (size_t)(group_data.nfields), sizeof(*matvar->internal->fieldnames));
  919|      0|                group_data.nfields = 0;
  920|      0|                group_data.matvar = matvar;
  921|      0|                if ( matvar->internal->fieldnames != NULL ) {
  ------------------
  |  Branch (921:22): [True: 0, False: 0]
  ------------------
  922|       |                    /* Second iteration to fill fieldnames */
  923|      0|                    H5Literate(dset_id, H5_INDEX_NAME, H5_ITER_NATIVE, NULL,
  ------------------
  |  |  869|      0|  #define H5Literate H5Literate2
  ------------------
  924|      0|                               Mat_H5ReadGroupInfoIterate, (void *)&group_data);
  925|      0|                }
  926|      0|                matvar->internal->num_fields = (unsigned)group_data.nfields;
  927|      0|                nfields = group_data.nfields;
  928|      0|            }
  929|      0|        }
  930|      0|    }
  931|       |
  932|      0|    if ( nfields > 0 ) {
  ------------------
  |  Branch (932:10): [True: 0, False: 0]
  ------------------
  933|      0|        herr_t herr;
  934|      0|        H5O_INFO_T object_info;
  ------------------
  |  |   75|      0|#define H5O_INFO_T H5O_info2_t
  ------------------
  935|      0|        object_info.type = H5O_TYPE_UNKNOWN;
  936|      0|        herr = H5OGET_INFO_BY_NAME(dset_id, matvar->internal->fieldnames[0], &object_info,
  ------------------
  |  |   77|      0|    H5Oget_info_by_name3((loc_id), (name), (oinfo), H5O_INFO_BASIC, (lapl_id));
  |  |  ------------------
  |  |  |  |   81|      0|#define H5O_INFO_BASIC     0x0001u /**< Fill in the fileno, addr, type, and rc fields */
  |  |  ------------------
  ------------------
  937|      0|                                   H5P_DEFAULT);
  938|      0|        if ( herr < 0 ) {
  ------------------
  |  Branch (938:14): [True: 0, False: 0]
  ------------------
  939|      0|            return MATIO_E_GENERIC_READ_ERROR;
  ------------------
  |  |  243|      0|#define MATIO_E_GENERIC_READ_ERROR 2
  ------------------
  940|      0|        }
  941|      0|        obj_type = object_info.type;
  942|      0|    } else {
  943|      0|        obj_type = H5O_TYPE_UNKNOWN;
  944|      0|    }
  945|      0|    if ( obj_type == H5O_TYPE_DATASET ) {
  ------------------
  |  Branch (945:10): [True: 0, False: 0]
  ------------------
  946|      0|        hid_t field_type_id;
  947|      0|        field_id = H5Dopen(dset_id, matvar->internal->fieldnames[0], H5P_DEFAULT);
  ------------------
  |  |  727|      0|  #define H5Dopen H5Dopen2
  ------------------
                      field_id = H5Dopen(dset_id, matvar->internal->fieldnames[0], H5P_DEFAULT);
  ------------------
  |  |  228|      0|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
  948|      0|        if ( field_id < 0 ) {
  ------------------
  |  Branch (948:14): [True: 0, False: 0]
  ------------------
  949|      0|            return MATIO_E_GENERIC_READ_ERROR;
  ------------------
  |  |  243|      0|#define MATIO_E_GENERIC_READ_ERROR 2
  ------------------
  950|      0|        }
  951|      0|        field_type_id = H5Dget_type(field_id);
  952|      0|        if ( H5T_REFERENCE == H5Tget_class(field_type_id) ) {
  ------------------
  |  Branch (952:14): [True: 0, False: 0]
  ------------------
  953|       |            /* Check if the field has the MATLAB_class attribute. If so, it
  954|       |             * means the structure is a scalar. Otherwise, the dimensions of
  955|       |             * the field dataset is the dimensions of the structure
  956|       |             */
  957|      0|            if ( H5Aexists_by_name(field_id, ".", "MATLAB_class", H5P_DEFAULT) ) {
  ------------------
  |  |  228|      0|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
  |  Branch (957:18): [True: 0, False: 0]
  ------------------
  958|      0|                matvar->rank = 2;
  959|      0|                matvar->dims = (size_t *)malloc(2 * sizeof(*matvar->dims));
  960|      0|                if ( NULL != matvar->dims ) {
  ------------------
  |  Branch (960:22): [True: 0, False: 0]
  ------------------
  961|      0|                    matvar->dims[0] = 1;
  962|      0|                    matvar->dims[1] = 1;
  963|      0|                    nelems = 1;
  964|      0|                } else {
  965|      0|                    H5Tclose(field_type_id);
  966|      0|                    H5Dclose(field_id);
  967|      0|                    Mat_Critical("Error allocating memory for matvar->dims");
  968|      0|                    return MATIO_E_OUT_OF_MEMORY;
  ------------------
  |  |  251|      0|#define MATIO_E_OUT_OF_MEMORY 14
  ------------------
  969|      0|                }
  970|      0|            } else {
  971|      0|                matvar->dims = Mat_H5ReadDims(field_id, &nelems, &matvar->rank);
  972|      0|                if ( NULL != matvar->dims ) {
  ------------------
  |  Branch (972:22): [True: 0, False: 0]
  ------------------
  973|      0|                    fields_are_variables = 0;
  974|      0|                } else {
  975|      0|                    H5Tclose(field_type_id);
  976|      0|                    H5Dclose(field_id);
  977|      0|                    return MATIO_E_OUT_OF_MEMORY;
  ------------------
  |  |  251|      0|#define MATIO_E_OUT_OF_MEMORY 14
  ------------------
  978|      0|                }
  979|      0|            }
  980|      0|        } else {
  981|       |            /* Structure should be a scalar */
  982|      0|            matvar->rank = 2;
  983|      0|            matvar->dims = (size_t *)malloc(2 * sizeof(*matvar->dims));
  984|      0|            if ( NULL != matvar->dims ) {
  ------------------
  |  Branch (984:18): [True: 0, False: 0]
  ------------------
  985|      0|                matvar->dims[0] = 1;
  986|      0|                matvar->dims[1] = 1;
  987|      0|                nelems = 1;
  988|      0|            } else {
  989|      0|                H5Tclose(field_type_id);
  990|      0|                H5Dclose(field_id);
  991|      0|                Mat_Critical("Error allocating memory for matvar->dims");
  992|      0|                return MATIO_E_OUT_OF_MEMORY;
  ------------------
  |  |  251|      0|#define MATIO_E_OUT_OF_MEMORY 14
  ------------------
  993|      0|            }
  994|      0|        }
  995|      0|        H5Tclose(field_type_id);
  996|      0|        H5Dclose(field_id);
  997|      0|    } else {
  998|       |        /* Structure should be a scalar */
  999|      0|        matvar->rank = 2;
 1000|      0|        matvar->dims = (size_t *)malloc(2 * sizeof(*matvar->dims));
 1001|      0|        if ( NULL != matvar->dims ) {
  ------------------
  |  Branch (1001:14): [True: 0, False: 0]
  ------------------
 1002|      0|            matvar->dims[0] = 1;
 1003|      0|            matvar->dims[1] = 1;
 1004|      0|            nelems = 1;
 1005|      0|        } else {
 1006|      0|            Mat_Critical("Error allocating memory for matvar->dims");
 1007|      0|            return MATIO_E_OUT_OF_MEMORY;
  ------------------
  |  |  251|      0|#define MATIO_E_OUT_OF_MEMORY 14
  ------------------
 1008|      0|        }
 1009|      0|    }
 1010|       |
 1011|      0|    if ( nelems < 1 || nfields < 1 )
  ------------------
  |  Branch (1011:10): [True: 0, False: 0]
  |  Branch (1011:24): [True: 0, False: 0]
  ------------------
 1012|      0|        return err;
 1013|       |
 1014|      0|    matvar->data_size = sizeof(*fields);
 1015|      0|    {
 1016|      0|        size_t nelems_x_nfields;
 1017|      0|        err = Mul(&nelems_x_nfields, nelems, nfields);
 1018|      0|        err |= Mul(&matvar->nbytes, nelems_x_nfields, matvar->data_size);
 1019|      0|        if ( err ) {
  ------------------
  |  Branch (1019:14): [True: 0, False: 0]
  ------------------
 1020|      0|            Mat_Critical("Integer multiplication overflow");
 1021|      0|            matvar->nbytes = 0;
 1022|      0|            return err;
 1023|      0|        }
 1024|      0|    }
 1025|      0|    fields = (matvar_t **)calloc(matvar->nbytes, 1);
 1026|      0|    matvar->data = fields;
 1027|      0|    if ( NULL != fields ) {
  ------------------
  |  Branch (1027:10): [True: 0, False: 0]
  ------------------
 1028|      0|        hsize_t k;
 1029|      0|        for ( k = 0; k < nfields; k++ ) {
  ------------------
  |  Branch (1029:22): [True: 0, False: 0]
  ------------------
 1030|      0|            herr_t herr;
 1031|      0|            H5O_INFO_T object_info;
  ------------------
  |  |   75|      0|#define H5O_INFO_T H5O_info2_t
  ------------------
 1032|      0|            fields[k] = NULL;
 1033|      0|            object_info.type = H5O_TYPE_UNKNOWN;
 1034|      0|            herr = H5OGET_INFO_BY_NAME(dset_id, matvar->internal->fieldnames[k], &object_info,
  ------------------
  |  |   77|      0|    H5Oget_info_by_name3((loc_id), (name), (oinfo), H5O_INFO_BASIC, (lapl_id));
  |  |  ------------------
  |  |  |  |   81|      0|#define H5O_INFO_BASIC     0x0001u /**< Fill in the fileno, addr, type, and rc fields */
  |  |  ------------------
  ------------------
 1035|      0|                                       H5P_DEFAULT);
 1036|      0|            if ( herr < 0 ) {
  ------------------
  |  Branch (1036:18): [True: 0, False: 0]
  ------------------
 1037|      0|                err = MATIO_E_GENERIC_READ_ERROR;
  ------------------
  |  |  243|      0|#define MATIO_E_GENERIC_READ_ERROR 2
  ------------------
 1038|      0|                break;
 1039|      0|            }
 1040|      0|            if ( object_info.type == H5O_TYPE_DATASET ) {
  ------------------
  |  Branch (1040:18): [True: 0, False: 0]
  ------------------
 1041|      0|                field_id = H5Dopen(dset_id, matvar->internal->fieldnames[k], H5P_DEFAULT);
  ------------------
  |  |  727|      0|  #define H5Dopen H5Dopen2
  ------------------
                              field_id = H5Dopen(dset_id, matvar->internal->fieldnames[k], H5P_DEFAULT);
  ------------------
  |  |  228|      0|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
 1042|      0|                if ( !fields_are_variables ) {
  ------------------
  |  Branch (1042:22): [True: 0, False: 0]
  ------------------
 1043|      0|                    hobj_ref_t *ref_ids = (hobj_ref_t *)calloc((size_t)nelems, sizeof(*ref_ids));
 1044|      0|                    if ( ref_ids != NULL ) {
  ------------------
  |  Branch (1044:26): [True: 0, False: 0]
  ------------------
 1045|      0|                        hsize_t l;
 1046|      0|                        herr = H5Dread(field_id, H5T_STD_REF_OBJ, H5S_ALL, H5S_ALL, H5P_DEFAULT,
  ------------------
  |  |  418|      0|#define H5T_STD_REF_OBJ (H5OPEN H5T_STD_REF_OBJ_g)
  |  |  ------------------
  |  |  |  |   40|      0|#define H5OPEN H5open(),
  |  |  ------------------
  ------------------
                                      herr = H5Dread(field_id, H5T_STD_REF_OBJ, H5S_ALL, H5S_ALL, H5P_DEFAULT,
  ------------------
  |  |   32|      0|#define H5S_ALL 0
  ------------------
                                      herr = H5Dread(field_id, H5T_STD_REF_OBJ, H5S_ALL, H5S_ALL, H5P_DEFAULT,
  ------------------
  |  |   32|      0|#define H5S_ALL 0
  ------------------
                                      herr = H5Dread(field_id, H5T_STD_REF_OBJ, H5S_ALL, H5S_ALL, H5P_DEFAULT,
  ------------------
  |  |  228|      0|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
 1047|      0|                                       ref_ids);
 1048|      0|                        if ( herr < 0 ) {
  ------------------
  |  Branch (1048:30): [True: 0, False: 0]
  ------------------
 1049|      0|                            err = MATIO_E_GENERIC_READ_ERROR;
  ------------------
  |  |  243|      0|#define MATIO_E_GENERIC_READ_ERROR 2
  ------------------
 1050|      0|                        } else {
 1051|      0|                            for ( l = 0; l < nelems; l++ ) {
  ------------------
  |  Branch (1051:42): [True: 0, False: 0]
  ------------------
 1052|      0|                                hid_t ref_id;
 1053|      0|                                fields[l * nfields + k] = Mat_VarCalloc();
 1054|      0|                                fields[l * nfields + k]->name =
 1055|      0|                                    strdup(matvar->internal->fieldnames[k]);
 1056|      0|                                fields[l * nfields + k]->internal->hdf5_ref = ref_ids[l];
 1057|       |                                /* Closing of ref_id is done in Mat_H5ReadNextReferenceInfo */
 1058|      0|                                ref_id = H5RDEREFERENCE(field_id, H5R_OBJECT, ref_ids + l);
  ------------------
  |  |   69|      0|    H5Rdereference2((obj_id), H5P_DATASET_ACCESS_DEFAULT, (ref_type), (_ref))
  |  |  ------------------
  |  |  |  |  156|      0|#define H5P_DATASET_ACCESS_DEFAULT (H5OPEN H5P_LST_DATASET_ACCESS_ID_g)
  |  |  |  |  ------------------
  |  |  |  |  |  |   40|      0|#define H5OPEN H5open(),
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1059|      0|                                if ( ref_id < 0 ) {
  ------------------
  |  Branch (1059:38): [True: 0, False: 0]
  ------------------
 1060|      0|                                    err = MATIO_E_GENERIC_READ_ERROR;
  ------------------
  |  |  243|      0|#define MATIO_E_GENERIC_READ_ERROR 2
  ------------------
 1061|      0|                                } else {
 1062|      0|                                    fields[l * nfields + k]->internal->id = ref_id;
 1063|      0|                                    err = Mat_H5ReadNextReferenceInfo(ref_id,
 1064|      0|                                                                      fields[l * nfields + k], mat);
 1065|      0|                                }
 1066|      0|                                if ( err ) {
  ------------------
  |  Branch (1066:38): [True: 0, False: 0]
  ------------------
 1067|      0|                                    break;
 1068|      0|                                }
 1069|      0|                            }
 1070|      0|                        }
 1071|      0|                        free(ref_ids);
 1072|      0|                    } else {
 1073|      0|                        err = MATIO_E_OUT_OF_MEMORY;
  ------------------
  |  |  251|      0|#define MATIO_E_OUT_OF_MEMORY 14
  ------------------
 1074|      0|                    }
 1075|      0|                    H5Dclose(field_id);
 1076|      0|                } else {
 1077|      0|                    fields[k] = Mat_VarCalloc();
 1078|      0|                    fields[k]->name = strdup(matvar->internal->fieldnames[k]);
 1079|      0|                    err = Mat_H5ReadDatasetInfo(mat, fields[k], field_id);
 1080|      0|                }
 1081|      0|            } else if ( object_info.type == H5O_TYPE_GROUP ) {
  ------------------
  |  Branch (1081:25): [True: 0, False: 0]
  ------------------
 1082|      0|                field_id = H5Gopen(dset_id, matvar->internal->fieldnames[k], H5P_DEFAULT);
  ------------------
  |  |  832|      0|  #define H5Gopen H5Gopen2
  ------------------
                              field_id = H5Gopen(dset_id, matvar->internal->fieldnames[k], H5P_DEFAULT);
  ------------------
  |  |  228|      0|#define H5P_DEFAULT 0 /* (hid_t) */
  ------------------
 1083|      0|                if ( -1 < field_id ) {
  ------------------
  |  Branch (1083:22): [True: 0, False: 0]
  ------------------
 1084|      0|                    fields[k] = Mat_VarCalloc();
 1085|      0|                    fields[k]->name = strdup(matvar->internal->fieldnames[k]);
 1086|      0|                    err = Mat_H5ReadGroupInfo(mat, fields[k], field_id);
 1087|      0|                }
 1088|      0|            }
 1089|      0|            if ( err ) {
  ------------------
  |  Branch (1089:18): [True: 0, False: 0]
  ------------------
 1090|      0|                break;
 1091|      0|            }
 1092|      0|        }
 1093|      0|    } else {
 1094|      0|        err = MATIO_E_OUT_OF_MEMORY;
  ------------------
  |  |  251|      0|#define MATIO_E_OUT_OF_MEMORY 14
  ------------------
 1095|      0|    }
 1096|       |
 1097|      0|    return err;
 1098|      0|}

Mat_VarGetNumberOfFields:
  181|    544|{
  182|    544|    int nfields;
  183|    544|    if ( matvar == NULL || matvar->class_type != MAT_C_STRUCT || NULL == matvar->internal ) {
  ------------------
  |  Branch (183:10): [True: 0, False: 544]
  |  Branch (183:28): [True: 543, False: 1]
  |  Branch (183:66): [True: 0, False: 1]
  ------------------
  184|    543|        nfields = 0;
  185|    543|    } else {
  186|      1|        nfields = matvar->internal->num_fields;
  187|      1|    }
  188|    544|    return nfields;
  189|    544|}
Mat_VarGetStructFieldnames:
  201|    544|{
  202|    544|    if ( matvar == NULL || matvar->class_type != MAT_C_STRUCT || NULL == matvar->internal ) {
  ------------------
  |  Branch (202:10): [True: 0, False: 544]
  |  Branch (202:28): [True: 543, False: 1]
  |  Branch (202:66): [True: 0, False: 1]
  ------------------
  203|    543|        return NULL;
  204|    543|    } else {
  205|      1|        return matvar->internal->fieldnames;
  206|      1|    }
  207|    544|}

ReadDoubleData:
  259|    220|{
  260|    220|    size_t readcount;
  261|       |
  262|    220|    if ( mat == NULL || data == NULL || mat->fp == NULL )
  ------------------
  |  Branch (262:10): [True: 0, False: 220]
  |  Branch (262:25): [True: 0, False: 220]
  |  Branch (262:41): [True: 0, False: 220]
  ------------------
  263|      0|        return 0;
  264|       |
  265|    220|    switch ( data_type ) {
  266|     24|        case MAT_T_DOUBLE:
  ------------------
  |  Branch (266:9): [True: 24, False: 196]
  ------------------
  267|     24|            readcount = READ_TYPE_DOUBLE_DATA(mat, data, len);
  ------------------
  |  |   28|     24|#define READ_TYPE_DOUBLE_DATA CAT(READ_TYPED_FUNC1, Double)
  |  |  ------------------
  |  |  |  |   96|     24|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|     24|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  268|     24|            break;
  269|     27|        case MAT_T_SINGLE:
  ------------------
  |  Branch (269:9): [True: 27, False: 193]
  ------------------
  270|     27|            readcount = READ_TYPE_SINGLE_DATA(mat, data, len);
  ------------------
  |  |   29|     27|#define READ_TYPE_SINGLE_DATA CAT(READ_TYPED_FUNC1, Single)
  |  |  ------------------
  |  |  |  |   96|     27|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|     27|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  271|     27|            break;
  272|      0|#ifdef HAVE_MAT_INT64_T
  273|      2|        case MAT_T_INT64:
  ------------------
  |  Branch (273:9): [True: 2, False: 218]
  ------------------
  274|      2|            readcount = READ_TYPE_INT64_DATA(mat, data, len);
  ------------------
  |  |   37|      2|#define READ_TYPE_INT64_DATA CAT(READ_TYPED_FUNC1, Int64)
  |  |  ------------------
  |  |  |  |   96|      2|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      2|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  275|      2|            break;
  276|      0|#endif /* HAVE_MAT_UINT64_T */
  277|      0|#ifdef HAVE_MAT_UINT64_T
  278|     12|        case MAT_T_UINT64:
  ------------------
  |  Branch (278:9): [True: 12, False: 208]
  ------------------
  279|     12|            readcount = READ_TYPE_UINT64_DATA(mat, data, len);
  ------------------
  |  |   40|     12|#define READ_TYPE_UINT64_DATA CAT(READ_TYPED_FUNC1, UInt64)
  |  |  ------------------
  |  |  |  |   96|     12|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|     12|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  280|     12|            break;
  281|      0|#endif /* HAVE_MAT_UINT64_T */
  282|     14|        case MAT_T_INT32:
  ------------------
  |  Branch (282:9): [True: 14, False: 206]
  ------------------
  283|     14|            readcount = READ_TYPE_INT32_DATA(mat, data, len);
  ------------------
  |  |   30|     14|#define READ_TYPE_INT32_DATA CAT(READ_TYPED_FUNC1, Int32)
  |  |  ------------------
  |  |  |  |   96|     14|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|     14|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  284|     14|            break;
  285|      2|        case MAT_T_UINT32:
  ------------------
  |  Branch (285:9): [True: 2, False: 218]
  ------------------
  286|      2|            readcount = READ_TYPE_UINT32_DATA(mat, data, len);
  ------------------
  |  |   31|      2|#define READ_TYPE_UINT32_DATA CAT(READ_TYPED_FUNC1, UInt32)
  |  |  ------------------
  |  |  |  |   96|      2|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      2|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  287|      2|            break;
  288|     10|        case MAT_T_INT16:
  ------------------
  |  Branch (288:9): [True: 10, False: 210]
  ------------------
  289|     10|            readcount = READ_TYPE_INT16_DATA(mat, data, len);
  ------------------
  |  |   32|     10|#define READ_TYPE_INT16_DATA CAT(READ_TYPED_FUNC1, Int16)
  |  |  ------------------
  |  |  |  |   96|     10|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|     10|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  290|     10|            break;
  291|     21|        case MAT_T_UINT16:
  ------------------
  |  Branch (291:9): [True: 21, False: 199]
  ------------------
  292|     21|            readcount = READ_TYPE_UINT16_DATA(mat, data, len);
  ------------------
  |  |   33|     21|#define READ_TYPE_UINT16_DATA CAT(READ_TYPED_FUNC1, UInt16)
  |  |  ------------------
  |  |  |  |   96|     21|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|     21|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  293|     21|            break;
  294|      2|        case MAT_T_INT8:
  ------------------
  |  Branch (294:9): [True: 2, False: 218]
  ------------------
  295|      2|            readcount = READ_TYPE_INT8_DATA(mat, data, len);
  ------------------
  |  |   34|      2|#define READ_TYPE_INT8_DATA CAT(READ_TYPED_FUNC1, Int8)
  |  |  ------------------
  |  |  |  |   96|      2|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      2|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  296|      2|            break;
  297|      9|        case MAT_T_UINT8:
  ------------------
  |  Branch (297:9): [True: 9, False: 211]
  ------------------
  298|      9|            readcount = READ_TYPE_UINT8_DATA(mat, data, len);
  ------------------
  |  |   35|      9|#define READ_TYPE_UINT8_DATA CAT(READ_TYPED_FUNC1, UInt8)
  |  |  ------------------
  |  |  |  |   96|      9|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      9|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  299|      9|            break;
  300|     97|        default:
  ------------------
  |  Branch (300:9): [True: 97, False: 123]
  ------------------
  301|     97|            readcount = 0;
  302|     97|            break;
  303|    220|    }
  304|    220|    return readcount;
  305|    220|}
ReadSingleData:
  259|     52|{
  260|     52|    size_t readcount;
  261|       |
  262|     52|    if ( mat == NULL || data == NULL || mat->fp == NULL )
  ------------------
  |  Branch (262:10): [True: 0, False: 52]
  |  Branch (262:25): [True: 0, False: 52]
  |  Branch (262:41): [True: 0, False: 52]
  ------------------
  263|      0|        return 0;
  264|       |
  265|     52|    switch ( data_type ) {
  266|     10|        case MAT_T_DOUBLE:
  ------------------
  |  Branch (266:9): [True: 10, False: 42]
  ------------------
  267|     10|            readcount = READ_TYPE_DOUBLE_DATA(mat, data, len);
  ------------------
  |  |   28|     10|#define READ_TYPE_DOUBLE_DATA CAT(READ_TYPED_FUNC1, Double)
  |  |  ------------------
  |  |  |  |   96|     10|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|     10|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  268|     10|            break;
  269|      4|        case MAT_T_SINGLE:
  ------------------
  |  Branch (269:9): [True: 4, False: 48]
  ------------------
  270|      4|            readcount = READ_TYPE_SINGLE_DATA(mat, data, len);
  ------------------
  |  |   29|      4|#define READ_TYPE_SINGLE_DATA CAT(READ_TYPED_FUNC1, Single)
  |  |  ------------------
  |  |  |  |   96|      4|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      4|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  271|      4|            break;
  272|      0|#ifdef HAVE_MAT_INT64_T
  273|     10|        case MAT_T_INT64:
  ------------------
  |  Branch (273:9): [True: 10, False: 42]
  ------------------
  274|     10|            readcount = READ_TYPE_INT64_DATA(mat, data, len);
  ------------------
  |  |   37|     10|#define READ_TYPE_INT64_DATA CAT(READ_TYPED_FUNC1, Int64)
  |  |  ------------------
  |  |  |  |   96|     10|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|     10|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  275|     10|            break;
  276|      0|#endif /* HAVE_MAT_UINT64_T */
  277|      0|#ifdef HAVE_MAT_UINT64_T
  278|      0|        case MAT_T_UINT64:
  ------------------
  |  Branch (278:9): [True: 0, False: 52]
  ------------------
  279|      0|            readcount = READ_TYPE_UINT64_DATA(mat, data, len);
  ------------------
  |  |   40|      0|#define READ_TYPE_UINT64_DATA CAT(READ_TYPED_FUNC1, UInt64)
  |  |  ------------------
  |  |  |  |   96|      0|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      0|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  280|      0|            break;
  281|      0|#endif /* HAVE_MAT_UINT64_T */
  282|      9|        case MAT_T_INT32:
  ------------------
  |  Branch (282:9): [True: 9, False: 43]
  ------------------
  283|      9|            readcount = READ_TYPE_INT32_DATA(mat, data, len);
  ------------------
  |  |   30|      9|#define READ_TYPE_INT32_DATA CAT(READ_TYPED_FUNC1, Int32)
  |  |  ------------------
  |  |  |  |   96|      9|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      9|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  284|      9|            break;
  285|      0|        case MAT_T_UINT32:
  ------------------
  |  Branch (285:9): [True: 0, False: 52]
  ------------------
  286|      0|            readcount = READ_TYPE_UINT32_DATA(mat, data, len);
  ------------------
  |  |   31|      0|#define READ_TYPE_UINT32_DATA CAT(READ_TYPED_FUNC1, UInt32)
  |  |  ------------------
  |  |  |  |   96|      0|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      0|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  287|      0|            break;
  288|      3|        case MAT_T_INT16:
  ------------------
  |  Branch (288:9): [True: 3, False: 49]
  ------------------
  289|      3|            readcount = READ_TYPE_INT16_DATA(mat, data, len);
  ------------------
  |  |   32|      3|#define READ_TYPE_INT16_DATA CAT(READ_TYPED_FUNC1, Int16)
  |  |  ------------------
  |  |  |  |   96|      3|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      3|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  290|      3|            break;
  291|      2|        case MAT_T_UINT16:
  ------------------
  |  Branch (291:9): [True: 2, False: 50]
  ------------------
  292|      2|            readcount = READ_TYPE_UINT16_DATA(mat, data, len);
  ------------------
  |  |   33|      2|#define READ_TYPE_UINT16_DATA CAT(READ_TYPED_FUNC1, UInt16)
  |  |  ------------------
  |  |  |  |   96|      2|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      2|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  293|      2|            break;
  294|      6|        case MAT_T_INT8:
  ------------------
  |  Branch (294:9): [True: 6, False: 46]
  ------------------
  295|      6|            readcount = READ_TYPE_INT8_DATA(mat, data, len);
  ------------------
  |  |   34|      6|#define READ_TYPE_INT8_DATA CAT(READ_TYPED_FUNC1, Int8)
  |  |  ------------------
  |  |  |  |   96|      6|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      6|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  296|      6|            break;
  297|      3|        case MAT_T_UINT8:
  ------------------
  |  Branch (297:9): [True: 3, False: 49]
  ------------------
  298|      3|            readcount = READ_TYPE_UINT8_DATA(mat, data, len);
  ------------------
  |  |   35|      3|#define READ_TYPE_UINT8_DATA CAT(READ_TYPED_FUNC1, UInt8)
  |  |  ------------------
  |  |  |  |   96|      3|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      3|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  299|      3|            break;
  300|      5|        default:
  ------------------
  |  Branch (300:9): [True: 5, False: 47]
  ------------------
  301|      5|            readcount = 0;
  302|      5|            break;
  303|     52|    }
  304|     52|    return readcount;
  305|     52|}
ReadCompressedSingleData:
  536|     21|{
  537|     21|    if ( mat == NULL || data == NULL || mat->fp == NULL )
  ------------------
  |  Branch (537:10): [True: 0, False: 21]
  |  Branch (537:25): [True: 0, False: 21]
  |  Branch (537:41): [True: 0, False: 21]
  ------------------
  538|      0|        return 0;
  539|       |
  540|     21|    switch ( data_type ) {
  541|      0|        case MAT_T_DOUBLE:
  ------------------
  |  Branch (541:9): [True: 0, False: 21]
  ------------------
  542|      0|            READ_TYPE_DOUBLE_DATA(mat, z, data, len);
  ------------------
  |  |  324|      0|#define READ_TYPE_DOUBLE_DATA CAT(READ_TYPED_FUNC2, Double)
  |  |  ------------------
  |  |  |  |   96|      0|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      0|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  543|      0|            break;
  544|      0|        case MAT_T_SINGLE:
  ------------------
  |  Branch (544:9): [True: 0, False: 21]
  ------------------
  545|      0|            READ_TYPE_SINGLE_DATA(mat, z, data, len);
  ------------------
  |  |  325|      0|#define READ_TYPE_SINGLE_DATA CAT(READ_TYPED_FUNC2, Single)
  |  |  ------------------
  |  |  |  |   96|      0|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      0|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  546|      0|            break;
  547|      0|#ifdef HAVE_MAT_INT64_T
  548|      0|        case MAT_T_INT64:
  ------------------
  |  Branch (548:9): [True: 0, False: 21]
  ------------------
  549|      0|            READ_TYPE_INT64_DATA(mat, z, data, len);
  ------------------
  |  |  333|      0|#define READ_TYPE_INT64_DATA CAT(READ_TYPED_FUNC2, Int64)
  |  |  ------------------
  |  |  |  |   96|      0|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      0|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  550|      0|            break;
  551|      0|#endif /* HAVE_MAT_UINT64_T */
  552|      0|#ifdef HAVE_MAT_UINT64_T
  553|      0|        case MAT_T_UINT64:
  ------------------
  |  Branch (553:9): [True: 0, False: 21]
  ------------------
  554|      0|            READ_TYPE_UINT64_DATA(mat, z, data, len);
  ------------------
  |  |  336|      0|#define READ_TYPE_UINT64_DATA CAT(READ_TYPED_FUNC2, UInt64)
  |  |  ------------------
  |  |  |  |   96|      0|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      0|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  555|      0|            break;
  556|      0|#endif /* HAVE_MAT_UINT64_T */
  557|      0|        case MAT_T_INT32:
  ------------------
  |  Branch (557:9): [True: 0, False: 21]
  ------------------
  558|      0|            READ_TYPE_INT32_DATA(mat, z, data, len);
  ------------------
  |  |  326|      0|#define READ_TYPE_INT32_DATA CAT(READ_TYPED_FUNC2, Int32)
  |  |  ------------------
  |  |  |  |   96|      0|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      0|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  559|      0|            break;
  560|      0|        case MAT_T_UINT32:
  ------------------
  |  Branch (560:9): [True: 0, False: 21]
  ------------------
  561|      0|            READ_TYPE_UINT32_DATA(mat, z, data, len);
  ------------------
  |  |  327|      0|#define READ_TYPE_UINT32_DATA CAT(READ_TYPED_FUNC2, UInt32)
  |  |  ------------------
  |  |  |  |   96|      0|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      0|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  562|      0|            break;
  563|      0|        case MAT_T_INT16:
  ------------------
  |  Branch (563:9): [True: 0, False: 21]
  ------------------
  564|      0|            READ_TYPE_INT16_DATA(mat, z, data, len);
  ------------------
  |  |  328|      0|#define READ_TYPE_INT16_DATA CAT(READ_TYPED_FUNC2, Int16)
  |  |  ------------------
  |  |  |  |   96|      0|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      0|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  565|      0|            break;
  566|      0|        case MAT_T_UINT16:
  ------------------
  |  Branch (566:9): [True: 0, False: 21]
  ------------------
  567|      0|            READ_TYPE_UINT16_DATA(mat, z, data, len);
  ------------------
  |  |  329|      0|#define READ_TYPE_UINT16_DATA CAT(READ_TYPED_FUNC2, UInt16)
  |  |  ------------------
  |  |  |  |   96|      0|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      0|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  568|      0|            break;
  569|      0|        case MAT_T_INT8:
  ------------------
  |  Branch (569:9): [True: 0, False: 21]
  ------------------
  570|      0|            READ_TYPE_INT8_DATA(mat, z, data, len);
  ------------------
  |  |  330|      0|#define READ_TYPE_INT8_DATA CAT(READ_TYPED_FUNC2, Int8)
  |  |  ------------------
  |  |  |  |   96|      0|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      0|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  571|      0|            break;
  572|     12|        case MAT_T_UINT8:
  ------------------
  |  Branch (572:9): [True: 12, False: 9]
  ------------------
  573|     12|            READ_TYPE_UINT8_DATA(mat, z, data, len);
  ------------------
  |  |  331|     12|#define READ_TYPE_UINT8_DATA CAT(READ_TYPED_FUNC2, UInt8)
  |  |  ------------------
  |  |  |  |   96|     12|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|     12|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  574|     12|            break;
  575|      9|        default:
  ------------------
  |  Branch (575:9): [True: 9, False: 12]
  ------------------
  576|      9|            break;
  577|     21|    }
  578|     21|    return (int)(len * Mat_SizeOf(data_type));
  579|     21|}
ReadInt64Data:
  259|    318|{
  260|    318|    size_t readcount;
  261|       |
  262|    318|    if ( mat == NULL || data == NULL || mat->fp == NULL )
  ------------------
  |  Branch (262:10): [True: 0, False: 318]
  |  Branch (262:25): [True: 0, False: 318]
  |  Branch (262:41): [True: 0, False: 318]
  ------------------
  263|      0|        return 0;
  264|       |
  265|    318|    switch ( data_type ) {
  266|     16|        case MAT_T_DOUBLE:
  ------------------
  |  Branch (266:9): [True: 16, False: 302]
  ------------------
  267|     16|            readcount = READ_TYPE_DOUBLE_DATA(mat, data, len);
  ------------------
  |  |   28|     16|#define READ_TYPE_DOUBLE_DATA CAT(READ_TYPED_FUNC1, Double)
  |  |  ------------------
  |  |  |  |   96|     16|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|     16|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  268|     16|            break;
  269|     73|        case MAT_T_SINGLE:
  ------------------
  |  Branch (269:9): [True: 73, False: 245]
  ------------------
  270|     73|            readcount = READ_TYPE_SINGLE_DATA(mat, data, len);
  ------------------
  |  |   29|     73|#define READ_TYPE_SINGLE_DATA CAT(READ_TYPED_FUNC1, Single)
  |  |  ------------------
  |  |  |  |   96|     73|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|     73|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  271|     73|            break;
  272|      0|#ifdef HAVE_MAT_INT64_T
  273|      3|        case MAT_T_INT64:
  ------------------
  |  Branch (273:9): [True: 3, False: 315]
  ------------------
  274|      3|            readcount = READ_TYPE_INT64_DATA(mat, data, len);
  ------------------
  |  |   37|      3|#define READ_TYPE_INT64_DATA CAT(READ_TYPED_FUNC1, Int64)
  |  |  ------------------
  |  |  |  |   96|      3|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      3|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  275|      3|            break;
  276|      0|#endif /* HAVE_MAT_UINT64_T */
  277|      0|#ifdef HAVE_MAT_UINT64_T
  278|     26|        case MAT_T_UINT64:
  ------------------
  |  Branch (278:9): [True: 26, False: 292]
  ------------------
  279|     26|            readcount = READ_TYPE_UINT64_DATA(mat, data, len);
  ------------------
  |  |   40|     26|#define READ_TYPE_UINT64_DATA CAT(READ_TYPED_FUNC1, UInt64)
  |  |  ------------------
  |  |  |  |   96|     26|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|     26|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  280|     26|            break;
  281|      0|#endif /* HAVE_MAT_UINT64_T */
  282|      6|        case MAT_T_INT32:
  ------------------
  |  Branch (282:9): [True: 6, False: 312]
  ------------------
  283|      6|            readcount = READ_TYPE_INT32_DATA(mat, data, len);
  ------------------
  |  |   30|      6|#define READ_TYPE_INT32_DATA CAT(READ_TYPED_FUNC1, Int32)
  |  |  ------------------
  |  |  |  |   96|      6|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      6|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  284|      6|            break;
  285|     13|        case MAT_T_UINT32:
  ------------------
  |  Branch (285:9): [True: 13, False: 305]
  ------------------
  286|     13|            readcount = READ_TYPE_UINT32_DATA(mat, data, len);
  ------------------
  |  |   31|     13|#define READ_TYPE_UINT32_DATA CAT(READ_TYPED_FUNC1, UInt32)
  |  |  ------------------
  |  |  |  |   96|     13|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|     13|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  287|     13|            break;
  288|     28|        case MAT_T_INT16:
  ------------------
  |  Branch (288:9): [True: 28, False: 290]
  ------------------
  289|     28|            readcount = READ_TYPE_INT16_DATA(mat, data, len);
  ------------------
  |  |   32|     28|#define READ_TYPE_INT16_DATA CAT(READ_TYPED_FUNC1, Int16)
  |  |  ------------------
  |  |  |  |   96|     28|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|     28|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  290|     28|            break;
  291|     22|        case MAT_T_UINT16:
  ------------------
  |  Branch (291:9): [True: 22, False: 296]
  ------------------
  292|     22|            readcount = READ_TYPE_UINT16_DATA(mat, data, len);
  ------------------
  |  |   33|     22|#define READ_TYPE_UINT16_DATA CAT(READ_TYPED_FUNC1, UInt16)
  |  |  ------------------
  |  |  |  |   96|     22|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|     22|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  293|     22|            break;
  294|      2|        case MAT_T_INT8:
  ------------------
  |  Branch (294:9): [True: 2, False: 316]
  ------------------
  295|      2|            readcount = READ_TYPE_INT8_DATA(mat, data, len);
  ------------------
  |  |   34|      2|#define READ_TYPE_INT8_DATA CAT(READ_TYPED_FUNC1, Int8)
  |  |  ------------------
  |  |  |  |   96|      2|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      2|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  296|      2|            break;
  297|      0|        case MAT_T_UINT8:
  ------------------
  |  Branch (297:9): [True: 0, False: 318]
  ------------------
  298|      0|            readcount = READ_TYPE_UINT8_DATA(mat, data, len);
  ------------------
  |  |   35|      0|#define READ_TYPE_UINT8_DATA CAT(READ_TYPED_FUNC1, UInt8)
  |  |  ------------------
  |  |  |  |   96|      0|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      0|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  299|      0|            break;
  300|    129|        default:
  ------------------
  |  Branch (300:9): [True: 129, False: 189]
  ------------------
  301|    129|            readcount = 0;
  302|    129|            break;
  303|    318|    }
  304|    318|    return readcount;
  305|    318|}
ReadUInt64Data:
  259|    176|{
  260|    176|    size_t readcount;
  261|       |
  262|    176|    if ( mat == NULL || data == NULL || mat->fp == NULL )
  ------------------
  |  Branch (262:10): [True: 0, False: 176]
  |  Branch (262:25): [True: 0, False: 176]
  |  Branch (262:41): [True: 0, False: 176]
  ------------------
  263|      0|        return 0;
  264|       |
  265|    176|    switch ( data_type ) {
  266|      3|        case MAT_T_DOUBLE:
  ------------------
  |  Branch (266:9): [True: 3, False: 173]
  ------------------
  267|      3|            readcount = READ_TYPE_DOUBLE_DATA(mat, data, len);
  ------------------
  |  |   28|      3|#define READ_TYPE_DOUBLE_DATA CAT(READ_TYPED_FUNC1, Double)
  |  |  ------------------
  |  |  |  |   96|      3|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      3|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  268|      3|            break;
  269|      7|        case MAT_T_SINGLE:
  ------------------
  |  Branch (269:9): [True: 7, False: 169]
  ------------------
  270|      7|            readcount = READ_TYPE_SINGLE_DATA(mat, data, len);
  ------------------
  |  |   29|      7|#define READ_TYPE_SINGLE_DATA CAT(READ_TYPED_FUNC1, Single)
  |  |  ------------------
  |  |  |  |   96|      7|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      7|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  271|      7|            break;
  272|      0|#ifdef HAVE_MAT_INT64_T
  273|      5|        case MAT_T_INT64:
  ------------------
  |  Branch (273:9): [True: 5, False: 171]
  ------------------
  274|      5|            readcount = READ_TYPE_INT64_DATA(mat, data, len);
  ------------------
  |  |   37|      5|#define READ_TYPE_INT64_DATA CAT(READ_TYPED_FUNC1, Int64)
  |  |  ------------------
  |  |  |  |   96|      5|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      5|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  275|      5|            break;
  276|      0|#endif /* HAVE_MAT_UINT64_T */
  277|      0|#ifdef HAVE_MAT_UINT64_T
  278|     13|        case MAT_T_UINT64:
  ------------------
  |  Branch (278:9): [True: 13, False: 163]
  ------------------
  279|     13|            readcount = READ_TYPE_UINT64_DATA(mat, data, len);
  ------------------
  |  |   40|     13|#define READ_TYPE_UINT64_DATA CAT(READ_TYPED_FUNC1, UInt64)
  |  |  ------------------
  |  |  |  |   96|     13|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|     13|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  280|     13|            break;
  281|      0|#endif /* HAVE_MAT_UINT64_T */
  282|      1|        case MAT_T_INT32:
  ------------------
  |  Branch (282:9): [True: 1, False: 175]
  ------------------
  283|      1|            readcount = READ_TYPE_INT32_DATA(mat, data, len);
  ------------------
  |  |   30|      1|#define READ_TYPE_INT32_DATA CAT(READ_TYPED_FUNC1, Int32)
  |  |  ------------------
  |  |  |  |   96|      1|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      1|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  284|      1|            break;
  285|      1|        case MAT_T_UINT32:
  ------------------
  |  Branch (285:9): [True: 1, False: 175]
  ------------------
  286|      1|            readcount = READ_TYPE_UINT32_DATA(mat, data, len);
  ------------------
  |  |   31|      1|#define READ_TYPE_UINT32_DATA CAT(READ_TYPED_FUNC1, UInt32)
  |  |  ------------------
  |  |  |  |   96|      1|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      1|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  287|      1|            break;
  288|     45|        case MAT_T_INT16:
  ------------------
  |  Branch (288:9): [True: 45, False: 131]
  ------------------
  289|     45|            readcount = READ_TYPE_INT16_DATA(mat, data, len);
  ------------------
  |  |   32|     45|#define READ_TYPE_INT16_DATA CAT(READ_TYPED_FUNC1, Int16)
  |  |  ------------------
  |  |  |  |   96|     45|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|     45|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  290|     45|            break;
  291|     25|        case MAT_T_UINT16:
  ------------------
  |  Branch (291:9): [True: 25, False: 151]
  ------------------
  292|     25|            readcount = READ_TYPE_UINT16_DATA(mat, data, len);
  ------------------
  |  |   33|     25|#define READ_TYPE_UINT16_DATA CAT(READ_TYPED_FUNC1, UInt16)
  |  |  ------------------
  |  |  |  |   96|     25|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|     25|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  293|     25|            break;
  294|      1|        case MAT_T_INT8:
  ------------------
  |  Branch (294:9): [True: 1, False: 175]
  ------------------
  295|      1|            readcount = READ_TYPE_INT8_DATA(mat, data, len);
  ------------------
  |  |   34|      1|#define READ_TYPE_INT8_DATA CAT(READ_TYPED_FUNC1, Int8)
  |  |  ------------------
  |  |  |  |   96|      1|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      1|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  296|      1|            break;
  297|      6|        case MAT_T_UINT8:
  ------------------
  |  Branch (297:9): [True: 6, False: 170]
  ------------------
  298|      6|            readcount = READ_TYPE_UINT8_DATA(mat, data, len);
  ------------------
  |  |   35|      6|#define READ_TYPE_UINT8_DATA CAT(READ_TYPED_FUNC1, UInt8)
  |  |  ------------------
  |  |  |  |   96|      6|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      6|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  299|      6|            break;
  300|     69|        default:
  ------------------
  |  Branch (300:9): [True: 69, False: 107]
  ------------------
  301|     69|            readcount = 0;
  302|     69|            break;
  303|    176|    }
  304|    176|    return readcount;
  305|    176|}
ReadInt32Data:
  259|    126|{
  260|    126|    size_t readcount;
  261|       |
  262|    126|    if ( mat == NULL || data == NULL || mat->fp == NULL )
  ------------------
  |  Branch (262:10): [True: 0, False: 126]
  |  Branch (262:25): [True: 0, False: 126]
  |  Branch (262:41): [True: 0, False: 126]
  ------------------
  263|      0|        return 0;
  264|       |
  265|    126|    switch ( data_type ) {
  266|      0|        case MAT_T_DOUBLE:
  ------------------
  |  Branch (266:9): [True: 0, False: 126]
  ------------------
  267|      0|            readcount = READ_TYPE_DOUBLE_DATA(mat, data, len);
  ------------------
  |  |   28|      0|#define READ_TYPE_DOUBLE_DATA CAT(READ_TYPED_FUNC1, Double)
  |  |  ------------------
  |  |  |  |   96|      0|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      0|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  268|      0|            break;
  269|      0|        case MAT_T_SINGLE:
  ------------------
  |  Branch (269:9): [True: 0, False: 126]
  ------------------
  270|      0|            readcount = READ_TYPE_SINGLE_DATA(mat, data, len);
  ------------------
  |  |   29|      0|#define READ_TYPE_SINGLE_DATA CAT(READ_TYPED_FUNC1, Single)
  |  |  ------------------
  |  |  |  |   96|      0|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      0|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  271|      0|            break;
  272|      0|#ifdef HAVE_MAT_INT64_T
  273|      5|        case MAT_T_INT64:
  ------------------
  |  Branch (273:9): [True: 5, False: 121]
  ------------------
  274|      5|            readcount = READ_TYPE_INT64_DATA(mat, data, len);
  ------------------
  |  |   37|      5|#define READ_TYPE_INT64_DATA CAT(READ_TYPED_FUNC1, Int64)
  |  |  ------------------
  |  |  |  |   96|      5|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      5|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  275|      5|            break;
  276|      0|#endif /* HAVE_MAT_UINT64_T */
  277|      0|#ifdef HAVE_MAT_UINT64_T
  278|      3|        case MAT_T_UINT64:
  ------------------
  |  Branch (278:9): [True: 3, False: 123]
  ------------------
  279|      3|            readcount = READ_TYPE_UINT64_DATA(mat, data, len);
  ------------------
  |  |   40|      3|#define READ_TYPE_UINT64_DATA CAT(READ_TYPED_FUNC1, UInt64)
  |  |  ------------------
  |  |  |  |   96|      3|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      3|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  280|      3|            break;
  281|      0|#endif /* HAVE_MAT_UINT64_T */
  282|      8|        case MAT_T_INT32:
  ------------------
  |  Branch (282:9): [True: 8, False: 118]
  ------------------
  283|      8|            readcount = READ_TYPE_INT32_DATA(mat, data, len);
  ------------------
  |  |   30|      8|#define READ_TYPE_INT32_DATA CAT(READ_TYPED_FUNC1, Int32)
  |  |  ------------------
  |  |  |  |   96|      8|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      8|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  284|      8|            break;
  285|     30|        case MAT_T_UINT32:
  ------------------
  |  Branch (285:9): [True: 30, False: 96]
  ------------------
  286|     30|            readcount = READ_TYPE_UINT32_DATA(mat, data, len);
  ------------------
  |  |   31|     30|#define READ_TYPE_UINT32_DATA CAT(READ_TYPED_FUNC1, UInt32)
  |  |  ------------------
  |  |  |  |   96|     30|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|     30|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  287|     30|            break;
  288|     16|        case MAT_T_INT16:
  ------------------
  |  Branch (288:9): [True: 16, False: 110]
  ------------------
  289|     16|            readcount = READ_TYPE_INT16_DATA(mat, data, len);
  ------------------
  |  |   32|     16|#define READ_TYPE_INT16_DATA CAT(READ_TYPED_FUNC1, Int16)
  |  |  ------------------
  |  |  |  |   96|     16|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|     16|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  290|     16|            break;
  291|     35|        case MAT_T_UINT16:
  ------------------
  |  Branch (291:9): [True: 35, False: 91]
  ------------------
  292|     35|            readcount = READ_TYPE_UINT16_DATA(mat, data, len);
  ------------------
  |  |   33|     35|#define READ_TYPE_UINT16_DATA CAT(READ_TYPED_FUNC1, UInt16)
  |  |  ------------------
  |  |  |  |   96|     35|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|     35|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  293|     35|            break;
  294|     20|        case MAT_T_INT8:
  ------------------
  |  Branch (294:9): [True: 20, False: 106]
  ------------------
  295|     20|            readcount = READ_TYPE_INT8_DATA(mat, data, len);
  ------------------
  |  |   34|     20|#define READ_TYPE_INT8_DATA CAT(READ_TYPED_FUNC1, Int8)
  |  |  ------------------
  |  |  |  |   96|     20|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|     20|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  296|     20|            break;
  297|      0|        case MAT_T_UINT8:
  ------------------
  |  Branch (297:9): [True: 0, False: 126]
  ------------------
  298|      0|            readcount = READ_TYPE_UINT8_DATA(mat, data, len);
  ------------------
  |  |   35|      0|#define READ_TYPE_UINT8_DATA CAT(READ_TYPED_FUNC1, UInt8)
  |  |  ------------------
  |  |  |  |   96|      0|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      0|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  299|      0|            break;
  300|      9|        default:
  ------------------
  |  Branch (300:9): [True: 9, False: 117]
  ------------------
  301|      9|            readcount = 0;
  302|      9|            break;
  303|    126|    }
  304|    126|    return readcount;
  305|    126|}
ReadUInt32Data:
  259|    302|{
  260|    302|    size_t readcount;
  261|       |
  262|    302|    if ( mat == NULL || data == NULL || mat->fp == NULL )
  ------------------
  |  Branch (262:10): [True: 0, False: 302]
  |  Branch (262:25): [True: 0, False: 302]
  |  Branch (262:41): [True: 0, False: 302]
  ------------------
  263|      0|        return 0;
  264|       |
  265|    302|    switch ( data_type ) {
  266|      6|        case MAT_T_DOUBLE:
  ------------------
  |  Branch (266:9): [True: 6, False: 296]
  ------------------
  267|      6|            readcount = READ_TYPE_DOUBLE_DATA(mat, data, len);
  ------------------
  |  |   28|      6|#define READ_TYPE_DOUBLE_DATA CAT(READ_TYPED_FUNC1, Double)
  |  |  ------------------
  |  |  |  |   96|      6|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      6|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  268|      6|            break;
  269|      4|        case MAT_T_SINGLE:
  ------------------
  |  Branch (269:9): [True: 4, False: 298]
  ------------------
  270|      4|            readcount = READ_TYPE_SINGLE_DATA(mat, data, len);
  ------------------
  |  |   29|      4|#define READ_TYPE_SINGLE_DATA CAT(READ_TYPED_FUNC1, Single)
  |  |  ------------------
  |  |  |  |   96|      4|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      4|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  271|      4|            break;
  272|      0|#ifdef HAVE_MAT_INT64_T
  273|     51|        case MAT_T_INT64:
  ------------------
  |  Branch (273:9): [True: 51, False: 251]
  ------------------
  274|     51|            readcount = READ_TYPE_INT64_DATA(mat, data, len);
  ------------------
  |  |   37|     51|#define READ_TYPE_INT64_DATA CAT(READ_TYPED_FUNC1, Int64)
  |  |  ------------------
  |  |  |  |   96|     51|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|     51|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  275|     51|            break;
  276|      0|#endif /* HAVE_MAT_UINT64_T */
  277|      0|#ifdef HAVE_MAT_UINT64_T
  278|     63|        case MAT_T_UINT64:
  ------------------
  |  Branch (278:9): [True: 63, False: 239]
  ------------------
  279|     63|            readcount = READ_TYPE_UINT64_DATA(mat, data, len);
  ------------------
  |  |   40|     63|#define READ_TYPE_UINT64_DATA CAT(READ_TYPED_FUNC1, UInt64)
  |  |  ------------------
  |  |  |  |   96|     63|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|     63|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  280|     63|            break;
  281|      0|#endif /* HAVE_MAT_UINT64_T */
  282|     42|        case MAT_T_INT32:
  ------------------
  |  Branch (282:9): [True: 42, False: 260]
  ------------------
  283|     42|            readcount = READ_TYPE_INT32_DATA(mat, data, len);
  ------------------
  |  |   30|     42|#define READ_TYPE_INT32_DATA CAT(READ_TYPED_FUNC1, Int32)
  |  |  ------------------
  |  |  |  |   96|     42|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|     42|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  284|     42|            break;
  285|     10|        case MAT_T_UINT32:
  ------------------
  |  Branch (285:9): [True: 10, False: 292]
  ------------------
  286|     10|            readcount = READ_TYPE_UINT32_DATA(mat, data, len);
  ------------------
  |  |   31|     10|#define READ_TYPE_UINT32_DATA CAT(READ_TYPED_FUNC1, UInt32)
  |  |  ------------------
  |  |  |  |   96|     10|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|     10|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  287|     10|            break;
  288|      8|        case MAT_T_INT16:
  ------------------
  |  Branch (288:9): [True: 8, False: 294]
  ------------------
  289|      8|            readcount = READ_TYPE_INT16_DATA(mat, data, len);
  ------------------
  |  |   32|      8|#define READ_TYPE_INT16_DATA CAT(READ_TYPED_FUNC1, Int16)
  |  |  ------------------
  |  |  |  |   96|      8|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      8|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  290|      8|            break;
  291|     12|        case MAT_T_UINT16:
  ------------------
  |  Branch (291:9): [True: 12, False: 290]
  ------------------
  292|     12|            readcount = READ_TYPE_UINT16_DATA(mat, data, len);
  ------------------
  |  |   33|     12|#define READ_TYPE_UINT16_DATA CAT(READ_TYPED_FUNC1, UInt16)
  |  |  ------------------
  |  |  |  |   96|     12|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|     12|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  293|     12|            break;
  294|      0|        case MAT_T_INT8:
  ------------------
  |  Branch (294:9): [True: 0, False: 302]
  ------------------
  295|      0|            readcount = READ_TYPE_INT8_DATA(mat, data, len);
  ------------------
  |  |   34|      0|#define READ_TYPE_INT8_DATA CAT(READ_TYPED_FUNC1, Int8)
  |  |  ------------------
  |  |  |  |   96|      0|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      0|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  296|      0|            break;
  297|     14|        case MAT_T_UINT8:
  ------------------
  |  Branch (297:9): [True: 14, False: 288]
  ------------------
  298|     14|            readcount = READ_TYPE_UINT8_DATA(mat, data, len);
  ------------------
  |  |   35|     14|#define READ_TYPE_UINT8_DATA CAT(READ_TYPED_FUNC1, UInt8)
  |  |  ------------------
  |  |  |  |   96|     14|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|     14|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  299|     14|            break;
  300|     92|        default:
  ------------------
  |  Branch (300:9): [True: 92, False: 210]
  ------------------
  301|     92|            readcount = 0;
  302|     92|            break;
  303|    302|    }
  304|    302|    return readcount;
  305|    302|}
ReadInt16Data:
  259|    127|{
  260|    127|    size_t readcount;
  261|       |
  262|    127|    if ( mat == NULL || data == NULL || mat->fp == NULL )
  ------------------
  |  Branch (262:10): [True: 0, False: 127]
  |  Branch (262:25): [True: 0, False: 127]
  |  Branch (262:41): [True: 0, False: 127]
  ------------------
  263|      0|        return 0;
  264|       |
  265|    127|    switch ( data_type ) {
  266|      2|        case MAT_T_DOUBLE:
  ------------------
  |  Branch (266:9): [True: 2, False: 125]
  ------------------
  267|      2|            readcount = READ_TYPE_DOUBLE_DATA(mat, data, len);
  ------------------
  |  |   28|      2|#define READ_TYPE_DOUBLE_DATA CAT(READ_TYPED_FUNC1, Double)
  |  |  ------------------
  |  |  |  |   96|      2|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      2|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  268|      2|            break;
  269|     16|        case MAT_T_SINGLE:
  ------------------
  |  Branch (269:9): [True: 16, False: 111]
  ------------------
  270|     16|            readcount = READ_TYPE_SINGLE_DATA(mat, data, len);
  ------------------
  |  |   29|     16|#define READ_TYPE_SINGLE_DATA CAT(READ_TYPED_FUNC1, Single)
  |  |  ------------------
  |  |  |  |   96|     16|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|     16|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  271|     16|            break;
  272|      0|#ifdef HAVE_MAT_INT64_T
  273|      2|        case MAT_T_INT64:
  ------------------
  |  Branch (273:9): [True: 2, False: 125]
  ------------------
  274|      2|            readcount = READ_TYPE_INT64_DATA(mat, data, len);
  ------------------
  |  |   37|      2|#define READ_TYPE_INT64_DATA CAT(READ_TYPED_FUNC1, Int64)
  |  |  ------------------
  |  |  |  |   96|      2|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      2|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  275|      2|            break;
  276|      0|#endif /* HAVE_MAT_UINT64_T */
  277|      0|#ifdef HAVE_MAT_UINT64_T
  278|     64|        case MAT_T_UINT64:
  ------------------
  |  Branch (278:9): [True: 64, False: 63]
  ------------------
  279|     64|            readcount = READ_TYPE_UINT64_DATA(mat, data, len);
  ------------------
  |  |   40|     64|#define READ_TYPE_UINT64_DATA CAT(READ_TYPED_FUNC1, UInt64)
  |  |  ------------------
  |  |  |  |   96|     64|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|     64|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  280|     64|            break;
  281|      0|#endif /* HAVE_MAT_UINT64_T */
  282|      4|        case MAT_T_INT32:
  ------------------
  |  Branch (282:9): [True: 4, False: 123]
  ------------------
  283|      4|            readcount = READ_TYPE_INT32_DATA(mat, data, len);
  ------------------
  |  |   30|      4|#define READ_TYPE_INT32_DATA CAT(READ_TYPED_FUNC1, Int32)
  |  |  ------------------
  |  |  |  |   96|      4|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      4|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  284|      4|            break;
  285|      5|        case MAT_T_UINT32:
  ------------------
  |  Branch (285:9): [True: 5, False: 122]
  ------------------
  286|      5|            readcount = READ_TYPE_UINT32_DATA(mat, data, len);
  ------------------
  |  |   31|      5|#define READ_TYPE_UINT32_DATA CAT(READ_TYPED_FUNC1, UInt32)
  |  |  ------------------
  |  |  |  |   96|      5|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      5|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  287|      5|            break;
  288|      2|        case MAT_T_INT16:
  ------------------
  |  Branch (288:9): [True: 2, False: 125]
  ------------------
  289|      2|            readcount = READ_TYPE_INT16_DATA(mat, data, len);
  ------------------
  |  |   32|      2|#define READ_TYPE_INT16_DATA CAT(READ_TYPED_FUNC1, Int16)
  |  |  ------------------
  |  |  |  |   96|      2|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      2|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  290|      2|            break;
  291|      0|        case MAT_T_UINT16:
  ------------------
  |  Branch (291:9): [True: 0, False: 127]
  ------------------
  292|      0|            readcount = READ_TYPE_UINT16_DATA(mat, data, len);
  ------------------
  |  |   33|      0|#define READ_TYPE_UINT16_DATA CAT(READ_TYPED_FUNC1, UInt16)
  |  |  ------------------
  |  |  |  |   96|      0|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      0|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  293|      0|            break;
  294|      0|        case MAT_T_INT8:
  ------------------
  |  Branch (294:9): [True: 0, False: 127]
  ------------------
  295|      0|            readcount = READ_TYPE_INT8_DATA(mat, data, len);
  ------------------
  |  |   34|      0|#define READ_TYPE_INT8_DATA CAT(READ_TYPED_FUNC1, Int8)
  |  |  ------------------
  |  |  |  |   96|      0|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      0|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  296|      0|            break;
  297|      0|        case MAT_T_UINT8:
  ------------------
  |  Branch (297:9): [True: 0, False: 127]
  ------------------
  298|      0|            readcount = READ_TYPE_UINT8_DATA(mat, data, len);
  ------------------
  |  |   35|      0|#define READ_TYPE_UINT8_DATA CAT(READ_TYPED_FUNC1, UInt8)
  |  |  ------------------
  |  |  |  |   96|      0|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      0|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  299|      0|            break;
  300|     32|        default:
  ------------------
  |  Branch (300:9): [True: 32, False: 95]
  ------------------
  301|     32|            readcount = 0;
  302|     32|            break;
  303|    127|    }
  304|    127|    return readcount;
  305|    127|}
ReadUInt16Data:
  259|    178|{
  260|    178|    size_t readcount;
  261|       |
  262|    178|    if ( mat == NULL || data == NULL || mat->fp == NULL )
  ------------------
  |  Branch (262:10): [True: 0, False: 178]
  |  Branch (262:25): [True: 0, False: 178]
  |  Branch (262:41): [True: 0, False: 178]
  ------------------
  263|      0|        return 0;
  264|       |
  265|    178|    switch ( data_type ) {
  266|     14|        case MAT_T_DOUBLE:
  ------------------
  |  Branch (266:9): [True: 14, False: 164]
  ------------------
  267|     14|            readcount = READ_TYPE_DOUBLE_DATA(mat, data, len);
  ------------------
  |  |   28|     14|#define READ_TYPE_DOUBLE_DATA CAT(READ_TYPED_FUNC1, Double)
  |  |  ------------------
  |  |  |  |   96|     14|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|     14|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  268|     14|            break;
  269|     25|        case MAT_T_SINGLE:
  ------------------
  |  Branch (269:9): [True: 25, False: 153]
  ------------------
  270|     25|            readcount = READ_TYPE_SINGLE_DATA(mat, data, len);
  ------------------
  |  |   29|     25|#define READ_TYPE_SINGLE_DATA CAT(READ_TYPED_FUNC1, Single)
  |  |  ------------------
  |  |  |  |   96|     25|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|     25|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  271|     25|            break;
  272|      0|#ifdef HAVE_MAT_INT64_T
  273|      0|        case MAT_T_INT64:
  ------------------
  |  Branch (273:9): [True: 0, False: 178]
  ------------------
  274|      0|            readcount = READ_TYPE_INT64_DATA(mat, data, len);
  ------------------
  |  |   37|      0|#define READ_TYPE_INT64_DATA CAT(READ_TYPED_FUNC1, Int64)
  |  |  ------------------
  |  |  |  |   96|      0|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      0|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  275|      0|            break;
  276|      0|#endif /* HAVE_MAT_UINT64_T */
  277|      0|#ifdef HAVE_MAT_UINT64_T
  278|      2|        case MAT_T_UINT64:
  ------------------
  |  Branch (278:9): [True: 2, False: 176]
  ------------------
  279|      2|            readcount = READ_TYPE_UINT64_DATA(mat, data, len);
  ------------------
  |  |   40|      2|#define READ_TYPE_UINT64_DATA CAT(READ_TYPED_FUNC1, UInt64)
  |  |  ------------------
  |  |  |  |   96|      2|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      2|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  280|      2|            break;
  281|      0|#endif /* HAVE_MAT_UINT64_T */
  282|      1|        case MAT_T_INT32:
  ------------------
  |  Branch (282:9): [True: 1, False: 177]
  ------------------
  283|      1|            readcount = READ_TYPE_INT32_DATA(mat, data, len);
  ------------------
  |  |   30|      1|#define READ_TYPE_INT32_DATA CAT(READ_TYPED_FUNC1, Int32)
  |  |  ------------------
  |  |  |  |   96|      1|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      1|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  284|      1|            break;
  285|      0|        case MAT_T_UINT32:
  ------------------
  |  Branch (285:9): [True: 0, False: 178]
  ------------------
  286|      0|            readcount = READ_TYPE_UINT32_DATA(mat, data, len);
  ------------------
  |  |   31|      0|#define READ_TYPE_UINT32_DATA CAT(READ_TYPED_FUNC1, UInt32)
  |  |  ------------------
  |  |  |  |   96|      0|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      0|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  287|      0|            break;
  288|     64|        case MAT_T_INT16:
  ------------------
  |  Branch (288:9): [True: 64, False: 114]
  ------------------
  289|     64|            readcount = READ_TYPE_INT16_DATA(mat, data, len);
  ------------------
  |  |   32|     64|#define READ_TYPE_INT16_DATA CAT(READ_TYPED_FUNC1, Int16)
  |  |  ------------------
  |  |  |  |   96|     64|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|     64|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  290|     64|            break;
  291|      6|        case MAT_T_UINT16:
  ------------------
  |  Branch (291:9): [True: 6, False: 172]
  ------------------
  292|      6|            readcount = READ_TYPE_UINT16_DATA(mat, data, len);
  ------------------
  |  |   33|      6|#define READ_TYPE_UINT16_DATA CAT(READ_TYPED_FUNC1, UInt16)
  |  |  ------------------
  |  |  |  |   96|      6|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      6|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  293|      6|            break;
  294|     26|        case MAT_T_INT8:
  ------------------
  |  Branch (294:9): [True: 26, False: 152]
  ------------------
  295|     26|            readcount = READ_TYPE_INT8_DATA(mat, data, len);
  ------------------
  |  |   34|     26|#define READ_TYPE_INT8_DATA CAT(READ_TYPED_FUNC1, Int8)
  |  |  ------------------
  |  |  |  |   96|     26|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|     26|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  296|     26|            break;
  297|      0|        case MAT_T_UINT8:
  ------------------
  |  Branch (297:9): [True: 0, False: 178]
  ------------------
  298|      0|            readcount = READ_TYPE_UINT8_DATA(mat, data, len);
  ------------------
  |  |   35|      0|#define READ_TYPE_UINT8_DATA CAT(READ_TYPED_FUNC1, UInt8)
  |  |  ------------------
  |  |  |  |   96|      0|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      0|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  299|      0|            break;
  300|     40|        default:
  ------------------
  |  Branch (300:9): [True: 40, False: 138]
  ------------------
  301|     40|            readcount = 0;
  302|     40|            break;
  303|    178|    }
  304|    178|    return readcount;
  305|    178|}
ReadInt8Data:
  259|     57|{
  260|     57|    size_t readcount;
  261|       |
  262|     57|    if ( mat == NULL || data == NULL || mat->fp == NULL )
  ------------------
  |  Branch (262:10): [True: 0, False: 57]
  |  Branch (262:25): [True: 0, False: 57]
  |  Branch (262:41): [True: 0, False: 57]
  ------------------
  263|      0|        return 0;
  264|       |
  265|     57|    switch ( data_type ) {
  266|      1|        case MAT_T_DOUBLE:
  ------------------
  |  Branch (266:9): [True: 1, False: 56]
  ------------------
  267|      1|            readcount = READ_TYPE_DOUBLE_DATA(mat, data, len);
  ------------------
  |  |   28|      1|#define READ_TYPE_DOUBLE_DATA CAT(READ_TYPED_FUNC1, Double)
  |  |  ------------------
  |  |  |  |   96|      1|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      1|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  268|      1|            break;
  269|      2|        case MAT_T_SINGLE:
  ------------------
  |  Branch (269:9): [True: 2, False: 55]
  ------------------
  270|      2|            readcount = READ_TYPE_SINGLE_DATA(mat, data, len);
  ------------------
  |  |   29|      2|#define READ_TYPE_SINGLE_DATA CAT(READ_TYPED_FUNC1, Single)
  |  |  ------------------
  |  |  |  |   96|      2|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      2|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  271|      2|            break;
  272|      0|#ifdef HAVE_MAT_INT64_T
  273|      0|        case MAT_T_INT64:
  ------------------
  |  Branch (273:9): [True: 0, False: 57]
  ------------------
  274|      0|            readcount = READ_TYPE_INT64_DATA(mat, data, len);
  ------------------
  |  |   37|      0|#define READ_TYPE_INT64_DATA CAT(READ_TYPED_FUNC1, Int64)
  |  |  ------------------
  |  |  |  |   96|      0|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      0|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  275|      0|            break;
  276|      0|#endif /* HAVE_MAT_UINT64_T */
  277|      0|#ifdef HAVE_MAT_UINT64_T
  278|     15|        case MAT_T_UINT64:
  ------------------
  |  Branch (278:9): [True: 15, False: 42]
  ------------------
  279|     15|            readcount = READ_TYPE_UINT64_DATA(mat, data, len);
  ------------------
  |  |   40|     15|#define READ_TYPE_UINT64_DATA CAT(READ_TYPED_FUNC1, UInt64)
  |  |  ------------------
  |  |  |  |   96|     15|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|     15|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  280|     15|            break;
  281|      0|#endif /* HAVE_MAT_UINT64_T */
  282|      2|        case MAT_T_INT32:
  ------------------
  |  Branch (282:9): [True: 2, False: 55]
  ------------------
  283|      2|            readcount = READ_TYPE_INT32_DATA(mat, data, len);
  ------------------
  |  |   30|      2|#define READ_TYPE_INT32_DATA CAT(READ_TYPED_FUNC1, Int32)
  |  |  ------------------
  |  |  |  |   96|      2|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      2|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  284|      2|            break;
  285|     16|        case MAT_T_UINT32:
  ------------------
  |  Branch (285:9): [True: 16, False: 41]
  ------------------
  286|     16|            readcount = READ_TYPE_UINT32_DATA(mat, data, len);
  ------------------
  |  |   31|     16|#define READ_TYPE_UINT32_DATA CAT(READ_TYPED_FUNC1, UInt32)
  |  |  ------------------
  |  |  |  |   96|     16|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|     16|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  287|     16|            break;
  288|     13|        case MAT_T_INT16:
  ------------------
  |  Branch (288:9): [True: 13, False: 44]
  ------------------
  289|     13|            readcount = READ_TYPE_INT16_DATA(mat, data, len);
  ------------------
  |  |   32|     13|#define READ_TYPE_INT16_DATA CAT(READ_TYPED_FUNC1, Int16)
  |  |  ------------------
  |  |  |  |   96|     13|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|     13|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  290|     13|            break;
  291|      0|        case MAT_T_UINT16:
  ------------------
  |  Branch (291:9): [True: 0, False: 57]
  ------------------
  292|      0|            readcount = READ_TYPE_UINT16_DATA(mat, data, len);
  ------------------
  |  |   33|      0|#define READ_TYPE_UINT16_DATA CAT(READ_TYPED_FUNC1, UInt16)
  |  |  ------------------
  |  |  |  |   96|      0|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      0|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  293|      0|            break;
  294|      0|        case MAT_T_INT8:
  ------------------
  |  Branch (294:9): [True: 0, False: 57]
  ------------------
  295|      0|            readcount = READ_TYPE_INT8_DATA(mat, data, len);
  ------------------
  |  |   34|      0|#define READ_TYPE_INT8_DATA CAT(READ_TYPED_FUNC1, Int8)
  |  |  ------------------
  |  |  |  |   96|      0|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      0|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  296|      0|            break;
  297|      0|        case MAT_T_UINT8:
  ------------------
  |  Branch (297:9): [True: 0, False: 57]
  ------------------
  298|      0|            readcount = READ_TYPE_UINT8_DATA(mat, data, len);
  ------------------
  |  |   35|      0|#define READ_TYPE_UINT8_DATA CAT(READ_TYPED_FUNC1, UInt8)
  |  |  ------------------
  |  |  |  |   96|      0|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      0|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  299|      0|            break;
  300|      8|        default:
  ------------------
  |  Branch (300:9): [True: 8, False: 49]
  ------------------
  301|      8|            readcount = 0;
  302|      8|            break;
  303|     57|    }
  304|     57|    return readcount;
  305|     57|}
ReadUInt8Data:
  259|     78|{
  260|     78|    size_t readcount;
  261|       |
  262|     78|    if ( mat == NULL || data == NULL || mat->fp == NULL )
  ------------------
  |  Branch (262:10): [True: 0, False: 78]
  |  Branch (262:25): [True: 0, False: 78]
  |  Branch (262:41): [True: 0, False: 78]
  ------------------
  263|      0|        return 0;
  264|       |
  265|     78|    switch ( data_type ) {
  266|      9|        case MAT_T_DOUBLE:
  ------------------
  |  Branch (266:9): [True: 9, False: 69]
  ------------------
  267|      9|            readcount = READ_TYPE_DOUBLE_DATA(mat, data, len);
  ------------------
  |  |   28|      9|#define READ_TYPE_DOUBLE_DATA CAT(READ_TYPED_FUNC1, Double)
  |  |  ------------------
  |  |  |  |   96|      9|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      9|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  268|      9|            break;
  269|     12|        case MAT_T_SINGLE:
  ------------------
  |  Branch (269:9): [True: 12, False: 66]
  ------------------
  270|     12|            readcount = READ_TYPE_SINGLE_DATA(mat, data, len);
  ------------------
  |  |   29|     12|#define READ_TYPE_SINGLE_DATA CAT(READ_TYPED_FUNC1, Single)
  |  |  ------------------
  |  |  |  |   96|     12|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|     12|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  271|     12|            break;
  272|      0|#ifdef HAVE_MAT_INT64_T
  273|      0|        case MAT_T_INT64:
  ------------------
  |  Branch (273:9): [True: 0, False: 78]
  ------------------
  274|      0|            readcount = READ_TYPE_INT64_DATA(mat, data, len);
  ------------------
  |  |   37|      0|#define READ_TYPE_INT64_DATA CAT(READ_TYPED_FUNC1, Int64)
  |  |  ------------------
  |  |  |  |   96|      0|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      0|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  275|      0|            break;
  276|      0|#endif /* HAVE_MAT_UINT64_T */
  277|      0|#ifdef HAVE_MAT_UINT64_T
  278|     16|        case MAT_T_UINT64:
  ------------------
  |  Branch (278:9): [True: 16, False: 62]
  ------------------
  279|     16|            readcount = READ_TYPE_UINT64_DATA(mat, data, len);
  ------------------
  |  |   40|     16|#define READ_TYPE_UINT64_DATA CAT(READ_TYPED_FUNC1, UInt64)
  |  |  ------------------
  |  |  |  |   96|     16|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|     16|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  280|     16|            break;
  281|      0|#endif /* HAVE_MAT_UINT64_T */
  282|      9|        case MAT_T_INT32:
  ------------------
  |  Branch (282:9): [True: 9, False: 69]
  ------------------
  283|      9|            readcount = READ_TYPE_INT32_DATA(mat, data, len);
  ------------------
  |  |   30|      9|#define READ_TYPE_INT32_DATA CAT(READ_TYPED_FUNC1, Int32)
  |  |  ------------------
  |  |  |  |   96|      9|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      9|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  284|      9|            break;
  285|      0|        case MAT_T_UINT32:
  ------------------
  |  Branch (285:9): [True: 0, False: 78]
  ------------------
  286|      0|            readcount = READ_TYPE_UINT32_DATA(mat, data, len);
  ------------------
  |  |   31|      0|#define READ_TYPE_UINT32_DATA CAT(READ_TYPED_FUNC1, UInt32)
  |  |  ------------------
  |  |  |  |   96|      0|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      0|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  287|      0|            break;
  288|      7|        case MAT_T_INT16:
  ------------------
  |  Branch (288:9): [True: 7, False: 71]
  ------------------
  289|      7|            readcount = READ_TYPE_INT16_DATA(mat, data, len);
  ------------------
  |  |   32|      7|#define READ_TYPE_INT16_DATA CAT(READ_TYPED_FUNC1, Int16)
  |  |  ------------------
  |  |  |  |   96|      7|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      7|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  290|      7|            break;
  291|     13|        case MAT_T_UINT16:
  ------------------
  |  Branch (291:9): [True: 13, False: 65]
  ------------------
  292|     13|            readcount = READ_TYPE_UINT16_DATA(mat, data, len);
  ------------------
  |  |   33|     13|#define READ_TYPE_UINT16_DATA CAT(READ_TYPED_FUNC1, UInt16)
  |  |  ------------------
  |  |  |  |   96|     13|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|     13|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  293|     13|            break;
  294|      0|        case MAT_T_INT8:
  ------------------
  |  Branch (294:9): [True: 0, False: 78]
  ------------------
  295|      0|            readcount = READ_TYPE_INT8_DATA(mat, data, len);
  ------------------
  |  |   34|      0|#define READ_TYPE_INT8_DATA CAT(READ_TYPED_FUNC1, Int8)
  |  |  ------------------
  |  |  |  |   96|      0|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      0|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  296|      0|            break;
  297|      0|        case MAT_T_UINT8:
  ------------------
  |  Branch (297:9): [True: 0, False: 78]
  ------------------
  298|      0|            readcount = READ_TYPE_UINT8_DATA(mat, data, len);
  ------------------
  |  |   35|      0|#define READ_TYPE_UINT8_DATA CAT(READ_TYPED_FUNC1, UInt8)
  |  |  ------------------
  |  |  |  |   96|      0|#define CAT(X, Y) CAT_(X, Y)
  |  |  |  |  ------------------
  |  |  |  |  |  |   95|      0|#define CAT_(X, Y) X##Y
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  299|      0|            break;
  300|     12|        default:
  ------------------
  |  Branch (300:9): [True: 12, False: 66]
  ------------------
  301|     12|            readcount = 0;
  302|     12|            break;
  303|     78|    }
  304|     78|    return readcount;
  305|     78|}
read_data.c:ReadDoubleDataDouble:
   45|     24|{
   46|     24|    size_t readcount;
   47|     24|#if READ_TYPE_TYPE == READ_TYPE_DOUBLE
   48|     24|    readcount = fread(data, sizeof(double), len, (FILE *)mat->fp);
   49|     24|    if ( readcount == len && mat->byteswap ) {
  ------------------
  |  Branch (49:10): [True: 24, False: 0]
  |  Branch (49:30): [True: 0, False: 24]
  ------------------
   50|      0|        size_t i;
   51|      0|        for ( i = 0; i < len; i++ ) {
  ------------------
  |  Branch (51:22): [True: 0, False: 0]
  ------------------
   52|      0|            (void)Mat_doubleSwap(data + i);
   53|      0|        }
   54|      0|    }
   55|       |#else
   56|       |    size_t i;
   57|       |    const size_t data_size = sizeof(double);
   58|       |    double v[READ_BLOCK_SIZE / sizeof(double)];
   59|       |    READ_DATA(READ_TYPE, Mat_doubleSwap);
   60|       |#endif
   61|     24|    return readcount;
   62|     24|}
read_data.c:ReadDoubleDataSingle:
   66|     27|{
   67|     27|    size_t readcount;
   68|       |#if READ_TYPE_TYPE == READ_TYPE_SINGLE
   69|       |    readcount = fread(data, sizeof(float), len, (FILE *)mat->fp);
   70|       |    if ( readcount == len && mat->byteswap ) {
   71|       |        size_t i;
   72|       |        for ( i = 0; i < len; i++ ) {
   73|       |            (void)Mat_floatSwap(data + i);
   74|       |        }
   75|       |    }
   76|       |#else
   77|     27|    size_t i;
   78|     27|    const size_t data_size = sizeof(float);
   79|     27|    float v[READ_BLOCK_SIZE / sizeof(float)];
   80|     27|    READ_DATA(READ_TYPE, Mat_floatSwap);
  ------------------
  |  |   83|     27|    do {                                                                  \
  |  |   84|     27|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 27]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|     27|        } else {                                                          \
  |  |  120|     27|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|     27|    do {                                                              \
  |  |  |  |   46|     27|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|     27|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|     27|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 9, False: 18]
  |  |  |  |  ------------------
  |  |  |  |   48|      9|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      9|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 9, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|    786|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 777, False: 9]
  |  |  |  |  ------------------
  |  |  |  |   51|    777|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|    777|                }                                                     \
  |  |  |  |   53|      9|            }                                                         \
  |  |  |  |   54|     18|        } else {                                                      \
  |  |  |  |   55|     18|            size_t j;                                                 \
  |  |  |  |   56|     18|            int err_ = 0;                                             \
  |  |  |  |   57|     18|            readcount = 0;                                            \
  |  |  |  |   58|     96|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 82, False: 14]
  |  |  |  |  ------------------
  |  |  |  |   59|     82|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|     82|                readcount += j;                                       \
  |  |  |  |   61|     82|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 78, False: 4]
  |  |  |  |  ------------------
  |  |  |  |   62|   159k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 159k, False: 78]
  |  |  |  |  ------------------
  |  |  |  |   63|   159k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|   159k|                    }                                                 \
  |  |  |  |   65|     78|                } else {                                              \
  |  |  |  |   66|      4|                    err_ = 1;                                         \
  |  |  |  |   67|      4|                    break;                                            \
  |  |  |  |   68|      4|                }                                                     \
  |  |  |  |   69|     82|            }                                                         \
  |  |  |  |   70|     18|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 14, False: 4]
  |  |  |  |  |  Branch (70:31): [True: 14, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|     14|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|     14|                readcount += j;                                       \
  |  |  |  |   73|     14|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 14, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|  14.8k|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 14.8k, False: 14]
  |  |  |  |  ------------------
  |  |  |  |   75|  14.8k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|  14.8k|                    }                                                 \
  |  |  |  |   77|     14|                }                                                     \
  |  |  |  |   78|     14|            }                                                         \
  |  |  |  |   79|     18|        }                                                             \
  |  |  |  |   80|     27|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|     27|        }                                                                 \
  |  |  122|     27|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
   81|     27|#endif
   82|     27|    return readcount;
   83|     27|}
read_data.c:ReadDoubleDataInt64:
  202|      2|{
  203|      2|    size_t readcount;
  204|       |#if READ_TYPE_TYPE == READ_TYPE_INT64
  205|       |    readcount = fread(data, sizeof(mat_int64_t), len, (FILE *)mat->fp);
  206|       |    if ( readcount == len && mat->byteswap ) {
  207|       |        size_t i;
  208|       |        for ( i = 0; i < len; i++ ) {
  209|       |            (void)Mat_int64Swap(data + i);
  210|       |        }
  211|       |    }
  212|       |#else
  213|      2|    size_t i;
  214|      2|    const size_t data_size = sizeof(mat_int64_t);
  215|      2|    mat_int64_t v[READ_BLOCK_SIZE / sizeof(mat_int64_t)];
  216|      2|    READ_DATA(READ_TYPE, Mat_int64Swap);
  ------------------
  |  |   83|      2|    do {                                                                  \
  |  |   84|      2|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 2]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|      2|        } else {                                                          \
  |  |  120|      2|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|      2|    do {                                                              \
  |  |  |  |   46|      2|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|      2|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|      2|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|      2|        } else {                                                      \
  |  |  |  |   55|      2|            size_t j;                                                 \
  |  |  |  |   56|      2|            int err_ = 0;                                             \
  |  |  |  |   57|      2|            readcount = 0;                                            \
  |  |  |  |   58|     24|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 22, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   59|     22|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|     22|                readcount += j;                                       \
  |  |  |  |   61|     22|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 22, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   62|  22.5k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 22.5k, False: 22]
  |  |  |  |  ------------------
  |  |  |  |   63|  22.5k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|  22.5k|                    }                                                 \
  |  |  |  |   65|     22|                } else {                                              \
  |  |  |  |   66|      0|                    err_ = 1;                                         \
  |  |  |  |   67|      0|                    break;                                            \
  |  |  |  |   68|      0|                }                                                     \
  |  |  |  |   69|     22|            }                                                         \
  |  |  |  |   70|      2|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 2, False: 0]
  |  |  |  |  |  Branch (70:31): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      2|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      2|                readcount += j;                                       \
  |  |  |  |   73|      2|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|    494|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 492, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   75|    492|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|    492|                    }                                                 \
  |  |  |  |   77|      2|                }                                                     \
  |  |  |  |   78|      2|            }                                                         \
  |  |  |  |   79|      2|        }                                                             \
  |  |  |  |   80|      2|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|      2|        }                                                                 \
  |  |  122|      2|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  217|      2|#endif
  218|      2|    return readcount;
  219|      2|}
read_data.c:ReadDoubleDataUInt64:
  225|     12|{
  226|     12|    size_t readcount;
  227|       |#if READ_TYPE_TYPE == READ_TYPE_UINT64
  228|       |    readcount = fread(data, sizeof(mat_uint64_t), len, (FILE *)mat->fp);
  229|       |    if ( readcount == len && mat->byteswap ) {
  230|       |        size_t i;
  231|       |        for ( i = 0; i < len; i++ ) {
  232|       |            (void)Mat_uint64Swap(data + i);
  233|       |        }
  234|       |    }
  235|       |#else
  236|     12|    size_t i;
  237|     12|    const size_t data_size = sizeof(mat_uint64_t);
  238|     12|    mat_uint64_t v[READ_BLOCK_SIZE / sizeof(mat_uint64_t)];
  239|     12|    READ_DATA(READ_TYPE, Mat_uint64Swap);
  ------------------
  |  |   83|     12|    do {                                                                  \
  |  |   84|     12|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 12]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|     12|        } else {                                                          \
  |  |  120|     12|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|     12|    do {                                                              \
  |  |  |  |   46|     12|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|     12|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|     12|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 12, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   48|     12|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|     12|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 12, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|  3.12k|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 3.10k, False: 12]
  |  |  |  |  ------------------
  |  |  |  |   51|  3.10k|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|  3.10k|                }                                                     \
  |  |  |  |   53|     12|            }                                                         \
  |  |  |  |   54|     12|        } else {                                                      \
  |  |  |  |   55|      0|            size_t j;                                                 \
  |  |  |  |   56|      0|            int err_ = 0;                                             \
  |  |  |  |   57|      0|            readcount = 0;                                            \
  |  |  |  |   58|      0|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|      0|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|      0|                readcount += j;                                       \
  |  |  |  |   61|      0|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   62|      0|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   63|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|      0|                    }                                                 \
  |  |  |  |   65|      0|                } else {                                              \
  |  |  |  |   66|      0|                    err_ = 1;                                         \
  |  |  |  |   67|      0|                    break;                                            \
  |  |  |  |   68|      0|                }                                                     \
  |  |  |  |   69|      0|            }                                                         \
  |  |  |  |   70|      0|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 0]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|      0|        }                                                             \
  |  |  |  |   80|     12|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|     12|        }                                                                 \
  |  |  122|     12|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  240|     12|#endif
  241|     12|    return readcount;
  242|     12|}
read_data.c:ReadDoubleDataInt32:
   87|     14|{
   88|     14|    size_t readcount;
   89|       |#if READ_TYPE_TYPE == READ_TYPE_INT32
   90|       |    readcount = fread(data, sizeof(mat_int32_t), len, (FILE *)mat->fp);
   91|       |    if ( readcount == len && mat->byteswap ) {
   92|       |        size_t i;
   93|       |        for ( i = 0; i < len; i++ ) {
   94|       |            (void)Mat_int32Swap(data + i);
   95|       |        }
   96|       |    }
   97|       |#else
   98|     14|    size_t i;
   99|     14|    const size_t data_size = sizeof(mat_int32_t);
  100|     14|    mat_int32_t v[READ_BLOCK_SIZE / sizeof(mat_int32_t)];
  101|     14|    READ_DATA(READ_TYPE, Mat_int32Swap);
  ------------------
  |  |   83|     14|    do {                                                                  \
  |  |   84|     14|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 14]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|     14|        } else {                                                          \
  |  |  120|     14|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|     14|    do {                                                              \
  |  |  |  |   46|     14|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|     14|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|     14|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 14, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   48|     14|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|     14|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 14, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|     14|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 14]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|     14|            }                                                         \
  |  |  |  |   54|     14|        } else {                                                      \
  |  |  |  |   55|      0|            size_t j;                                                 \
  |  |  |  |   56|      0|            int err_ = 0;                                             \
  |  |  |  |   57|      0|            readcount = 0;                                            \
  |  |  |  |   58|      0|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|      0|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|      0|                readcount += j;                                       \
  |  |  |  |   61|      0|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   62|      0|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   63|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|      0|                    }                                                 \
  |  |  |  |   65|      0|                } else {                                              \
  |  |  |  |   66|      0|                    err_ = 1;                                         \
  |  |  |  |   67|      0|                    break;                                            \
  |  |  |  |   68|      0|                }                                                     \
  |  |  |  |   69|      0|            }                                                         \
  |  |  |  |   70|      0|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 0]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|      0|        }                                                             \
  |  |  |  |   80|     14|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|     14|        }                                                                 \
  |  |  122|     14|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  102|     14|#endif
  103|     14|    return readcount;
  104|     14|}
read_data.c:ReadDoubleDataUInt32:
  108|      2|{
  109|      2|    size_t readcount;
  110|       |#if READ_TYPE_TYPE == READ_TYPE_UINT32
  111|       |    readcount = fread(data, sizeof(mat_uint32_t), len, (FILE *)mat->fp);
  112|       |    if ( readcount == len && mat->byteswap ) {
  113|       |        size_t i;
  114|       |        for ( i = 0; i < len; i++ ) {
  115|       |            (void)Mat_uint32Swap(data + i);
  116|       |        }
  117|       |    }
  118|       |#else
  119|      2|    size_t i;
  120|      2|    const size_t data_size = sizeof(mat_uint32_t);
  121|      2|    mat_uint32_t v[READ_BLOCK_SIZE / sizeof(mat_uint32_t)];
  122|      2|    READ_DATA(READ_TYPE, Mat_uint32Swap);
  ------------------
  |  |   83|      2|    do {                                                                  \
  |  |   84|      2|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 2]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|      2|        } else {                                                          \
  |  |  120|      2|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|      2|    do {                                                              \
  |  |  |  |   46|      2|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|      2|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|      2|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   48|      2|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      2|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      2|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      2|            }                                                         \
  |  |  |  |   54|      2|        } else {                                                      \
  |  |  |  |   55|      0|            size_t j;                                                 \
  |  |  |  |   56|      0|            int err_ = 0;                                             \
  |  |  |  |   57|      0|            readcount = 0;                                            \
  |  |  |  |   58|      0|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|      0|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|      0|                readcount += j;                                       \
  |  |  |  |   61|      0|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   62|      0|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   63|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|      0|                    }                                                 \
  |  |  |  |   65|      0|                } else {                                              \
  |  |  |  |   66|      0|                    err_ = 1;                                         \
  |  |  |  |   67|      0|                    break;                                            \
  |  |  |  |   68|      0|                }                                                     \
  |  |  |  |   69|      0|            }                                                         \
  |  |  |  |   70|      0|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 0]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|      0|        }                                                             \
  |  |  |  |   80|      2|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|      2|        }                                                                 \
  |  |  122|      2|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  123|      2|#endif
  124|      2|    return readcount;
  125|      2|}
read_data.c:ReadDoubleDataInt16:
  129|     10|{
  130|     10|    size_t readcount;
  131|       |#if READ_TYPE_TYPE == READ_TYPE_INT16
  132|       |    readcount = fread(data, sizeof(mat_int16_t), len, (FILE *)mat->fp);
  133|       |    if ( readcount == len && mat->byteswap ) {
  134|       |        size_t i;
  135|       |        for ( i = 0; i < len; i++ ) {
  136|       |            (void)Mat_int16Swap(data + i);
  137|       |        }
  138|       |    }
  139|       |#else
  140|     10|    size_t i;
  141|     10|    const size_t data_size = sizeof(mat_int16_t);
  142|     10|    mat_int16_t v[READ_BLOCK_SIZE / sizeof(mat_int16_t)];
  143|     10|    READ_DATA(READ_TYPE, Mat_int16Swap);
  ------------------
  |  |   83|     10|    do {                                                                  \
  |  |   84|     10|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 10]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|     10|        } else {                                                          \
  |  |  120|     10|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|     10|    do {                                                              \
  |  |  |  |   46|     10|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|     10|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|     10|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 10, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   48|     10|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|     10|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 10, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|     10|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 10]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|     10|            }                                                         \
  |  |  |  |   54|     10|        } else {                                                      \
  |  |  |  |   55|      0|            size_t j;                                                 \
  |  |  |  |   56|      0|            int err_ = 0;                                             \
  |  |  |  |   57|      0|            readcount = 0;                                            \
  |  |  |  |   58|      0|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|      0|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|      0|                readcount += j;                                       \
  |  |  |  |   61|      0|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   62|      0|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   63|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|      0|                    }                                                 \
  |  |  |  |   65|      0|                } else {                                              \
  |  |  |  |   66|      0|                    err_ = 1;                                         \
  |  |  |  |   67|      0|                    break;                                            \
  |  |  |  |   68|      0|                }                                                     \
  |  |  |  |   69|      0|            }                                                         \
  |  |  |  |   70|      0|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 0]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|      0|        }                                                             \
  |  |  |  |   80|     10|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|     10|        }                                                                 \
  |  |  122|     10|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  144|     10|#endif
  145|     10|    return readcount;
  146|     10|}
read_data.c:ReadDoubleDataUInt16:
  150|     21|{
  151|     21|    size_t readcount;
  152|       |#if READ_TYPE_TYPE == READ_TYPE_UINT16
  153|       |    readcount = fread(data, sizeof(mat_uint16_t), len, (FILE *)mat->fp);
  154|       |    if ( readcount == len && mat->byteswap ) {
  155|       |        size_t i;
  156|       |        for ( i = 0; i < len; i++ ) {
  157|       |            (void)Mat_uint16Swap(data + i);
  158|       |        }
  159|       |    }
  160|       |#else
  161|     21|    size_t i;
  162|     21|    const size_t data_size = sizeof(mat_uint16_t);
  163|     21|    mat_uint16_t v[READ_BLOCK_SIZE / sizeof(mat_uint16_t)];
  164|     21|    READ_DATA(READ_TYPE, Mat_uint16Swap);
  ------------------
  |  |   83|     21|    do {                                                                  \
  |  |   84|     21|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 21]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|     21|        } else {                                                          \
  |  |  120|     21|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|     21|    do {                                                              \
  |  |  |  |   46|     21|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|     21|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|     21|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 19, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   48|     19|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|     19|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 19, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|  2.35k|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 2.33k, False: 19]
  |  |  |  |  ------------------
  |  |  |  |   51|  2.33k|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|  2.33k|                }                                                     \
  |  |  |  |   53|     19|            }                                                         \
  |  |  |  |   54|     19|        } else {                                                      \
  |  |  |  |   55|      2|            size_t j;                                                 \
  |  |  |  |   56|      2|            int err_ = 0;                                             \
  |  |  |  |   57|      2|            readcount = 0;                                            \
  |  |  |  |   58|     64|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 64, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|     64|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|     64|                readcount += j;                                       \
  |  |  |  |   61|     64|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 62, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   62|   254k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 253k, False: 62]
  |  |  |  |  ------------------
  |  |  |  |   63|   253k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|   253k|                    }                                                 \
  |  |  |  |   65|     62|                } else {                                              \
  |  |  |  |   66|      2|                    err_ = 1;                                         \
  |  |  |  |   67|      2|                    break;                                            \
  |  |  |  |   68|      2|                }                                                     \
  |  |  |  |   69|     64|            }                                                         \
  |  |  |  |   70|      2|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 2]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|      2|        }                                                             \
  |  |  |  |   80|     21|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|     21|        }                                                                 \
  |  |  122|     21|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  165|     21|#endif
  166|     21|    return readcount;
  167|     21|}
read_data.c:ReadDoubleDataInt8:
  171|      2|{
  172|      2|    size_t readcount;
  173|       |#if READ_TYPE_TYPE == READ_TYPE_INT8
  174|       |    readcount = fread(data, sizeof(mat_int8_t), len, (FILE *)mat->fp);
  175|       |#else
  176|      2|    size_t i;
  177|      2|    const size_t data_size = sizeof(mat_int8_t);
  178|      2|    mat_int8_t v[READ_BLOCK_SIZE / sizeof(mat_int8_t)];
  179|      2|    READ_DATA_NOSWAP(READ_TYPE);
  ------------------
  |  |   45|      2|    do {                                                              \
  |  |   46|      2|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      2|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   47|      2|        if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (47:14): [True: 0, False: 2]
  |  |  ------------------
  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |   52|      0|                }                                                     \
  |  |   53|      0|            }                                                         \
  |  |   54|      2|        } else {                                                      \
  |  |   55|      2|            size_t j;                                                 \
  |  |   56|      2|            int err_ = 0;                                             \
  |  |   57|      2|            readcount = 0;                                            \
  |  |   58|      4|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (58:26): [True: 2, False: 2]
  |  |  ------------------
  |  |   59|      2|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   60|      2|                readcount += j;                                       \
  |  |   61|      2|                if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (61:22): [True: 2, False: 0]
  |  |  ------------------
  |  |   62|  16.3k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (62:34): [True: 16.3k, False: 2]
  |  |  ------------------
  |  |   63|  16.3k|                        data[i + j] = (T)v[j];                        \
  |  |   64|  16.3k|                    }                                                 \
  |  |   65|      2|                } else {                                              \
  |  |   66|      0|                    err_ = 1;                                         \
  |  |   67|      0|                    break;                                            \
  |  |   68|      0|                }                                                     \
  |  |   69|      2|            }                                                         \
  |  |   70|      2|            if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (70:18): [True: 2, False: 0]
  |  |  |  Branch (70:31): [True: 2, False: 0]
  |  |  ------------------
  |  |   71|      2|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |   72|      2|                readcount += j;                                       \
  |  |   73|      2|                if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (73:22): [True: 2, False: 0]
  |  |  ------------------
  |  |   74|  6.63k|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (74:34): [True: 6.63k, False: 2]
  |  |  ------------------
  |  |   75|  6.63k|                        data[i + j] = (T)v[j];                        \
  |  |   76|  6.63k|                    }                                                 \
  |  |   77|      2|                }                                                     \
  |  |   78|      2|            }                                                         \
  |  |   79|      2|        }                                                             \
  |  |   80|      2|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  180|      2|#endif
  181|      2|    return readcount;
  182|      2|}
read_data.c:ReadDoubleDataUInt8:
  186|      9|{
  187|      9|    size_t readcount;
  188|       |#if READ_TYPE_TYPE == READ_TYPE_UINT8
  189|       |    readcount = fread(data, sizeof(mat_uint8_t), len, (FILE *)mat->fp);
  190|       |#else
  191|      9|    size_t i;
  192|      9|    const size_t data_size = sizeof(mat_uint8_t);
  193|      9|    mat_uint8_t v[READ_BLOCK_SIZE / sizeof(mat_uint8_t)];
  194|      9|    READ_DATA_NOSWAP(READ_TYPE);
  ------------------
  |  |   45|      9|    do {                                                              \
  |  |   46|      9|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      9|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   47|      9|        if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (47:14): [True: 9, False: 0]
  |  |  ------------------
  |  |   48|      9|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   49|      9|            if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (49:18): [True: 9, False: 0]
  |  |  ------------------
  |  |   50|  2.34k|                for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (50:30): [True: 2.33k, False: 9]
  |  |  ------------------
  |  |   51|  2.33k|                    data[i] = (T)v[i];                                \
  |  |   52|  2.33k|                }                                                     \
  |  |   53|      9|            }                                                         \
  |  |   54|      9|        } else {                                                      \
  |  |   55|      0|            size_t j;                                                 \
  |  |   56|      0|            int err_ = 0;                                             \
  |  |   57|      0|            readcount = 0;                                            \
  |  |   58|      0|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (58:26): [True: 0, False: 0]
  |  |  ------------------
  |  |   59|      0|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   60|      0|                readcount += j;                                       \
  |  |   61|      0|                if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (61:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   62|      0|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (62:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   63|      0|                        data[i + j] = (T)v[j];                        \
  |  |   64|      0|                    }                                                 \
  |  |   65|      0|                } else {                                              \
  |  |   66|      0|                    err_ = 1;                                         \
  |  |   67|      0|                    break;                                            \
  |  |   68|      0|                }                                                     \
  |  |   69|      0|            }                                                         \
  |  |   70|      0|            if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (70:18): [True: 0, False: 0]
  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  ------------------
  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |   72|      0|                readcount += j;                                       \
  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |   76|      0|                    }                                                 \
  |  |   77|      0|                }                                                     \
  |  |   78|      0|            }                                                         \
  |  |   79|      0|        }                                                             \
  |  |   80|      9|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  195|      9|#endif
  196|      9|    return readcount;
  197|      9|}
read_data.c:ReadSingleDataDouble:
   45|     10|{
   46|     10|    size_t readcount;
   47|       |#if READ_TYPE_TYPE == READ_TYPE_DOUBLE
   48|       |    readcount = fread(data, sizeof(double), len, (FILE *)mat->fp);
   49|       |    if ( readcount == len && mat->byteswap ) {
   50|       |        size_t i;
   51|       |        for ( i = 0; i < len; i++ ) {
   52|       |            (void)Mat_doubleSwap(data + i);
   53|       |        }
   54|       |    }
   55|       |#else
   56|     10|    size_t i;
   57|     10|    const size_t data_size = sizeof(double);
   58|     10|    double v[READ_BLOCK_SIZE / sizeof(double)];
   59|     10|    READ_DATA(READ_TYPE, Mat_doubleSwap);
  ------------------
  |  |   83|     10|    do {                                                                  \
  |  |   84|     10|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 10]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|     10|        } else {                                                          \
  |  |  120|     10|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|     10|    do {                                                              \
  |  |  |  |   46|     10|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|     10|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|     10|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 10]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|     10|        } else {                                                      \
  |  |  |  |   55|     10|            size_t j;                                                 \
  |  |  |  |   56|     10|            int err_ = 0;                                             \
  |  |  |  |   57|     10|            readcount = 0;                                            \
  |  |  |  |   58|    354|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 350, False: 4]
  |  |  |  |  ------------------
  |  |  |  |   59|    350|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|    350|                readcount += j;                                       \
  |  |  |  |   61|    350|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 344, False: 6]
  |  |  |  |  ------------------
  |  |  |  |   62|   352k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 352k, False: 344]
  |  |  |  |  ------------------
  |  |  |  |   63|   352k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|   352k|                    }                                                 \
  |  |  |  |   65|    344|                } else {                                              \
  |  |  |  |   66|      6|                    err_ = 1;                                         \
  |  |  |  |   67|      6|                    break;                                            \
  |  |  |  |   68|      6|                }                                                     \
  |  |  |  |   69|    350|            }                                                         \
  |  |  |  |   70|     10|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 4, False: 6]
  |  |  |  |  |  Branch (70:31): [True: 4, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      4|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      4|                readcount += j;                                       \
  |  |  |  |   73|      4|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 4, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|    988|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 984, False: 4]
  |  |  |  |  ------------------
  |  |  |  |   75|    984|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|    984|                    }                                                 \
  |  |  |  |   77|      4|                }                                                     \
  |  |  |  |   78|      4|            }                                                         \
  |  |  |  |   79|     10|        }                                                             \
  |  |  |  |   80|     10|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|     10|        }                                                                 \
  |  |  122|     10|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
   60|     10|#endif
   61|     10|    return readcount;
   62|     10|}
read_data.c:ReadSingleDataSingle:
   66|      4|{
   67|      4|    size_t readcount;
   68|      4|#if READ_TYPE_TYPE == READ_TYPE_SINGLE
   69|      4|    readcount = fread(data, sizeof(float), len, (FILE *)mat->fp);
   70|      4|    if ( readcount == len && mat->byteswap ) {
  ------------------
  |  Branch (70:10): [True: 2, False: 2]
  |  Branch (70:30): [True: 0, False: 2]
  ------------------
   71|      0|        size_t i;
   72|      0|        for ( i = 0; i < len; i++ ) {
  ------------------
  |  Branch (72:22): [True: 0, False: 0]
  ------------------
   73|      0|            (void)Mat_floatSwap(data + i);
   74|      0|        }
   75|      0|    }
   76|       |#else
   77|       |    size_t i;
   78|       |    const size_t data_size = sizeof(float);
   79|       |    float v[READ_BLOCK_SIZE / sizeof(float)];
   80|       |    READ_DATA(READ_TYPE, Mat_floatSwap);
   81|       |#endif
   82|      4|    return readcount;
   83|      4|}
read_data.c:ReadSingleDataInt64:
  202|     10|{
  203|     10|    size_t readcount;
  204|       |#if READ_TYPE_TYPE == READ_TYPE_INT64
  205|       |    readcount = fread(data, sizeof(mat_int64_t), len, (FILE *)mat->fp);
  206|       |    if ( readcount == len && mat->byteswap ) {
  207|       |        size_t i;
  208|       |        for ( i = 0; i < len; i++ ) {
  209|       |            (void)Mat_int64Swap(data + i);
  210|       |        }
  211|       |    }
  212|       |#else
  213|     10|    size_t i;
  214|     10|    const size_t data_size = sizeof(mat_int64_t);
  215|     10|    mat_int64_t v[READ_BLOCK_SIZE / sizeof(mat_int64_t)];
  216|     10|    READ_DATA(READ_TYPE, Mat_int64Swap);
  ------------------
  |  |   83|     10|    do {                                                                  \
  |  |   84|     10|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 10]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|     10|        } else {                                                          \
  |  |  120|     10|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|     10|    do {                                                              \
  |  |  |  |   46|     10|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|     10|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|     10|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 10]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|     10|        } else {                                                      \
  |  |  |  |   55|     10|            size_t j;                                                 \
  |  |  |  |   56|     10|            int err_ = 0;                                             \
  |  |  |  |   57|     10|            readcount = 0;                                            \
  |  |  |  |   58|    490|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 490, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|    490|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|    490|                readcount += j;                                       \
  |  |  |  |   61|    490|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 480, False: 10]
  |  |  |  |  ------------------
  |  |  |  |   62|   492k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 491k, False: 480]
  |  |  |  |  ------------------
  |  |  |  |   63|   491k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|   491k|                    }                                                 \
  |  |  |  |   65|    480|                } else {                                              \
  |  |  |  |   66|     10|                    err_ = 1;                                         \
  |  |  |  |   67|     10|                    break;                                            \
  |  |  |  |   68|     10|                }                                                     \
  |  |  |  |   69|    490|            }                                                         \
  |  |  |  |   70|     10|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 10]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|     10|        }                                                             \
  |  |  |  |   80|     10|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|     10|        }                                                                 \
  |  |  122|     10|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  217|     10|#endif
  218|     10|    return readcount;
  219|     10|}
read_data.c:ReadSingleDataInt32:
   87|      9|{
   88|      9|    size_t readcount;
   89|       |#if READ_TYPE_TYPE == READ_TYPE_INT32
   90|       |    readcount = fread(data, sizeof(mat_int32_t), len, (FILE *)mat->fp);
   91|       |    if ( readcount == len && mat->byteswap ) {
   92|       |        size_t i;
   93|       |        for ( i = 0; i < len; i++ ) {
   94|       |            (void)Mat_int32Swap(data + i);
   95|       |        }
   96|       |    }
   97|       |#else
   98|      9|    size_t i;
   99|      9|    const size_t data_size = sizeof(mat_int32_t);
  100|      9|    mat_int32_t v[READ_BLOCK_SIZE / sizeof(mat_int32_t)];
  101|      9|    READ_DATA(READ_TYPE, Mat_int32Swap);
  ------------------
  |  |   83|      9|    do {                                                                  \
  |  |   84|      9|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 3, False: 6]
  |  |  ------------------
  |  |   85|      3|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      3|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      3|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 3]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      3|            } else {                                                      \
  |  |   94|      3|                size_t j;                                                 \
  |  |   95|      3|                int err_ = 0;                                             \
  |  |   96|      3|                readcount = 0;                                            \
  |  |   97|     51|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 51, False: 0]
  |  |  ------------------
  |  |   98|     51|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|     51|                    readcount += j;                                       \
  |  |  100|     51|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 48, False: 3]
  |  |  ------------------
  |  |  101|  98.3k|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 98.3k, False: 48]
  |  |  ------------------
  |  |  102|  98.3k|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|  98.3k|                        }                                                 \
  |  |  104|     48|                    } else {                                              \
  |  |  105|      3|                        err_ = 1;                                         \
  |  |  106|      3|                        break;                                            \
  |  |  107|      3|                    }                                                     \
  |  |  108|     51|                }                                                         \
  |  |  109|      3|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 3]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      3|            }                                                             \
  |  |  119|      6|        } else {                                                          \
  |  |  120|      6|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|      6|    do {                                                              \
  |  |  |  |   46|      6|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|      6|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|      6|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 6]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|      6|        } else {                                                      \
  |  |  |  |   55|      6|            size_t j;                                                 \
  |  |  |  |   56|      6|            int err_ = 0;                                             \
  |  |  |  |   57|      6|            readcount = 0;                                            \
  |  |  |  |   58|    242|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 242, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|    242|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|    242|                readcount += j;                                       \
  |  |  |  |   61|    242|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 236, False: 6]
  |  |  |  |  ------------------
  |  |  |  |   62|   483k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 483k, False: 236]
  |  |  |  |  ------------------
  |  |  |  |   63|   483k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|   483k|                    }                                                 \
  |  |  |  |   65|    236|                } else {                                              \
  |  |  |  |   66|      6|                    err_ = 1;                                         \
  |  |  |  |   67|      6|                    break;                                            \
  |  |  |  |   68|      6|                }                                                     \
  |  |  |  |   69|    242|            }                                                         \
  |  |  |  |   70|      6|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 6]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|      6|        }                                                             \
  |  |  |  |   80|      6|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|      6|        }                                                                 \
  |  |  122|      9|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  102|      9|#endif
  103|      9|    return readcount;
  104|      9|}
read_data.c:ReadSingleDataInt16:
  129|      3|{
  130|      3|    size_t readcount;
  131|       |#if READ_TYPE_TYPE == READ_TYPE_INT16
  132|       |    readcount = fread(data, sizeof(mat_int16_t), len, (FILE *)mat->fp);
  133|       |    if ( readcount == len && mat->byteswap ) {
  134|       |        size_t i;
  135|       |        for ( i = 0; i < len; i++ ) {
  136|       |            (void)Mat_int16Swap(data + i);
  137|       |        }
  138|       |    }
  139|       |#else
  140|      3|    size_t i;
  141|      3|    const size_t data_size = sizeof(mat_int16_t);
  142|      3|    mat_int16_t v[READ_BLOCK_SIZE / sizeof(mat_int16_t)];
  143|      3|    READ_DATA(READ_TYPE, Mat_int16Swap);
  ------------------
  |  |   83|      3|    do {                                                                  \
  |  |   84|      3|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 3]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|      3|        } else {                                                          \
  |  |  120|      3|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|      3|    do {                                                              \
  |  |  |  |   46|      3|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|      3|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|      3|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 3]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|      3|        } else {                                                      \
  |  |  |  |   55|      3|            size_t j;                                                 \
  |  |  |  |   56|      3|            int err_ = 0;                                             \
  |  |  |  |   57|      3|            readcount = 0;                                            \
  |  |  |  |   58|      9|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 6, False: 3]
  |  |  |  |  ------------------
  |  |  |  |   59|      6|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|      6|                readcount += j;                                       \
  |  |  |  |   61|      6|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 6, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   62|  24.5k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 24.5k, False: 6]
  |  |  |  |  ------------------
  |  |  |  |   63|  24.5k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|  24.5k|                    }                                                 \
  |  |  |  |   65|      6|                } else {                                              \
  |  |  |  |   66|      0|                    err_ = 1;                                         \
  |  |  |  |   67|      0|                    break;                                            \
  |  |  |  |   68|      0|                }                                                     \
  |  |  |  |   69|      6|            }                                                         \
  |  |  |  |   70|      3|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 3, False: 0]
  |  |  |  |  |  Branch (70:31): [True: 3, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      3|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      3|                readcount += j;                                       \
  |  |  |  |   73|      3|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 3, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|  9.95k|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 9.95k, False: 3]
  |  |  |  |  ------------------
  |  |  |  |   75|  9.95k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|  9.95k|                    }                                                 \
  |  |  |  |   77|      3|                }                                                     \
  |  |  |  |   78|      3|            }                                                         \
  |  |  |  |   79|      3|        }                                                             \
  |  |  |  |   80|      3|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|      3|        }                                                                 \
  |  |  122|      3|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  144|      3|#endif
  145|      3|    return readcount;
  146|      3|}
read_data.c:ReadSingleDataUInt16:
  150|      2|{
  151|      2|    size_t readcount;
  152|       |#if READ_TYPE_TYPE == READ_TYPE_UINT16
  153|       |    readcount = fread(data, sizeof(mat_uint16_t), len, (FILE *)mat->fp);
  154|       |    if ( readcount == len && mat->byteswap ) {
  155|       |        size_t i;
  156|       |        for ( i = 0; i < len; i++ ) {
  157|       |            (void)Mat_uint16Swap(data + i);
  158|       |        }
  159|       |    }
  160|       |#else
  161|      2|    size_t i;
  162|      2|    const size_t data_size = sizeof(mat_uint16_t);
  163|      2|    mat_uint16_t v[READ_BLOCK_SIZE / sizeof(mat_uint16_t)];
  164|      2|    READ_DATA(READ_TYPE, Mat_uint16Swap);
  ------------------
  |  |   83|      2|    do {                                                                  \
  |  |   84|      2|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 2]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|      2|        } else {                                                          \
  |  |  120|      2|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|      2|    do {                                                              \
  |  |  |  |   46|      2|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|      2|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|      2|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|      2|        } else {                                                      \
  |  |  |  |   55|      2|            size_t j;                                                 \
  |  |  |  |   56|      2|            int err_ = 0;                                             \
  |  |  |  |   57|      2|            readcount = 0;                                            \
  |  |  |  |   58|     28|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 28, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|     28|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|     28|                readcount += j;                                       \
  |  |  |  |   61|     28|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 26, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   62|   106k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 106k, False: 26]
  |  |  |  |  ------------------
  |  |  |  |   63|   106k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|   106k|                    }                                                 \
  |  |  |  |   65|     26|                } else {                                              \
  |  |  |  |   66|      2|                    err_ = 1;                                         \
  |  |  |  |   67|      2|                    break;                                            \
  |  |  |  |   68|      2|                }                                                     \
  |  |  |  |   69|     28|            }                                                         \
  |  |  |  |   70|      2|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 2]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|      2|        }                                                             \
  |  |  |  |   80|      2|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|      2|        }                                                                 \
  |  |  122|      2|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  165|      2|#endif
  166|      2|    return readcount;
  167|      2|}
read_data.c:ReadSingleDataInt8:
  171|      6|{
  172|      6|    size_t readcount;
  173|       |#if READ_TYPE_TYPE == READ_TYPE_INT8
  174|       |    readcount = fread(data, sizeof(mat_int8_t), len, (FILE *)mat->fp);
  175|       |#else
  176|      6|    size_t i;
  177|      6|    const size_t data_size = sizeof(mat_int8_t);
  178|      6|    mat_int8_t v[READ_BLOCK_SIZE / sizeof(mat_int8_t)];
  179|      6|    READ_DATA_NOSWAP(READ_TYPE);
  ------------------
  |  |   45|      6|    do {                                                              \
  |  |   46|      6|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      6|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   47|      6|        if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (47:14): [True: 0, False: 6]
  |  |  ------------------
  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |   52|      0|                }                                                     \
  |  |   53|      0|            }                                                         \
  |  |   54|      6|        } else {                                                      \
  |  |   55|      6|            size_t j;                                                 \
  |  |   56|      6|            int err_ = 0;                                             \
  |  |   57|      6|            readcount = 0;                                            \
  |  |   58|     38|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (58:26): [True: 34, False: 4]
  |  |  ------------------
  |  |   59|     34|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   60|     34|                readcount += j;                                       \
  |  |   61|     34|                if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (61:22): [True: 32, False: 2]
  |  |  ------------------
  |  |   62|   262k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (62:34): [True: 262k, False: 32]
  |  |  ------------------
  |  |   63|   262k|                        data[i + j] = (T)v[j];                        \
  |  |   64|   262k|                    }                                                 \
  |  |   65|     32|                } else {                                              \
  |  |   66|      2|                    err_ = 1;                                         \
  |  |   67|      2|                    break;                                            \
  |  |   68|      2|                }                                                     \
  |  |   69|     34|            }                                                         \
  |  |   70|      6|            if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (70:18): [True: 4, False: 2]
  |  |  |  Branch (70:31): [True: 4, False: 0]
  |  |  ------------------
  |  |   71|      4|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |   72|      4|                readcount += j;                                       \
  |  |   73|      4|                if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (73:22): [True: 4, False: 0]
  |  |  ------------------
  |  |   74|  13.2k|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (74:34): [True: 13.2k, False: 4]
  |  |  ------------------
  |  |   75|  13.2k|                        data[i + j] = (T)v[j];                        \
  |  |   76|  13.2k|                    }                                                 \
  |  |   77|      4|                }                                                     \
  |  |   78|      4|            }                                                         \
  |  |   79|      6|        }                                                             \
  |  |   80|      6|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  180|      6|#endif
  181|      6|    return readcount;
  182|      6|}
read_data.c:ReadSingleDataUInt8:
  186|      3|{
  187|      3|    size_t readcount;
  188|       |#if READ_TYPE_TYPE == READ_TYPE_UINT8
  189|       |    readcount = fread(data, sizeof(mat_uint8_t), len, (FILE *)mat->fp);
  190|       |#else
  191|      3|    size_t i;
  192|      3|    const size_t data_size = sizeof(mat_uint8_t);
  193|      3|    mat_uint8_t v[READ_BLOCK_SIZE / sizeof(mat_uint8_t)];
  194|      3|    READ_DATA_NOSWAP(READ_TYPE);
  ------------------
  |  |   45|      3|    do {                                                              \
  |  |   46|      3|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      3|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   47|      3|        if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (47:14): [True: 0, False: 3]
  |  |  ------------------
  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |   52|      0|                }                                                     \
  |  |   53|      0|            }                                                         \
  |  |   54|      3|        } else {                                                      \
  |  |   55|      3|            size_t j;                                                 \
  |  |   56|      3|            int err_ = 0;                                             \
  |  |   57|      3|            readcount = 0;                                            \
  |  |   58|     51|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (58:26): [True: 51, False: 0]
  |  |  ------------------
  |  |   59|     51|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   60|     51|                readcount += j;                                       \
  |  |   61|     51|                if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (61:22): [True: 48, False: 3]
  |  |  ------------------
  |  |   62|   393k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (62:34): [True: 393k, False: 48]
  |  |  ------------------
  |  |   63|   393k|                        data[i + j] = (T)v[j];                        \
  |  |   64|   393k|                    }                                                 \
  |  |   65|     48|                } else {                                              \
  |  |   66|      3|                    err_ = 1;                                         \
  |  |   67|      3|                    break;                                            \
  |  |   68|      3|                }                                                     \
  |  |   69|     51|            }                                                         \
  |  |   70|      3|            if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (70:18): [True: 0, False: 3]
  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  ------------------
  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |   72|      0|                readcount += j;                                       \
  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |   76|      0|                    }                                                 \
  |  |   77|      0|                }                                                     \
  |  |   78|      0|            }                                                         \
  |  |   79|      3|        }                                                             \
  |  |   80|      3|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  195|      3|#endif
  196|      3|    return readcount;
  197|      3|}
read_data.c:ReadCompressedSingleDataUInt8:
  510|     12|{
  511|       |#if READ_TYPE_TYPE == READ_TYPE_UINT8
  512|       |    InflateData(mat, z, data, len * sizeof(mat_uint8_t));
  513|       |#else
  514|     12|    mat_uint32_t i;
  515|     12|    const size_t data_size = sizeof(mat_uint8_t);
  516|     12|    mat_uint8_t v[READ_BLOCK_SIZE / sizeof(mat_uint8_t)];
  517|     12|    READ_COMPRESSED_DATA_NOSWAP(READ_TYPE);
  ------------------
  |  |  126|     12|    do {                                                                        \
  |  |  127|     12|        const size_t block_size = READ_BLOCK_SIZE / data_size;                  \
  |  |  ------------------
  |  |  |  |   92|     12|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |  128|     12|        if ( len <= block_size ) {                                              \
  |  |  ------------------
  |  |  |  Branch (128:14): [True: 12, False: 0]
  |  |  ------------------
  |  |  129|     12|            InflateData(mat, z, v, (mat_uint32_t)(len * data_size));            \
  |  |  130|  73.7k|            for ( i = 0; i < len; i++ ) {                                       \
  |  |  ------------------
  |  |  |  Branch (130:26): [True: 73.7k, False: 12]
  |  |  ------------------
  |  |  131|  73.7k|                data[i] = (T)v[i];                                              \
  |  |  132|  73.7k|            }                                                                   \
  |  |  133|     12|        } else {                                                                \
  |  |  134|      0|            mat_uint32_t j;                                                     \
  |  |  135|      0|            len -= (mat_uint32_t)block_size;                                    \
  |  |  136|      0|            for ( i = 0; i < len; i += (mat_uint32_t)block_size ) {             \
  |  |  ------------------
  |  |  |  Branch (136:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  137|      0|                InflateData(mat, z, v, (mat_uint32_t)(block_size * data_size)); \
  |  |  138|      0|                for ( j = 0; j < block_size; j++ ) {                            \
  |  |  ------------------
  |  |  |  Branch (138:30): [True: 0, False: 0]
  |  |  ------------------
  |  |  139|      0|                    data[i + j] = (T)v[j];                                      \
  |  |  140|      0|                }                                                               \
  |  |  141|      0|            }                                                                   \
  |  |  142|      0|            len -= (mat_uint32_t)(i - block_size);                              \
  |  |  143|      0|            InflateData(mat, z, v, (mat_uint32_t)(len * data_size));            \
  |  |  144|      0|            for ( j = 0; j < len; j++ ) {                                       \
  |  |  ------------------
  |  |  |  Branch (144:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  145|      0|                data[i + j] = (T)v[j];                                          \
  |  |  146|      0|            }                                                                   \
  |  |  147|      0|        }                                                                       \
  |  |  148|     12|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (148:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  518|     12|#endif
  519|     12|}
read_data.c:ReadInt64DataDouble:
   45|     16|{
   46|     16|    size_t readcount;
   47|       |#if READ_TYPE_TYPE == READ_TYPE_DOUBLE
   48|       |    readcount = fread(data, sizeof(double), len, (FILE *)mat->fp);
   49|       |    if ( readcount == len && mat->byteswap ) {
   50|       |        size_t i;
   51|       |        for ( i = 0; i < len; i++ ) {
   52|       |            (void)Mat_doubleSwap(data + i);
   53|       |        }
   54|       |    }
   55|       |#else
   56|     16|    size_t i;
   57|     16|    const size_t data_size = sizeof(double);
   58|     16|    double v[READ_BLOCK_SIZE / sizeof(double)];
   59|     16|    READ_DATA(READ_TYPE, Mat_doubleSwap);
  ------------------
  |  |   83|     16|    do {                                                                  \
  |  |   84|     16|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 16]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|     16|        } else {                                                          \
  |  |  120|     16|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|     16|    do {                                                              \
  |  |  |  |   46|     16|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|     16|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|     16|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 16, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   48|     16|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|     16|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 16, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|     16|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 16]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|     16|            }                                                         \
  |  |  |  |   54|     16|        } else {                                                      \
  |  |  |  |   55|      0|            size_t j;                                                 \
  |  |  |  |   56|      0|            int err_ = 0;                                             \
  |  |  |  |   57|      0|            readcount = 0;                                            \
  |  |  |  |   58|      0|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|      0|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|      0|                readcount += j;                                       \
  |  |  |  |   61|      0|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   62|      0|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   63|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|      0|                    }                                                 \
  |  |  |  |   65|      0|                } else {                                              \
  |  |  |  |   66|      0|                    err_ = 1;                                         \
  |  |  |  |   67|      0|                    break;                                            \
  |  |  |  |   68|      0|                }                                                     \
  |  |  |  |   69|      0|            }                                                         \
  |  |  |  |   70|      0|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 0]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|      0|        }                                                             \
  |  |  |  |   80|     16|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|     16|        }                                                                 \
  |  |  122|     16|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
   60|     16|#endif
   61|     16|    return readcount;
   62|     16|}
read_data.c:ReadInt64DataSingle:
   66|     73|{
   67|     73|    size_t readcount;
   68|       |#if READ_TYPE_TYPE == READ_TYPE_SINGLE
   69|       |    readcount = fread(data, sizeof(float), len, (FILE *)mat->fp);
   70|       |    if ( readcount == len && mat->byteswap ) {
   71|       |        size_t i;
   72|       |        for ( i = 0; i < len; i++ ) {
   73|       |            (void)Mat_floatSwap(data + i);
   74|       |        }
   75|       |    }
   76|       |#else
   77|     73|    size_t i;
   78|     73|    const size_t data_size = sizeof(float);
   79|     73|    float v[READ_BLOCK_SIZE / sizeof(float)];
   80|     73|    READ_DATA(READ_TYPE, Mat_floatSwap);
  ------------------
  |  |   83|     73|    do {                                                                  \
  |  |   84|     73|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 73]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|     73|        } else {                                                          \
  |  |  120|     73|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|     73|    do {                                                              \
  |  |  |  |   46|     73|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|     73|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|     73|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 6, False: 67]
  |  |  |  |  ------------------
  |  |  |  |   48|      6|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      6|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 6, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      6|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 6]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      6|            }                                                         \
  |  |  |  |   54|     67|        } else {                                                      \
  |  |  |  |   55|     67|            size_t j;                                                 \
  |  |  |  |   56|     67|            int err_ = 0;                                             \
  |  |  |  |   57|     67|            readcount = 0;                                            \
  |  |  |  |   58|    214|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 151, False: 63]
  |  |  |  |  ------------------
  |  |  |  |   59|    151|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|    151|                readcount += j;                                       \
  |  |  |  |   61|    151|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 147, False: 4]
  |  |  |  |  ------------------
  |  |  |  |   62|   301k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 301k, False: 147]
  |  |  |  |  ------------------
  |  |  |  |   63|   301k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|   301k|                    }                                                 \
  |  |  |  |   65|    147|                } else {                                              \
  |  |  |  |   66|      4|                    err_ = 1;                                         \
  |  |  |  |   67|      4|                    break;                                            \
  |  |  |  |   68|      4|                }                                                     \
  |  |  |  |   69|    151|            }                                                         \
  |  |  |  |   70|     67|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 63, False: 4]
  |  |  |  |  |  Branch (70:31): [True: 63, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|     63|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|     63|                readcount += j;                                       \
  |  |  |  |   73|     63|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 63, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|  2.33k|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 2.27k, False: 63]
  |  |  |  |  ------------------
  |  |  |  |   75|  2.27k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|  2.27k|                    }                                                 \
  |  |  |  |   77|     63|                }                                                     \
  |  |  |  |   78|     63|            }                                                         \
  |  |  |  |   79|     67|        }                                                             \
  |  |  |  |   80|     73|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|     73|        }                                                                 \
  |  |  122|     73|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
   81|     73|#endif
   82|     73|    return readcount;
   83|     73|}
read_data.c:ReadInt64DataInt64:
  202|      3|{
  203|      3|    size_t readcount;
  204|      3|#if READ_TYPE_TYPE == READ_TYPE_INT64
  205|      3|    readcount = fread(data, sizeof(mat_int64_t), len, (FILE *)mat->fp);
  206|      3|    if ( readcount == len && mat->byteswap ) {
  ------------------
  |  Branch (206:10): [True: 0, False: 3]
  |  Branch (206:30): [True: 0, False: 0]
  ------------------
  207|      0|        size_t i;
  208|      0|        for ( i = 0; i < len; i++ ) {
  ------------------
  |  Branch (208:22): [True: 0, False: 0]
  ------------------
  209|      0|            (void)Mat_int64Swap(data + i);
  210|      0|        }
  211|      0|    }
  212|       |#else
  213|       |    size_t i;
  214|       |    const size_t data_size = sizeof(mat_int64_t);
  215|       |    mat_int64_t v[READ_BLOCK_SIZE / sizeof(mat_int64_t)];
  216|       |    READ_DATA(READ_TYPE, Mat_int64Swap);
  217|       |#endif
  218|      3|    return readcount;
  219|      3|}
read_data.c:ReadInt64DataUInt64:
  225|     26|{
  226|     26|    size_t readcount;
  227|       |#if READ_TYPE_TYPE == READ_TYPE_UINT64
  228|       |    readcount = fread(data, sizeof(mat_uint64_t), len, (FILE *)mat->fp);
  229|       |    if ( readcount == len && mat->byteswap ) {
  230|       |        size_t i;
  231|       |        for ( i = 0; i < len; i++ ) {
  232|       |            (void)Mat_uint64Swap(data + i);
  233|       |        }
  234|       |    }
  235|       |#else
  236|     26|    size_t i;
  237|     26|    const size_t data_size = sizeof(mat_uint64_t);
  238|     26|    mat_uint64_t v[READ_BLOCK_SIZE / sizeof(mat_uint64_t)];
  239|     26|    READ_DATA(READ_TYPE, Mat_uint64Swap);
  ------------------
  |  |   83|     26|    do {                                                                  \
  |  |   84|     26|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 26]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|     26|        } else {                                                          \
  |  |  120|     26|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|     26|    do {                                                              \
  |  |  |  |   46|     26|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|     26|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|     26|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 2, False: 24]
  |  |  |  |  ------------------
  |  |  |  |   48|      2|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      2|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      2|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      2|            }                                                         \
  |  |  |  |   54|     24|        } else {                                                      \
  |  |  |  |   55|     24|            size_t j;                                                 \
  |  |  |  |   56|     24|            int err_ = 0;                                             \
  |  |  |  |   57|     24|            readcount = 0;                                            \
  |  |  |  |   58|     72|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 48, False: 24]
  |  |  |  |  ------------------
  |  |  |  |   59|     48|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|     48|                readcount += j;                                       \
  |  |  |  |   61|     48|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 48, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   62|  49.2k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 49.1k, False: 48]
  |  |  |  |  ------------------
  |  |  |  |   63|  49.1k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|  49.1k|                    }                                                 \
  |  |  |  |   65|     48|                } else {                                              \
  |  |  |  |   66|      0|                    err_ = 1;                                         \
  |  |  |  |   67|      0|                    break;                                            \
  |  |  |  |   68|      0|                }                                                     \
  |  |  |  |   69|     48|            }                                                         \
  |  |  |  |   70|     24|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 24, False: 0]
  |  |  |  |  |  Branch (70:31): [True: 24, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|     24|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|     24|                readcount += j;                                       \
  |  |  |  |   73|     24|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 24, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|     96|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 72, False: 24]
  |  |  |  |  ------------------
  |  |  |  |   75|     72|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|     72|                    }                                                 \
  |  |  |  |   77|     24|                }                                                     \
  |  |  |  |   78|     24|            }                                                         \
  |  |  |  |   79|     24|        }                                                             \
  |  |  |  |   80|     26|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|     26|        }                                                                 \
  |  |  122|     26|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  240|     26|#endif
  241|     26|    return readcount;
  242|     26|}
read_data.c:ReadInt64DataInt32:
   87|      6|{
   88|      6|    size_t readcount;
   89|       |#if READ_TYPE_TYPE == READ_TYPE_INT32
   90|       |    readcount = fread(data, sizeof(mat_int32_t), len, (FILE *)mat->fp);
   91|       |    if ( readcount == len && mat->byteswap ) {
   92|       |        size_t i;
   93|       |        for ( i = 0; i < len; i++ ) {
   94|       |            (void)Mat_int32Swap(data + i);
   95|       |        }
   96|       |    }
   97|       |#else
   98|      6|    size_t i;
   99|      6|    const size_t data_size = sizeof(mat_int32_t);
  100|      6|    mat_int32_t v[READ_BLOCK_SIZE / sizeof(mat_int32_t)];
  101|      6|    READ_DATA(READ_TYPE, Mat_int32Swap);
  ------------------
  |  |   83|      6|    do {                                                                  \
  |  |   84|      6|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 6]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|      6|        } else {                                                          \
  |  |  120|      6|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|      6|    do {                                                              \
  |  |  |  |   46|      6|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|      6|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|      6|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 6]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|      6|        } else {                                                      \
  |  |  |  |   55|      6|            size_t j;                                                 \
  |  |  |  |   56|      6|            int err_ = 0;                                             \
  |  |  |  |   57|      6|            readcount = 0;                                            \
  |  |  |  |   58|     12|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 6, False: 6]
  |  |  |  |  ------------------
  |  |  |  |   59|      6|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|      6|                readcount += j;                                       \
  |  |  |  |   61|      6|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 6, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   62|  12.2k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 12.2k, False: 6]
  |  |  |  |  ------------------
  |  |  |  |   63|  12.2k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|  12.2k|                    }                                                 \
  |  |  |  |   65|      6|                } else {                                              \
  |  |  |  |   66|      0|                    err_ = 1;                                         \
  |  |  |  |   67|      0|                    break;                                            \
  |  |  |  |   68|      0|                }                                                     \
  |  |  |  |   69|      6|            }                                                         \
  |  |  |  |   70|      6|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 6, False: 0]
  |  |  |  |  |  Branch (70:31): [True: 6, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      6|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      6|                readcount += j;                                       \
  |  |  |  |   73|      6|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 6, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|     24|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 18, False: 6]
  |  |  |  |  ------------------
  |  |  |  |   75|     18|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|     18|                    }                                                 \
  |  |  |  |   77|      6|                }                                                     \
  |  |  |  |   78|      6|            }                                                         \
  |  |  |  |   79|      6|        }                                                             \
  |  |  |  |   80|      6|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|      6|        }                                                                 \
  |  |  122|      6|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  102|      6|#endif
  103|      6|    return readcount;
  104|      6|}
read_data.c:ReadInt64DataUInt32:
  108|     13|{
  109|     13|    size_t readcount;
  110|       |#if READ_TYPE_TYPE == READ_TYPE_UINT32
  111|       |    readcount = fread(data, sizeof(mat_uint32_t), len, (FILE *)mat->fp);
  112|       |    if ( readcount == len && mat->byteswap ) {
  113|       |        size_t i;
  114|       |        for ( i = 0; i < len; i++ ) {
  115|       |            (void)Mat_uint32Swap(data + i);
  116|       |        }
  117|       |    }
  118|       |#else
  119|     13|    size_t i;
  120|     13|    const size_t data_size = sizeof(mat_uint32_t);
  121|     13|    mat_uint32_t v[READ_BLOCK_SIZE / sizeof(mat_uint32_t)];
  122|     13|    READ_DATA(READ_TYPE, Mat_uint32Swap);
  ------------------
  |  |   83|     13|    do {                                                                  \
  |  |   84|     13|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 13]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|     13|        } else {                                                          \
  |  |  120|     13|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|     13|    do {                                                              \
  |  |  |  |   46|     13|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|     13|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|     13|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 13]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|     13|        } else {                                                      \
  |  |  |  |   55|     13|            size_t j;                                                 \
  |  |  |  |   56|     13|            int err_ = 0;                                             \
  |  |  |  |   57|     13|            readcount = 0;                                            \
  |  |  |  |   58|    239|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 231, False: 8]
  |  |  |  |  ------------------
  |  |  |  |   59|    231|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|    231|                readcount += j;                                       \
  |  |  |  |   61|    231|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 226, False: 5]
  |  |  |  |  ------------------
  |  |  |  |   62|   463k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 462k, False: 226]
  |  |  |  |  ------------------
  |  |  |  |   63|   462k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|   462k|                    }                                                 \
  |  |  |  |   65|    226|                } else {                                              \
  |  |  |  |   66|      5|                    err_ = 1;                                         \
  |  |  |  |   67|      5|                    break;                                            \
  |  |  |  |   68|      5|                }                                                     \
  |  |  |  |   69|    231|            }                                                         \
  |  |  |  |   70|     13|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 8, False: 5]
  |  |  |  |  |  Branch (70:31): [True: 8, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      8|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      8|                readcount += j;                                       \
  |  |  |  |   73|      8|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 8, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|  2.11k|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 2.11k, False: 8]
  |  |  |  |  ------------------
  |  |  |  |   75|  2.11k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|  2.11k|                    }                                                 \
  |  |  |  |   77|      8|                }                                                     \
  |  |  |  |   78|      8|            }                                                         \
  |  |  |  |   79|     13|        }                                                             \
  |  |  |  |   80|     13|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|     13|        }                                                                 \
  |  |  122|     13|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  123|     13|#endif
  124|     13|    return readcount;
  125|     13|}
read_data.c:ReadInt64DataInt16:
  129|     28|{
  130|     28|    size_t readcount;
  131|       |#if READ_TYPE_TYPE == READ_TYPE_INT16
  132|       |    readcount = fread(data, sizeof(mat_int16_t), len, (FILE *)mat->fp);
  133|       |    if ( readcount == len && mat->byteswap ) {
  134|       |        size_t i;
  135|       |        for ( i = 0; i < len; i++ ) {
  136|       |            (void)Mat_int16Swap(data + i);
  137|       |        }
  138|       |    }
  139|       |#else
  140|     28|    size_t i;
  141|     28|    const size_t data_size = sizeof(mat_int16_t);
  142|     28|    mat_int16_t v[READ_BLOCK_SIZE / sizeof(mat_int16_t)];
  143|     28|    READ_DATA(READ_TYPE, Mat_int16Swap);
  ------------------
  |  |   83|     28|    do {                                                                  \
  |  |   84|     28|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 28]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|     28|        } else {                                                          \
  |  |  120|     28|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|     28|    do {                                                              \
  |  |  |  |   46|     28|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|     28|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|     28|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 28, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   48|     28|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|     28|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 28, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|  45.1k|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 45.1k, False: 28]
  |  |  |  |  ------------------
  |  |  |  |   51|  45.1k|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|  45.1k|                }                                                     \
  |  |  |  |   53|     28|            }                                                         \
  |  |  |  |   54|     28|        } else {                                                      \
  |  |  |  |   55|      0|            size_t j;                                                 \
  |  |  |  |   56|      0|            int err_ = 0;                                             \
  |  |  |  |   57|      0|            readcount = 0;                                            \
  |  |  |  |   58|      0|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|      0|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|      0|                readcount += j;                                       \
  |  |  |  |   61|      0|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   62|      0|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   63|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|      0|                    }                                                 \
  |  |  |  |   65|      0|                } else {                                              \
  |  |  |  |   66|      0|                    err_ = 1;                                         \
  |  |  |  |   67|      0|                    break;                                            \
  |  |  |  |   68|      0|                }                                                     \
  |  |  |  |   69|      0|            }                                                         \
  |  |  |  |   70|      0|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 0]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|      0|        }                                                             \
  |  |  |  |   80|     28|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|     28|        }                                                                 \
  |  |  122|     28|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  144|     28|#endif
  145|     28|    return readcount;
  146|     28|}
read_data.c:ReadInt64DataUInt16:
  150|     22|{
  151|     22|    size_t readcount;
  152|       |#if READ_TYPE_TYPE == READ_TYPE_UINT16
  153|       |    readcount = fread(data, sizeof(mat_uint16_t), len, (FILE *)mat->fp);
  154|       |    if ( readcount == len && mat->byteswap ) {
  155|       |        size_t i;
  156|       |        for ( i = 0; i < len; i++ ) {
  157|       |            (void)Mat_uint16Swap(data + i);
  158|       |        }
  159|       |    }
  160|       |#else
  161|     22|    size_t i;
  162|     22|    const size_t data_size = sizeof(mat_uint16_t);
  163|     22|    mat_uint16_t v[READ_BLOCK_SIZE / sizeof(mat_uint16_t)];
  164|     22|    READ_DATA(READ_TYPE, Mat_uint16Swap);
  ------------------
  |  |   83|     22|    do {                                                                  \
  |  |   84|     22|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 22]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|     22|        } else {                                                          \
  |  |  120|     22|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|     22|    do {                                                              \
  |  |  |  |   46|     22|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|     22|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|     22|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 22, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   48|     22|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|     22|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 22, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|  28.7k|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 28.7k, False: 22]
  |  |  |  |  ------------------
  |  |  |  |   51|  28.7k|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|  28.7k|                }                                                     \
  |  |  |  |   53|     22|            }                                                         \
  |  |  |  |   54|     22|        } else {                                                      \
  |  |  |  |   55|      0|            size_t j;                                                 \
  |  |  |  |   56|      0|            int err_ = 0;                                             \
  |  |  |  |   57|      0|            readcount = 0;                                            \
  |  |  |  |   58|      0|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|      0|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|      0|                readcount += j;                                       \
  |  |  |  |   61|      0|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   62|      0|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   63|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|      0|                    }                                                 \
  |  |  |  |   65|      0|                } else {                                              \
  |  |  |  |   66|      0|                    err_ = 1;                                         \
  |  |  |  |   67|      0|                    break;                                            \
  |  |  |  |   68|      0|                }                                                     \
  |  |  |  |   69|      0|            }                                                         \
  |  |  |  |   70|      0|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 0]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|      0|        }                                                             \
  |  |  |  |   80|     22|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|     22|        }                                                                 \
  |  |  122|     22|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  165|     22|#endif
  166|     22|    return readcount;
  167|     22|}
read_data.c:ReadInt64DataInt8:
  171|      2|{
  172|      2|    size_t readcount;
  173|       |#if READ_TYPE_TYPE == READ_TYPE_INT8
  174|       |    readcount = fread(data, sizeof(mat_int8_t), len, (FILE *)mat->fp);
  175|       |#else
  176|      2|    size_t i;
  177|      2|    const size_t data_size = sizeof(mat_int8_t);
  178|      2|    mat_int8_t v[READ_BLOCK_SIZE / sizeof(mat_int8_t)];
  179|      2|    READ_DATA_NOSWAP(READ_TYPE);
  ------------------
  |  |   45|      2|    do {                                                              \
  |  |   46|      2|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      2|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   47|      2|        if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (47:14): [True: 0, False: 2]
  |  |  ------------------
  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |   52|      0|                }                                                     \
  |  |   53|      0|            }                                                         \
  |  |   54|      2|        } else {                                                      \
  |  |   55|      2|            size_t j;                                                 \
  |  |   56|      2|            int err_ = 0;                                             \
  |  |   57|      2|            readcount = 0;                                            \
  |  |   58|     36|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (58:26): [True: 36, False: 0]
  |  |  ------------------
  |  |   59|     36|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   60|     36|                readcount += j;                                       \
  |  |   61|     36|                if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (61:22): [True: 34, False: 2]
  |  |  ------------------
  |  |   62|   278k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (62:34): [True: 278k, False: 34]
  |  |  ------------------
  |  |   63|   278k|                        data[i + j] = (T)v[j];                        \
  |  |   64|   278k|                    }                                                 \
  |  |   65|     34|                } else {                                              \
  |  |   66|      2|                    err_ = 1;                                         \
  |  |   67|      2|                    break;                                            \
  |  |   68|      2|                }                                                     \
  |  |   69|     36|            }                                                         \
  |  |   70|      2|            if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (70:18): [True: 0, False: 2]
  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  ------------------
  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |   72|      0|                readcount += j;                                       \
  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |   76|      0|                    }                                                 \
  |  |   77|      0|                }                                                     \
  |  |   78|      0|            }                                                         \
  |  |   79|      2|        }                                                             \
  |  |   80|      2|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  180|      2|#endif
  181|      2|    return readcount;
  182|      2|}
read_data.c:ReadUInt64DataDouble:
   45|      3|{
   46|      3|    size_t readcount;
   47|       |#if READ_TYPE_TYPE == READ_TYPE_DOUBLE
   48|       |    readcount = fread(data, sizeof(double), len, (FILE *)mat->fp);
   49|       |    if ( readcount == len && mat->byteswap ) {
   50|       |        size_t i;
   51|       |        for ( i = 0; i < len; i++ ) {
   52|       |            (void)Mat_doubleSwap(data + i);
   53|       |        }
   54|       |    }
   55|       |#else
   56|      3|    size_t i;
   57|      3|    const size_t data_size = sizeof(double);
   58|      3|    double v[READ_BLOCK_SIZE / sizeof(double)];
   59|      3|    READ_DATA(READ_TYPE, Mat_doubleSwap);
  ------------------
  |  |   83|      3|    do {                                                                  \
  |  |   84|      3|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 3]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|      3|        } else {                                                          \
  |  |  120|      3|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|      3|    do {                                                              \
  |  |  |  |   46|      3|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|      3|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|      3|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 3]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|      3|        } else {                                                      \
  |  |  |  |   55|      3|            size_t j;                                                 \
  |  |  |  |   56|      3|            int err_ = 0;                                             \
  |  |  |  |   57|      3|            readcount = 0;                                            \
  |  |  |  |   58|    110|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 110, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|    110|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|    110|                readcount += j;                                       \
  |  |  |  |   61|    110|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 107, False: 3]
  |  |  |  |  ------------------
  |  |  |  |   62|   109k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 109k, False: 107]
  |  |  |  |  ------------------
  |  |  |  |   63|   109k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|   109k|                    }                                                 \
  |  |  |  |   65|    107|                } else {                                              \
  |  |  |  |   66|      3|                    err_ = 1;                                         \
  |  |  |  |   67|      3|                    break;                                            \
  |  |  |  |   68|      3|                }                                                     \
  |  |  |  |   69|    110|            }                                                         \
  |  |  |  |   70|      3|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 3]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|      3|        }                                                             \
  |  |  |  |   80|      3|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|      3|        }                                                                 \
  |  |  122|      3|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
   60|      3|#endif
   61|      3|    return readcount;
   62|      3|}
read_data.c:ReadUInt64DataSingle:
   66|      7|{
   67|      7|    size_t readcount;
   68|       |#if READ_TYPE_TYPE == READ_TYPE_SINGLE
   69|       |    readcount = fread(data, sizeof(float), len, (FILE *)mat->fp);
   70|       |    if ( readcount == len && mat->byteswap ) {
   71|       |        size_t i;
   72|       |        for ( i = 0; i < len; i++ ) {
   73|       |            (void)Mat_floatSwap(data + i);
   74|       |        }
   75|       |    }
   76|       |#else
   77|      7|    size_t i;
   78|      7|    const size_t data_size = sizeof(float);
   79|      7|    float v[READ_BLOCK_SIZE / sizeof(float)];
   80|      7|    READ_DATA(READ_TYPE, Mat_floatSwap);
  ------------------
  |  |   83|      7|    do {                                                                  \
  |  |   84|      7|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 3, False: 4]
  |  |  ------------------
  |  |   85|      3|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      3|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      3|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 3]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      3|            } else {                                                      \
  |  |   94|      3|                size_t j;                                                 \
  |  |   95|      3|                int err_ = 0;                                             \
  |  |   96|      3|                readcount = 0;                                            \
  |  |   97|      9|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 6, False: 3]
  |  |  ------------------
  |  |   98|      6|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      6|                    readcount += j;                                       \
  |  |  100|      6|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 6, False: 0]
  |  |  ------------------
  |  |  101|  12.2k|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 12.2k, False: 6]
  |  |  ------------------
  |  |  102|  12.2k|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|  12.2k|                        }                                                 \
  |  |  104|      6|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      6|                }                                                         \
  |  |  109|      3|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 3, False: 0]
  |  |  |  Branch (109:35): [True: 3, False: 0]
  |  |  ------------------
  |  |  110|      3|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      3|                    readcount += j;                                       \
  |  |  112|      3|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 3, False: 0]
  |  |  ------------------
  |  |  113|  3.07k|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 3.07k, False: 3]
  |  |  ------------------
  |  |  114|  3.07k|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|  3.07k|                        }                                                 \
  |  |  116|      3|                    }                                                     \
  |  |  117|      3|                }                                                         \
  |  |  118|      3|            }                                                             \
  |  |  119|      4|        } else {                                                          \
  |  |  120|      4|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|      4|    do {                                                              \
  |  |  |  |   46|      4|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|      4|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|      4|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 4]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|      4|        } else {                                                      \
  |  |  |  |   55|      4|            size_t j;                                                 \
  |  |  |  |   56|      4|            int err_ = 0;                                             \
  |  |  |  |   57|      4|            readcount = 0;                                            \
  |  |  |  |   58|    131|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 131, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|    131|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|    131|                readcount += j;                                       \
  |  |  |  |   61|    131|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 127, False: 4]
  |  |  |  |  ------------------
  |  |  |  |   62|   260k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 260k, False: 127]
  |  |  |  |  ------------------
  |  |  |  |   63|   260k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|   260k|                    }                                                 \
  |  |  |  |   65|    127|                } else {                                              \
  |  |  |  |   66|      4|                    err_ = 1;                                         \
  |  |  |  |   67|      4|                    break;                                            \
  |  |  |  |   68|      4|                }                                                     \
  |  |  |  |   69|    131|            }                                                         \
  |  |  |  |   70|      4|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 4]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|      4|        }                                                             \
  |  |  |  |   80|      4|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|      4|        }                                                                 \
  |  |  122|      7|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
   81|      7|#endif
   82|      7|    return readcount;
   83|      7|}
read_data.c:ReadUInt64DataInt64:
  202|      5|{
  203|      5|    size_t readcount;
  204|       |#if READ_TYPE_TYPE == READ_TYPE_INT64
  205|       |    readcount = fread(data, sizeof(mat_int64_t), len, (FILE *)mat->fp);
  206|       |    if ( readcount == len && mat->byteswap ) {
  207|       |        size_t i;
  208|       |        for ( i = 0; i < len; i++ ) {
  209|       |            (void)Mat_int64Swap(data + i);
  210|       |        }
  211|       |    }
  212|       |#else
  213|      5|    size_t i;
  214|      5|    const size_t data_size = sizeof(mat_int64_t);
  215|      5|    mat_int64_t v[READ_BLOCK_SIZE / sizeof(mat_int64_t)];
  216|      5|    READ_DATA(READ_TYPE, Mat_int64Swap);
  ------------------
  |  |   83|      5|    do {                                                                  \
  |  |   84|      5|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 5]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|      5|        } else {                                                          \
  |  |  120|      5|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|      5|    do {                                                              \
  |  |  |  |   46|      5|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|      5|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|      5|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 5, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   48|      5|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      5|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 5, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      5|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 5]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      5|            }                                                         \
  |  |  |  |   54|      5|        } else {                                                      \
  |  |  |  |   55|      0|            size_t j;                                                 \
  |  |  |  |   56|      0|            int err_ = 0;                                             \
  |  |  |  |   57|      0|            readcount = 0;                                            \
  |  |  |  |   58|      0|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|      0|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|      0|                readcount += j;                                       \
  |  |  |  |   61|      0|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   62|      0|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   63|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|      0|                    }                                                 \
  |  |  |  |   65|      0|                } else {                                              \
  |  |  |  |   66|      0|                    err_ = 1;                                         \
  |  |  |  |   67|      0|                    break;                                            \
  |  |  |  |   68|      0|                }                                                     \
  |  |  |  |   69|      0|            }                                                         \
  |  |  |  |   70|      0|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 0]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|      0|        }                                                             \
  |  |  |  |   80|      5|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|      5|        }                                                                 \
  |  |  122|      5|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  217|      5|#endif
  218|      5|    return readcount;
  219|      5|}
read_data.c:ReadUInt64DataUInt64:
  225|     13|{
  226|     13|    size_t readcount;
  227|     13|#if READ_TYPE_TYPE == READ_TYPE_UINT64
  228|     13|    readcount = fread(data, sizeof(mat_uint64_t), len, (FILE *)mat->fp);
  229|     13|    if ( readcount == len && mat->byteswap ) {
  ------------------
  |  Branch (229:10): [True: 0, False: 13]
  |  Branch (229:30): [True: 0, False: 0]
  ------------------
  230|      0|        size_t i;
  231|      0|        for ( i = 0; i < len; i++ ) {
  ------------------
  |  Branch (231:22): [True: 0, False: 0]
  ------------------
  232|      0|            (void)Mat_uint64Swap(data + i);
  233|      0|        }
  234|      0|    }
  235|       |#else
  236|       |    size_t i;
  237|       |    const size_t data_size = sizeof(mat_uint64_t);
  238|       |    mat_uint64_t v[READ_BLOCK_SIZE / sizeof(mat_uint64_t)];
  239|       |    READ_DATA(READ_TYPE, Mat_uint64Swap);
  240|       |#endif
  241|     13|    return readcount;
  242|     13|}
read_data.c:ReadUInt64DataInt32:
   87|      1|{
   88|      1|    size_t readcount;
   89|       |#if READ_TYPE_TYPE == READ_TYPE_INT32
   90|       |    readcount = fread(data, sizeof(mat_int32_t), len, (FILE *)mat->fp);
   91|       |    if ( readcount == len && mat->byteswap ) {
   92|       |        size_t i;
   93|       |        for ( i = 0; i < len; i++ ) {
   94|       |            (void)Mat_int32Swap(data + i);
   95|       |        }
   96|       |    }
   97|       |#else
   98|      1|    size_t i;
   99|      1|    const size_t data_size = sizeof(mat_int32_t);
  100|      1|    mat_int32_t v[READ_BLOCK_SIZE / sizeof(mat_int32_t)];
  101|      1|    READ_DATA(READ_TYPE, Mat_int32Swap);
  ------------------
  |  |   83|      1|    do {                                                                  \
  |  |   84|      1|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 1]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|      1|        } else {                                                          \
  |  |  120|      1|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|      1|    do {                                                              \
  |  |  |  |   46|      1|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|      1|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|      1|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|      1|        } else {                                                      \
  |  |  |  |   55|      1|            size_t j;                                                 \
  |  |  |  |   56|      1|            int err_ = 0;                                             \
  |  |  |  |   57|      1|            readcount = 0;                                            \
  |  |  |  |   58|     14|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 14, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|     14|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|     14|                readcount += j;                                       \
  |  |  |  |   61|     14|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 13, False: 1]
  |  |  |  |  ------------------
  |  |  |  |   62|  26.6k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 26.6k, False: 13]
  |  |  |  |  ------------------
  |  |  |  |   63|  26.6k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|  26.6k|                    }                                                 \
  |  |  |  |   65|     13|                } else {                                              \
  |  |  |  |   66|      1|                    err_ = 1;                                         \
  |  |  |  |   67|      1|                    break;                                            \
  |  |  |  |   68|      1|                }                                                     \
  |  |  |  |   69|     14|            }                                                         \
  |  |  |  |   70|      1|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 1]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|      1|        }                                                             \
  |  |  |  |   80|      1|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|      1|        }                                                                 \
  |  |  122|      1|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  102|      1|#endif
  103|      1|    return readcount;
  104|      1|}
read_data.c:ReadUInt64DataUInt32:
  108|      1|{
  109|      1|    size_t readcount;
  110|       |#if READ_TYPE_TYPE == READ_TYPE_UINT32
  111|       |    readcount = fread(data, sizeof(mat_uint32_t), len, (FILE *)mat->fp);
  112|       |    if ( readcount == len && mat->byteswap ) {
  113|       |        size_t i;
  114|       |        for ( i = 0; i < len; i++ ) {
  115|       |            (void)Mat_uint32Swap(data + i);
  116|       |        }
  117|       |    }
  118|       |#else
  119|      1|    size_t i;
  120|      1|    const size_t data_size = sizeof(mat_uint32_t);
  121|      1|    mat_uint32_t v[READ_BLOCK_SIZE / sizeof(mat_uint32_t)];
  122|      1|    READ_DATA(READ_TYPE, Mat_uint32Swap);
  ------------------
  |  |   83|      1|    do {                                                                  \
  |  |   84|      1|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 1]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|      1|        } else {                                                          \
  |  |  120|      1|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|      1|    do {                                                              \
  |  |  |  |   46|      1|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|      1|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|      1|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   48|      1|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      1|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      1|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      1|            }                                                         \
  |  |  |  |   54|      1|        } else {                                                      \
  |  |  |  |   55|      0|            size_t j;                                                 \
  |  |  |  |   56|      0|            int err_ = 0;                                             \
  |  |  |  |   57|      0|            readcount = 0;                                            \
  |  |  |  |   58|      0|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|      0|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|      0|                readcount += j;                                       \
  |  |  |  |   61|      0|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   62|      0|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   63|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|      0|                    }                                                 \
  |  |  |  |   65|      0|                } else {                                              \
  |  |  |  |   66|      0|                    err_ = 1;                                         \
  |  |  |  |   67|      0|                    break;                                            \
  |  |  |  |   68|      0|                }                                                     \
  |  |  |  |   69|      0|            }                                                         \
  |  |  |  |   70|      0|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 0]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|      0|        }                                                             \
  |  |  |  |   80|      1|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|      1|        }                                                                 \
  |  |  122|      1|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  123|      1|#endif
  124|      1|    return readcount;
  125|      1|}
read_data.c:ReadUInt64DataInt16:
  129|     45|{
  130|     45|    size_t readcount;
  131|       |#if READ_TYPE_TYPE == READ_TYPE_INT16
  132|       |    readcount = fread(data, sizeof(mat_int16_t), len, (FILE *)mat->fp);
  133|       |    if ( readcount == len && mat->byteswap ) {
  134|       |        size_t i;
  135|       |        for ( i = 0; i < len; i++ ) {
  136|       |            (void)Mat_int16Swap(data + i);
  137|       |        }
  138|       |    }
  139|       |#else
  140|     45|    size_t i;
  141|     45|    const size_t data_size = sizeof(mat_int16_t);
  142|     45|    mat_int16_t v[READ_BLOCK_SIZE / sizeof(mat_int16_t)];
  143|     45|    READ_DATA(READ_TYPE, Mat_int16Swap);
  ------------------
  |  |   83|     45|    do {                                                                  \
  |  |   84|     45|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 21, False: 24]
  |  |  ------------------
  |  |   85|     21|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|     21|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|     21|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 21]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|     21|            } else {                                                      \
  |  |   94|     21|                size_t j;                                                 \
  |  |   95|     21|                int err_ = 0;                                             \
  |  |   96|     21|                readcount = 0;                                            \
  |  |   97|    456|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 445, False: 11]
  |  |  ------------------
  |  |   98|    445|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|    445|                    readcount += j;                                       \
  |  |  100|    445|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 435, False: 10]
  |  |  ------------------
  |  |  101|  1.78M|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 1.78M, False: 435]
  |  |  ------------------
  |  |  102|  1.78M|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|  1.78M|                        }                                                 \
  |  |  104|    435|                    } else {                                              \
  |  |  105|     10|                        err_ = 1;                                         \
  |  |  106|     10|                        break;                                            \
  |  |  107|     10|                    }                                                     \
  |  |  108|    445|                }                                                         \
  |  |  109|     21|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 11, False: 10]
  |  |  |  Branch (109:35): [True: 11, False: 0]
  |  |  ------------------
  |  |  110|     11|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|     11|                    readcount += j;                                       \
  |  |  112|     11|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 11, False: 0]
  |  |  ------------------
  |  |  113|  11.2k|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 11.2k, False: 11]
  |  |  ------------------
  |  |  114|  11.2k|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|  11.2k|                        }                                                 \
  |  |  116|     11|                    }                                                     \
  |  |  117|     11|                }                                                         \
  |  |  118|     21|            }                                                             \
  |  |  119|     24|        } else {                                                          \
  |  |  120|     24|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|     24|    do {                                                              \
  |  |  |  |   46|     24|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|     24|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|     24|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 24]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|     24|        } else {                                                      \
  |  |  |  |   55|     24|            size_t j;                                                 \
  |  |  |  |   56|     24|            int err_ = 0;                                             \
  |  |  |  |   57|     24|            readcount = 0;                                            \
  |  |  |  |   58|    420|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 420, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|    420|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|    420|                readcount += j;                                       \
  |  |  |  |   61|    420|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 396, False: 24]
  |  |  |  |  ------------------
  |  |  |  |   62|  1.62M|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 1.62M, False: 396]
  |  |  |  |  ------------------
  |  |  |  |   63|  1.62M|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|  1.62M|                    }                                                 \
  |  |  |  |   65|    396|                } else {                                              \
  |  |  |  |   66|     24|                    err_ = 1;                                         \
  |  |  |  |   67|     24|                    break;                                            \
  |  |  |  |   68|     24|                }                                                     \
  |  |  |  |   69|    420|            }                                                         \
  |  |  |  |   70|     24|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 24]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|     24|        }                                                             \
  |  |  |  |   80|     24|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|     24|        }                                                                 \
  |  |  122|     45|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  144|     45|#endif
  145|     45|    return readcount;
  146|     45|}
read_data.c:ReadUInt64DataUInt16:
  150|     25|{
  151|     25|    size_t readcount;
  152|       |#if READ_TYPE_TYPE == READ_TYPE_UINT16
  153|       |    readcount = fread(data, sizeof(mat_uint16_t), len, (FILE *)mat->fp);
  154|       |    if ( readcount == len && mat->byteswap ) {
  155|       |        size_t i;
  156|       |        for ( i = 0; i < len; i++ ) {
  157|       |            (void)Mat_uint16Swap(data + i);
  158|       |        }
  159|       |    }
  160|       |#else
  161|     25|    size_t i;
  162|     25|    const size_t data_size = sizeof(mat_uint16_t);
  163|     25|    mat_uint16_t v[READ_BLOCK_SIZE / sizeof(mat_uint16_t)];
  164|     25|    READ_DATA(READ_TYPE, Mat_uint16Swap);
  ------------------
  |  |   83|     25|    do {                                                                  \
  |  |   84|     25|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 13, False: 12]
  |  |  ------------------
  |  |   85|     13|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|     13|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|     13|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 13]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|     13|            } else {                                                      \
  |  |   94|     13|                size_t j;                                                 \
  |  |   95|     13|                int err_ = 0;                                             \
  |  |   96|     13|                readcount = 0;                                            \
  |  |   97|    497|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 497, False: 0]
  |  |  ------------------
  |  |   98|    497|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|    497|                    readcount += j;                                       \
  |  |  100|    497|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 484, False: 13]
  |  |  ------------------
  |  |  101|  1.98M|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 1.98M, False: 484]
  |  |  ------------------
  |  |  102|  1.98M|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|  1.98M|                        }                                                 \
  |  |  104|    484|                    } else {                                              \
  |  |  105|     13|                        err_ = 1;                                         \
  |  |  106|     13|                        break;                                            \
  |  |  107|     13|                    }                                                     \
  |  |  108|    497|                }                                                         \
  |  |  109|     13|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 13]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|     13|            }                                                             \
  |  |  119|     13|        } else {                                                          \
  |  |  120|     12|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|     12|    do {                                                              \
  |  |  |  |   46|     12|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|     12|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|     12|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 12]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|     12|        } else {                                                      \
  |  |  |  |   55|     12|            size_t j;                                                 \
  |  |  |  |   56|     12|            int err_ = 0;                                             \
  |  |  |  |   57|     12|            readcount = 0;                                            \
  |  |  |  |   58|    180|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 180, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|    180|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|    180|                readcount += j;                                       \
  |  |  |  |   61|    180|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 168, False: 12]
  |  |  |  |  ------------------
  |  |  |  |   62|   688k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 688k, False: 168]
  |  |  |  |  ------------------
  |  |  |  |   63|   688k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|   688k|                    }                                                 \
  |  |  |  |   65|    168|                } else {                                              \
  |  |  |  |   66|     12|                    err_ = 1;                                         \
  |  |  |  |   67|     12|                    break;                                            \
  |  |  |  |   68|     12|                }                                                     \
  |  |  |  |   69|    180|            }                                                         \
  |  |  |  |   70|     12|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 12]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|     12|        }                                                             \
  |  |  |  |   80|     12|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|     12|        }                                                                 \
  |  |  122|     25|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  165|     25|#endif
  166|     25|    return readcount;
  167|     25|}
read_data.c:ReadUInt64DataInt8:
  171|      1|{
  172|      1|    size_t readcount;
  173|       |#if READ_TYPE_TYPE == READ_TYPE_INT8
  174|       |    readcount = fread(data, sizeof(mat_int8_t), len, (FILE *)mat->fp);
  175|       |#else
  176|      1|    size_t i;
  177|      1|    const size_t data_size = sizeof(mat_int8_t);
  178|      1|    mat_int8_t v[READ_BLOCK_SIZE / sizeof(mat_int8_t)];
  179|      1|    READ_DATA_NOSWAP(READ_TYPE);
  ------------------
  |  |   45|      1|    do {                                                              \
  |  |   46|      1|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      1|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   47|      1|        if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (47:14): [True: 1, False: 0]
  |  |  ------------------
  |  |   48|      1|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   49|      1|            if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (49:18): [True: 1, False: 0]
  |  |  ------------------
  |  |   50|      1|                for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (50:30): [True: 0, False: 1]
  |  |  ------------------
  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |   52|      0|                }                                                     \
  |  |   53|      1|            }                                                         \
  |  |   54|      1|        } else {                                                      \
  |  |   55|      0|            size_t j;                                                 \
  |  |   56|      0|            int err_ = 0;                                             \
  |  |   57|      0|            readcount = 0;                                            \
  |  |   58|      0|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (58:26): [True: 0, False: 0]
  |  |  ------------------
  |  |   59|      0|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   60|      0|                readcount += j;                                       \
  |  |   61|      0|                if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (61:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   62|      0|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (62:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   63|      0|                        data[i + j] = (T)v[j];                        \
  |  |   64|      0|                    }                                                 \
  |  |   65|      0|                } else {                                              \
  |  |   66|      0|                    err_ = 1;                                         \
  |  |   67|      0|                    break;                                            \
  |  |   68|      0|                }                                                     \
  |  |   69|      0|            }                                                         \
  |  |   70|      0|            if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (70:18): [True: 0, False: 0]
  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  ------------------
  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |   72|      0|                readcount += j;                                       \
  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |   76|      0|                    }                                                 \
  |  |   77|      0|                }                                                     \
  |  |   78|      0|            }                                                         \
  |  |   79|      0|        }                                                             \
  |  |   80|      1|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  180|      1|#endif
  181|      1|    return readcount;
  182|      1|}
read_data.c:ReadUInt64DataUInt8:
  186|      6|{
  187|      6|    size_t readcount;
  188|       |#if READ_TYPE_TYPE == READ_TYPE_UINT8
  189|       |    readcount = fread(data, sizeof(mat_uint8_t), len, (FILE *)mat->fp);
  190|       |#else
  191|      6|    size_t i;
  192|      6|    const size_t data_size = sizeof(mat_uint8_t);
  193|      6|    mat_uint8_t v[READ_BLOCK_SIZE / sizeof(mat_uint8_t)];
  194|      6|    READ_DATA_NOSWAP(READ_TYPE);
  ------------------
  |  |   45|      6|    do {                                                              \
  |  |   46|      6|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      6|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   47|      6|        if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (47:14): [True: 0, False: 6]
  |  |  ------------------
  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |   52|      0|                }                                                     \
  |  |   53|      0|            }                                                         \
  |  |   54|      6|        } else {                                                      \
  |  |   55|      6|            size_t j;                                                 \
  |  |   56|      6|            int err_ = 0;                                             \
  |  |   57|      6|            readcount = 0;                                            \
  |  |   58|    102|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (58:26): [True: 96, False: 6]
  |  |  ------------------
  |  |   59|     96|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   60|     96|                readcount += j;                                       \
  |  |   61|     96|                if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (61:22): [True: 96, False: 0]
  |  |  ------------------
  |  |   62|   786k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (62:34): [True: 786k, False: 96]
  |  |  ------------------
  |  |   63|   786k|                        data[i + j] = (T)v[j];                        \
  |  |   64|   786k|                    }                                                 \
  |  |   65|     96|                } else {                                              \
  |  |   66|      0|                    err_ = 1;                                         \
  |  |   67|      0|                    break;                                            \
  |  |   68|      0|                }                                                     \
  |  |   69|     96|            }                                                         \
  |  |   70|      6|            if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (70:18): [True: 6, False: 0]
  |  |  |  Branch (70:31): [True: 6, False: 0]
  |  |  ------------------
  |  |   71|      6|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |   72|      6|                readcount += j;                                       \
  |  |   73|      6|                if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (73:22): [True: 6, False: 0]
  |  |  ------------------
  |  |   74|  20.2k|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (74:34): [True: 20.2k, False: 6]
  |  |  ------------------
  |  |   75|  20.2k|                        data[i + j] = (T)v[j];                        \
  |  |   76|  20.2k|                    }                                                 \
  |  |   77|      6|                }                                                     \
  |  |   78|      6|            }                                                         \
  |  |   79|      6|        }                                                             \
  |  |   80|      6|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  195|      6|#endif
  196|      6|    return readcount;
  197|      6|}
read_data.c:ReadInt32DataInt64:
  202|      5|{
  203|      5|    size_t readcount;
  204|       |#if READ_TYPE_TYPE == READ_TYPE_INT64
  205|       |    readcount = fread(data, sizeof(mat_int64_t), len, (FILE *)mat->fp);
  206|       |    if ( readcount == len && mat->byteswap ) {
  207|       |        size_t i;
  208|       |        for ( i = 0; i < len; i++ ) {
  209|       |            (void)Mat_int64Swap(data + i);
  210|       |        }
  211|       |    }
  212|       |#else
  213|      5|    size_t i;
  214|      5|    const size_t data_size = sizeof(mat_int64_t);
  215|      5|    mat_int64_t v[READ_BLOCK_SIZE / sizeof(mat_int64_t)];
  216|      5|    READ_DATA(READ_TYPE, Mat_int64Swap);
  ------------------
  |  |   83|      5|    do {                                                                  \
  |  |   84|      5|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 5]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|      5|        } else {                                                          \
  |  |  120|      5|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|      5|    do {                                                              \
  |  |  |  |   46|      5|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|      5|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|      5|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 5]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|      5|        } else {                                                      \
  |  |  |  |   55|      5|            size_t j;                                                 \
  |  |  |  |   56|      5|            int err_ = 0;                                             \
  |  |  |  |   57|      5|            readcount = 0;                                            \
  |  |  |  |   58|    147|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 147, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|    147|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|    147|                readcount += j;                                       \
  |  |  |  |   61|    147|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 142, False: 5]
  |  |  |  |  ------------------
  |  |  |  |   62|   145k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 145k, False: 142]
  |  |  |  |  ------------------
  |  |  |  |   63|   145k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|   145k|                    }                                                 \
  |  |  |  |   65|    142|                } else {                                              \
  |  |  |  |   66|      5|                    err_ = 1;                                         \
  |  |  |  |   67|      5|                    break;                                            \
  |  |  |  |   68|      5|                }                                                     \
  |  |  |  |   69|    147|            }                                                         \
  |  |  |  |   70|      5|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 5]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|      5|        }                                                             \
  |  |  |  |   80|      5|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|      5|        }                                                                 \
  |  |  122|      5|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  217|      5|#endif
  218|      5|    return readcount;
  219|      5|}
read_data.c:ReadInt32DataUInt64:
  225|      3|{
  226|      3|    size_t readcount;
  227|       |#if READ_TYPE_TYPE == READ_TYPE_UINT64
  228|       |    readcount = fread(data, sizeof(mat_uint64_t), len, (FILE *)mat->fp);
  229|       |    if ( readcount == len && mat->byteswap ) {
  230|       |        size_t i;
  231|       |        for ( i = 0; i < len; i++ ) {
  232|       |            (void)Mat_uint64Swap(data + i);
  233|       |        }
  234|       |    }
  235|       |#else
  236|      3|    size_t i;
  237|      3|    const size_t data_size = sizeof(mat_uint64_t);
  238|      3|    mat_uint64_t v[READ_BLOCK_SIZE / sizeof(mat_uint64_t)];
  239|      3|    READ_DATA(READ_TYPE, Mat_uint64Swap);
  ------------------
  |  |   83|      3|    do {                                                                  \
  |  |   84|      3|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 3]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|      3|        } else {                                                          \
  |  |  120|      3|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|      3|    do {                                                              \
  |  |  |  |   46|      3|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|      3|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|      3|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 3]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|      3|        } else {                                                      \
  |  |  |  |   55|      3|            size_t j;                                                 \
  |  |  |  |   56|      3|            int err_ = 0;                                             \
  |  |  |  |   57|      3|            readcount = 0;                                            \
  |  |  |  |   58|     37|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 35, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   59|     35|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|     35|                readcount += j;                                       \
  |  |  |  |   61|     35|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 34, False: 1]
  |  |  |  |  ------------------
  |  |  |  |   62|  34.8k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 34.8k, False: 34]
  |  |  |  |  ------------------
  |  |  |  |   63|  34.8k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|  34.8k|                    }                                                 \
  |  |  |  |   65|     34|                } else {                                              \
  |  |  |  |   66|      1|                    err_ = 1;                                         \
  |  |  |  |   67|      1|                    break;                                            \
  |  |  |  |   68|      1|                }                                                     \
  |  |  |  |   69|     35|            }                                                         \
  |  |  |  |   70|      3|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 2, False: 1]
  |  |  |  |  |  Branch (70:31): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      2|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      2|                readcount += j;                                       \
  |  |  |  |   73|      2|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|     32|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 30, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   75|     30|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|     30|                    }                                                 \
  |  |  |  |   77|      2|                }                                                     \
  |  |  |  |   78|      2|            }                                                         \
  |  |  |  |   79|      3|        }                                                             \
  |  |  |  |   80|      3|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|      3|        }                                                                 \
  |  |  122|      3|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  240|      3|#endif
  241|      3|    return readcount;
  242|      3|}
read_data.c:ReadInt32DataInt32:
   87|      8|{
   88|      8|    size_t readcount;
   89|      8|#if READ_TYPE_TYPE == READ_TYPE_INT32
   90|      8|    readcount = fread(data, sizeof(mat_int32_t), len, (FILE *)mat->fp);
   91|      8|    if ( readcount == len && mat->byteswap ) {
  ------------------
  |  Branch (91:10): [True: 8, False: 0]
  |  Branch (91:30): [True: 4, False: 4]
  ------------------
   92|      4|        size_t i;
   93|  6.68k|        for ( i = 0; i < len; i++ ) {
  ------------------
  |  Branch (93:22): [True: 6.68k, False: 4]
  ------------------
   94|  6.68k|            (void)Mat_int32Swap(data + i);
   95|  6.68k|        }
   96|      4|    }
   97|       |#else
   98|       |    size_t i;
   99|       |    const size_t data_size = sizeof(mat_int32_t);
  100|       |    mat_int32_t v[READ_BLOCK_SIZE / sizeof(mat_int32_t)];
  101|       |    READ_DATA(READ_TYPE, Mat_int32Swap);
  102|       |#endif
  103|      8|    return readcount;
  104|      8|}
read_data.c:ReadInt32DataUInt32:
  108|     30|{
  109|     30|    size_t readcount;
  110|       |#if READ_TYPE_TYPE == READ_TYPE_UINT32
  111|       |    readcount = fread(data, sizeof(mat_uint32_t), len, (FILE *)mat->fp);
  112|       |    if ( readcount == len && mat->byteswap ) {
  113|       |        size_t i;
  114|       |        for ( i = 0; i < len; i++ ) {
  115|       |            (void)Mat_uint32Swap(data + i);
  116|       |        }
  117|       |    }
  118|       |#else
  119|     30|    size_t i;
  120|     30|    const size_t data_size = sizeof(mat_uint32_t);
  121|     30|    mat_uint32_t v[READ_BLOCK_SIZE / sizeof(mat_uint32_t)];
  122|     30|    READ_DATA(READ_TYPE, Mat_uint32Swap);
  ------------------
  |  |   83|     30|    do {                                                                  \
  |  |   84|     30|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 4, False: 26]
  |  |  ------------------
  |  |   85|      4|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      4|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      4|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 4, False: 0]
  |  |  ------------------
  |  |   87|      4|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      4|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 4, False: 0]
  |  |  ------------------
  |  |   89|  6.68k|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 6.68k, False: 4]
  |  |  ------------------
  |  |   90|  6.68k|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|  6.68k|                    }                                                     \
  |  |   92|      4|                }                                                         \
  |  |   93|      4|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|     26|        } else {                                                          \
  |  |  120|     26|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|     26|    do {                                                              \
  |  |  |  |   46|     26|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|     26|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|     26|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 26]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|     26|        } else {                                                      \
  |  |  |  |   55|     26|            size_t j;                                                 \
  |  |  |  |   56|     26|            int err_ = 0;                                             \
  |  |  |  |   57|     26|            readcount = 0;                                            \
  |  |  |  |   58|    611|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 611, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|    611|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|    611|                readcount += j;                                       \
  |  |  |  |   61|    611|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 585, False: 26]
  |  |  |  |  ------------------
  |  |  |  |   62|  1.19M|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 1.19M, False: 585]
  |  |  |  |  ------------------
  |  |  |  |   63|  1.19M|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|  1.19M|                    }                                                 \
  |  |  |  |   65|    585|                } else {                                              \
  |  |  |  |   66|     26|                    err_ = 1;                                         \
  |  |  |  |   67|     26|                    break;                                            \
  |  |  |  |   68|     26|                }                                                     \
  |  |  |  |   69|    611|            }                                                         \
  |  |  |  |   70|     26|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 26]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|     26|        }                                                             \
  |  |  |  |   80|     26|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|     26|        }                                                                 \
  |  |  122|     30|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  123|     30|#endif
  124|     30|    return readcount;
  125|     30|}
read_data.c:ReadInt32DataInt16:
  129|     16|{
  130|     16|    size_t readcount;
  131|       |#if READ_TYPE_TYPE == READ_TYPE_INT16
  132|       |    readcount = fread(data, sizeof(mat_int16_t), len, (FILE *)mat->fp);
  133|       |    if ( readcount == len && mat->byteswap ) {
  134|       |        size_t i;
  135|       |        for ( i = 0; i < len; i++ ) {
  136|       |            (void)Mat_int16Swap(data + i);
  137|       |        }
  138|       |    }
  139|       |#else
  140|     16|    size_t i;
  141|     16|    const size_t data_size = sizeof(mat_int16_t);
  142|     16|    mat_int16_t v[READ_BLOCK_SIZE / sizeof(mat_int16_t)];
  143|     16|    READ_DATA(READ_TYPE, Mat_int16Swap);
  ------------------
  |  |   83|     16|    do {                                                                  \
  |  |   84|     16|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 6, False: 10]
  |  |  ------------------
  |  |   85|      6|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      6|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      6|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 6]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      6|            } else {                                                      \
  |  |   94|      6|                size_t j;                                                 \
  |  |   95|      6|                int err_ = 0;                                             \
  |  |   96|      6|                readcount = 0;                                            \
  |  |   97|    195|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 192, False: 3]
  |  |  ------------------
  |  |   98|    192|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|    192|                    readcount += j;                                       \
  |  |  100|    192|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 189, False: 3]
  |  |  ------------------
  |  |  101|   774k|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 774k, False: 189]
  |  |  ------------------
  |  |  102|   774k|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|   774k|                        }                                                 \
  |  |  104|    189|                    } else {                                              \
  |  |  105|      3|                        err_ = 1;                                         \
  |  |  106|      3|                        break;                                            \
  |  |  107|      3|                    }                                                     \
  |  |  108|    192|                }                                                         \
  |  |  109|      6|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 3, False: 3]
  |  |  |  Branch (109:35): [True: 3, False: 0]
  |  |  ------------------
  |  |  110|      3|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      3|                    readcount += j;                                       \
  |  |  112|      3|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 3, False: 0]
  |  |  ------------------
  |  |  113|  10.1k|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 10.1k, False: 3]
  |  |  ------------------
  |  |  114|  10.1k|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|  10.1k|                        }                                                 \
  |  |  116|      3|                    }                                                     \
  |  |  117|      3|                }                                                         \
  |  |  118|      6|            }                                                             \
  |  |  119|     10|        } else {                                                          \
  |  |  120|     10|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|     10|    do {                                                              \
  |  |  |  |   46|     10|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|     10|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|     10|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 10]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|     10|        } else {                                                      \
  |  |  |  |   55|     10|            size_t j;                                                 \
  |  |  |  |   56|     10|            int err_ = 0;                                             \
  |  |  |  |   57|     10|            readcount = 0;                                            \
  |  |  |  |   58|    235|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 235, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|    235|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|    235|                readcount += j;                                       \
  |  |  |  |   61|    235|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 225, False: 10]
  |  |  |  |  ------------------
  |  |  |  |   62|   921k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 921k, False: 225]
  |  |  |  |  ------------------
  |  |  |  |   63|   921k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|   921k|                    }                                                 \
  |  |  |  |   65|    225|                } else {                                              \
  |  |  |  |   66|     10|                    err_ = 1;                                         \
  |  |  |  |   67|     10|                    break;                                            \
  |  |  |  |   68|     10|                }                                                     \
  |  |  |  |   69|    235|            }                                                         \
  |  |  |  |   70|     10|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 10]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|     10|        }                                                             \
  |  |  |  |   80|     10|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|     10|        }                                                                 \
  |  |  122|     16|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  144|     16|#endif
  145|     16|    return readcount;
  146|     16|}
read_data.c:ReadInt32DataUInt16:
  150|     35|{
  151|     35|    size_t readcount;
  152|       |#if READ_TYPE_TYPE == READ_TYPE_UINT16
  153|       |    readcount = fread(data, sizeof(mat_uint16_t), len, (FILE *)mat->fp);
  154|       |    if ( readcount == len && mat->byteswap ) {
  155|       |        size_t i;
  156|       |        for ( i = 0; i < len; i++ ) {
  157|       |            (void)Mat_uint16Swap(data + i);
  158|       |        }
  159|       |    }
  160|       |#else
  161|     35|    size_t i;
  162|     35|    const size_t data_size = sizeof(mat_uint16_t);
  163|     35|    mat_uint16_t v[READ_BLOCK_SIZE / sizeof(mat_uint16_t)];
  164|     35|    READ_DATA(READ_TYPE, Mat_uint16Swap);
  ------------------
  |  |   83|     35|    do {                                                                  \
  |  |   84|     35|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 33, False: 2]
  |  |  ------------------
  |  |   85|     33|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|     33|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|     33|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 33]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|     33|            } else {                                                      \
  |  |   94|     33|                size_t j;                                                 \
  |  |   95|     33|                int err_ = 0;                                             \
  |  |   96|     33|                readcount = 0;                                            \
  |  |   97|  1.03k|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 1.02k, False: 5]
  |  |  ------------------
  |  |   98|  1.02k|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|  1.02k|                    readcount += j;                                       \
  |  |  100|  1.02k|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 997, False: 28]
  |  |  ------------------
  |  |  101|  4.08M|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 4.08M, False: 997]
  |  |  ------------------
  |  |  102|  4.08M|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|  4.08M|                        }                                                 \
  |  |  104|    997|                    } else {                                              \
  |  |  105|     28|                        err_ = 1;                                         \
  |  |  106|     28|                        break;                                            \
  |  |  107|     28|                    }                                                     \
  |  |  108|  1.02k|                }                                                         \
  |  |  109|     33|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 5, False: 28]
  |  |  |  Branch (109:35): [True: 5, False: 0]
  |  |  ------------------
  |  |  110|      5|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      5|                    readcount += j;                                       \
  |  |  112|      5|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 5, False: 0]
  |  |  ------------------
  |  |  113|  5.12k|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 5.12k, False: 5]
  |  |  ------------------
  |  |  114|  5.12k|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|  5.12k|                        }                                                 \
  |  |  116|      5|                    }                                                     \
  |  |  117|      5|                }                                                         \
  |  |  118|     33|            }                                                             \
  |  |  119|     33|        } else {                                                          \
  |  |  120|      2|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|      2|    do {                                                              \
  |  |  |  |   46|      2|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|      2|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|      2|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|      2|        } else {                                                      \
  |  |  |  |   55|      2|            size_t j;                                                 \
  |  |  |  |   56|      2|            int err_ = 0;                                             \
  |  |  |  |   57|      2|            readcount = 0;                                            \
  |  |  |  |   58|     34|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 34, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|     34|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|     34|                readcount += j;                                       \
  |  |  |  |   61|     34|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 32, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   62|   131k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 131k, False: 32]
  |  |  |  |  ------------------
  |  |  |  |   63|   131k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|   131k|                    }                                                 \
  |  |  |  |   65|     32|                } else {                                              \
  |  |  |  |   66|      2|                    err_ = 1;                                         \
  |  |  |  |   67|      2|                    break;                                            \
  |  |  |  |   68|      2|                }                                                     \
  |  |  |  |   69|     34|            }                                                         \
  |  |  |  |   70|      2|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 2]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|      2|        }                                                             \
  |  |  |  |   80|      2|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|      2|        }                                                                 \
  |  |  122|     35|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  165|     35|#endif
  166|     35|    return readcount;
  167|     35|}
read_data.c:ReadInt32DataInt8:
  171|     20|{
  172|     20|    size_t readcount;
  173|       |#if READ_TYPE_TYPE == READ_TYPE_INT8
  174|       |    readcount = fread(data, sizeof(mat_int8_t), len, (FILE *)mat->fp);
  175|       |#else
  176|     20|    size_t i;
  177|     20|    const size_t data_size = sizeof(mat_int8_t);
  178|     20|    mat_int8_t v[READ_BLOCK_SIZE / sizeof(mat_int8_t)];
  179|     20|    READ_DATA_NOSWAP(READ_TYPE);
  ------------------
  |  |   45|     20|    do {                                                              \
  |  |   46|     20|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|     20|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   47|     20|        if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (47:14): [True: 0, False: 20]
  |  |  ------------------
  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |   52|      0|                }                                                     \
  |  |   53|      0|            }                                                         \
  |  |   54|     20|        } else {                                                      \
  |  |   55|     20|            size_t j;                                                 \
  |  |   56|     20|            int err_ = 0;                                             \
  |  |   57|     20|            readcount = 0;                                            \
  |  |   58|    470|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (58:26): [True: 470, False: 0]
  |  |  ------------------
  |  |   59|    470|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   60|    470|                readcount += j;                                       \
  |  |   61|    470|                if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (61:22): [True: 450, False: 20]
  |  |  ------------------
  |  |   62|  3.68M|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (62:34): [True: 3.68M, False: 450]
  |  |  ------------------
  |  |   63|  3.68M|                        data[i + j] = (T)v[j];                        \
  |  |   64|  3.68M|                    }                                                 \
  |  |   65|    450|                } else {                                              \
  |  |   66|     20|                    err_ = 1;                                         \
  |  |   67|     20|                    break;                                            \
  |  |   68|     20|                }                                                     \
  |  |   69|    470|            }                                                         \
  |  |   70|     20|            if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (70:18): [True: 0, False: 20]
  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  ------------------
  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |   72|      0|                readcount += j;                                       \
  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |   76|      0|                    }                                                 \
  |  |   77|      0|                }                                                     \
  |  |   78|      0|            }                                                         \
  |  |   79|     20|        }                                                             \
  |  |   80|     20|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  180|     20|#endif
  181|     20|    return readcount;
  182|     20|}
read_data.c:ReadUInt32DataDouble:
   45|      6|{
   46|      6|    size_t readcount;
   47|       |#if READ_TYPE_TYPE == READ_TYPE_DOUBLE
   48|       |    readcount = fread(data, sizeof(double), len, (FILE *)mat->fp);
   49|       |    if ( readcount == len && mat->byteswap ) {
   50|       |        size_t i;
   51|       |        for ( i = 0; i < len; i++ ) {
   52|       |            (void)Mat_doubleSwap(data + i);
   53|       |        }
   54|       |    }
   55|       |#else
   56|      6|    size_t i;
   57|      6|    const size_t data_size = sizeof(double);
   58|      6|    double v[READ_BLOCK_SIZE / sizeof(double)];
   59|      6|    READ_DATA(READ_TYPE, Mat_doubleSwap);
  ------------------
  |  |   83|      6|    do {                                                                  \
  |  |   84|      6|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 4, False: 2]
  |  |  ------------------
  |  |   85|      4|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      4|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      4|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 4]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      4|            } else {                                                      \
  |  |   94|      4|                size_t j;                                                 \
  |  |   95|      4|                int err_ = 0;                                             \
  |  |   96|      4|                readcount = 0;                                            \
  |  |   97|     52|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 48, False: 4]
  |  |  ------------------
  |  |   98|     48|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|     48|                    readcount += j;                                       \
  |  |  100|     48|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 48, False: 0]
  |  |  ------------------
  |  |  101|  49.2k|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 49.1k, False: 48]
  |  |  ------------------
  |  |  102|  49.1k|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|  49.1k|                        }                                                 \
  |  |  104|     48|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|     48|                }                                                         \
  |  |  109|      4|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 4, False: 0]
  |  |  |  Branch (109:35): [True: 4, False: 0]
  |  |  ------------------
  |  |  110|      4|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      4|                    readcount += j;                                       \
  |  |  112|      4|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 4, False: 0]
  |  |  ------------------
  |  |  113|    140|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 136, False: 4]
  |  |  ------------------
  |  |  114|    136|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|    136|                        }                                                 \
  |  |  116|      4|                    }                                                     \
  |  |  117|      4|                }                                                         \
  |  |  118|      4|            }                                                             \
  |  |  119|      4|        } else {                                                          \
  |  |  120|      2|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|      2|    do {                                                              \
  |  |  |  |   46|      2|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|      2|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|      2|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|      2|        } else {                                                      \
  |  |  |  |   55|      2|            size_t j;                                                 \
  |  |  |  |   56|      2|            int err_ = 0;                                             \
  |  |  |  |   57|      2|            readcount = 0;                                            \
  |  |  |  |   58|      4|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 2, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   59|      2|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|      2|                readcount += j;                                       \
  |  |  |  |   61|      2|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   62|  2.05k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 2.04k, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   63|  2.04k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|  2.04k|                    }                                                 \
  |  |  |  |   65|      2|                } else {                                              \
  |  |  |  |   66|      0|                    err_ = 1;                                         \
  |  |  |  |   67|      0|                    break;                                            \
  |  |  |  |   68|      0|                }                                                     \
  |  |  |  |   69|      2|            }                                                         \
  |  |  |  |   70|      2|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 2, False: 0]
  |  |  |  |  |  Branch (70:31): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      2|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      2|                readcount += j;                                       \
  |  |  |  |   73|      2|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|    264|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 262, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   75|    262|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|    262|                    }                                                 \
  |  |  |  |   77|      2|                }                                                     \
  |  |  |  |   78|      2|            }                                                         \
  |  |  |  |   79|      2|        }                                                             \
  |  |  |  |   80|      2|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|      2|        }                                                                 \
  |  |  122|      6|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
   60|      6|#endif
   61|      6|    return readcount;
   62|      6|}
read_data.c:ReadUInt32DataSingle:
   66|      4|{
   67|      4|    size_t readcount;
   68|       |#if READ_TYPE_TYPE == READ_TYPE_SINGLE
   69|       |    readcount = fread(data, sizeof(float), len, (FILE *)mat->fp);
   70|       |    if ( readcount == len && mat->byteswap ) {
   71|       |        size_t i;
   72|       |        for ( i = 0; i < len; i++ ) {
   73|       |            (void)Mat_floatSwap(data + i);
   74|       |        }
   75|       |    }
   76|       |#else
   77|      4|    size_t i;
   78|      4|    const size_t data_size = sizeof(float);
   79|      4|    float v[READ_BLOCK_SIZE / sizeof(float)];
   80|      4|    READ_DATA(READ_TYPE, Mat_floatSwap);
  ------------------
  |  |   83|      4|    do {                                                                  \
  |  |   84|      4|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 4]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|      4|        } else {                                                          \
  |  |  120|      4|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|      4|    do {                                                              \
  |  |  |  |   46|      4|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|      4|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|      4|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 4]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|      4|        } else {                                                      \
  |  |  |  |   55|      4|            size_t j;                                                 \
  |  |  |  |   56|      4|            int err_ = 0;                                             \
  |  |  |  |   57|      4|            readcount = 0;                                            \
  |  |  |  |   58|     60|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 60, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|     60|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|     60|                readcount += j;                                       \
  |  |  |  |   61|     60|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 56, False: 4]
  |  |  |  |  ------------------
  |  |  |  |   62|   114k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 114k, False: 56]
  |  |  |  |  ------------------
  |  |  |  |   63|   114k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|   114k|                    }                                                 \
  |  |  |  |   65|     56|                } else {                                              \
  |  |  |  |   66|      4|                    err_ = 1;                                         \
  |  |  |  |   67|      4|                    break;                                            \
  |  |  |  |   68|      4|                }                                                     \
  |  |  |  |   69|     60|            }                                                         \
  |  |  |  |   70|      4|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 4]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|      4|        }                                                             \
  |  |  |  |   80|      4|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|      4|        }                                                                 \
  |  |  122|      4|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
   81|      4|#endif
   82|      4|    return readcount;
   83|      4|}
read_data.c:ReadUInt32DataInt64:
  202|     51|{
  203|     51|    size_t readcount;
  204|       |#if READ_TYPE_TYPE == READ_TYPE_INT64
  205|       |    readcount = fread(data, sizeof(mat_int64_t), len, (FILE *)mat->fp);
  206|       |    if ( readcount == len && mat->byteswap ) {
  207|       |        size_t i;
  208|       |        for ( i = 0; i < len; i++ ) {
  209|       |            (void)Mat_int64Swap(data + i);
  210|       |        }
  211|       |    }
  212|       |#else
  213|     51|    size_t i;
  214|     51|    const size_t data_size = sizeof(mat_int64_t);
  215|     51|    mat_int64_t v[READ_BLOCK_SIZE / sizeof(mat_int64_t)];
  216|     51|    READ_DATA(READ_TYPE, Mat_int64Swap);
  ------------------
  |  |   83|     51|    do {                                                                  \
  |  |   84|     51|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 50, False: 1]
  |  |  ------------------
  |  |   85|     50|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|     50|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|     50|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 50]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|     50|            } else {                                                      \
  |  |   94|     50|                size_t j;                                                 \
  |  |   95|     50|                int err_ = 0;                                             \
  |  |   96|     50|                readcount = 0;                                            \
  |  |   97|  3.62k|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 3.62k, False: 0]
  |  |  ------------------
  |  |   98|  3.62k|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|  3.62k|                    readcount += j;                                       \
  |  |  100|  3.62k|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 3.57k, False: 50]
  |  |  ------------------
  |  |  101|  3.66M|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 3.65M, False: 3.57k]
  |  |  ------------------
  |  |  102|  3.65M|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|  3.65M|                        }                                                 \
  |  |  104|  3.57k|                    } else {                                              \
  |  |  105|     50|                        err_ = 1;                                         \
  |  |  106|     50|                        break;                                            \
  |  |  107|     50|                    }                                                     \
  |  |  108|  3.62k|                }                                                         \
  |  |  109|     50|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 50]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|     50|            }                                                             \
  |  |  119|     50|        } else {                                                          \
  |  |  120|      1|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|      1|    do {                                                              \
  |  |  |  |   46|      1|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|      1|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|      1|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|      1|        } else {                                                      \
  |  |  |  |   55|      1|            size_t j;                                                 \
  |  |  |  |   56|      1|            int err_ = 0;                                             \
  |  |  |  |   57|      1|            readcount = 0;                                            \
  |  |  |  |   58|      2|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 1, False: 1]
  |  |  |  |  ------------------
  |  |  |  |   59|      1|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|      1|                readcount += j;                                       \
  |  |  |  |   61|      1|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   62|  1.02k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 1.02k, False: 1]
  |  |  |  |  ------------------
  |  |  |  |   63|  1.02k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|  1.02k|                    }                                                 \
  |  |  |  |   65|      1|                } else {                                              \
  |  |  |  |   66|      0|                    err_ = 1;                                         \
  |  |  |  |   67|      0|                    break;                                            \
  |  |  |  |   68|      0|                }                                                     \
  |  |  |  |   69|      1|            }                                                         \
  |  |  |  |   70|      1|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 1, False: 0]
  |  |  |  |  |  Branch (70:31): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      1|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      1|                readcount += j;                                       \
  |  |  |  |   73|      1|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|    132|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 131, False: 1]
  |  |  |  |  ------------------
  |  |  |  |   75|    131|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|    131|                    }                                                 \
  |  |  |  |   77|      1|                }                                                     \
  |  |  |  |   78|      1|            }                                                         \
  |  |  |  |   79|      1|        }                                                             \
  |  |  |  |   80|      1|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|      1|        }                                                                 \
  |  |  122|     51|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  217|     51|#endif
  218|     51|    return readcount;
  219|     51|}
read_data.c:ReadUInt32DataUInt64:
  225|     63|{
  226|     63|    size_t readcount;
  227|       |#if READ_TYPE_TYPE == READ_TYPE_UINT64
  228|       |    readcount = fread(data, sizeof(mat_uint64_t), len, (FILE *)mat->fp);
  229|       |    if ( readcount == len && mat->byteswap ) {
  230|       |        size_t i;
  231|       |        for ( i = 0; i < len; i++ ) {
  232|       |            (void)Mat_uint64Swap(data + i);
  233|       |        }
  234|       |    }
  235|       |#else
  236|     63|    size_t i;
  237|     63|    const size_t data_size = sizeof(mat_uint64_t);
  238|     63|    mat_uint64_t v[READ_BLOCK_SIZE / sizeof(mat_uint64_t)];
  239|     63|    READ_DATA(READ_TYPE, Mat_uint64Swap);
  ------------------
  |  |   83|     63|    do {                                                                  \
  |  |   84|     63|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 63]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|     63|        } else {                                                          \
  |  |  120|     63|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|     63|    do {                                                              \
  |  |  |  |   46|     63|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|     63|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|     63|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 63]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|     63|        } else {                                                      \
  |  |  |  |   55|     63|            size_t j;                                                 \
  |  |  |  |   56|     63|            int err_ = 0;                                             \
  |  |  |  |   57|     63|            readcount = 0;                                            \
  |  |  |  |   58|    411|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 350, False: 61]
  |  |  |  |  ------------------
  |  |  |  |   59|    350|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|    350|                readcount += j;                                       \
  |  |  |  |   61|    350|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 348, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   62|   356k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 356k, False: 348]
  |  |  |  |  ------------------
  |  |  |  |   63|   356k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|   356k|                    }                                                 \
  |  |  |  |   65|    348|                } else {                                              \
  |  |  |  |   66|      2|                    err_ = 1;                                         \
  |  |  |  |   67|      2|                    break;                                            \
  |  |  |  |   68|      2|                }                                                     \
  |  |  |  |   69|    350|            }                                                         \
  |  |  |  |   70|     63|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 61, False: 2]
  |  |  |  |  |  Branch (70:31): [True: 61, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|     61|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|     61|                readcount += j;                                       \
  |  |  |  |   73|     61|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 61, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|  8.05k|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 7.99k, False: 61]
  |  |  |  |  ------------------
  |  |  |  |   75|  7.99k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|  7.99k|                    }                                                 \
  |  |  |  |   77|     61|                }                                                     \
  |  |  |  |   78|     61|            }                                                         \
  |  |  |  |   79|     63|        }                                                             \
  |  |  |  |   80|     63|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|     63|        }                                                                 \
  |  |  122|     63|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  240|     63|#endif
  241|     63|    return readcount;
  242|     63|}
read_data.c:ReadUInt32DataInt32:
   87|     42|{
   88|     42|    size_t readcount;
   89|       |#if READ_TYPE_TYPE == READ_TYPE_INT32
   90|       |    readcount = fread(data, sizeof(mat_int32_t), len, (FILE *)mat->fp);
   91|       |    if ( readcount == len && mat->byteswap ) {
   92|       |        size_t i;
   93|       |        for ( i = 0; i < len; i++ ) {
   94|       |            (void)Mat_int32Swap(data + i);
   95|       |        }
   96|       |    }
   97|       |#else
   98|     42|    size_t i;
   99|     42|    const size_t data_size = sizeof(mat_int32_t);
  100|     42|    mat_int32_t v[READ_BLOCK_SIZE / sizeof(mat_int32_t)];
  101|     42|    READ_DATA(READ_TYPE, Mat_int32Swap);
  ------------------
  |  |   83|     42|    do {                                                                  \
  |  |   84|     42|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 32, False: 10]
  |  |  ------------------
  |  |   85|     32|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|     32|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|     32|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 32]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|     32|            } else {                                                      \
  |  |   94|     32|                size_t j;                                                 \
  |  |   95|     32|                int err_ = 0;                                             \
  |  |   96|     32|                readcount = 0;                                            \
  |  |   97|  1.98k|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 1.95k, False: 32]
  |  |  ------------------
  |  |   98|  1.95k|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|  1.95k|                    readcount += j;                                       \
  |  |  100|  1.95k|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 1.95k, False: 0]
  |  |  ------------------
  |  |  101|  3.99M|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 3.99M, False: 1.95k]
  |  |  ------------------
  |  |  102|  3.99M|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|  3.99M|                        }                                                 \
  |  |  104|  1.95k|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|  1.95k|                }                                                         \
  |  |  109|     32|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 32, False: 0]
  |  |  |  Branch (109:35): [True: 32, False: 0]
  |  |  ------------------
  |  |  110|     32|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|     32|                    readcount += j;                                       \
  |  |  112|     32|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 32, False: 0]
  |  |  ------------------
  |  |  113|  40.4k|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 40.4k, False: 32]
  |  |  ------------------
  |  |  114|  40.4k|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|  40.4k|                        }                                                 \
  |  |  116|     32|                    }                                                     \
  |  |  117|     32|                }                                                         \
  |  |  118|     32|            }                                                             \
  |  |  119|     32|        } else {                                                          \
  |  |  120|     10|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|     10|    do {                                                              \
  |  |  |  |   46|     10|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|     10|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|     10|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 4, False: 6]
  |  |  |  |  ------------------
  |  |  |  |   48|      4|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      4|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 4, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      4|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 4]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      4|            }                                                         \
  |  |  |  |   54|      6|        } else {                                                      \
  |  |  |  |   55|      6|            size_t j;                                                 \
  |  |  |  |   56|      6|            int err_ = 0;                                             \
  |  |  |  |   57|      6|            readcount = 0;                                            \
  |  |  |  |   58|    236|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 236, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|    236|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|    236|                readcount += j;                                       \
  |  |  |  |   61|    236|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 230, False: 6]
  |  |  |  |  ------------------
  |  |  |  |   62|   471k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 471k, False: 230]
  |  |  |  |  ------------------
  |  |  |  |   63|   471k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|   471k|                    }                                                 \
  |  |  |  |   65|    230|                } else {                                              \
  |  |  |  |   66|      6|                    err_ = 1;                                         \
  |  |  |  |   67|      6|                    break;                                            \
  |  |  |  |   68|      6|                }                                                     \
  |  |  |  |   69|    236|            }                                                         \
  |  |  |  |   70|      6|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 6]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|      6|        }                                                             \
  |  |  |  |   80|     10|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|     10|        }                                                                 \
  |  |  122|     42|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  102|     42|#endif
  103|     42|    return readcount;
  104|     42|}
read_data.c:ReadUInt32DataUInt32:
  108|     10|{
  109|     10|    size_t readcount;
  110|     10|#if READ_TYPE_TYPE == READ_TYPE_UINT32
  111|     10|    readcount = fread(data, sizeof(mat_uint32_t), len, (FILE *)mat->fp);
  112|     10|    if ( readcount == len && mat->byteswap ) {
  ------------------
  |  Branch (112:10): [True: 10, False: 0]
  |  Branch (112:30): [True: 2, False: 8]
  ------------------
  113|      2|        size_t i;
  114|    516|        for ( i = 0; i < len; i++ ) {
  ------------------
  |  Branch (114:22): [True: 514, False: 2]
  ------------------
  115|    514|            (void)Mat_uint32Swap(data + i);
  116|    514|        }
  117|      2|    }
  118|       |#else
  119|       |    size_t i;
  120|       |    const size_t data_size = sizeof(mat_uint32_t);
  121|       |    mat_uint32_t v[READ_BLOCK_SIZE / sizeof(mat_uint32_t)];
  122|       |    READ_DATA(READ_TYPE, Mat_uint32Swap);
  123|       |#endif
  124|     10|    return readcount;
  125|     10|}
read_data.c:ReadUInt32DataInt16:
  129|      8|{
  130|      8|    size_t readcount;
  131|       |#if READ_TYPE_TYPE == READ_TYPE_INT16
  132|       |    readcount = fread(data, sizeof(mat_int16_t), len, (FILE *)mat->fp);
  133|       |    if ( readcount == len && mat->byteswap ) {
  134|       |        size_t i;
  135|       |        for ( i = 0; i < len; i++ ) {
  136|       |            (void)Mat_int16Swap(data + i);
  137|       |        }
  138|       |    }
  139|       |#else
  140|      8|    size_t i;
  141|      8|    const size_t data_size = sizeof(mat_int16_t);
  142|      8|    mat_int16_t v[READ_BLOCK_SIZE / sizeof(mat_int16_t)];
  143|      8|    READ_DATA(READ_TYPE, Mat_int16Swap);
  ------------------
  |  |   83|      8|    do {                                                                  \
  |  |   84|      8|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 8]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|      8|        } else {                                                          \
  |  |  120|      8|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|      8|    do {                                                              \
  |  |  |  |   46|      8|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|      8|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|      8|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 8]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|      8|        } else {                                                      \
  |  |  |  |   55|      8|            size_t j;                                                 \
  |  |  |  |   56|      8|            int err_ = 0;                                             \
  |  |  |  |   57|      8|            readcount = 0;                                            \
  |  |  |  |   58|    122|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 122, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|    122|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|    122|                readcount += j;                                       \
  |  |  |  |   61|    122|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 114, False: 8]
  |  |  |  |  ------------------
  |  |  |  |   62|   467k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 466k, False: 114]
  |  |  |  |  ------------------
  |  |  |  |   63|   466k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|   466k|                    }                                                 \
  |  |  |  |   65|    114|                } else {                                              \
  |  |  |  |   66|      8|                    err_ = 1;                                         \
  |  |  |  |   67|      8|                    break;                                            \
  |  |  |  |   68|      8|                }                                                     \
  |  |  |  |   69|    122|            }                                                         \
  |  |  |  |   70|      8|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 8]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|      8|        }                                                             \
  |  |  |  |   80|      8|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|      8|        }                                                                 \
  |  |  122|      8|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  144|      8|#endif
  145|      8|    return readcount;
  146|      8|}
read_data.c:ReadUInt32DataUInt16:
  150|     12|{
  151|     12|    size_t readcount;
  152|       |#if READ_TYPE_TYPE == READ_TYPE_UINT16
  153|       |    readcount = fread(data, sizeof(mat_uint16_t), len, (FILE *)mat->fp);
  154|       |    if ( readcount == len && mat->byteswap ) {
  155|       |        size_t i;
  156|       |        for ( i = 0; i < len; i++ ) {
  157|       |            (void)Mat_uint16Swap(data + i);
  158|       |        }
  159|       |    }
  160|       |#else
  161|     12|    size_t i;
  162|     12|    const size_t data_size = sizeof(mat_uint16_t);
  163|     12|    mat_uint16_t v[READ_BLOCK_SIZE / sizeof(mat_uint16_t)];
  164|     12|    READ_DATA(READ_TYPE, Mat_uint16Swap);
  ------------------
  |  |   83|     12|    do {                                                                  \
  |  |   84|     12|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 12]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|     12|        } else {                                                          \
  |  |  120|     12|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|     12|    do {                                                              \
  |  |  |  |   46|     12|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|     12|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|     12|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 12]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|     12|        } else {                                                      \
  |  |  |  |   55|     12|            size_t j;                                                 \
  |  |  |  |   56|     12|            int err_ = 0;                                             \
  |  |  |  |   57|     12|            readcount = 0;                                            \
  |  |  |  |   58|    472|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 472, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|    472|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|    472|                readcount += j;                                       \
  |  |  |  |   61|    472|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 460, False: 12]
  |  |  |  |  ------------------
  |  |  |  |   62|  1.88M|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 1.88M, False: 460]
  |  |  |  |  ------------------
  |  |  |  |   63|  1.88M|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|  1.88M|                    }                                                 \
  |  |  |  |   65|    460|                } else {                                              \
  |  |  |  |   66|     12|                    err_ = 1;                                         \
  |  |  |  |   67|     12|                    break;                                            \
  |  |  |  |   68|     12|                }                                                     \
  |  |  |  |   69|    472|            }                                                         \
  |  |  |  |   70|     12|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 12]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|     12|        }                                                             \
  |  |  |  |   80|     12|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|     12|        }                                                                 \
  |  |  122|     12|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  165|     12|#endif
  166|     12|    return readcount;
  167|     12|}
read_data.c:ReadUInt32DataUInt8:
  186|     14|{
  187|     14|    size_t readcount;
  188|       |#if READ_TYPE_TYPE == READ_TYPE_UINT8
  189|       |    readcount = fread(data, sizeof(mat_uint8_t), len, (FILE *)mat->fp);
  190|       |#else
  191|     14|    size_t i;
  192|     14|    const size_t data_size = sizeof(mat_uint8_t);
  193|     14|    mat_uint8_t v[READ_BLOCK_SIZE / sizeof(mat_uint8_t)];
  194|     14|    READ_DATA_NOSWAP(READ_TYPE);
  ------------------
  |  |   45|     14|    do {                                                              \
  |  |   46|     14|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|     14|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   47|     14|        if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (47:14): [True: 0, False: 14]
  |  |  ------------------
  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |   52|      0|                }                                                     \
  |  |   53|      0|            }                                                         \
  |  |   54|     14|        } else {                                                      \
  |  |   55|     14|            size_t j;                                                 \
  |  |   56|     14|            int err_ = 0;                                             \
  |  |   57|     14|            readcount = 0;                                            \
  |  |   58|    238|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (58:26): [True: 224, False: 14]
  |  |  ------------------
  |  |   59|    224|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   60|    224|                readcount += j;                                       \
  |  |   61|    224|                if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (61:22): [True: 224, False: 0]
  |  |  ------------------
  |  |   62|  1.83M|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (62:34): [True: 1.83M, False: 224]
  |  |  ------------------
  |  |   63|  1.83M|                        data[i + j] = (T)v[j];                        \
  |  |   64|  1.83M|                    }                                                 \
  |  |   65|    224|                } else {                                              \
  |  |   66|      0|                    err_ = 1;                                         \
  |  |   67|      0|                    break;                                            \
  |  |   68|      0|                }                                                     \
  |  |   69|    224|            }                                                         \
  |  |   70|     14|            if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (70:18): [True: 14, False: 0]
  |  |  |  Branch (70:31): [True: 14, False: 0]
  |  |  ------------------
  |  |   71|     14|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |   72|     14|                readcount += j;                                       \
  |  |   73|     14|                if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (73:22): [True: 14, False: 0]
  |  |  ------------------
  |  |   74|  46.9k|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (74:34): [True: 46.9k, False: 14]
  |  |  ------------------
  |  |   75|  46.9k|                        data[i + j] = (T)v[j];                        \
  |  |   76|  46.9k|                    }                                                 \
  |  |   77|     14|                }                                                     \
  |  |   78|     14|            }                                                         \
  |  |   79|     14|        }                                                             \
  |  |   80|     14|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  195|     14|#endif
  196|     14|    return readcount;
  197|     14|}
read_data.c:ReadInt16DataDouble:
   45|      2|{
   46|      2|    size_t readcount;
   47|       |#if READ_TYPE_TYPE == READ_TYPE_DOUBLE
   48|       |    readcount = fread(data, sizeof(double), len, (FILE *)mat->fp);
   49|       |    if ( readcount == len && mat->byteswap ) {
   50|       |        size_t i;
   51|       |        for ( i = 0; i < len; i++ ) {
   52|       |            (void)Mat_doubleSwap(data + i);
   53|       |        }
   54|       |    }
   55|       |#else
   56|      2|    size_t i;
   57|      2|    const size_t data_size = sizeof(double);
   58|      2|    double v[READ_BLOCK_SIZE / sizeof(double)];
   59|      2|    READ_DATA(READ_TYPE, Mat_doubleSwap);
  ------------------
  |  |   83|      2|    do {                                                                  \
  |  |   84|      2|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 2]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|      2|        } else {                                                          \
  |  |  120|      2|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|      2|    do {                                                              \
  |  |  |  |   46|      2|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|      2|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|      2|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|      2|        } else {                                                      \
  |  |  |  |   55|      2|            size_t j;                                                 \
  |  |  |  |   56|      2|            int err_ = 0;                                             \
  |  |  |  |   57|      2|            readcount = 0;                                            \
  |  |  |  |   58|     87|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 87, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|     87|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|     87|                readcount += j;                                       \
  |  |  |  |   61|     87|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 85, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   62|  87.1k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 87.0k, False: 85]
  |  |  |  |  ------------------
  |  |  |  |   63|  87.0k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|  87.0k|                    }                                                 \
  |  |  |  |   65|     85|                } else {                                              \
  |  |  |  |   66|      2|                    err_ = 1;                                         \
  |  |  |  |   67|      2|                    break;                                            \
  |  |  |  |   68|      2|                }                                                     \
  |  |  |  |   69|     87|            }                                                         \
  |  |  |  |   70|      2|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 2]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|      2|        }                                                             \
  |  |  |  |   80|      2|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|      2|        }                                                                 \
  |  |  122|      2|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
   60|      2|#endif
   61|      2|    return readcount;
   62|      2|}
read_data.c:ReadInt16DataSingle:
   66|     16|{
   67|     16|    size_t readcount;
   68|       |#if READ_TYPE_TYPE == READ_TYPE_SINGLE
   69|       |    readcount = fread(data, sizeof(float), len, (FILE *)mat->fp);
   70|       |    if ( readcount == len && mat->byteswap ) {
   71|       |        size_t i;
   72|       |        for ( i = 0; i < len; i++ ) {
   73|       |            (void)Mat_floatSwap(data + i);
   74|       |        }
   75|       |    }
   76|       |#else
   77|     16|    size_t i;
   78|     16|    const size_t data_size = sizeof(float);
   79|     16|    float v[READ_BLOCK_SIZE / sizeof(float)];
   80|     16|    READ_DATA(READ_TYPE, Mat_floatSwap);
  ------------------
  |  |   83|     16|    do {                                                                  \
  |  |   84|     16|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 16]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|     16|        } else {                                                          \
  |  |  120|     16|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|     16|    do {                                                              \
  |  |  |  |   46|     16|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|     16|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|     16|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 8, False: 8]
  |  |  |  |  ------------------
  |  |  |  |   48|      8|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      8|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 8, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      8|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 8]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      8|            }                                                         \
  |  |  |  |   54|      8|        } else {                                                      \
  |  |  |  |   55|      8|            size_t j;                                                 \
  |  |  |  |   56|      8|            int err_ = 0;                                             \
  |  |  |  |   57|      8|            readcount = 0;                                            \
  |  |  |  |   58|    360|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 360, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|    360|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|    360|                readcount += j;                                       \
  |  |  |  |   61|    360|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 352, False: 8]
  |  |  |  |  ------------------
  |  |  |  |   62|   721k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 720k, False: 352]
  |  |  |  |  ------------------
  |  |  |  |   63|   720k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|   720k|                    }                                                 \
  |  |  |  |   65|    352|                } else {                                              \
  |  |  |  |   66|      8|                    err_ = 1;                                         \
  |  |  |  |   67|      8|                    break;                                            \
  |  |  |  |   68|      8|                }                                                     \
  |  |  |  |   69|    360|            }                                                         \
  |  |  |  |   70|      8|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 8]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|      8|        }                                                             \
  |  |  |  |   80|     16|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|     16|        }                                                                 \
  |  |  122|     16|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
   81|     16|#endif
   82|     16|    return readcount;
   83|     16|}
read_data.c:ReadInt16DataInt64:
  202|      2|{
  203|      2|    size_t readcount;
  204|       |#if READ_TYPE_TYPE == READ_TYPE_INT64
  205|       |    readcount = fread(data, sizeof(mat_int64_t), len, (FILE *)mat->fp);
  206|       |    if ( readcount == len && mat->byteswap ) {
  207|       |        size_t i;
  208|       |        for ( i = 0; i < len; i++ ) {
  209|       |            (void)Mat_int64Swap(data + i);
  210|       |        }
  211|       |    }
  212|       |#else
  213|      2|    size_t i;
  214|      2|    const size_t data_size = sizeof(mat_int64_t);
  215|      2|    mat_int64_t v[READ_BLOCK_SIZE / sizeof(mat_int64_t)];
  216|      2|    READ_DATA(READ_TYPE, Mat_int64Swap);
  ------------------
  |  |   83|      2|    do {                                                                  \
  |  |   84|      2|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 2]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|      2|        } else {                                                          \
  |  |  120|      2|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|      2|    do {                                                              \
  |  |  |  |   46|      2|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|      2|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|      2|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|      2|        } else {                                                      \
  |  |  |  |   55|      2|            size_t j;                                                 \
  |  |  |  |   56|      2|            int err_ = 0;                                             \
  |  |  |  |   57|      2|            readcount = 0;                                            \
  |  |  |  |   58|     64|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 64, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|     64|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|     64|                readcount += j;                                       \
  |  |  |  |   61|     64|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 62, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   62|  63.5k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 63.4k, False: 62]
  |  |  |  |  ------------------
  |  |  |  |   63|  63.4k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|  63.4k|                    }                                                 \
  |  |  |  |   65|     62|                } else {                                              \
  |  |  |  |   66|      2|                    err_ = 1;                                         \
  |  |  |  |   67|      2|                    break;                                            \
  |  |  |  |   68|      2|                }                                                     \
  |  |  |  |   69|     64|            }                                                         \
  |  |  |  |   70|      2|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 2]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|      2|        }                                                             \
  |  |  |  |   80|      2|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|      2|        }                                                                 \
  |  |  122|      2|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  217|      2|#endif
  218|      2|    return readcount;
  219|      2|}
read_data.c:ReadInt16DataUInt64:
  225|     64|{
  226|     64|    size_t readcount;
  227|       |#if READ_TYPE_TYPE == READ_TYPE_UINT64
  228|       |    readcount = fread(data, sizeof(mat_uint64_t), len, (FILE *)mat->fp);
  229|       |    if ( readcount == len && mat->byteswap ) {
  230|       |        size_t i;
  231|       |        for ( i = 0; i < len; i++ ) {
  232|       |            (void)Mat_uint64Swap(data + i);
  233|       |        }
  234|       |    }
  235|       |#else
  236|     64|    size_t i;
  237|     64|    const size_t data_size = sizeof(mat_uint64_t);
  238|     64|    mat_uint64_t v[READ_BLOCK_SIZE / sizeof(mat_uint64_t)];
  239|     64|    READ_DATA(READ_TYPE, Mat_uint64Swap);
  ------------------
  |  |   83|     64|    do {                                                                  \
  |  |   84|     64|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 64]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|     64|        } else {                                                          \
  |  |  120|     64|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|     64|    do {                                                              \
  |  |  |  |   46|     64|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|     64|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|     64|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 40, False: 24]
  |  |  |  |  ------------------
  |  |  |  |   48|     40|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|     40|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 40, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|     40|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 40]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|     40|            }                                                         \
  |  |  |  |   54|     40|        } else {                                                      \
  |  |  |  |   55|     24|            size_t j;                                                 \
  |  |  |  |   56|     24|            int err_ = 0;                                             \
  |  |  |  |   57|     24|            readcount = 0;                                            \
  |  |  |  |   58|    963|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 961, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   59|    961|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|    961|                readcount += j;                                       \
  |  |  |  |   61|    961|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 939, False: 22]
  |  |  |  |  ------------------
  |  |  |  |   62|   962k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 961k, False: 939]
  |  |  |  |  ------------------
  |  |  |  |   63|   961k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|   961k|                    }                                                 \
  |  |  |  |   65|    939|                } else {                                              \
  |  |  |  |   66|     22|                    err_ = 1;                                         \
  |  |  |  |   67|     22|                    break;                                            \
  |  |  |  |   68|     22|                }                                                     \
  |  |  |  |   69|    961|            }                                                         \
  |  |  |  |   70|     24|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 2, False: 22]
  |  |  |  |  |  Branch (70:31): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      2|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      2|                readcount += j;                                       \
  |  |  |  |   73|      2|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|    522|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 520, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   75|    520|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|    520|                    }                                                 \
  |  |  |  |   77|      2|                }                                                     \
  |  |  |  |   78|      2|            }                                                         \
  |  |  |  |   79|     24|        }                                                             \
  |  |  |  |   80|     64|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|     64|        }                                                                 \
  |  |  122|     64|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  240|     64|#endif
  241|     64|    return readcount;
  242|     64|}
read_data.c:ReadInt16DataInt32:
   87|      4|{
   88|      4|    size_t readcount;
   89|       |#if READ_TYPE_TYPE == READ_TYPE_INT32
   90|       |    readcount = fread(data, sizeof(mat_int32_t), len, (FILE *)mat->fp);
   91|       |    if ( readcount == len && mat->byteswap ) {
   92|       |        size_t i;
   93|       |        for ( i = 0; i < len; i++ ) {
   94|       |            (void)Mat_int32Swap(data + i);
   95|       |        }
   96|       |    }
   97|       |#else
   98|      4|    size_t i;
   99|      4|    const size_t data_size = sizeof(mat_int32_t);
  100|      4|    mat_int32_t v[READ_BLOCK_SIZE / sizeof(mat_int32_t)];
  101|      4|    READ_DATA(READ_TYPE, Mat_int32Swap);
  ------------------
  |  |   83|      4|    do {                                                                  \
  |  |   84|      4|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 4]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|      4|        } else {                                                          \
  |  |  120|      4|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|      4|    do {                                                              \
  |  |  |  |   46|      4|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|      4|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|      4|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 2, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   48|      2|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      2|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      2|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      2|            }                                                         \
  |  |  |  |   54|      2|        } else {                                                      \
  |  |  |  |   55|      2|            size_t j;                                                 \
  |  |  |  |   56|      2|            int err_ = 0;                                             \
  |  |  |  |   57|      2|            readcount = 0;                                            \
  |  |  |  |   58|    116|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 116, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|    116|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|    116|                readcount += j;                                       \
  |  |  |  |   61|    116|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 114, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   62|   233k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 233k, False: 114]
  |  |  |  |  ------------------
  |  |  |  |   63|   233k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|   233k|                    }                                                 \
  |  |  |  |   65|    114|                } else {                                              \
  |  |  |  |   66|      2|                    err_ = 1;                                         \
  |  |  |  |   67|      2|                    break;                                            \
  |  |  |  |   68|      2|                }                                                     \
  |  |  |  |   69|    116|            }                                                         \
  |  |  |  |   70|      2|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 2]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|      2|        }                                                             \
  |  |  |  |   80|      4|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|      4|        }                                                                 \
  |  |  122|      4|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  102|      4|#endif
  103|      4|    return readcount;
  104|      4|}
read_data.c:ReadInt16DataUInt32:
  108|      5|{
  109|      5|    size_t readcount;
  110|       |#if READ_TYPE_TYPE == READ_TYPE_UINT32
  111|       |    readcount = fread(data, sizeof(mat_uint32_t), len, (FILE *)mat->fp);
  112|       |    if ( readcount == len && mat->byteswap ) {
  113|       |        size_t i;
  114|       |        for ( i = 0; i < len; i++ ) {
  115|       |            (void)Mat_uint32Swap(data + i);
  116|       |        }
  117|       |    }
  118|       |#else
  119|      5|    size_t i;
  120|      5|    const size_t data_size = sizeof(mat_uint32_t);
  121|      5|    mat_uint32_t v[READ_BLOCK_SIZE / sizeof(mat_uint32_t)];
  122|      5|    READ_DATA(READ_TYPE, Mat_uint32Swap);
  ------------------
  |  |   83|      5|    do {                                                                  \
  |  |   84|      5|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 5]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|      5|        } else {                                                          \
  |  |  120|      5|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|      5|    do {                                                              \
  |  |  |  |   46|      5|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|      5|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|      5|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 2, False: 3]
  |  |  |  |  ------------------
  |  |  |  |   48|      2|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      2|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      2|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      2|            }                                                         \
  |  |  |  |   54|      3|        } else {                                                      \
  |  |  |  |   55|      3|            size_t j;                                                 \
  |  |  |  |   56|      3|            int err_ = 0;                                             \
  |  |  |  |   57|      3|            readcount = 0;                                            \
  |  |  |  |   58|     62|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 60, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   59|     60|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|     60|                readcount += j;                                       \
  |  |  |  |   61|     60|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 59, False: 1]
  |  |  |  |  ------------------
  |  |  |  |   62|   120k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 120k, False: 59]
  |  |  |  |  ------------------
  |  |  |  |   63|   120k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|   120k|                    }                                                 \
  |  |  |  |   65|     59|                } else {                                              \
  |  |  |  |   66|      1|                    err_ = 1;                                         \
  |  |  |  |   67|      1|                    break;                                            \
  |  |  |  |   68|      1|                }                                                     \
  |  |  |  |   69|     60|            }                                                         \
  |  |  |  |   70|      3|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 2, False: 1]
  |  |  |  |  |  Branch (70:31): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      2|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      2|                readcount += j;                                       \
  |  |  |  |   73|      2|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|    522|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 520, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   75|    520|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|    520|                    }                                                 \
  |  |  |  |   77|      2|                }                                                     \
  |  |  |  |   78|      2|            }                                                         \
  |  |  |  |   79|      3|        }                                                             \
  |  |  |  |   80|      5|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|      5|        }                                                                 \
  |  |  122|      5|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  123|      5|#endif
  124|      5|    return readcount;
  125|      5|}
read_data.c:ReadInt16DataInt16:
  129|      2|{
  130|      2|    size_t readcount;
  131|      2|#if READ_TYPE_TYPE == READ_TYPE_INT16
  132|      2|    readcount = fread(data, sizeof(mat_int16_t), len, (FILE *)mat->fp);
  133|      2|    if ( readcount == len && mat->byteswap ) {
  ------------------
  |  Branch (133:10): [True: 2, False: 0]
  |  Branch (133:30): [True: 0, False: 2]
  ------------------
  134|      0|        size_t i;
  135|      0|        for ( i = 0; i < len; i++ ) {
  ------------------
  |  Branch (135:22): [True: 0, False: 0]
  ------------------
  136|      0|            (void)Mat_int16Swap(data + i);
  137|      0|        }
  138|      0|    }
  139|       |#else
  140|       |    size_t i;
  141|       |    const size_t data_size = sizeof(mat_int16_t);
  142|       |    mat_int16_t v[READ_BLOCK_SIZE / sizeof(mat_int16_t)];
  143|       |    READ_DATA(READ_TYPE, Mat_int16Swap);
  144|       |#endif
  145|      2|    return readcount;
  146|      2|}
read_data.c:ReadUInt16DataDouble:
   45|     14|{
   46|     14|    size_t readcount;
   47|       |#if READ_TYPE_TYPE == READ_TYPE_DOUBLE
   48|       |    readcount = fread(data, sizeof(double), len, (FILE *)mat->fp);
   49|       |    if ( readcount == len && mat->byteswap ) {
   50|       |        size_t i;
   51|       |        for ( i = 0; i < len; i++ ) {
   52|       |            (void)Mat_doubleSwap(data + i);
   53|       |        }
   54|       |    }
   55|       |#else
   56|     14|    size_t i;
   57|     14|    const size_t data_size = sizeof(double);
   58|     14|    double v[READ_BLOCK_SIZE / sizeof(double)];
   59|     14|    READ_DATA(READ_TYPE, Mat_doubleSwap);
  ------------------
  |  |   83|     14|    do {                                                                  \
  |  |   84|     14|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 14]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|     14|        } else {                                                          \
  |  |  120|     14|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|     14|    do {                                                              \
  |  |  |  |   46|     14|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|     14|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|     14|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 14]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|     14|        } else {                                                      \
  |  |  |  |   55|     14|            size_t j;                                                 \
  |  |  |  |   56|     14|            int err_ = 0;                                             \
  |  |  |  |   57|     14|            readcount = 0;                                            \
  |  |  |  |   58|    517|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 517, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|    517|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|    517|                readcount += j;                                       \
  |  |  |  |   61|    517|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 503, False: 14]
  |  |  |  |  ------------------
  |  |  |  |   62|   515k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 515k, False: 503]
  |  |  |  |  ------------------
  |  |  |  |   63|   515k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|   515k|                    }                                                 \
  |  |  |  |   65|    503|                } else {                                              \
  |  |  |  |   66|     14|                    err_ = 1;                                         \
  |  |  |  |   67|     14|                    break;                                            \
  |  |  |  |   68|     14|                }                                                     \
  |  |  |  |   69|    517|            }                                                         \
  |  |  |  |   70|     14|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 14]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|     14|        }                                                             \
  |  |  |  |   80|     14|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|     14|        }                                                                 \
  |  |  122|     14|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
   60|     14|#endif
   61|     14|    return readcount;
   62|     14|}
read_data.c:ReadUInt16DataSingle:
   66|     25|{
   67|     25|    size_t readcount;
   68|       |#if READ_TYPE_TYPE == READ_TYPE_SINGLE
   69|       |    readcount = fread(data, sizeof(float), len, (FILE *)mat->fp);
   70|       |    if ( readcount == len && mat->byteswap ) {
   71|       |        size_t i;
   72|       |        for ( i = 0; i < len; i++ ) {
   73|       |            (void)Mat_floatSwap(data + i);
   74|       |        }
   75|       |    }
   76|       |#else
   77|     25|    size_t i;
   78|     25|    const size_t data_size = sizeof(float);
   79|     25|    float v[READ_BLOCK_SIZE / sizeof(float)];
   80|     25|    READ_DATA(READ_TYPE, Mat_floatSwap);
  ------------------
  |  |   83|     25|    do {                                                                  \
  |  |   84|     25|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 13, False: 12]
  |  |  ------------------
  |  |   85|     13|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|     13|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|     13|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 13]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|     13|            } else {                                                      \
  |  |   94|     13|                size_t j;                                                 \
  |  |   95|     13|                int err_ = 0;                                             \
  |  |   96|     13|                readcount = 0;                                            \
  |  |   97|    461|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 461, False: 0]
  |  |  ------------------
  |  |   98|    461|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|    461|                    readcount += j;                                       \
  |  |  100|    461|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 448, False: 13]
  |  |  ------------------
  |  |  101|   917k|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 917k, False: 448]
  |  |  ------------------
  |  |  102|   917k|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|   917k|                        }                                                 \
  |  |  104|    448|                    } else {                                              \
  |  |  105|     13|                        err_ = 1;                                         \
  |  |  106|     13|                        break;                                            \
  |  |  107|     13|                    }                                                     \
  |  |  108|    461|                }                                                         \
  |  |  109|     13|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 13]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|     13|            }                                                             \
  |  |  119|     13|        } else {                                                          \
  |  |  120|     12|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|     12|    do {                                                              \
  |  |  |  |   46|     12|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|     12|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|     12|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 12]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|     12|        } else {                                                      \
  |  |  |  |   55|     12|            size_t j;                                                 \
  |  |  |  |   56|     12|            int err_ = 0;                                             \
  |  |  |  |   57|     12|            readcount = 0;                                            \
  |  |  |  |   58|    342|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 342, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|    342|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|    342|                readcount += j;                                       \
  |  |  |  |   61|    342|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 330, False: 12]
  |  |  |  |  ------------------
  |  |  |  |   62|   676k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 675k, False: 330]
  |  |  |  |  ------------------
  |  |  |  |   63|   675k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|   675k|                    }                                                 \
  |  |  |  |   65|    330|                } else {                                              \
  |  |  |  |   66|     12|                    err_ = 1;                                         \
  |  |  |  |   67|     12|                    break;                                            \
  |  |  |  |   68|     12|                }                                                     \
  |  |  |  |   69|    342|            }                                                         \
  |  |  |  |   70|     12|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 12]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|     12|        }                                                             \
  |  |  |  |   80|     12|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|     12|        }                                                                 \
  |  |  122|     25|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
   81|     25|#endif
   82|     25|    return readcount;
   83|     25|}
read_data.c:ReadUInt16DataUInt64:
  225|      2|{
  226|      2|    size_t readcount;
  227|       |#if READ_TYPE_TYPE == READ_TYPE_UINT64
  228|       |    readcount = fread(data, sizeof(mat_uint64_t), len, (FILE *)mat->fp);
  229|       |    if ( readcount == len && mat->byteswap ) {
  230|       |        size_t i;
  231|       |        for ( i = 0; i < len; i++ ) {
  232|       |            (void)Mat_uint64Swap(data + i);
  233|       |        }
  234|       |    }
  235|       |#else
  236|      2|    size_t i;
  237|      2|    const size_t data_size = sizeof(mat_uint64_t);
  238|      2|    mat_uint64_t v[READ_BLOCK_SIZE / sizeof(mat_uint64_t)];
  239|      2|    READ_DATA(READ_TYPE, Mat_uint64Swap);
  ------------------
  |  |   83|      2|    do {                                                                  \
  |  |   84|      2|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 2]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|      2|        } else {                                                          \
  |  |  120|      2|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|      2|    do {                                                              \
  |  |  |  |   46|      2|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|      2|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|      2|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|      2|        } else {                                                      \
  |  |  |  |   55|      2|            size_t j;                                                 \
  |  |  |  |   56|      2|            int err_ = 0;                                             \
  |  |  |  |   57|      2|            readcount = 0;                                            \
  |  |  |  |   58|     14|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 14, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|     14|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|     14|                readcount += j;                                       \
  |  |  |  |   61|     14|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 12, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   62|  12.3k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 12.2k, False: 12]
  |  |  |  |  ------------------
  |  |  |  |   63|  12.2k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|  12.2k|                    }                                                 \
  |  |  |  |   65|     12|                } else {                                              \
  |  |  |  |   66|      2|                    err_ = 1;                                         \
  |  |  |  |   67|      2|                    break;                                            \
  |  |  |  |   68|      2|                }                                                     \
  |  |  |  |   69|     14|            }                                                         \
  |  |  |  |   70|      2|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 2]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|      2|        }                                                             \
  |  |  |  |   80|      2|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|      2|        }                                                                 \
  |  |  122|      2|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  240|      2|#endif
  241|      2|    return readcount;
  242|      2|}
read_data.c:ReadUInt16DataInt32:
   87|      1|{
   88|      1|    size_t readcount;
   89|       |#if READ_TYPE_TYPE == READ_TYPE_INT32
   90|       |    readcount = fread(data, sizeof(mat_int32_t), len, (FILE *)mat->fp);
   91|       |    if ( readcount == len && mat->byteswap ) {
   92|       |        size_t i;
   93|       |        for ( i = 0; i < len; i++ ) {
   94|       |            (void)Mat_int32Swap(data + i);
   95|       |        }
   96|       |    }
   97|       |#else
   98|      1|    size_t i;
   99|      1|    const size_t data_size = sizeof(mat_int32_t);
  100|      1|    mat_int32_t v[READ_BLOCK_SIZE / sizeof(mat_int32_t)];
  101|      1|    READ_DATA(READ_TYPE, Mat_int32Swap);
  ------------------
  |  |   83|      1|    do {                                                                  \
  |  |   84|      1|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 1]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|      1|        } else {                                                          \
  |  |  120|      1|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|      1|    do {                                                              \
  |  |  |  |   46|      1|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|      1|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|      1|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|      1|        } else {                                                      \
  |  |  |  |   55|      1|            size_t j;                                                 \
  |  |  |  |   56|      1|            int err_ = 0;                                             \
  |  |  |  |   57|      1|            readcount = 0;                                            \
  |  |  |  |   58|     15|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 15, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|     15|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|     15|                readcount += j;                                       \
  |  |  |  |   61|     15|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 14, False: 1]
  |  |  |  |  ------------------
  |  |  |  |   62|  28.6k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 28.6k, False: 14]
  |  |  |  |  ------------------
  |  |  |  |   63|  28.6k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|  28.6k|                    }                                                 \
  |  |  |  |   65|     14|                } else {                                              \
  |  |  |  |   66|      1|                    err_ = 1;                                         \
  |  |  |  |   67|      1|                    break;                                            \
  |  |  |  |   68|      1|                }                                                     \
  |  |  |  |   69|     15|            }                                                         \
  |  |  |  |   70|      1|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 1]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|      1|        }                                                             \
  |  |  |  |   80|      1|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|      1|        }                                                                 \
  |  |  122|      1|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  102|      1|#endif
  103|      1|    return readcount;
  104|      1|}
read_data.c:ReadUInt16DataInt16:
  129|     64|{
  130|     64|    size_t readcount;
  131|       |#if READ_TYPE_TYPE == READ_TYPE_INT16
  132|       |    readcount = fread(data, sizeof(mat_int16_t), len, (FILE *)mat->fp);
  133|       |    if ( readcount == len && mat->byteswap ) {
  134|       |        size_t i;
  135|       |        for ( i = 0; i < len; i++ ) {
  136|       |            (void)Mat_int16Swap(data + i);
  137|       |        }
  138|       |    }
  139|       |#else
  140|     64|    size_t i;
  141|     64|    const size_t data_size = sizeof(mat_int16_t);
  142|     64|    mat_int16_t v[READ_BLOCK_SIZE / sizeof(mat_int16_t)];
  143|     64|    READ_DATA(READ_TYPE, Mat_int16Swap);
  ------------------
  |  |   83|     64|    do {                                                                  \
  |  |   84|     64|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 64, False: 0]
  |  |  ------------------
  |  |   85|     64|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|     64|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|     64|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 64]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|     64|            } else {                                                      \
  |  |   94|     64|                size_t j;                                                 \
  |  |   95|     64|                int err_ = 0;                                             \
  |  |   96|     64|                readcount = 0;                                            \
  |  |   97|  2.16k|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 2.13k, False: 28]
  |  |  ------------------
  |  |   98|  2.13k|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|  2.13k|                    readcount += j;                                       \
  |  |  100|  2.13k|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 2.09k, False: 36]
  |  |  ------------------
  |  |  101|  8.58M|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 8.58M, False: 2.09k]
  |  |  ------------------
  |  |  102|  8.58M|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|  8.58M|                        }                                                 \
  |  |  104|  2.09k|                    } else {                                              \
  |  |  105|     36|                        err_ = 1;                                         \
  |  |  106|     36|                        break;                                            \
  |  |  107|     36|                    }                                                     \
  |  |  108|  2.13k|                }                                                         \
  |  |  109|     64|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 28, False: 36]
  |  |  |  Branch (109:35): [True: 28, False: 0]
  |  |  ------------------
  |  |  110|     28|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|     28|                    readcount += j;                                       \
  |  |  112|     28|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 28, False: 0]
  |  |  ------------------
  |  |  113|  28.7k|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 28.6k, False: 28]
  |  |  ------------------
  |  |  114|  28.6k|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|  28.6k|                        }                                                 \
  |  |  116|     28|                    }                                                     \
  |  |  117|     28|                }                                                         \
  |  |  118|     64|            }                                                             \
  |  |  119|     64|        } else {                                                          \
  |  |  120|      0|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|      0|    do {                                                              \
  |  |  |  |   46|      0|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|      0|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|      0|        } else {                                                      \
  |  |  |  |   55|      0|            size_t j;                                                 \
  |  |  |  |   56|      0|            int err_ = 0;                                             \
  |  |  |  |   57|      0|            readcount = 0;                                            \
  |  |  |  |   58|      0|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|      0|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|      0|                readcount += j;                                       \
  |  |  |  |   61|      0|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   62|      0|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   63|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|      0|                    }                                                 \
  |  |  |  |   65|      0|                } else {                                              \
  |  |  |  |   66|      0|                    err_ = 1;                                         \
  |  |  |  |   67|      0|                    break;                                            \
  |  |  |  |   68|      0|                }                                                     \
  |  |  |  |   69|      0|            }                                                         \
  |  |  |  |   70|      0|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 0]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|      0|        }                                                             \
  |  |  |  |   80|      0|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|      0|        }                                                                 \
  |  |  122|     64|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  144|     64|#endif
  145|     64|    return readcount;
  146|     64|}
read_data.c:ReadUInt16DataUInt16:
  150|      6|{
  151|      6|    size_t readcount;
  152|      6|#if READ_TYPE_TYPE == READ_TYPE_UINT16
  153|      6|    readcount = fread(data, sizeof(mat_uint16_t), len, (FILE *)mat->fp);
  154|      6|    if ( readcount == len && mat->byteswap ) {
  ------------------
  |  Branch (154:10): [True: 6, False: 0]
  |  Branch (154:30): [True: 0, False: 6]
  ------------------
  155|      0|        size_t i;
  156|      0|        for ( i = 0; i < len; i++ ) {
  ------------------
  |  Branch (156:22): [True: 0, False: 0]
  ------------------
  157|      0|            (void)Mat_uint16Swap(data + i);
  158|      0|        }
  159|      0|    }
  160|       |#else
  161|       |    size_t i;
  162|       |    const size_t data_size = sizeof(mat_uint16_t);
  163|       |    mat_uint16_t v[READ_BLOCK_SIZE / sizeof(mat_uint16_t)];
  164|       |    READ_DATA(READ_TYPE, Mat_uint16Swap);
  165|       |#endif
  166|      6|    return readcount;
  167|      6|}
read_data.c:ReadUInt16DataInt8:
  171|     26|{
  172|     26|    size_t readcount;
  173|       |#if READ_TYPE_TYPE == READ_TYPE_INT8
  174|       |    readcount = fread(data, sizeof(mat_int8_t), len, (FILE *)mat->fp);
  175|       |#else
  176|     26|    size_t i;
  177|     26|    const size_t data_size = sizeof(mat_int8_t);
  178|     26|    mat_int8_t v[READ_BLOCK_SIZE / sizeof(mat_int8_t)];
  179|     26|    READ_DATA_NOSWAP(READ_TYPE);
  ------------------
  |  |   45|     26|    do {                                                              \
  |  |   46|     26|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|     26|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   47|     26|        if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (47:14): [True: 0, False: 26]
  |  |  ------------------
  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |   52|      0|                }                                                     \
  |  |   53|      0|            }                                                         \
  |  |   54|     26|        } else {                                                      \
  |  |   55|     26|            size_t j;                                                 \
  |  |   56|     26|            int err_ = 0;                                             \
  |  |   57|     26|            readcount = 0;                                            \
  |  |   58|    996|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (58:26): [True: 996, False: 0]
  |  |  ------------------
  |  |   59|    996|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   60|    996|                readcount += j;                                       \
  |  |   61|    996|                if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (61:22): [True: 970, False: 26]
  |  |  ------------------
  |  |   62|  7.94M|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (62:34): [True: 7.94M, False: 970]
  |  |  ------------------
  |  |   63|  7.94M|                        data[i + j] = (T)v[j];                        \
  |  |   64|  7.94M|                    }                                                 \
  |  |   65|    970|                } else {                                              \
  |  |   66|     26|                    err_ = 1;                                         \
  |  |   67|     26|                    break;                                            \
  |  |   68|     26|                }                                                     \
  |  |   69|    996|            }                                                         \
  |  |   70|     26|            if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (70:18): [True: 0, False: 26]
  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  ------------------
  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |   72|      0|                readcount += j;                                       \
  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |   76|      0|                    }                                                 \
  |  |   77|      0|                }                                                     \
  |  |   78|      0|            }                                                         \
  |  |   79|     26|        }                                                             \
  |  |   80|     26|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  180|     26|#endif
  181|     26|    return readcount;
  182|     26|}
read_data.c:ReadInt8DataDouble:
   45|      1|{
   46|      1|    size_t readcount;
   47|       |#if READ_TYPE_TYPE == READ_TYPE_DOUBLE
   48|       |    readcount = fread(data, sizeof(double), len, (FILE *)mat->fp);
   49|       |    if ( readcount == len && mat->byteswap ) {
   50|       |        size_t i;
   51|       |        for ( i = 0; i < len; i++ ) {
   52|       |            (void)Mat_doubleSwap(data + i);
   53|       |        }
   54|       |    }
   55|       |#else
   56|      1|    size_t i;
   57|      1|    const size_t data_size = sizeof(double);
   58|      1|    double v[READ_BLOCK_SIZE / sizeof(double)];
   59|      1|    READ_DATA(READ_TYPE, Mat_doubleSwap);
  ------------------
  |  |   83|      1|    do {                                                                  \
  |  |   84|      1|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 1]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|      1|        } else {                                                          \
  |  |  120|      1|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|      1|    do {                                                              \
  |  |  |  |   46|      1|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|      1|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|      1|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 1]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|      1|        } else {                                                      \
  |  |  |  |   55|      1|            size_t j;                                                 \
  |  |  |  |   56|      1|            int err_ = 0;                                             \
  |  |  |  |   57|      1|            readcount = 0;                                            \
  |  |  |  |   58|      3|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 2, False: 1]
  |  |  |  |  ------------------
  |  |  |  |   59|      2|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|      2|                readcount += j;                                       \
  |  |  |  |   61|      2|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   62|  2.05k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 2.04k, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   63|  2.04k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|  2.04k|                    }                                                 \
  |  |  |  |   65|      2|                } else {                                              \
  |  |  |  |   66|      0|                    err_ = 1;                                         \
  |  |  |  |   67|      0|                    break;                                            \
  |  |  |  |   68|      0|                }                                                     \
  |  |  |  |   69|      2|            }                                                         \
  |  |  |  |   70|      1|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 1, False: 0]
  |  |  |  |  |  Branch (70:31): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      1|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      1|                readcount += j;                                       \
  |  |  |  |   73|      1|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 1, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|    138|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 137, False: 1]
  |  |  |  |  ------------------
  |  |  |  |   75|    137|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|    137|                    }                                                 \
  |  |  |  |   77|      1|                }                                                     \
  |  |  |  |   78|      1|            }                                                         \
  |  |  |  |   79|      1|        }                                                             \
  |  |  |  |   80|      1|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|      1|        }                                                                 \
  |  |  122|      1|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
   60|      1|#endif
   61|      1|    return readcount;
   62|      1|}
read_data.c:ReadInt8DataSingle:
   66|      2|{
   67|      2|    size_t readcount;
   68|       |#if READ_TYPE_TYPE == READ_TYPE_SINGLE
   69|       |    readcount = fread(data, sizeof(float), len, (FILE *)mat->fp);
   70|       |    if ( readcount == len && mat->byteswap ) {
   71|       |        size_t i;
   72|       |        for ( i = 0; i < len; i++ ) {
   73|       |            (void)Mat_floatSwap(data + i);
   74|       |        }
   75|       |    }
   76|       |#else
   77|      2|    size_t i;
   78|      2|    const size_t data_size = sizeof(float);
   79|      2|    float v[READ_BLOCK_SIZE / sizeof(float)];
   80|      2|    READ_DATA(READ_TYPE, Mat_floatSwap);
  ------------------
  |  |   83|      2|    do {                                                                  \
  |  |   84|      2|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 2]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|      2|        } else {                                                          \
  |  |  120|      2|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|      2|    do {                                                              \
  |  |  |  |   46|      2|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|      2|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|      2|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|      2|        } else {                                                      \
  |  |  |  |   55|      2|            size_t j;                                                 \
  |  |  |  |   56|      2|            int err_ = 0;                                             \
  |  |  |  |   57|      2|            readcount = 0;                                            \
  |  |  |  |   58|      4|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 2, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   59|      2|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|      2|                readcount += j;                                       \
  |  |  |  |   61|      2|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   62|  4.09k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 4.09k, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   63|  4.09k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|  4.09k|                    }                                                 \
  |  |  |  |   65|      2|                } else {                                              \
  |  |  |  |   66|      0|                    err_ = 1;                                         \
  |  |  |  |   67|      0|                    break;                                            \
  |  |  |  |   68|      0|                }                                                     \
  |  |  |  |   69|      2|            }                                                         \
  |  |  |  |   70|      2|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 2, False: 0]
  |  |  |  |  |  Branch (70:31): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      2|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      2|                readcount += j;                                       \
  |  |  |  |   73|      2|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|    276|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 274, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   75|    274|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|    274|                    }                                                 \
  |  |  |  |   77|      2|                }                                                     \
  |  |  |  |   78|      2|            }                                                         \
  |  |  |  |   79|      2|        }                                                             \
  |  |  |  |   80|      2|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|      2|        }                                                                 \
  |  |  122|      2|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
   81|      2|#endif
   82|      2|    return readcount;
   83|      2|}
read_data.c:ReadInt8DataUInt64:
  225|     15|{
  226|     15|    size_t readcount;
  227|       |#if READ_TYPE_TYPE == READ_TYPE_UINT64
  228|       |    readcount = fread(data, sizeof(mat_uint64_t), len, (FILE *)mat->fp);
  229|       |    if ( readcount == len && mat->byteswap ) {
  230|       |        size_t i;
  231|       |        for ( i = 0; i < len; i++ ) {
  232|       |            (void)Mat_uint64Swap(data + i);
  233|       |        }
  234|       |    }
  235|       |#else
  236|     15|    size_t i;
  237|     15|    const size_t data_size = sizeof(mat_uint64_t);
  238|     15|    mat_uint64_t v[READ_BLOCK_SIZE / sizeof(mat_uint64_t)];
  239|     15|    READ_DATA(READ_TYPE, Mat_uint64Swap);
  ------------------
  |  |   83|     15|    do {                                                                  \
  |  |   84|     15|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 15]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|     15|        } else {                                                          \
  |  |  120|     15|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|     15|    do {                                                              \
  |  |  |  |   46|     15|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|     15|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|     15|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 15]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|     15|        } else {                                                      \
  |  |  |  |   55|     15|            size_t j;                                                 \
  |  |  |  |   56|     15|            int err_ = 0;                                             \
  |  |  |  |   57|     15|            readcount = 0;                                            \
  |  |  |  |   58|    444|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 444, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|    444|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|    444|                readcount += j;                                       \
  |  |  |  |   61|    444|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 429, False: 15]
  |  |  |  |  ------------------
  |  |  |  |   62|   439k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 439k, False: 429]
  |  |  |  |  ------------------
  |  |  |  |   63|   439k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|   439k|                    }                                                 \
  |  |  |  |   65|    429|                } else {                                              \
  |  |  |  |   66|     15|                    err_ = 1;                                         \
  |  |  |  |   67|     15|                    break;                                            \
  |  |  |  |   68|     15|                }                                                     \
  |  |  |  |   69|    444|            }                                                         \
  |  |  |  |   70|     15|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 15]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|     15|        }                                                             \
  |  |  |  |   80|     15|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|     15|        }                                                                 \
  |  |  122|     15|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  240|     15|#endif
  241|     15|    return readcount;
  242|     15|}
read_data.c:ReadInt8DataInt32:
   87|      2|{
   88|      2|    size_t readcount;
   89|       |#if READ_TYPE_TYPE == READ_TYPE_INT32
   90|       |    readcount = fread(data, sizeof(mat_int32_t), len, (FILE *)mat->fp);
   91|       |    if ( readcount == len && mat->byteswap ) {
   92|       |        size_t i;
   93|       |        for ( i = 0; i < len; i++ ) {
   94|       |            (void)Mat_int32Swap(data + i);
   95|       |        }
   96|       |    }
   97|       |#else
   98|      2|    size_t i;
   99|      2|    const size_t data_size = sizeof(mat_int32_t);
  100|      2|    mat_int32_t v[READ_BLOCK_SIZE / sizeof(mat_int32_t)];
  101|      2|    READ_DATA(READ_TYPE, Mat_int32Swap);
  ------------------
  |  |   83|      2|    do {                                                                  \
  |  |   84|      2|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 2]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|      2|        } else {                                                          \
  |  |  120|      2|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|      2|    do {                                                              \
  |  |  |  |   46|      2|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|      2|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|      2|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|      2|        } else {                                                      \
  |  |  |  |   55|      2|            size_t j;                                                 \
  |  |  |  |   56|      2|            int err_ = 0;                                             \
  |  |  |  |   57|      2|            readcount = 0;                                            \
  |  |  |  |   58|      4|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 2, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   59|      2|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|      2|                readcount += j;                                       \
  |  |  |  |   61|      2|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   62|  4.09k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 4.09k, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   63|  4.09k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|  4.09k|                    }                                                 \
  |  |  |  |   65|      2|                } else {                                              \
  |  |  |  |   66|      0|                    err_ = 1;                                         \
  |  |  |  |   67|      0|                    break;                                            \
  |  |  |  |   68|      0|                }                                                     \
  |  |  |  |   69|      2|            }                                                         \
  |  |  |  |   70|      2|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 2, False: 0]
  |  |  |  |  |  Branch (70:31): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      2|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      2|                readcount += j;                                       \
  |  |  |  |   73|      2|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 2, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|    276|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 274, False: 2]
  |  |  |  |  ------------------
  |  |  |  |   75|    274|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|    274|                    }                                                 \
  |  |  |  |   77|      2|                }                                                     \
  |  |  |  |   78|      2|            }                                                         \
  |  |  |  |   79|      2|        }                                                             \
  |  |  |  |   80|      2|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|      2|        }                                                                 \
  |  |  122|      2|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  102|      2|#endif
  103|      2|    return readcount;
  104|      2|}
read_data.c:ReadInt8DataUInt32:
  108|     16|{
  109|     16|    size_t readcount;
  110|       |#if READ_TYPE_TYPE == READ_TYPE_UINT32
  111|       |    readcount = fread(data, sizeof(mat_uint32_t), len, (FILE *)mat->fp);
  112|       |    if ( readcount == len && mat->byteswap ) {
  113|       |        size_t i;
  114|       |        for ( i = 0; i < len; i++ ) {
  115|       |            (void)Mat_uint32Swap(data + i);
  116|       |        }
  117|       |    }
  118|       |#else
  119|     16|    size_t i;
  120|     16|    const size_t data_size = sizeof(mat_uint32_t);
  121|     16|    mat_uint32_t v[READ_BLOCK_SIZE / sizeof(mat_uint32_t)];
  122|     16|    READ_DATA(READ_TYPE, Mat_uint32Swap);
  ------------------
  |  |   83|     16|    do {                                                                  \
  |  |   84|     16|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 16]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|     16|        } else {                                                          \
  |  |  120|     16|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|     16|    do {                                                              \
  |  |  |  |   46|     16|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|     16|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|     16|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 16]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|     16|        } else {                                                      \
  |  |  |  |   55|     16|            size_t j;                                                 \
  |  |  |  |   56|     16|            int err_ = 0;                                             \
  |  |  |  |   57|     16|            readcount = 0;                                            \
  |  |  |  |   58|     32|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 16, False: 16]
  |  |  |  |  ------------------
  |  |  |  |   59|     16|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|     16|                readcount += j;                                       \
  |  |  |  |   61|     16|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 16, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   62|  32.7k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 32.7k, False: 16]
  |  |  |  |  ------------------
  |  |  |  |   63|  32.7k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|  32.7k|                    }                                                 \
  |  |  |  |   65|     16|                } else {                                              \
  |  |  |  |   66|      0|                    err_ = 1;                                         \
  |  |  |  |   67|      0|                    break;                                            \
  |  |  |  |   68|      0|                }                                                     \
  |  |  |  |   69|     16|            }                                                         \
  |  |  |  |   70|     16|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 16, False: 0]
  |  |  |  |  |  Branch (70:31): [True: 16, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|     16|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|     16|                readcount += j;                                       \
  |  |  |  |   73|     16|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 16, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|  2.20k|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 2.19k, False: 16]
  |  |  |  |  ------------------
  |  |  |  |   75|  2.19k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|  2.19k|                    }                                                 \
  |  |  |  |   77|     16|                }                                                     \
  |  |  |  |   78|     16|            }                                                         \
  |  |  |  |   79|     16|        }                                                             \
  |  |  |  |   80|     16|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|     16|        }                                                                 \
  |  |  122|     16|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  123|     16|#endif
  124|     16|    return readcount;
  125|     16|}
read_data.c:ReadInt8DataInt16:
  129|     13|{
  130|     13|    size_t readcount;
  131|       |#if READ_TYPE_TYPE == READ_TYPE_INT16
  132|       |    readcount = fread(data, sizeof(mat_int16_t), len, (FILE *)mat->fp);
  133|       |    if ( readcount == len && mat->byteswap ) {
  134|       |        size_t i;
  135|       |        for ( i = 0; i < len; i++ ) {
  136|       |            (void)Mat_int16Swap(data + i);
  137|       |        }
  138|       |    }
  139|       |#else
  140|     13|    size_t i;
  141|     13|    const size_t data_size = sizeof(mat_int16_t);
  142|     13|    mat_int16_t v[READ_BLOCK_SIZE / sizeof(mat_int16_t)];
  143|     13|    READ_DATA(READ_TYPE, Mat_int16Swap);
  ------------------
  |  |   83|     13|    do {                                                                  \
  |  |   84|     13|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 13]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|     13|        } else {                                                          \
  |  |  120|     13|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|     13|    do {                                                              \
  |  |  |  |   46|     13|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|     13|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|     13|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 3, False: 10]
  |  |  |  |  ------------------
  |  |  |  |   48|      3|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      3|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 3, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|  6.55k|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 6.55k, False: 3]
  |  |  |  |  ------------------
  |  |  |  |   51|  6.55k|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|  6.55k|                }                                                     \
  |  |  |  |   53|      3|            }                                                         \
  |  |  |  |   54|     10|        } else {                                                      \
  |  |  |  |   55|     10|            size_t j;                                                 \
  |  |  |  |   56|     10|            int err_ = 0;                                             \
  |  |  |  |   57|     10|            readcount = 0;                                            \
  |  |  |  |   58|    220|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 220, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|    220|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|    220|                readcount += j;                                       \
  |  |  |  |   61|    220|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 210, False: 10]
  |  |  |  |  ------------------
  |  |  |  |   62|   860k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 860k, False: 210]
  |  |  |  |  ------------------
  |  |  |  |   63|   860k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|   860k|                    }                                                 \
  |  |  |  |   65|    210|                } else {                                              \
  |  |  |  |   66|     10|                    err_ = 1;                                         \
  |  |  |  |   67|     10|                    break;                                            \
  |  |  |  |   68|     10|                }                                                     \
  |  |  |  |   69|    220|            }                                                         \
  |  |  |  |   70|     10|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 10]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|     10|        }                                                             \
  |  |  |  |   80|     13|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|     13|        }                                                                 \
  |  |  122|     13|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  144|     13|#endif
  145|     13|    return readcount;
  146|     13|}
read_data.c:ReadUInt8DataDouble:
   45|      9|{
   46|      9|    size_t readcount;
   47|       |#if READ_TYPE_TYPE == READ_TYPE_DOUBLE
   48|       |    readcount = fread(data, sizeof(double), len, (FILE *)mat->fp);
   49|       |    if ( readcount == len && mat->byteswap ) {
   50|       |        size_t i;
   51|       |        for ( i = 0; i < len; i++ ) {
   52|       |            (void)Mat_doubleSwap(data + i);
   53|       |        }
   54|       |    }
   55|       |#else
   56|      9|    size_t i;
   57|      9|    const size_t data_size = sizeof(double);
   58|      9|    double v[READ_BLOCK_SIZE / sizeof(double)];
   59|      9|    READ_DATA(READ_TYPE, Mat_doubleSwap);
  ------------------
  |  |   83|      9|    do {                                                                  \
  |  |   84|      9|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 9]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|      9|        } else {                                                          \
  |  |  120|      9|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|      9|    do {                                                              \
  |  |  |  |   46|      9|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|      9|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|      9|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 9]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|      9|        } else {                                                      \
  |  |  |  |   55|      9|            size_t j;                                                 \
  |  |  |  |   56|      9|            int err_ = 0;                                             \
  |  |  |  |   57|      9|            readcount = 0;                                            \
  |  |  |  |   58|    363|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 363, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|    363|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|    363|                readcount += j;                                       \
  |  |  |  |   61|    363|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 354, False: 9]
  |  |  |  |  ------------------
  |  |  |  |   62|   362k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 362k, False: 354]
  |  |  |  |  ------------------
  |  |  |  |   63|   362k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|   362k|                    }                                                 \
  |  |  |  |   65|    354|                } else {                                              \
  |  |  |  |   66|      9|                    err_ = 1;                                         \
  |  |  |  |   67|      9|                    break;                                            \
  |  |  |  |   68|      9|                }                                                     \
  |  |  |  |   69|    363|            }                                                         \
  |  |  |  |   70|      9|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 9]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|      9|        }                                                             \
  |  |  |  |   80|      9|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|      9|        }                                                                 \
  |  |  122|      9|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
   60|      9|#endif
   61|      9|    return readcount;
   62|      9|}
read_data.c:ReadUInt8DataSingle:
   66|     12|{
   67|     12|    size_t readcount;
   68|       |#if READ_TYPE_TYPE == READ_TYPE_SINGLE
   69|       |    readcount = fread(data, sizeof(float), len, (FILE *)mat->fp);
   70|       |    if ( readcount == len && mat->byteswap ) {
   71|       |        size_t i;
   72|       |        for ( i = 0; i < len; i++ ) {
   73|       |            (void)Mat_floatSwap(data + i);
   74|       |        }
   75|       |    }
   76|       |#else
   77|     12|    size_t i;
   78|     12|    const size_t data_size = sizeof(float);
   79|     12|    float v[READ_BLOCK_SIZE / sizeof(float)];
   80|     12|    READ_DATA(READ_TYPE, Mat_floatSwap);
  ------------------
  |  |   83|     12|    do {                                                                  \
  |  |   84|     12|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 12]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|     12|        } else {                                                          \
  |  |  120|     12|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|     12|    do {                                                              \
  |  |  |  |   46|     12|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|     12|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|     12|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 12]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|     12|        } else {                                                      \
  |  |  |  |   55|     12|            size_t j;                                                 \
  |  |  |  |   56|     12|            int err_ = 0;                                             \
  |  |  |  |   57|     12|            readcount = 0;                                            \
  |  |  |  |   58|    381|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 381, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|    381|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|    381|                readcount += j;                                       \
  |  |  |  |   61|    381|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 369, False: 12]
  |  |  |  |  ------------------
  |  |  |  |   62|   756k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 755k, False: 369]
  |  |  |  |  ------------------
  |  |  |  |   63|   755k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|   755k|                    }                                                 \
  |  |  |  |   65|    369|                } else {                                              \
  |  |  |  |   66|     12|                    err_ = 1;                                         \
  |  |  |  |   67|     12|                    break;                                            \
  |  |  |  |   68|     12|                }                                                     \
  |  |  |  |   69|    381|            }                                                         \
  |  |  |  |   70|     12|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 12]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|     12|        }                                                             \
  |  |  |  |   80|     12|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|     12|        }                                                                 \
  |  |  122|     12|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
   81|     12|#endif
   82|     12|    return readcount;
   83|     12|}
read_data.c:ReadUInt8DataUInt64:
  225|     16|{
  226|     16|    size_t readcount;
  227|       |#if READ_TYPE_TYPE == READ_TYPE_UINT64
  228|       |    readcount = fread(data, sizeof(mat_uint64_t), len, (FILE *)mat->fp);
  229|       |    if ( readcount == len && mat->byteswap ) {
  230|       |        size_t i;
  231|       |        for ( i = 0; i < len; i++ ) {
  232|       |            (void)Mat_uint64Swap(data + i);
  233|       |        }
  234|       |    }
  235|       |#else
  236|     16|    size_t i;
  237|     16|    const size_t data_size = sizeof(mat_uint64_t);
  238|     16|    mat_uint64_t v[READ_BLOCK_SIZE / sizeof(mat_uint64_t)];
  239|     16|    READ_DATA(READ_TYPE, Mat_uint64Swap);
  ------------------
  |  |   83|     16|    do {                                                                  \
  |  |   84|     16|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 16]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|     16|        } else {                                                          \
  |  |  120|     16|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|     16|    do {                                                              \
  |  |  |  |   46|     16|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|     16|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|     16|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 16]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|     16|        } else {                                                      \
  |  |  |  |   55|     16|            size_t j;                                                 \
  |  |  |  |   56|     16|            int err_ = 0;                                             \
  |  |  |  |   57|     16|            readcount = 0;                                            \
  |  |  |  |   58|    248|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 248, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|    248|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|    248|                readcount += j;                                       \
  |  |  |  |   61|    248|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 232, False: 16]
  |  |  |  |  ------------------
  |  |  |  |   62|   237k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 237k, False: 232]
  |  |  |  |  ------------------
  |  |  |  |   63|   237k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|   237k|                    }                                                 \
  |  |  |  |   65|    232|                } else {                                              \
  |  |  |  |   66|     16|                    err_ = 1;                                         \
  |  |  |  |   67|     16|                    break;                                            \
  |  |  |  |   68|     16|                }                                                     \
  |  |  |  |   69|    248|            }                                                         \
  |  |  |  |   70|     16|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 16]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|     16|        }                                                             \
  |  |  |  |   80|     16|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|     16|        }                                                                 \
  |  |  122|     16|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  240|     16|#endif
  241|     16|    return readcount;
  242|     16|}
read_data.c:ReadUInt8DataInt32:
   87|      9|{
   88|      9|    size_t readcount;
   89|       |#if READ_TYPE_TYPE == READ_TYPE_INT32
   90|       |    readcount = fread(data, sizeof(mat_int32_t), len, (FILE *)mat->fp);
   91|       |    if ( readcount == len && mat->byteswap ) {
   92|       |        size_t i;
   93|       |        for ( i = 0; i < len; i++ ) {
   94|       |            (void)Mat_int32Swap(data + i);
   95|       |        }
   96|       |    }
   97|       |#else
   98|      9|    size_t i;
   99|      9|    const size_t data_size = sizeof(mat_int32_t);
  100|      9|    mat_int32_t v[READ_BLOCK_SIZE / sizeof(mat_int32_t)];
  101|      9|    READ_DATA(READ_TYPE, Mat_int32Swap);
  ------------------
  |  |   83|      9|    do {                                                                  \
  |  |   84|      9|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 9]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|      9|        } else {                                                          \
  |  |  120|      9|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|      9|    do {                                                              \
  |  |  |  |   46|      9|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|      9|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|      9|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 9]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|      9|        } else {                                                      \
  |  |  |  |   55|      9|            size_t j;                                                 \
  |  |  |  |   56|      9|            int err_ = 0;                                             \
  |  |  |  |   57|      9|            readcount = 0;                                            \
  |  |  |  |   58|    459|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 459, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|    459|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|    459|                readcount += j;                                       \
  |  |  |  |   61|    459|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 450, False: 9]
  |  |  |  |  ------------------
  |  |  |  |   62|   922k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 921k, False: 450]
  |  |  |  |  ------------------
  |  |  |  |   63|   921k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|   921k|                    }                                                 \
  |  |  |  |   65|    450|                } else {                                              \
  |  |  |  |   66|      9|                    err_ = 1;                                         \
  |  |  |  |   67|      9|                    break;                                            \
  |  |  |  |   68|      9|                }                                                     \
  |  |  |  |   69|    459|            }                                                         \
  |  |  |  |   70|      9|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 9]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|      9|        }                                                             \
  |  |  |  |   80|      9|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|      9|        }                                                                 \
  |  |  122|      9|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  102|      9|#endif
  103|      9|    return readcount;
  104|      9|}
read_data.c:ReadUInt8DataInt16:
  129|      7|{
  130|      7|    size_t readcount;
  131|       |#if READ_TYPE_TYPE == READ_TYPE_INT16
  132|       |    readcount = fread(data, sizeof(mat_int16_t), len, (FILE *)mat->fp);
  133|       |    if ( readcount == len && mat->byteswap ) {
  134|       |        size_t i;
  135|       |        for ( i = 0; i < len; i++ ) {
  136|       |            (void)Mat_int16Swap(data + i);
  137|       |        }
  138|       |    }
  139|       |#else
  140|      7|    size_t i;
  141|      7|    const size_t data_size = sizeof(mat_int16_t);
  142|      7|    mat_int16_t v[READ_BLOCK_SIZE / sizeof(mat_int16_t)];
  143|      7|    READ_DATA(READ_TYPE, Mat_int16Swap);
  ------------------
  |  |   83|      7|    do {                                                                  \
  |  |   84|      7|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 7]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|      7|        } else {                                                          \
  |  |  120|      7|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|      7|    do {                                                              \
  |  |  |  |   46|      7|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|      7|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|      7|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 7]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|      7|        } else {                                                      \
  |  |  |  |   55|      7|            size_t j;                                                 \
  |  |  |  |   56|      7|            int err_ = 0;                                             \
  |  |  |  |   57|      7|            readcount = 0;                                            \
  |  |  |  |   58|    101|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 101, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|    101|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|    101|                readcount += j;                                       \
  |  |  |  |   61|    101|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 94, False: 7]
  |  |  |  |  ------------------
  |  |  |  |   62|   385k|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 385k, False: 94]
  |  |  |  |  ------------------
  |  |  |  |   63|   385k|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|   385k|                    }                                                 \
  |  |  |  |   65|     94|                } else {                                              \
  |  |  |  |   66|      7|                    err_ = 1;                                         \
  |  |  |  |   67|      7|                    break;                                            \
  |  |  |  |   68|      7|                }                                                     \
  |  |  |  |   69|    101|            }                                                         \
  |  |  |  |   70|      7|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 7]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|      7|        }                                                             \
  |  |  |  |   80|      7|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|      7|        }                                                                 \
  |  |  122|      7|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  144|      7|#endif
  145|      7|    return readcount;
  146|      7|}
read_data.c:ReadUInt8DataUInt16:
  150|     13|{
  151|     13|    size_t readcount;
  152|       |#if READ_TYPE_TYPE == READ_TYPE_UINT16
  153|       |    readcount = fread(data, sizeof(mat_uint16_t), len, (FILE *)mat->fp);
  154|       |    if ( readcount == len && mat->byteswap ) {
  155|       |        size_t i;
  156|       |        for ( i = 0; i < len; i++ ) {
  157|       |            (void)Mat_uint16Swap(data + i);
  158|       |        }
  159|       |    }
  160|       |#else
  161|     13|    size_t i;
  162|     13|    const size_t data_size = sizeof(mat_uint16_t);
  163|     13|    mat_uint16_t v[READ_BLOCK_SIZE / sizeof(mat_uint16_t)];
  164|     13|    READ_DATA(READ_TYPE, Mat_uint16Swap);
  ------------------
  |  |   83|     13|    do {                                                                  \
  |  |   84|     13|        if ( mat->byteswap ) {                                            \
  |  |  ------------------
  |  |  |  Branch (84:14): [True: 0, False: 13]
  |  |  ------------------
  |  |   85|      0|            const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  ------------------
  |  |  |  |   92|      0|#define READ_BLOCK_SIZE (8192)
  |  |  ------------------
  |  |   86|      0|            if ( len <= block_size ) {                                    \
  |  |  ------------------
  |  |  |  Branch (86:18): [True: 0, False: 0]
  |  |  ------------------
  |  |   87|      0|                readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |   88|      0|                if ( readcount == len ) {                                 \
  |  |  ------------------
  |  |  |  Branch (88:22): [True: 0, False: 0]
  |  |  ------------------
  |  |   89|      0|                    for ( i = 0; i < len; i++ ) {                         \
  |  |  ------------------
  |  |  |  Branch (89:34): [True: 0, False: 0]
  |  |  ------------------
  |  |   90|      0|                        data[i] = (T)SwapFunc(&v[i]);                     \
  |  |   91|      0|                    }                                                     \
  |  |   92|      0|                }                                                         \
  |  |   93|      0|            } else {                                                      \
  |  |   94|      0|                size_t j;                                                 \
  |  |   95|      0|                int err_ = 0;                                             \
  |  |   96|      0|                readcount = 0;                                            \
  |  |   97|      0|                for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  ------------------
  |  |  |  Branch (97:30): [True: 0, False: 0]
  |  |  ------------------
  |  |   98|      0|                    j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |   99|      0|                    readcount += j;                                       \
  |  |  100|      0|                    if ( j == block_size ) {                              \
  |  |  ------------------
  |  |  |  Branch (100:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  101|      0|                        for ( j = 0; j < block_size; j++ ) {              \
  |  |  ------------------
  |  |  |  Branch (101:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  102|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  103|      0|                        }                                                 \
  |  |  104|      0|                    } else {                                              \
  |  |  105|      0|                        err_ = 1;                                         \
  |  |  106|      0|                        break;                                            \
  |  |  107|      0|                    }                                                     \
  |  |  108|      0|                }                                                         \
  |  |  109|      0|                if ( 0 == err_ && len > i ) {                             \
  |  |  ------------------
  |  |  |  Branch (109:22): [True: 0, False: 0]
  |  |  |  Branch (109:35): [True: 0, False: 0]
  |  |  ------------------
  |  |  110|      0|                    j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  111|      0|                    readcount += j;                                       \
  |  |  112|      0|                    if ( j == len - i ) {                                 \
  |  |  ------------------
  |  |  |  Branch (112:26): [True: 0, False: 0]
  |  |  ------------------
  |  |  113|      0|                        for ( j = 0; j < len - i; j++ ) {                 \
  |  |  ------------------
  |  |  |  Branch (113:38): [True: 0, False: 0]
  |  |  ------------------
  |  |  114|      0|                            data[i + j] = (T)SwapFunc(&v[j]);             \
  |  |  115|      0|                        }                                                 \
  |  |  116|      0|                    }                                                     \
  |  |  117|      0|                }                                                         \
  |  |  118|      0|            }                                                             \
  |  |  119|     13|        } else {                                                          \
  |  |  120|     13|            READ_DATA_NOSWAP(T);                                          \
  |  |  ------------------
  |  |  |  |   45|     13|    do {                                                              \
  |  |  |  |   46|     13|        const size_t block_size = READ_BLOCK_SIZE / data_size;        \
  |  |  |  |  ------------------
  |  |  |  |  |  |   92|     13|#define READ_BLOCK_SIZE (8192)
  |  |  |  |  ------------------
  |  |  |  |   47|     13|        if ( len <= block_size ) {                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (47:14): [True: 0, False: 13]
  |  |  |  |  ------------------
  |  |  |  |   48|      0|            readcount = fread(v, data_size, len, (FILE *)mat->fp);    \
  |  |  |  |   49|      0|            if ( readcount == len ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (49:18): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   50|      0|                for ( i = 0; i < len; i++ ) {                         \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (50:30): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   51|      0|                    data[i] = (T)v[i];                                \
  |  |  |  |   52|      0|                }                                                     \
  |  |  |  |   53|      0|            }                                                         \
  |  |  |  |   54|     13|        } else {                                                      \
  |  |  |  |   55|     13|            size_t j;                                                 \
  |  |  |  |   56|     13|            int err_ = 0;                                             \
  |  |  |  |   57|     13|            readcount = 0;                                            \
  |  |  |  |   58|    542|            for ( i = 0; i < len - block_size; i += block_size ) {    \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (58:26): [True: 542, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   59|    542|                j = fread(v, data_size, block_size, (FILE *)mat->fp); \
  |  |  |  |   60|    542|                readcount += j;                                       \
  |  |  |  |   61|    542|                if ( j == block_size ) {                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (61:22): [True: 529, False: 13]
  |  |  |  |  ------------------
  |  |  |  |   62|  2.16M|                    for ( j = 0; j < block_size; j++ ) {              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (62:34): [True: 2.16M, False: 529]
  |  |  |  |  ------------------
  |  |  |  |   63|  2.16M|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   64|  2.16M|                    }                                                 \
  |  |  |  |   65|    529|                } else {                                              \
  |  |  |  |   66|     13|                    err_ = 1;                                         \
  |  |  |  |   67|     13|                    break;                                            \
  |  |  |  |   68|     13|                }                                                     \
  |  |  |  |   69|    542|            }                                                         \
  |  |  |  |   70|     13|            if ( 0 == err_ && len > i ) {                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (70:18): [True: 0, False: 13]
  |  |  |  |  |  Branch (70:31): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   71|      0|                j = fread(v, data_size, len - i, (FILE *)mat->fp);    \
  |  |  |  |   72|      0|                readcount += j;                                       \
  |  |  |  |   73|      0|                if ( j == len - i ) {                                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (73:22): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   74|      0|                    for ( j = 0; j < len - i; j++ ) {                 \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:34): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   75|      0|                        data[i + j] = (T)v[j];                        \
  |  |  |  |   76|      0|                    }                                                 \
  |  |  |  |   77|      0|                }                                                     \
  |  |  |  |   78|      0|            }                                                         \
  |  |  |  |   79|     13|        }                                                             \
  |  |  |  |   80|     13|    } while ( 0 )
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (80:15): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  121|     13|        }                                                                 \
  |  |  122|     13|    } while ( 0 )
  |  |  ------------------
  |  |  |  Branch (122:15): [Folded - Ignored]
  |  |  ------------------
  ------------------
  165|     13|#endif
  166|     13|    return readcount;
  167|     13|}

mat.c:psnip_safe_size_mul:
  472|  35.0k|  psnip_safe_##name##_##op_name(T* res, T a, T b) { \
  473|  35.0k|    return !__builtin_##op_name##_overflow(a, b, res); \
  474|  35.0k|  }
mat.c:psnip_safe_size_add:
  472|     82|  psnip_safe_##name##_##op_name(T* res, T a, T b) { \
  473|     82|    return !__builtin_##op_name##_overflow(a, b, res); \
  474|     82|  }

adler32_z:
   61|  2.07k|uLong ZEXPORT adler32_z(uLong adler, const Bytef *buf, z_size_t len) {
   62|  2.07k|    unsigned long sum2;
   63|  2.07k|    unsigned n;
   64|       |
   65|       |    /* split Adler-32 into component sums */
   66|  2.07k|    sum2 = (adler >> 16) & 0xffff;
   67|  2.07k|    adler &= 0xffff;
   68|       |
   69|       |    /* in case user likes doing a byte at a time, keep it fast */
   70|  2.07k|    if (len == 1) {
  ------------------
  |  Branch (70:9): [True: 207, False: 1.86k]
  ------------------
   71|    207|        adler += buf[0];
   72|    207|        if (adler >= BASE)
  ------------------
  |  |   10|    207|#define BASE 65521U     /* largest prime smaller than 65536 */
  ------------------
  |  Branch (72:13): [True: 0, False: 207]
  ------------------
   73|      0|            adler -= BASE;
  ------------------
  |  |   10|      0|#define BASE 65521U     /* largest prime smaller than 65536 */
  ------------------
   74|    207|        sum2 += adler;
   75|    207|        if (sum2 >= BASE)
  ------------------
  |  |   10|    207|#define BASE 65521U     /* largest prime smaller than 65536 */
  ------------------
  |  Branch (75:13): [True: 0, False: 207]
  ------------------
   76|      0|            sum2 -= BASE;
  ------------------
  |  |   10|      0|#define BASE 65521U     /* largest prime smaller than 65536 */
  ------------------
   77|    207|        return adler | (sum2 << 16);
   78|    207|    }
   79|       |
   80|       |    /* initial Adler-32 value (deferred check for len == 1 speed) */
   81|  1.86k|    if (buf == Z_NULL)
  ------------------
  |  |  212|  1.86k|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
  |  Branch (81:9): [True: 13, False: 1.85k]
  ------------------
   82|     13|        return 1L;
   83|       |
   84|       |    /* in case short lengths are provided, keep it somewhat fast */
   85|  1.85k|    if (len < 16) {
  ------------------
  |  Branch (85:9): [True: 288, False: 1.56k]
  ------------------
   86|  1.66k|        while (len--) {
  ------------------
  |  Branch (86:16): [True: 1.37k, False: 288]
  ------------------
   87|  1.37k|            adler += *buf++;
   88|  1.37k|            sum2 += adler;
   89|  1.37k|        }
   90|    288|        if (adler >= BASE)
  ------------------
  |  |   10|    288|#define BASE 65521U     /* largest prime smaller than 65536 */
  ------------------
  |  Branch (90:13): [True: 0, False: 288]
  ------------------
   91|      0|            adler -= BASE;
  ------------------
  |  |   10|      0|#define BASE 65521U     /* largest prime smaller than 65536 */
  ------------------
   92|    288|        MOD28(sum2);            /* only added so many BASE's */
  ------------------
  |  |   56|    288|#  define MOD28(a) a %= BASE
  |  |  ------------------
  |  |  |  |   10|    288|#define BASE 65521U     /* largest prime smaller than 65536 */
  |  |  ------------------
  ------------------
   93|    288|        return adler | (sum2 << 16);
   94|    288|    }
   95|       |
   96|       |    /* do length NMAX blocks -- requires just one modulo operation */
   97|  2.95k|    while (len >= NMAX) {
  ------------------
  |  |   11|  2.95k|#define NMAX 5552
  ------------------
  |  Branch (97:12): [True: 1.38k, False: 1.56k]
  ------------------
   98|  1.38k|        len -= NMAX;
  ------------------
  |  |   11|  1.38k|#define NMAX 5552
  ------------------
   99|  1.38k|        n = NMAX / 16;          /* NMAX is divisible by 16 */
  ------------------
  |  |   11|  1.38k|#define NMAX 5552
  ------------------
  100|   480k|        do {
  101|   480k|            DO16(buf);          /* 16 sums unrolled */
  ------------------
  |  |   18|   480k|#define DO16(buf)   DO8(buf,0); DO8(buf,8);
  |  |  ------------------
  |  |  |  |   17|   480k|#define DO8(buf,i)  DO4(buf,i); DO4(buf,i+4);
  |  |  |  |  ------------------
  |  |  |  |  |  |   16|   480k|#define DO4(buf,i)  DO2(buf,i); DO2(buf,i+2);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   15|   480k|#define DO2(buf,i)  DO1(buf,i); DO1(buf,i+1);
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   14|   480k|#define DO1(buf,i)  {adler += (buf)[i]; sum2 += adler;}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define DO2(buf,i)  DO1(buf,i); DO1(buf,i+1);
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   14|   480k|#define DO1(buf,i)  {adler += (buf)[i]; sum2 += adler;}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define DO4(buf,i)  DO2(buf,i); DO2(buf,i+2);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   15|   480k|#define DO2(buf,i)  DO1(buf,i); DO1(buf,i+1);
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   14|   480k|#define DO1(buf,i)  {adler += (buf)[i]; sum2 += adler;}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define DO2(buf,i)  DO1(buf,i); DO1(buf,i+1);
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   14|   480k|#define DO1(buf,i)  {adler += (buf)[i]; sum2 += adler;}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |               #define DO8(buf,i)  DO4(buf,i); DO4(buf,i+4);
  |  |  |  |  ------------------
  |  |  |  |  |  |   16|   480k|#define DO4(buf,i)  DO2(buf,i); DO2(buf,i+2);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   15|   480k|#define DO2(buf,i)  DO1(buf,i); DO1(buf,i+1);
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   14|   480k|#define DO1(buf,i)  {adler += (buf)[i]; sum2 += adler;}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define DO2(buf,i)  DO1(buf,i); DO1(buf,i+1);
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   14|   480k|#define DO1(buf,i)  {adler += (buf)[i]; sum2 += adler;}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define DO4(buf,i)  DO2(buf,i); DO2(buf,i+2);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   15|   480k|#define DO2(buf,i)  DO1(buf,i); DO1(buf,i+1);
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   14|   480k|#define DO1(buf,i)  {adler += (buf)[i]; sum2 += adler;}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define DO2(buf,i)  DO1(buf,i); DO1(buf,i+1);
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   14|   480k|#define DO1(buf,i)  {adler += (buf)[i]; sum2 += adler;}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define DO16(buf)   DO8(buf,0); DO8(buf,8);
  |  |  ------------------
  |  |  |  |   17|   480k|#define DO8(buf,i)  DO4(buf,i); DO4(buf,i+4);
  |  |  |  |  ------------------
  |  |  |  |  |  |   16|   480k|#define DO4(buf,i)  DO2(buf,i); DO2(buf,i+2);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   15|   480k|#define DO2(buf,i)  DO1(buf,i); DO1(buf,i+1);
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   14|   480k|#define DO1(buf,i)  {adler += (buf)[i]; sum2 += adler;}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define DO2(buf,i)  DO1(buf,i); DO1(buf,i+1);
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   14|   480k|#define DO1(buf,i)  {adler += (buf)[i]; sum2 += adler;}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define DO4(buf,i)  DO2(buf,i); DO2(buf,i+2);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   15|   480k|#define DO2(buf,i)  DO1(buf,i); DO1(buf,i+1);
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   14|   480k|#define DO1(buf,i)  {adler += (buf)[i]; sum2 += adler;}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define DO2(buf,i)  DO1(buf,i); DO1(buf,i+1);
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   14|   480k|#define DO1(buf,i)  {adler += (buf)[i]; sum2 += adler;}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |               #define DO8(buf,i)  DO4(buf,i); DO4(buf,i+4);
  |  |  |  |  ------------------
  |  |  |  |  |  |   16|   480k|#define DO4(buf,i)  DO2(buf,i); DO2(buf,i+2);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   15|   480k|#define DO2(buf,i)  DO1(buf,i); DO1(buf,i+1);
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   14|   480k|#define DO1(buf,i)  {adler += (buf)[i]; sum2 += adler;}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define DO2(buf,i)  DO1(buf,i); DO1(buf,i+1);
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   14|   480k|#define DO1(buf,i)  {adler += (buf)[i]; sum2 += adler;}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define DO4(buf,i)  DO2(buf,i); DO2(buf,i+2);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   15|   480k|#define DO2(buf,i)  DO1(buf,i); DO1(buf,i+1);
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   14|   480k|#define DO1(buf,i)  {adler += (buf)[i]; sum2 += adler;}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define DO2(buf,i)  DO1(buf,i); DO1(buf,i+1);
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   14|   480k|#define DO1(buf,i)  {adler += (buf)[i]; sum2 += adler;}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  102|   480k|            buf += 16;
  103|   480k|        } while (--n);
  ------------------
  |  Branch (103:18): [True: 478k, False: 1.38k]
  ------------------
  104|  1.38k|        MOD(adler);
  ------------------
  |  |   55|  1.38k|#  define MOD(a) a %= BASE
  |  |  ------------------
  |  |  |  |   10|  1.38k|#define BASE 65521U     /* largest prime smaller than 65536 */
  |  |  ------------------
  ------------------
  105|  1.38k|        MOD(sum2);
  ------------------
  |  |   55|  1.38k|#  define MOD(a) a %= BASE
  |  |  ------------------
  |  |  |  |   10|  1.38k|#define BASE 65521U     /* largest prime smaller than 65536 */
  |  |  ------------------
  ------------------
  106|  1.38k|    }
  107|       |
  108|       |    /* do remaining bytes (less than NMAX, still just one modulo) */
  109|  1.56k|    if (len) {                  /* avoid modulos if none remaining */
  ------------------
  |  Branch (109:9): [True: 1.56k, False: 0]
  ------------------
  110|   229k|        while (len >= 16) {
  ------------------
  |  Branch (110:16): [True: 227k, False: 1.56k]
  ------------------
  111|   227k|            len -= 16;
  112|   227k|            DO16(buf);
  ------------------
  |  |   18|   227k|#define DO16(buf)   DO8(buf,0); DO8(buf,8);
  |  |  ------------------
  |  |  |  |   17|   227k|#define DO8(buf,i)  DO4(buf,i); DO4(buf,i+4);
  |  |  |  |  ------------------
  |  |  |  |  |  |   16|   227k|#define DO4(buf,i)  DO2(buf,i); DO2(buf,i+2);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   15|   227k|#define DO2(buf,i)  DO1(buf,i); DO1(buf,i+1);
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   14|   227k|#define DO1(buf,i)  {adler += (buf)[i]; sum2 += adler;}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define DO2(buf,i)  DO1(buf,i); DO1(buf,i+1);
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   14|   227k|#define DO1(buf,i)  {adler += (buf)[i]; sum2 += adler;}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define DO4(buf,i)  DO2(buf,i); DO2(buf,i+2);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   15|   227k|#define DO2(buf,i)  DO1(buf,i); DO1(buf,i+1);
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   14|   227k|#define DO1(buf,i)  {adler += (buf)[i]; sum2 += adler;}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define DO2(buf,i)  DO1(buf,i); DO1(buf,i+1);
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   14|   227k|#define DO1(buf,i)  {adler += (buf)[i]; sum2 += adler;}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |               #define DO8(buf,i)  DO4(buf,i); DO4(buf,i+4);
  |  |  |  |  ------------------
  |  |  |  |  |  |   16|   227k|#define DO4(buf,i)  DO2(buf,i); DO2(buf,i+2);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   15|   227k|#define DO2(buf,i)  DO1(buf,i); DO1(buf,i+1);
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   14|   227k|#define DO1(buf,i)  {adler += (buf)[i]; sum2 += adler;}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define DO2(buf,i)  DO1(buf,i); DO1(buf,i+1);
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   14|   227k|#define DO1(buf,i)  {adler += (buf)[i]; sum2 += adler;}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define DO4(buf,i)  DO2(buf,i); DO2(buf,i+2);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   15|   227k|#define DO2(buf,i)  DO1(buf,i); DO1(buf,i+1);
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   14|   227k|#define DO1(buf,i)  {adler += (buf)[i]; sum2 += adler;}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define DO2(buf,i)  DO1(buf,i); DO1(buf,i+1);
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   14|   227k|#define DO1(buf,i)  {adler += (buf)[i]; sum2 += adler;}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define DO16(buf)   DO8(buf,0); DO8(buf,8);
  |  |  ------------------
  |  |  |  |   17|   227k|#define DO8(buf,i)  DO4(buf,i); DO4(buf,i+4);
  |  |  |  |  ------------------
  |  |  |  |  |  |   16|   227k|#define DO4(buf,i)  DO2(buf,i); DO2(buf,i+2);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   15|   227k|#define DO2(buf,i)  DO1(buf,i); DO1(buf,i+1);
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   14|   227k|#define DO1(buf,i)  {adler += (buf)[i]; sum2 += adler;}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define DO2(buf,i)  DO1(buf,i); DO1(buf,i+1);
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   14|   227k|#define DO1(buf,i)  {adler += (buf)[i]; sum2 += adler;}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define DO4(buf,i)  DO2(buf,i); DO2(buf,i+2);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   15|   227k|#define DO2(buf,i)  DO1(buf,i); DO1(buf,i+1);
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   14|   227k|#define DO1(buf,i)  {adler += (buf)[i]; sum2 += adler;}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define DO2(buf,i)  DO1(buf,i); DO1(buf,i+1);
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   14|   227k|#define DO1(buf,i)  {adler += (buf)[i]; sum2 += adler;}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |               #define DO8(buf,i)  DO4(buf,i); DO4(buf,i+4);
  |  |  |  |  ------------------
  |  |  |  |  |  |   16|   227k|#define DO4(buf,i)  DO2(buf,i); DO2(buf,i+2);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   15|   227k|#define DO2(buf,i)  DO1(buf,i); DO1(buf,i+1);
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   14|   227k|#define DO1(buf,i)  {adler += (buf)[i]; sum2 += adler;}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define DO2(buf,i)  DO1(buf,i); DO1(buf,i+1);
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   14|   227k|#define DO1(buf,i)  {adler += (buf)[i]; sum2 += adler;}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |               #define DO4(buf,i)  DO2(buf,i); DO2(buf,i+2);
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   15|   227k|#define DO2(buf,i)  DO1(buf,i); DO1(buf,i+1);
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   14|   227k|#define DO1(buf,i)  {adler += (buf)[i]; sum2 += adler;}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |               #define DO2(buf,i)  DO1(buf,i); DO1(buf,i+1);
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   14|   227k|#define DO1(buf,i)  {adler += (buf)[i]; sum2 += adler;}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  113|   227k|            buf += 16;
  114|   227k|        }
  115|  4.38k|        while (len--) {
  ------------------
  |  Branch (115:16): [True: 2.81k, False: 1.56k]
  ------------------
  116|  2.81k|            adler += *buf++;
  117|  2.81k|            sum2 += adler;
  118|  2.81k|        }
  119|  1.56k|        MOD(adler);
  ------------------
  |  |   55|  1.56k|#  define MOD(a) a %= BASE
  |  |  ------------------
  |  |  |  |   10|  1.56k|#define BASE 65521U     /* largest prime smaller than 65536 */
  |  |  ------------------
  ------------------
  120|  1.56k|        MOD(sum2);
  ------------------
  |  |   55|  1.56k|#  define MOD(a) a %= BASE
  |  |  ------------------
  |  |  |  |   10|  1.56k|#define BASE 65521U     /* largest prime smaller than 65536 */
  |  |  ------------------
  ------------------
  121|  1.56k|    }
  122|       |
  123|       |    /* return recombined sums */
  124|  1.56k|    return adler | (sum2 << 16);
  125|  1.85k|}
adler32:
  128|  2.07k|uLong ZEXPORT adler32(uLong adler, const Bytef *buf, uInt len) {
  129|  2.07k|    return adler32_z(adler, buf, len);
  130|  2.07k|}

inflate_fast:
   50|  2.35k|void ZLIB_INTERNAL inflate_fast(z_streamp strm, unsigned start) {
   51|  2.35k|    struct inflate_state FAR *state;
   52|  2.35k|    z_const unsigned char FAR *in;      /* local strm->next_in */
   53|  2.35k|    z_const unsigned char FAR *last;    /* have enough input while in < last */
   54|  2.35k|    unsigned char FAR *out;     /* local strm->next_out */
   55|  2.35k|    unsigned char FAR *beg;     /* inflate()'s initial strm->next_out */
   56|  2.35k|    unsigned char FAR *end;     /* while out < end, enough space available */
   57|       |#ifdef INFLATE_STRICT
   58|       |    unsigned dmax;              /* maximum distance from zlib header */
   59|       |#endif
   60|  2.35k|    unsigned wsize;             /* window size or zero if not using window */
   61|  2.35k|    unsigned whave;             /* valid bytes in the window */
   62|  2.35k|    unsigned wnext;             /* window write index */
   63|  2.35k|    unsigned char FAR *window;  /* allocated sliding window, if wsize != 0 */
   64|  2.35k|    unsigned long hold;         /* local strm->hold */
   65|  2.35k|    unsigned bits;              /* local strm->bits */
   66|  2.35k|    code const FAR *lcode;      /* local strm->lencode */
   67|  2.35k|    code const FAR *dcode;      /* local strm->distcode */
   68|  2.35k|    unsigned lmask;             /* mask for first level of length codes */
   69|  2.35k|    unsigned dmask;             /* mask for first level of distance codes */
   70|  2.35k|    code const *here;           /* retrieved table entry */
   71|  2.35k|    unsigned op;                /* code bits, operation, extra bits, or */
   72|       |                                /*  window position, window bytes to copy */
   73|  2.35k|    unsigned len;               /* match length, unused bytes */
   74|  2.35k|    unsigned dist;              /* match distance */
   75|  2.35k|    unsigned char FAR *from;    /* where to copy match from */
   76|       |
   77|       |    /* copy state to local variables */
   78|  2.35k|    state = (struct inflate_state FAR *)strm->state;
   79|  2.35k|    in = strm->next_in;
   80|  2.35k|    last = in + (strm->avail_in - 5);
   81|  2.35k|    out = strm->next_out;
   82|  2.35k|    beg = out - (start - strm->avail_out);
   83|  2.35k|    end = out + (strm->avail_out - 257);
   84|       |#ifdef INFLATE_STRICT
   85|       |    dmax = state->dmax;
   86|       |#endif
   87|  2.35k|    wsize = state->wsize;
   88|  2.35k|    whave = state->whave;
   89|  2.35k|    wnext = state->wnext;
   90|  2.35k|    window = state->window;
   91|  2.35k|    hold = state->hold;
   92|  2.35k|    bits = state->bits;
   93|  2.35k|    lcode = state->lencode;
   94|  2.35k|    dcode = state->distcode;
   95|  2.35k|    lmask = (1U << state->lenbits) - 1;
   96|  2.35k|    dmask = (1U << state->distbits) - 1;
   97|       |
   98|       |    /* decode literals and length/distances until end-of-block or not enough
   99|       |       input data or output space */
  100|  3.65M|    do {
  101|  3.65M|        if (bits < 15) {
  ------------------
  |  Branch (101:13): [True: 239k, False: 3.41M]
  ------------------
  102|   239k|            hold += (unsigned long)(*in++) << bits;
  103|   239k|            bits += 8;
  104|   239k|            hold += (unsigned long)(*in++) << bits;
  105|   239k|            bits += 8;
  106|   239k|        }
  107|  3.65M|        here = lcode + (hold & lmask);
  108|  3.65M|      dolen:
  109|  3.65M|        op = (unsigned)(here->bits);
  110|  3.65M|        hold >>= op;
  111|  3.65M|        bits -= op;
  112|  3.65M|        op = (unsigned)(here->op);
  113|  3.65M|        if (op == 0) {                          /* literal */
  ------------------
  |  Branch (113:13): [True: 17.4k, False: 3.63M]
  ------------------
  114|  17.4k|            Tracevv((stderr, here->val >= 0x20 && here->val < 0x7f ?
  115|  17.4k|                    "inflate:         literal '%c'\n" :
  116|  17.4k|                    "inflate:         literal 0x%02x\n", here->val));
  117|  17.4k|            *out++ = (unsigned char)(here->val);
  118|  17.4k|        }
  119|  3.63M|        else if (op & 16) {                     /* length base */
  ------------------
  |  Branch (119:18): [True: 3.63M, False: 0]
  ------------------
  120|  3.63M|            len = (unsigned)(here->val);
  121|  3.63M|            op &= 15;                           /* number of extra bits */
  122|  3.63M|            if (op) {
  ------------------
  |  Branch (122:17): [True: 879, False: 3.63M]
  ------------------
  123|    879|                if (bits < op) {
  ------------------
  |  Branch (123:21): [True: 0, False: 879]
  ------------------
  124|      0|                    hold += (unsigned long)(*in++) << bits;
  125|      0|                    bits += 8;
  126|      0|                }
  127|    879|                len += (unsigned)hold & ((1U << op) - 1);
  128|    879|                hold >>= op;
  129|    879|                bits -= op;
  130|    879|            }
  131|  3.63M|            Tracevv((stderr, "inflate:         length %u\n", len));
  132|  3.63M|            if (bits < 15) {
  ------------------
  |  Branch (132:17): [True: 456k, False: 3.18M]
  ------------------
  133|   456k|                hold += (unsigned long)(*in++) << bits;
  134|   456k|                bits += 8;
  135|   456k|                hold += (unsigned long)(*in++) << bits;
  136|   456k|                bits += 8;
  137|   456k|            }
  138|  3.63M|            here = dcode + (hold & dmask);
  139|  3.63M|          dodist:
  140|  3.63M|            op = (unsigned)(here->bits);
  141|  3.63M|            hold >>= op;
  142|  3.63M|            bits -= op;
  143|  3.63M|            op = (unsigned)(here->op);
  144|  3.63M|            if (op & 16) {                      /* distance base */
  ------------------
  |  Branch (144:17): [True: 3.63M, False: 873]
  ------------------
  145|  3.63M|                dist = (unsigned)(here->val);
  146|  3.63M|                op &= 15;                       /* number of extra bits */
  147|  3.63M|                if (bits < op) {
  ------------------
  |  Branch (147:21): [True: 5, False: 3.63M]
  ------------------
  148|      5|                    hold += (unsigned long)(*in++) << bits;
  149|      5|                    bits += 8;
  150|      5|                    if (bits < op) {
  ------------------
  |  Branch (150:25): [True: 0, False: 5]
  ------------------
  151|      0|                        hold += (unsigned long)(*in++) << bits;
  152|      0|                        bits += 8;
  153|      0|                    }
  154|      5|                }
  155|  3.63M|                dist += (unsigned)hold & ((1U << op) - 1);
  156|       |#ifdef INFLATE_STRICT
  157|       |                if (dist > dmax) {
  158|       |                    strm->msg = (char *)"invalid distance too far back";
  159|       |                    state->mode = BAD;
  160|       |                    break;
  161|       |                }
  162|       |#endif
  163|  3.63M|                hold >>= op;
  164|  3.63M|                bits -= op;
  165|  3.63M|                Tracevv((stderr, "inflate:         distance %u\n", dist));
  166|  3.63M|                op = (unsigned)(out - beg);     /* max distance in output */
  167|  3.63M|                if (dist > op) {                /* see if copy from window */
  ------------------
  |  Branch (167:21): [True: 1.83k, False: 3.63M]
  ------------------
  168|  1.83k|                    op = dist - op;             /* distance back in window */
  169|  1.83k|                    if (op > whave) {
  ------------------
  |  Branch (169:25): [True: 6, False: 1.82k]
  ------------------
  170|      6|                        if (state->sane) {
  ------------------
  |  Branch (170:29): [True: 6, False: 0]
  ------------------
  171|      6|                            strm->msg =
  172|      6|                                (char *)"invalid distance too far back";
  173|      6|                            state->mode = BAD;
  174|      6|                            break;
  175|      6|                        }
  176|       |#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR
  177|       |                        if (len <= op - whave) {
  178|       |                            do {
  179|       |                                *out++ = 0;
  180|       |                            } while (--len);
  181|       |                            continue;
  182|       |                        }
  183|       |                        len -= op - whave;
  184|       |                        do {
  185|       |                            *out++ = 0;
  186|       |                        } while (--op > whave);
  187|       |                        if (op == 0) {
  188|       |                            from = out - dist;
  189|       |                            do {
  190|       |                                *out++ = *from++;
  191|       |                            } while (--len);
  192|       |                            continue;
  193|       |                        }
  194|       |#endif
  195|      6|                    }
  196|  1.82k|                    from = window;
  197|  1.82k|                    if (wnext == 0) {           /* very common case */
  ------------------
  |  Branch (197:25): [True: 0, False: 1.82k]
  ------------------
  198|      0|                        from += wsize - op;
  199|      0|                        if (op < len) {         /* some from window */
  ------------------
  |  Branch (199:29): [True: 0, False: 0]
  ------------------
  200|      0|                            len -= op;
  201|      0|                            do {
  202|      0|                                *out++ = *from++;
  203|      0|                            } while (--op);
  ------------------
  |  Branch (203:38): [True: 0, False: 0]
  ------------------
  204|      0|                            from = out - dist;  /* rest from output */
  205|      0|                        }
  206|      0|                    }
  207|  1.82k|                    else if (wnext < op) {      /* wrap around window */
  ------------------
  |  Branch (207:30): [True: 0, False: 1.82k]
  ------------------
  208|      0|                        from += wsize + wnext - op;
  209|      0|                        op -= wnext;
  210|      0|                        if (op < len) {         /* some from end of window */
  ------------------
  |  Branch (210:29): [True: 0, False: 0]
  ------------------
  211|      0|                            len -= op;
  212|      0|                            do {
  213|      0|                                *out++ = *from++;
  214|      0|                            } while (--op);
  ------------------
  |  Branch (214:38): [True: 0, False: 0]
  ------------------
  215|      0|                            from = window;
  216|      0|                            if (wnext < len) {  /* some from start of window */
  ------------------
  |  Branch (216:33): [True: 0, False: 0]
  ------------------
  217|      0|                                op = wnext;
  218|      0|                                len -= op;
  219|      0|                                do {
  220|      0|                                    *out++ = *from++;
  221|      0|                                } while (--op);
  ------------------
  |  Branch (221:42): [True: 0, False: 0]
  ------------------
  222|      0|                                from = out - dist;      /* rest from output */
  223|      0|                            }
  224|      0|                        }
  225|      0|                    }
  226|  1.82k|                    else {                      /* contiguous in window */
  227|  1.82k|                        from += wnext - op;
  228|  1.82k|                        if (op < len) {         /* some from window */
  ------------------
  |  Branch (228:29): [True: 1.11k, False: 712]
  ------------------
  229|  1.11k|                            len -= op;
  230|  1.59k|                            do {
  231|  1.59k|                                *out++ = *from++;
  232|  1.59k|                            } while (--op);
  ------------------
  |  Branch (232:38): [True: 485, False: 1.11k]
  ------------------
  233|  1.11k|                            from = out - dist;  /* rest from output */
  234|  1.11k|                        }
  235|  1.82k|                    }
  236|  2.65k|                    while (len > 2) {
  ------------------
  |  Branch (236:28): [True: 826, False: 1.82k]
  ------------------
  237|    826|                        *out++ = *from++;
  238|    826|                        *out++ = *from++;
  239|    826|                        *out++ = *from++;
  240|    826|                        len -= 3;
  241|    826|                    }
  242|  1.82k|                    if (len) {
  ------------------
  |  Branch (242:25): [True: 1.16k, False: 659]
  ------------------
  243|  1.16k|                        *out++ = *from++;
  244|  1.16k|                        if (len > 1)
  ------------------
  |  Branch (244:29): [True: 666, False: 500]
  ------------------
  245|    666|                            *out++ = *from++;
  246|  1.16k|                    }
  247|  1.82k|                }
  248|  3.63M|                else {
  249|  3.63M|                    from = out - dist;          /* copy direct from output */
  250|  3.64M|                    do {                        /* minimum length is three */
  251|  3.64M|                        *out++ = *from++;
  252|  3.64M|                        *out++ = *from++;
  253|  3.64M|                        *out++ = *from++;
  254|  3.64M|                        len -= 3;
  255|  3.64M|                    } while (len > 2);
  ------------------
  |  Branch (255:30): [True: 8.40k, False: 3.63M]
  ------------------
  256|  3.63M|                    if (len) {
  ------------------
  |  Branch (256:25): [True: 1.52k, False: 3.63M]
  ------------------
  257|  1.52k|                        *out++ = *from++;
  258|  1.52k|                        if (len > 1)
  ------------------
  |  Branch (258:29): [True: 479, False: 1.04k]
  ------------------
  259|    479|                            *out++ = *from++;
  260|  1.52k|                    }
  261|  3.63M|                }
  262|  3.63M|            }
  263|    873|            else if ((op & 64) == 0) {          /* 2nd level distance code */
  ------------------
  |  Branch (263:22): [True: 873, False: 0]
  ------------------
  264|    873|                here = dcode + here->val + (hold & ((1U << op) - 1));
  265|    873|                goto dodist;
  266|    873|            }
  267|      0|            else {
  268|      0|                strm->msg = (char *)"invalid distance code";
  269|      0|                state->mode = BAD;
  270|      0|                break;
  271|      0|            }
  272|  3.63M|        }
  273|      0|        else if ((op & 64) == 0) {              /* 2nd level length code */
  ------------------
  |  Branch (273:18): [True: 0, False: 0]
  ------------------
  274|      0|            here = lcode + here->val + (hold & ((1U << op) - 1));
  275|      0|            goto dolen;
  276|      0|        }
  277|      0|        else if (op & 32) {                     /* end-of-block */
  ------------------
  |  Branch (277:18): [True: 0, False: 0]
  ------------------
  278|      0|            Tracevv((stderr, "inflate:         end of block\n"));
  279|      0|            state->mode = TYPE;
  280|      0|            break;
  281|      0|        }
  282|      0|        else {
  283|      0|            strm->msg = (char *)"invalid literal/length code";
  284|      0|            state->mode = BAD;
  285|      0|            break;
  286|      0|        }
  287|  3.65M|    } while (in < last && out < end);
  ------------------
  |  Branch (287:14): [True: 3.65M, False: 965]
  |  Branch (287:27): [True: 3.65M, False: 1.37k]
  ------------------
  288|       |
  289|       |    /* return unused bytes (on entry, bits < 8, so in won't go too far back) */
  290|  2.35k|    len = bits >> 3;
  291|  2.35k|    in -= len;
  292|  2.35k|    bits -= len << 3;
  293|  2.35k|    hold &= (1U << bits) - 1;
  294|       |
  295|       |    /* update state and return */
  296|  2.35k|    strm->next_in = in;
  297|  2.35k|    strm->next_out = out;
  298|  2.35k|    strm->avail_in = (unsigned)(in < last ? 5 + (last - in) : 5 - (in - last));
  ------------------
  |  Branch (298:33): [True: 2.17k, False: 175]
  ------------------
  299|  2.35k|    strm->avail_out = (unsigned)(out < end ?
  ------------------
  |  Branch (299:34): [True: 971, False: 1.37k]
  ------------------
  300|  1.37k|                                 257 + (end - out) : 257 - (out - end));
  301|  2.35k|    state->hold = hold;
  302|  2.35k|    state->bits = bits;
  303|  2.35k|    return;
  304|  2.35k|}

inflateResetKeep:
  106|     13|int ZEXPORT inflateResetKeep(z_streamp strm) {
  107|     13|    struct inflate_state FAR *state;
  108|       |
  109|     13|    if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
  ------------------
  |  |  181|      0|#define Z_STREAM_ERROR (-2)
  ------------------
  |  Branch (109:9): [True: 0, False: 13]
  ------------------
  110|     13|    state = (struct inflate_state FAR *)strm->state;
  111|     13|    strm->total_in = strm->total_out = state->total = 0;
  112|     13|    strm->msg = Z_NULL;
  ------------------
  |  |  212|     13|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
  113|     13|    if (state->wrap)        /* to support ill-conceived Java test suite */
  ------------------
  |  Branch (113:9): [True: 13, False: 0]
  ------------------
  114|     13|        strm->adler = state->wrap & 1;
  115|     13|    state->mode = HEAD;
  116|     13|    state->last = 0;
  117|     13|    state->havedict = 0;
  118|     13|    state->flags = -1;
  119|     13|    state->dmax = 32768U;
  120|     13|    state->head = Z_NULL;
  ------------------
  |  |  212|     13|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
  121|     13|    state->hold = 0;
  122|     13|    state->bits = 0;
  123|     13|    state->lencode = state->distcode = state->next = state->codes;
  124|     13|    state->sane = 1;
  125|     13|    state->back = -1;
  126|     13|    Tracev((stderr, "inflate: reset\n"));
  127|     13|    return Z_OK;
  ------------------
  |  |  177|     13|#define Z_OK            0
  ------------------
  128|     13|}
inflateReset:
  130|     13|int ZEXPORT inflateReset(z_streamp strm) {
  131|     13|    struct inflate_state FAR *state;
  132|       |
  133|     13|    if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
  ------------------
  |  |  181|      0|#define Z_STREAM_ERROR (-2)
  ------------------
  |  Branch (133:9): [True: 0, False: 13]
  ------------------
  134|     13|    state = (struct inflate_state FAR *)strm->state;
  135|     13|    state->wsize = 0;
  136|     13|    state->whave = 0;
  137|     13|    state->wnext = 0;
  138|     13|    return inflateResetKeep(strm);
  139|     13|}
inflateReset2:
  141|     13|int ZEXPORT inflateReset2(z_streamp strm, int windowBits) {
  142|     13|    int wrap;
  143|     13|    struct inflate_state FAR *state;
  144|       |
  145|       |    /* get the state */
  146|     13|    if (inflateStateCheck(strm)) return Z_STREAM_ERROR;
  ------------------
  |  |  181|      0|#define Z_STREAM_ERROR (-2)
  ------------------
  |  Branch (146:9): [True: 0, False: 13]
  ------------------
  147|     13|    state = (struct inflate_state FAR *)strm->state;
  148|       |
  149|       |    /* extract wrap request from windowBits parameter */
  150|     13|    if (windowBits < 0) {
  ------------------
  |  Branch (150:9): [True: 0, False: 13]
  ------------------
  151|      0|        if (windowBits < -15)
  ------------------
  |  Branch (151:13): [True: 0, False: 0]
  ------------------
  152|      0|            return Z_STREAM_ERROR;
  ------------------
  |  |  181|      0|#define Z_STREAM_ERROR (-2)
  ------------------
  153|      0|        wrap = 0;
  154|      0|        windowBits = -windowBits;
  155|      0|    }
  156|     13|    else {
  157|     13|        wrap = (windowBits >> 4) + 5;
  158|     13|#ifdef GUNZIP
  159|     13|        if (windowBits < 48)
  ------------------
  |  Branch (159:13): [True: 13, False: 0]
  ------------------
  160|     13|            windowBits &= 15;
  161|     13|#endif
  162|     13|    }
  163|       |
  164|       |    /* set number of window bits, free window if different */
  165|     13|    if (windowBits && (windowBits < 8 || windowBits > 15))
  ------------------
  |  Branch (165:9): [True: 13, False: 0]
  |  Branch (165:24): [True: 0, False: 13]
  |  Branch (165:42): [True: 0, False: 13]
  ------------------
  166|      0|        return Z_STREAM_ERROR;
  ------------------
  |  |  181|      0|#define Z_STREAM_ERROR (-2)
  ------------------
  167|     13|    if (state->window != Z_NULL && state->wbits != (unsigned)windowBits) {
  ------------------
  |  |  212|     26|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
  |  Branch (167:9): [True: 0, False: 13]
  |  Branch (167:36): [True: 0, False: 0]
  ------------------
  168|      0|        ZFREE(strm, state->window);
  ------------------
  |  |  246|      0|#define ZFREE(strm, addr)  (*((strm)->zfree))((strm)->opaque, (voidpf)(addr))
  ------------------
  169|      0|        state->window = Z_NULL;
  ------------------
  |  |  212|      0|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
  170|      0|    }
  171|       |
  172|       |    /* update state and reset the rest of it */
  173|     13|    state->wrap = wrap;
  174|     13|    state->wbits = (unsigned)windowBits;
  175|     13|    return inflateReset(strm);
  176|     13|}
inflateInit2_:
  179|     13|                          const char *version, int stream_size) {
  180|     13|    int ret;
  181|     13|    struct inflate_state FAR *state;
  182|       |
  183|     13|    if (version == Z_NULL || version[0] != ZLIB_VERSION[0] ||
  ------------------
  |  |  212|     26|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
                  if (version == Z_NULL || version[0] != ZLIB_VERSION[0] ||
  ------------------
  |  |   40|     13|#define ZLIB_VERSION "1.3.1.1-motley"
  ------------------
  |  Branch (183:9): [True: 0, False: 13]
  |  Branch (183:30): [True: 0, False: 13]
  ------------------
  184|     13|        stream_size != (int)(sizeof(z_stream)))
  ------------------
  |  Branch (184:9): [True: 0, False: 13]
  ------------------
  185|      0|        return Z_VERSION_ERROR;
  ------------------
  |  |  185|      0|#define Z_VERSION_ERROR (-6)
  ------------------
  186|     13|    if (strm == Z_NULL) return Z_STREAM_ERROR;
  ------------------
  |  |  212|     13|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
                  if (strm == Z_NULL) return Z_STREAM_ERROR;
  ------------------
  |  |  181|      0|#define Z_STREAM_ERROR (-2)
  ------------------
  |  Branch (186:9): [True: 0, False: 13]
  ------------------
  187|     13|    strm->msg = Z_NULL;                 /* in case we return an error */
  ------------------
  |  |  212|     13|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
  188|     13|    if (strm->zalloc == (alloc_func)0) {
  ------------------
  |  Branch (188:9): [True: 13, False: 0]
  ------------------
  189|       |#ifdef Z_SOLO
  190|       |        return Z_STREAM_ERROR;
  191|       |#else
  192|     13|        strm->zalloc = zcalloc;
  193|     13|        strm->opaque = (voidpf)0;
  194|     13|#endif
  195|     13|    }
  196|     13|    if (strm->zfree == (free_func)0)
  ------------------
  |  Branch (196:9): [True: 13, False: 0]
  ------------------
  197|       |#ifdef Z_SOLO
  198|       |        return Z_STREAM_ERROR;
  199|       |#else
  200|     13|        strm->zfree = zcfree;
  201|     13|#endif
  202|     13|    state = (struct inflate_state FAR *)
  203|     13|            ZALLOC(strm, 1, sizeof(struct inflate_state));
  ------------------
  |  |  245|     13|           (*((strm)->zalloc))((strm)->opaque, (items), (size))
  ------------------
  204|     13|    if (state == Z_NULL) return Z_MEM_ERROR;
  ------------------
  |  |  212|     13|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
                  if (state == Z_NULL) return Z_MEM_ERROR;
  ------------------
  |  |  183|      0|#define Z_MEM_ERROR    (-4)
  ------------------
  |  Branch (204:9): [True: 0, False: 13]
  ------------------
  205|     13|    Tracev((stderr, "inflate: allocated\n"));
  206|     13|    strm->state = (struct internal_state FAR *)state;
  207|     13|    state->strm = strm;
  208|     13|    state->window = Z_NULL;
  ------------------
  |  |  212|     13|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
  209|     13|    state->mode = HEAD;     /* to pass state test in inflateReset2() */
  210|     13|    ret = inflateReset2(strm, windowBits);
  211|     13|    if (ret != Z_OK) {
  ------------------
  |  |  177|     13|#define Z_OK            0
  ------------------
  |  Branch (211:9): [True: 0, False: 13]
  ------------------
  212|      0|        ZFREE(strm, state);
  ------------------
  |  |  246|      0|#define ZFREE(strm, addr)  (*((strm)->zfree))((strm)->opaque, (voidpf)(addr))
  ------------------
  213|      0|        strm->state = Z_NULL;
  ------------------
  |  |  212|      0|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
  214|      0|    }
  215|     13|    return ret;
  216|     13|}
inflateInit_:
  219|     13|                         int stream_size) {
  220|     13|    return inflateInit2_(strm, DEF_WBITS, version, stream_size);
  ------------------
  |  |   68|     13|#  define DEF_WBITS MAX_WBITS
  |  |  ------------------
  |  |  |  |  277|     13|#  define MAX_WBITS   15 /* 32K LZ77 window */
  |  |  ------------------
  ------------------
  221|     13|}
inflate:
  590|  2.91k|int ZEXPORT inflate(z_streamp strm, int flush) {
  591|  2.91k|    struct inflate_state FAR *state;
  592|  2.91k|    z_const unsigned char FAR *next;    /* next input */
  593|  2.91k|    unsigned char FAR *put;     /* next output */
  594|  2.91k|    unsigned have, left;        /* available input and output */
  595|  2.91k|    unsigned long hold;         /* bit buffer */
  596|  2.91k|    unsigned bits;              /* bits in bit buffer */
  597|  2.91k|    unsigned in, out;           /* save starting available input and output */
  598|  2.91k|    unsigned copy;              /* number of stored or match bytes to copy */
  599|  2.91k|    unsigned char FAR *from;    /* where to copy match bytes from */
  600|  2.91k|    code here;                  /* current decoding table entry */
  601|  2.91k|    code last;                  /* parent table entry */
  602|  2.91k|    unsigned len;               /* length to copy for repeats, bits to drop */
  603|  2.91k|    int ret;                    /* return code */
  604|  2.91k|#ifdef GUNZIP
  605|  2.91k|    unsigned char hbuf[4];      /* buffer for gzip header crc calculation */
  606|  2.91k|#endif
  607|  2.91k|    static const unsigned short order[19] = /* permutation of code lengths */
  608|  2.91k|        {16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15};
  609|       |
  610|  2.91k|    if (inflateStateCheck(strm) || strm->next_out == Z_NULL ||
  ------------------
  |  |  212|  5.82k|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
  |  Branch (610:9): [True: 0, False: 2.91k]
  |  Branch (610:36): [True: 0, False: 2.91k]
  ------------------
  611|  2.91k|        (strm->next_in == Z_NULL && strm->avail_in != 0))
  ------------------
  |  |  212|  5.82k|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
  |  Branch (611:10): [True: 0, False: 2.91k]
  |  Branch (611:37): [True: 0, False: 0]
  ------------------
  612|      0|        return Z_STREAM_ERROR;
  ------------------
  |  |  181|      0|#define Z_STREAM_ERROR (-2)
  ------------------
  613|       |
  614|  2.91k|    state = (struct inflate_state FAR *)strm->state;
  615|  2.91k|    if (state->mode == TYPE) state->mode = TYPEDO;      /* skip check */
  ------------------
  |  Branch (615:9): [True: 13, False: 2.89k]
  ------------------
  616|  2.91k|    LOAD();
  ------------------
  |  |  445|  2.91k|    do { \
  |  |  446|  2.91k|        put = strm->next_out; \
  |  |  447|  2.91k|        left = strm->avail_out; \
  |  |  448|  2.91k|        next = strm->next_in; \
  |  |  449|  2.91k|        have = strm->avail_in; \
  |  |  450|  2.91k|        hold = state->hold; \
  |  |  451|  2.91k|        bits = state->bits; \
  |  |  452|  2.91k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (452:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  617|  2.91k|    in = have;
  618|  2.91k|    out = left;
  619|  2.91k|    ret = Z_OK;
  ------------------
  |  |  177|  2.91k|#define Z_OK            0
  ------------------
  620|  2.91k|    for (;;)
  621|   129k|        switch (state->mode) {
  622|     26|        case HEAD:
  ------------------
  |  Branch (622:9): [True: 26, False: 129k]
  ------------------
  623|     26|            if (state->wrap == 0) {
  ------------------
  |  Branch (623:17): [True: 0, False: 26]
  ------------------
  624|      0|                state->mode = TYPEDO;
  625|      0|                break;
  626|      0|            }
  627|     26|            NEEDBITS(16);
  ------------------
  |  |  485|     26|    do { \
  |  |  486|     52|        while (bits < (unsigned)(n)) \
  |  |  ------------------
  |  |  |  Branch (486:16): [True: 39, False: 13]
  |  |  ------------------
  |  |  487|     39|            PULLBYTE(); \
  |  |  ------------------
  |  |  |  |  475|     39|    do { \
  |  |  |  |  476|     39|        if (have == 0) goto inf_leave; \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (476:13): [True: 13, False: 26]
  |  |  |  |  ------------------
  |  |  |  |  477|     39|        have--; \
  |  |  |  |  478|     26|        hold += (unsigned long)(*next++) << bits; \
  |  |  |  |  479|     26|        bits += 8; \
  |  |  |  |  480|     26|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (480:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  488|     26|    } while (0)
  |  |  ------------------
  |  |  |  Branch (488:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  628|     13|#ifdef GUNZIP
  629|     13|            if ((state->wrap & 2) && hold == 0x8b1f) {  /* gzip header */
  ------------------
  |  Branch (629:17): [True: 0, False: 13]
  |  Branch (629:38): [True: 0, False: 0]
  ------------------
  630|      0|                if (state->wbits == 0)
  ------------------
  |  Branch (630:21): [True: 0, False: 0]
  ------------------
  631|      0|                    state->wbits = 15;
  632|      0|                state->check = crc32(0L, Z_NULL, 0);
  ------------------
  |  |  212|      0|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
  633|      0|                CRC2(state->check, hold);
  ------------------
  |  |  427|      0|    do { \
  |  |  428|      0|        hbuf[0] = (unsigned char)(word); \
  |  |  429|      0|        hbuf[1] = (unsigned char)((word) >> 8); \
  |  |  430|      0|        check = crc32(check, hbuf, 2); \
  |  |  431|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (431:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  634|      0|                INITBITS();
  ------------------
  |  |  467|      0|    do { \
  |  |  468|      0|        hold = 0; \
  |  |  469|      0|        bits = 0; \
  |  |  470|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (470:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  635|      0|                state->mode = FLAGS;
  636|      0|                break;
  637|      0|            }
  638|     13|            if (state->head != Z_NULL)
  ------------------
  |  |  212|     13|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
  |  Branch (638:17): [True: 0, False: 13]
  ------------------
  639|      0|                state->head->done = -1;
  640|     13|            if (!(state->wrap & 1) ||   /* check if zlib header allowed */
  ------------------
  |  Branch (640:17): [True: 0, False: 13]
  ------------------
  641|       |#else
  642|       |            if (
  643|       |#endif
  644|     13|                ((BITS(8) << 8) + (hold >> 8)) % 31) {
  ------------------
  |  |  492|     13|    ((unsigned)hold & ((1U << (n)) - 1))
  ------------------
  |  Branch (644:17): [True: 0, False: 13]
  ------------------
  645|      0|                strm->msg = (char *)"incorrect header check";
  646|      0|                state->mode = BAD;
  647|      0|                break;
  648|      0|            }
  649|     13|            if (BITS(4) != Z_DEFLATED) {
  ------------------
  |  |  492|     13|    ((unsigned)hold & ((1U << (n)) - 1))
  ------------------
                          if (BITS(4) != Z_DEFLATED) {
  ------------------
  |  |  209|     13|#define Z_DEFLATED   8
  ------------------
  |  Branch (649:17): [True: 0, False: 13]
  ------------------
  650|      0|                strm->msg = (char *)"unknown compression method";
  651|      0|                state->mode = BAD;
  652|      0|                break;
  653|      0|            }
  654|     13|            DROPBITS(4);
  ------------------
  |  |  496|     13|    do { \
  |  |  497|     13|        hold >>= (n); \
  |  |  498|     13|        bits -= (unsigned)(n); \
  |  |  499|     13|    } while (0)
  |  |  ------------------
  |  |  |  Branch (499:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  655|     13|            len = BITS(4) + 8;
  ------------------
  |  |  492|     13|    ((unsigned)hold & ((1U << (n)) - 1))
  ------------------
  656|     13|            if (state->wbits == 0)
  ------------------
  |  Branch (656:17): [True: 0, False: 13]
  ------------------
  657|      0|                state->wbits = len;
  658|     13|            if (len > 15 || len > state->wbits) {
  ------------------
  |  Branch (658:17): [True: 0, False: 13]
  |  Branch (658:29): [True: 0, False: 13]
  ------------------
  659|      0|                strm->msg = (char *)"invalid window size";
  660|      0|                state->mode = BAD;
  661|      0|                break;
  662|      0|            }
  663|     13|            state->dmax = 1U << len;
  664|     13|            state->flags = 0;               /* indicate zlib header */
  665|     13|            Tracev((stderr, "inflate:   zlib header ok\n"));
  666|     13|            strm->adler = state->check = adler32(0L, Z_NULL, 0);
  ------------------
  |  |  212|     13|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
  667|     13|            state->mode = hold & 0x200 ? DICTID : TYPE;
  ------------------
  |  Branch (667:27): [True: 0, False: 13]
  ------------------
  668|     13|            INITBITS();
  ------------------
  |  |  467|     13|    do { \
  |  |  468|     13|        hold = 0; \
  |  |  469|     13|        bits = 0; \
  |  |  470|     13|    } while (0)
  |  |  ------------------
  |  |  |  Branch (470:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  669|     13|            break;
  670|      0|#ifdef GUNZIP
  671|      0|        case FLAGS:
  ------------------
  |  Branch (671:9): [True: 0, False: 129k]
  ------------------
  672|      0|            NEEDBITS(16);
  ------------------
  |  |  485|      0|    do { \
  |  |  486|      0|        while (bits < (unsigned)(n)) \
  |  |  ------------------
  |  |  |  Branch (486:16): [True: 0, False: 0]
  |  |  ------------------
  |  |  487|      0|            PULLBYTE(); \
  |  |  ------------------
  |  |  |  |  475|      0|    do { \
  |  |  |  |  476|      0|        if (have == 0) goto inf_leave; \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (476:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  477|      0|        have--; \
  |  |  |  |  478|      0|        hold += (unsigned long)(*next++) << bits; \
  |  |  |  |  479|      0|        bits += 8; \
  |  |  |  |  480|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (480:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  488|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (488:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  673|      0|            state->flags = (int)(hold);
  674|      0|            if ((state->flags & 0xff) != Z_DEFLATED) {
  ------------------
  |  |  209|      0|#define Z_DEFLATED   8
  ------------------
  |  Branch (674:17): [True: 0, False: 0]
  ------------------
  675|      0|                strm->msg = (char *)"unknown compression method";
  676|      0|                state->mode = BAD;
  677|      0|                break;
  678|      0|            }
  679|      0|            if (state->flags & 0xe000) {
  ------------------
  |  Branch (679:17): [True: 0, False: 0]
  ------------------
  680|      0|                strm->msg = (char *)"unknown header flags set";
  681|      0|                state->mode = BAD;
  682|      0|                break;
  683|      0|            }
  684|      0|            if (state->head != Z_NULL)
  ------------------
  |  |  212|      0|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
  |  Branch (684:17): [True: 0, False: 0]
  ------------------
  685|      0|                state->head->text = (int)((hold >> 8) & 1);
  686|      0|            if ((state->flags & 0x0200) && (state->wrap & 4))
  ------------------
  |  Branch (686:17): [True: 0, False: 0]
  |  Branch (686:44): [True: 0, False: 0]
  ------------------
  687|      0|                CRC2(state->check, hold);
  ------------------
  |  |  427|      0|    do { \
  |  |  428|      0|        hbuf[0] = (unsigned char)(word); \
  |  |  429|      0|        hbuf[1] = (unsigned char)((word) >> 8); \
  |  |  430|      0|        check = crc32(check, hbuf, 2); \
  |  |  431|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (431:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  688|      0|            INITBITS();
  ------------------
  |  |  467|      0|    do { \
  |  |  468|      0|        hold = 0; \
  |  |  469|      0|        bits = 0; \
  |  |  470|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (470:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  689|      0|            state->mode = TIME;
  690|       |                /* fallthrough */
  691|      0|        case TIME:
  ------------------
  |  Branch (691:9): [True: 0, False: 129k]
  ------------------
  692|      0|            NEEDBITS(32);
  ------------------
  |  |  485|      0|    do { \
  |  |  486|      0|        while (bits < (unsigned)(n)) \
  |  |  ------------------
  |  |  |  Branch (486:16): [True: 0, False: 0]
  |  |  ------------------
  |  |  487|      0|            PULLBYTE(); \
  |  |  ------------------
  |  |  |  |  475|      0|    do { \
  |  |  |  |  476|      0|        if (have == 0) goto inf_leave; \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (476:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  477|      0|        have--; \
  |  |  |  |  478|      0|        hold += (unsigned long)(*next++) << bits; \
  |  |  |  |  479|      0|        bits += 8; \
  |  |  |  |  480|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (480:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  488|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (488:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  693|      0|            if (state->head != Z_NULL)
  ------------------
  |  |  212|      0|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
  |  Branch (693:17): [True: 0, False: 0]
  ------------------
  694|      0|                state->head->time = hold;
  695|      0|            if ((state->flags & 0x0200) && (state->wrap & 4))
  ------------------
  |  Branch (695:17): [True: 0, False: 0]
  |  Branch (695:44): [True: 0, False: 0]
  ------------------
  696|      0|                CRC4(state->check, hold);
  ------------------
  |  |  434|      0|    do { \
  |  |  435|      0|        hbuf[0] = (unsigned char)(word); \
  |  |  436|      0|        hbuf[1] = (unsigned char)((word) >> 8); \
  |  |  437|      0|        hbuf[2] = (unsigned char)((word) >> 16); \
  |  |  438|      0|        hbuf[3] = (unsigned char)((word) >> 24); \
  |  |  439|      0|        check = crc32(check, hbuf, 4); \
  |  |  440|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (440:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  697|      0|            INITBITS();
  ------------------
  |  |  467|      0|    do { \
  |  |  468|      0|        hold = 0; \
  |  |  469|      0|        bits = 0; \
  |  |  470|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (470:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  698|      0|            state->mode = OS;
  699|       |                /* fallthrough */
  700|      0|        case OS:
  ------------------
  |  Branch (700:9): [True: 0, False: 129k]
  ------------------
  701|      0|            NEEDBITS(16);
  ------------------
  |  |  485|      0|    do { \
  |  |  486|      0|        while (bits < (unsigned)(n)) \
  |  |  ------------------
  |  |  |  Branch (486:16): [True: 0, False: 0]
  |  |  ------------------
  |  |  487|      0|            PULLBYTE(); \
  |  |  ------------------
  |  |  |  |  475|      0|    do { \
  |  |  |  |  476|      0|        if (have == 0) goto inf_leave; \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (476:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  477|      0|        have--; \
  |  |  |  |  478|      0|        hold += (unsigned long)(*next++) << bits; \
  |  |  |  |  479|      0|        bits += 8; \
  |  |  |  |  480|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (480:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  488|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (488:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  702|      0|            if (state->head != Z_NULL) {
  ------------------
  |  |  212|      0|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
  |  Branch (702:17): [True: 0, False: 0]
  ------------------
  703|      0|                state->head->xflags = (int)(hold & 0xff);
  704|      0|                state->head->os = (int)(hold >> 8);
  705|      0|            }
  706|      0|            if ((state->flags & 0x0200) && (state->wrap & 4))
  ------------------
  |  Branch (706:17): [True: 0, False: 0]
  |  Branch (706:44): [True: 0, False: 0]
  ------------------
  707|      0|                CRC2(state->check, hold);
  ------------------
  |  |  427|      0|    do { \
  |  |  428|      0|        hbuf[0] = (unsigned char)(word); \
  |  |  429|      0|        hbuf[1] = (unsigned char)((word) >> 8); \
  |  |  430|      0|        check = crc32(check, hbuf, 2); \
  |  |  431|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (431:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  708|      0|            INITBITS();
  ------------------
  |  |  467|      0|    do { \
  |  |  468|      0|        hold = 0; \
  |  |  469|      0|        bits = 0; \
  |  |  470|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (470:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  709|      0|            state->mode = EXLEN;
  710|       |                /* fallthrough */
  711|      0|        case EXLEN:
  ------------------
  |  Branch (711:9): [True: 0, False: 129k]
  ------------------
  712|      0|            if (state->flags & 0x0400) {
  ------------------
  |  Branch (712:17): [True: 0, False: 0]
  ------------------
  713|      0|                NEEDBITS(16);
  ------------------
  |  |  485|      0|    do { \
  |  |  486|      0|        while (bits < (unsigned)(n)) \
  |  |  ------------------
  |  |  |  Branch (486:16): [True: 0, False: 0]
  |  |  ------------------
  |  |  487|      0|            PULLBYTE(); \
  |  |  ------------------
  |  |  |  |  475|      0|    do { \
  |  |  |  |  476|      0|        if (have == 0) goto inf_leave; \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (476:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  477|      0|        have--; \
  |  |  |  |  478|      0|        hold += (unsigned long)(*next++) << bits; \
  |  |  |  |  479|      0|        bits += 8; \
  |  |  |  |  480|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (480:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  488|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (488:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  714|      0|                state->length = (unsigned)(hold);
  715|      0|                if (state->head != Z_NULL)
  ------------------
  |  |  212|      0|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
  |  Branch (715:21): [True: 0, False: 0]
  ------------------
  716|      0|                    state->head->extra_len = (unsigned)hold;
  717|      0|                if ((state->flags & 0x0200) && (state->wrap & 4))
  ------------------
  |  Branch (717:21): [True: 0, False: 0]
  |  Branch (717:48): [True: 0, False: 0]
  ------------------
  718|      0|                    CRC2(state->check, hold);
  ------------------
  |  |  427|      0|    do { \
  |  |  428|      0|        hbuf[0] = (unsigned char)(word); \
  |  |  429|      0|        hbuf[1] = (unsigned char)((word) >> 8); \
  |  |  430|      0|        check = crc32(check, hbuf, 2); \
  |  |  431|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (431:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  719|      0|                INITBITS();
  ------------------
  |  |  467|      0|    do { \
  |  |  468|      0|        hold = 0; \
  |  |  469|      0|        bits = 0; \
  |  |  470|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (470:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  720|      0|            }
  721|      0|            else if (state->head != Z_NULL)
  ------------------
  |  |  212|      0|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
  |  Branch (721:22): [True: 0, False: 0]
  ------------------
  722|      0|                state->head->extra = Z_NULL;
  ------------------
  |  |  212|      0|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
  723|      0|            state->mode = EXTRA;
  724|       |                /* fallthrough */
  725|      0|        case EXTRA:
  ------------------
  |  Branch (725:9): [True: 0, False: 129k]
  ------------------
  726|      0|            if (state->flags & 0x0400) {
  ------------------
  |  Branch (726:17): [True: 0, False: 0]
  ------------------
  727|      0|                copy = state->length;
  728|      0|                if (copy > have) copy = have;
  ------------------
  |  Branch (728:21): [True: 0, False: 0]
  ------------------
  729|      0|                if (copy) {
  ------------------
  |  Branch (729:21): [True: 0, False: 0]
  ------------------
  730|      0|                    if (state->head != Z_NULL &&
  ------------------
  |  |  212|      0|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
  |  Branch (730:25): [True: 0, False: 0]
  ------------------
  731|      0|                        state->head->extra != Z_NULL &&
  ------------------
  |  |  212|      0|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
  |  Branch (731:25): [True: 0, False: 0]
  ------------------
  732|      0|                        (len = state->head->extra_len - state->length) <
  ------------------
  |  Branch (732:25): [True: 0, False: 0]
  ------------------
  733|      0|                            state->head->extra_max) {
  734|      0|                        zmemcpy(state->head->extra + len, next,
  ------------------
  |  |  208|      0|#    define zmemcpy memcpy
  ------------------
  735|      0|                                len + copy > state->head->extra_max ?
  ------------------
  |  Branch (735:33): [True: 0, False: 0]
  ------------------
  736|      0|                                state->head->extra_max - len : copy);
  737|      0|                    }
  738|      0|                    if ((state->flags & 0x0200) && (state->wrap & 4))
  ------------------
  |  Branch (738:25): [True: 0, False: 0]
  |  Branch (738:52): [True: 0, False: 0]
  ------------------
  739|      0|                        state->check = crc32(state->check, next, copy);
  740|      0|                    have -= copy;
  741|      0|                    next += copy;
  742|      0|                    state->length -= copy;
  743|      0|                }
  744|      0|                if (state->length) goto inf_leave;
  ------------------
  |  Branch (744:21): [True: 0, False: 0]
  ------------------
  745|      0|            }
  746|      0|            state->length = 0;
  747|      0|            state->mode = NAME;
  748|       |                /* fallthrough */
  749|      0|        case NAME:
  ------------------
  |  Branch (749:9): [True: 0, False: 129k]
  ------------------
  750|      0|            if (state->flags & 0x0800) {
  ------------------
  |  Branch (750:17): [True: 0, False: 0]
  ------------------
  751|      0|                if (have == 0) goto inf_leave;
  ------------------
  |  Branch (751:21): [True: 0, False: 0]
  ------------------
  752|      0|                copy = 0;
  753|      0|                do {
  754|      0|                    len = (unsigned)(next[copy++]);
  755|      0|                    if (state->head != Z_NULL &&
  ------------------
  |  |  212|      0|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
  |  Branch (755:25): [True: 0, False: 0]
  ------------------
  756|      0|                            state->head->name != Z_NULL &&
  ------------------
  |  |  212|      0|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
  |  Branch (756:29): [True: 0, False: 0]
  ------------------
  757|      0|                            state->length < state->head->name_max)
  ------------------
  |  Branch (757:29): [True: 0, False: 0]
  ------------------
  758|      0|                        state->head->name[state->length++] = (Bytef)len;
  759|      0|                } while (len && copy < have);
  ------------------
  |  Branch (759:26): [True: 0, False: 0]
  |  Branch (759:33): [True: 0, False: 0]
  ------------------
  760|      0|                if ((state->flags & 0x0200) && (state->wrap & 4))
  ------------------
  |  Branch (760:21): [True: 0, False: 0]
  |  Branch (760:48): [True: 0, False: 0]
  ------------------
  761|      0|                    state->check = crc32(state->check, next, copy);
  762|      0|                have -= copy;
  763|      0|                next += copy;
  764|      0|                if (len) goto inf_leave;
  ------------------
  |  Branch (764:21): [True: 0, False: 0]
  ------------------
  765|      0|            }
  766|      0|            else if (state->head != Z_NULL)
  ------------------
  |  |  212|      0|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
  |  Branch (766:22): [True: 0, False: 0]
  ------------------
  767|      0|                state->head->name = Z_NULL;
  ------------------
  |  |  212|      0|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
  768|      0|            state->length = 0;
  769|      0|            state->mode = COMMENT;
  770|       |                /* fallthrough */
  771|      0|        case COMMENT:
  ------------------
  |  Branch (771:9): [True: 0, False: 129k]
  ------------------
  772|      0|            if (state->flags & 0x1000) {
  ------------------
  |  Branch (772:17): [True: 0, False: 0]
  ------------------
  773|      0|                if (have == 0) goto inf_leave;
  ------------------
  |  Branch (773:21): [True: 0, False: 0]
  ------------------
  774|      0|                copy = 0;
  775|      0|                do {
  776|      0|                    len = (unsigned)(next[copy++]);
  777|      0|                    if (state->head != Z_NULL &&
  ------------------
  |  |  212|      0|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
  |  Branch (777:25): [True: 0, False: 0]
  ------------------
  778|      0|                            state->head->comment != Z_NULL &&
  ------------------
  |  |  212|      0|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
  |  Branch (778:29): [True: 0, False: 0]
  ------------------
  779|      0|                            state->length < state->head->comm_max)
  ------------------
  |  Branch (779:29): [True: 0, False: 0]
  ------------------
  780|      0|                        state->head->comment[state->length++] = (Bytef)len;
  781|      0|                } while (len && copy < have);
  ------------------
  |  Branch (781:26): [True: 0, False: 0]
  |  Branch (781:33): [True: 0, False: 0]
  ------------------
  782|      0|                if ((state->flags & 0x0200) && (state->wrap & 4))
  ------------------
  |  Branch (782:21): [True: 0, False: 0]
  |  Branch (782:48): [True: 0, False: 0]
  ------------------
  783|      0|                    state->check = crc32(state->check, next, copy);
  784|      0|                have -= copy;
  785|      0|                next += copy;
  786|      0|                if (len) goto inf_leave;
  ------------------
  |  Branch (786:21): [True: 0, False: 0]
  ------------------
  787|      0|            }
  788|      0|            else if (state->head != Z_NULL)
  ------------------
  |  |  212|      0|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
  |  Branch (788:22): [True: 0, False: 0]
  ------------------
  789|      0|                state->head->comment = Z_NULL;
  ------------------
  |  |  212|      0|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
  790|      0|            state->mode = HCRC;
  791|       |                /* fallthrough */
  792|      0|        case HCRC:
  ------------------
  |  Branch (792:9): [True: 0, False: 129k]
  ------------------
  793|      0|            if (state->flags & 0x0200) {
  ------------------
  |  Branch (793:17): [True: 0, False: 0]
  ------------------
  794|      0|                NEEDBITS(16);
  ------------------
  |  |  485|      0|    do { \
  |  |  486|      0|        while (bits < (unsigned)(n)) \
  |  |  ------------------
  |  |  |  Branch (486:16): [True: 0, False: 0]
  |  |  ------------------
  |  |  487|      0|            PULLBYTE(); \
  |  |  ------------------
  |  |  |  |  475|      0|    do { \
  |  |  |  |  476|      0|        if (have == 0) goto inf_leave; \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (476:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  477|      0|        have--; \
  |  |  |  |  478|      0|        hold += (unsigned long)(*next++) << bits; \
  |  |  |  |  479|      0|        bits += 8; \
  |  |  |  |  480|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (480:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  488|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (488:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  795|      0|                if ((state->wrap & 4) && hold != (state->check & 0xffff)) {
  ------------------
  |  Branch (795:21): [True: 0, False: 0]
  |  Branch (795:42): [True: 0, False: 0]
  ------------------
  796|      0|                    strm->msg = (char *)"header crc mismatch";
  797|      0|                    state->mode = BAD;
  798|      0|                    break;
  799|      0|                }
  800|      0|                INITBITS();
  ------------------
  |  |  467|      0|    do { \
  |  |  468|      0|        hold = 0; \
  |  |  469|      0|        bits = 0; \
  |  |  470|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (470:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  801|      0|            }
  802|      0|            if (state->head != Z_NULL) {
  ------------------
  |  |  212|      0|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
  |  Branch (802:17): [True: 0, False: 0]
  ------------------
  803|      0|                state->head->hcrc = (int)((state->flags >> 9) & 1);
  804|      0|                state->head->done = 1;
  805|      0|            }
  806|      0|            strm->adler = state->check = crc32(0L, Z_NULL, 0);
  ------------------
  |  |  212|      0|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
  807|      0|            state->mode = TYPE;
  808|      0|            break;
  809|      0|#endif
  810|      0|        case DICTID:
  ------------------
  |  Branch (810:9): [True: 0, False: 129k]
  ------------------
  811|      0|            NEEDBITS(32);
  ------------------
  |  |  485|      0|    do { \
  |  |  486|      0|        while (bits < (unsigned)(n)) \
  |  |  ------------------
  |  |  |  Branch (486:16): [True: 0, False: 0]
  |  |  ------------------
  |  |  487|      0|            PULLBYTE(); \
  |  |  ------------------
  |  |  |  |  475|      0|    do { \
  |  |  |  |  476|      0|        if (have == 0) goto inf_leave; \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (476:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  477|      0|        have--; \
  |  |  |  |  478|      0|        hold += (unsigned long)(*next++) << bits; \
  |  |  |  |  479|      0|        bits += 8; \
  |  |  |  |  480|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (480:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  488|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (488:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  812|      0|            strm->adler = state->check = ZSWAP32(hold);
  ------------------
  |  |  250|      0|#define ZSWAP32(q) ((((q) >> 24) & 0xff) + (((q) >> 8) & 0xff00) + \
  |  |  251|      0|                    (((q) & 0xff00) << 8) + (((q) & 0xff) << 24))
  ------------------
  813|      0|            INITBITS();
  ------------------
  |  |  467|      0|    do { \
  |  |  468|      0|        hold = 0; \
  |  |  469|      0|        bits = 0; \
  |  |  470|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (470:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  814|      0|            state->mode = DICT;
  815|       |                /* fallthrough */
  816|      0|        case DICT:
  ------------------
  |  Branch (816:9): [True: 0, False: 129k]
  ------------------
  817|      0|            if (state->havedict == 0) {
  ------------------
  |  Branch (817:17): [True: 0, False: 0]
  ------------------
  818|      0|                RESTORE();
  ------------------
  |  |  456|      0|    do { \
  |  |  457|      0|        strm->next_out = put; \
  |  |  458|      0|        strm->avail_out = left; \
  |  |  459|      0|        strm->next_in = next; \
  |  |  460|      0|        strm->avail_in = have; \
  |  |  461|      0|        state->hold = hold; \
  |  |  462|      0|        state->bits = bits; \
  |  |  463|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (463:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  819|      0|                return Z_NEED_DICT;
  ------------------
  |  |  179|      0|#define Z_NEED_DICT     2
  ------------------
  820|      0|            }
  821|      0|            strm->adler = state->check = adler32(0L, Z_NULL, 0);
  ------------------
  |  |  212|      0|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
  822|      0|            state->mode = TYPE;
  823|       |                /* fallthrough */
  824|     13|        case TYPE:
  ------------------
  |  Branch (824:9): [True: 13, False: 129k]
  ------------------
  825|     13|            if (flush == Z_BLOCK || flush == Z_TREES) goto inf_leave;
  ------------------
  |  |  173|     26|#define Z_BLOCK         5
  ------------------
                          if (flush == Z_BLOCK || flush == Z_TREES) goto inf_leave;
  ------------------
  |  |  174|     13|#define Z_TREES         6
  ------------------
  |  Branch (825:17): [True: 0, False: 13]
  |  Branch (825:37): [True: 0, False: 13]
  ------------------
  826|       |                /* fallthrough */
  827|     26|        case TYPEDO:
  ------------------
  |  Branch (827:9): [True: 13, False: 129k]
  ------------------
  828|     26|            if (state->last) {
  ------------------
  |  Branch (828:17): [True: 0, False: 26]
  ------------------
  829|      0|                BYTEBITS();
  ------------------
  |  |  503|      0|    do { \
  |  |  504|      0|        hold >>= bits & 7; \
  |  |  505|      0|        bits -= bits & 7; \
  |  |  506|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (506:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  830|      0|                state->mode = CHECK;
  831|      0|                break;
  832|      0|            }
  833|     26|            NEEDBITS(3);
  ------------------
  |  |  485|     26|    do { \
  |  |  486|     39|        while (bits < (unsigned)(n)) \
  |  |  ------------------
  |  |  |  Branch (486:16): [True: 26, False: 13]
  |  |  ------------------
  |  |  487|     26|            PULLBYTE(); \
  |  |  ------------------
  |  |  |  |  475|     26|    do { \
  |  |  |  |  476|     26|        if (have == 0) goto inf_leave; \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (476:13): [True: 13, False: 13]
  |  |  |  |  ------------------
  |  |  |  |  477|     26|        have--; \
  |  |  |  |  478|     13|        hold += (unsigned long)(*next++) << bits; \
  |  |  |  |  479|     13|        bits += 8; \
  |  |  |  |  480|     13|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (480:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  488|     26|    } while (0)
  |  |  ------------------
  |  |  |  Branch (488:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  834|     13|            state->last = BITS(1);
  ------------------
  |  |  492|     13|    ((unsigned)hold & ((1U << (n)) - 1))
  ------------------
  835|     13|            DROPBITS(1);
  ------------------
  |  |  496|     13|    do { \
  |  |  497|     13|        hold >>= (n); \
  |  |  498|     13|        bits -= (unsigned)(n); \
  |  |  499|     13|    } while (0)
  |  |  ------------------
  |  |  |  Branch (499:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  836|     13|            switch (BITS(2)) {
  ------------------
  |  |  492|     13|    ((unsigned)hold & ((1U << (n)) - 1))
  |  |  ------------------
  |  |  |  Branch (492:5): [True: 0, False: 13]
  |  |  ------------------
  ------------------
  837|      0|            case 0:                             /* stored block */
  ------------------
  |  Branch (837:13): [True: 0, False: 13]
  ------------------
  838|      0|                Tracev((stderr, "inflate:     stored block%s\n",
  839|      0|                        state->last ? " (last)" : ""));
  840|      0|                state->mode = STORED;
  841|      0|                break;
  842|      5|            case 1:                             /* fixed block */
  ------------------
  |  Branch (842:13): [True: 5, False: 8]
  ------------------
  843|      5|                fixedtables(state);
  844|      5|                Tracev((stderr, "inflate:     fixed codes block%s\n",
  845|      5|                        state->last ? " (last)" : ""));
  846|      5|                state->mode = LEN_;             /* decode codes */
  847|      5|                if (flush == Z_TREES) {
  ------------------
  |  |  174|      5|#define Z_TREES         6
  ------------------
  |  Branch (847:21): [True: 0, False: 5]
  ------------------
  848|      0|                    DROPBITS(2);
  ------------------
  |  |  496|      0|    do { \
  |  |  497|      0|        hold >>= (n); \
  |  |  498|      0|        bits -= (unsigned)(n); \
  |  |  499|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (499:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  849|      0|                    goto inf_leave;
  850|      0|                }
  851|      5|                break;
  852|      8|            case 2:                             /* dynamic block */
  ------------------
  |  Branch (852:13): [True: 8, False: 5]
  ------------------
  853|      8|                Tracev((stderr, "inflate:     dynamic codes block%s\n",
  854|      8|                        state->last ? " (last)" : ""));
  855|      8|                state->mode = TABLE;
  856|      8|                break;
  857|      0|            case 3:
  ------------------
  |  Branch (857:13): [True: 0, False: 13]
  ------------------
  858|      0|                strm->msg = (char *)"invalid block type";
  859|      0|                state->mode = BAD;
  860|     13|            }
  861|     13|            DROPBITS(2);
  ------------------
  |  |  496|     13|    do { \
  |  |  497|     13|        hold >>= (n); \
  |  |  498|     13|        bits -= (unsigned)(n); \
  |  |  499|     13|    } while (0)
  |  |  ------------------
  |  |  |  Branch (499:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  862|     13|            break;
  863|      0|        case STORED:
  ------------------
  |  Branch (863:9): [True: 0, False: 129k]
  ------------------
  864|      0|            BYTEBITS();                         /* go to byte boundary */
  ------------------
  |  |  503|      0|    do { \
  |  |  504|      0|        hold >>= bits & 7; \
  |  |  505|      0|        bits -= bits & 7; \
  |  |  506|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (506:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  865|      0|            NEEDBITS(32);
  ------------------
  |  |  485|      0|    do { \
  |  |  486|      0|        while (bits < (unsigned)(n)) \
  |  |  ------------------
  |  |  |  Branch (486:16): [True: 0, False: 0]
  |  |  ------------------
  |  |  487|      0|            PULLBYTE(); \
  |  |  ------------------
  |  |  |  |  475|      0|    do { \
  |  |  |  |  476|      0|        if (have == 0) goto inf_leave; \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (476:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  477|      0|        have--; \
  |  |  |  |  478|      0|        hold += (unsigned long)(*next++) << bits; \
  |  |  |  |  479|      0|        bits += 8; \
  |  |  |  |  480|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (480:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  488|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (488:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  866|      0|            if ((hold & 0xffff) != ((hold >> 16) ^ 0xffff)) {
  ------------------
  |  Branch (866:17): [True: 0, False: 0]
  ------------------
  867|      0|                strm->msg = (char *)"invalid stored block lengths";
  868|      0|                state->mode = BAD;
  869|      0|                break;
  870|      0|            }
  871|      0|            state->length = (unsigned)hold & 0xffff;
  872|      0|            Tracev((stderr, "inflate:       stored length %u\n",
  873|      0|                    state->length));
  874|      0|            INITBITS();
  ------------------
  |  |  467|      0|    do { \
  |  |  468|      0|        hold = 0; \
  |  |  469|      0|        bits = 0; \
  |  |  470|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (470:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  875|      0|            state->mode = COPY_;
  876|      0|            if (flush == Z_TREES) goto inf_leave;
  ------------------
  |  |  174|      0|#define Z_TREES         6
  ------------------
  |  Branch (876:17): [True: 0, False: 0]
  ------------------
  877|       |                /* fallthrough */
  878|      0|        case COPY_:
  ------------------
  |  Branch (878:9): [True: 0, False: 129k]
  ------------------
  879|      0|            state->mode = COPY;
  880|       |                /* fallthrough */
  881|      0|        case COPY:
  ------------------
  |  Branch (881:9): [True: 0, False: 129k]
  ------------------
  882|      0|            copy = state->length;
  883|      0|            if (copy) {
  ------------------
  |  Branch (883:17): [True: 0, False: 0]
  ------------------
  884|      0|                if (copy > have) copy = have;
  ------------------
  |  Branch (884:21): [True: 0, False: 0]
  ------------------
  885|      0|                if (copy > left) copy = left;
  ------------------
  |  Branch (885:21): [True: 0, False: 0]
  ------------------
  886|      0|                if (copy == 0) goto inf_leave;
  ------------------
  |  Branch (886:21): [True: 0, False: 0]
  ------------------
  887|      0|                zmemcpy(put, next, copy);
  ------------------
  |  |  208|      0|#    define zmemcpy memcpy
  ------------------
  888|      0|                have -= copy;
  889|      0|                next += copy;
  890|      0|                left -= copy;
  891|      0|                put += copy;
  892|      0|                state->length -= copy;
  893|      0|                break;
  894|      0|            }
  895|      0|            Tracev((stderr, "inflate:       stored end\n"));
  896|      0|            state->mode = TYPE;
  897|      0|            break;
  898|     24|        case TABLE:
  ------------------
  |  Branch (898:9): [True: 24, False: 129k]
  ------------------
  899|     24|            NEEDBITS(14);
  ------------------
  |  |  485|     24|    do { \
  |  |  486|     40|        while (bits < (unsigned)(n)) \
  |  |  ------------------
  |  |  |  Branch (486:16): [True: 32, False: 8]
  |  |  ------------------
  |  |  487|     32|            PULLBYTE(); \
  |  |  ------------------
  |  |  |  |  475|     32|    do { \
  |  |  |  |  476|     32|        if (have == 0) goto inf_leave; \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (476:13): [True: 16, False: 16]
  |  |  |  |  ------------------
  |  |  |  |  477|     32|        have--; \
  |  |  |  |  478|     16|        hold += (unsigned long)(*next++) << bits; \
  |  |  |  |  479|     16|        bits += 8; \
  |  |  |  |  480|     16|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (480:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  488|     24|    } while (0)
  |  |  ------------------
  |  |  |  Branch (488:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  900|      8|            state->nlen = BITS(5) + 257;
  ------------------
  |  |  492|      8|    ((unsigned)hold & ((1U << (n)) - 1))
  ------------------
  901|      8|            DROPBITS(5);
  ------------------
  |  |  496|      8|    do { \
  |  |  497|      8|        hold >>= (n); \
  |  |  498|      8|        bits -= (unsigned)(n); \
  |  |  499|      8|    } while (0)
  |  |  ------------------
  |  |  |  Branch (499:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  902|      8|            state->ndist = BITS(5) + 1;
  ------------------
  |  |  492|      8|    ((unsigned)hold & ((1U << (n)) - 1))
  ------------------
  903|      8|            DROPBITS(5);
  ------------------
  |  |  496|      8|    do { \
  |  |  497|      8|        hold >>= (n); \
  |  |  498|      8|        bits -= (unsigned)(n); \
  |  |  499|      8|    } while (0)
  |  |  ------------------
  |  |  |  Branch (499:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  904|      8|            state->ncode = BITS(4) + 4;
  ------------------
  |  |  492|      8|    ((unsigned)hold & ((1U << (n)) - 1))
  ------------------
  905|      8|            DROPBITS(4);
  ------------------
  |  |  496|      8|    do { \
  |  |  497|      8|        hold >>= (n); \
  |  |  498|      8|        bits -= (unsigned)(n); \
  |  |  499|      8|    } while (0)
  |  |  ------------------
  |  |  |  Branch (499:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  906|      8|#ifndef PKZIP_BUG_WORKAROUND
  907|      8|            if (state->nlen > 286 || state->ndist > 30) {
  ------------------
  |  Branch (907:17): [True: 0, False: 8]
  |  Branch (907:38): [True: 0, False: 8]
  ------------------
  908|      0|                strm->msg = (char *)"too many length or distance symbols";
  909|      0|                state->mode = BAD;
  910|      0|                break;
  911|      0|            }
  912|      8|#endif
  913|      8|            Tracev((stderr, "inflate:       table sizes ok\n"));
  914|      8|            state->have = 0;
  915|      8|            state->mode = LENLENS;
  916|       |                /* fallthrough */
  917|     56|        case LENLENS:
  ------------------
  |  Branch (917:9): [True: 48, False: 129k]
  ------------------
  918|    200|            while (state->have < state->ncode) {
  ------------------
  |  Branch (918:20): [True: 192, False: 8]
  ------------------
  919|    192|                NEEDBITS(3);
  ------------------
  |  |  485|    192|    do { \
  |  |  486|    240|        while (bits < (unsigned)(n)) \
  |  |  ------------------
  |  |  |  Branch (486:16): [True: 96, False: 144]
  |  |  ------------------
  |  |  487|    192|            PULLBYTE(); \
  |  |  ------------------
  |  |  |  |  475|     96|    do { \
  |  |  |  |  476|     96|        if (have == 0) goto inf_leave; \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (476:13): [True: 48, False: 48]
  |  |  |  |  ------------------
  |  |  |  |  477|     96|        have--; \
  |  |  |  |  478|     48|        hold += (unsigned long)(*next++) << bits; \
  |  |  |  |  479|     48|        bits += 8; \
  |  |  |  |  480|     48|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (480:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  488|    192|    } while (0)
  |  |  ------------------
  |  |  |  Branch (488:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  920|    144|                state->lens[order[state->have++]] = (unsigned short)BITS(3);
  ------------------
  |  |  492|    144|    ((unsigned)hold & ((1U << (n)) - 1))
  ------------------
  921|    144|                DROPBITS(3);
  ------------------
  |  |  496|    144|    do { \
  |  |  497|    144|        hold >>= (n); \
  |  |  498|    144|        bits -= (unsigned)(n); \
  |  |  499|    144|    } while (0)
  |  |  ------------------
  |  |  |  Branch (499:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  922|    144|            }
  923|     16|            while (state->have < 19)
  ------------------
  |  Branch (923:20): [True: 8, False: 8]
  ------------------
  924|      8|                state->lens[order[state->have++]] = 0;
  925|      8|            state->next = state->codes;
  926|      8|            state->lencode = (const code FAR *)(state->next);
  927|      8|            state->lenbits = 7;
  928|      8|            ret = inflate_table(CODES, state->lens, 19, &(state->next),
  929|      8|                                &(state->lenbits), state->work);
  930|      8|            if (ret) {
  ------------------
  |  Branch (930:17): [True: 0, False: 8]
  ------------------
  931|      0|                strm->msg = (char *)"invalid code lengths set";
  932|      0|                state->mode = BAD;
  933|      0|                break;
  934|      0|            }
  935|      8|            Tracev((stderr, "inflate:       code lengths ok\n"));
  936|      8|            state->have = 0;
  937|      8|            state->mode = CODELENS;
  938|       |                /* fallthrough */
  939|    640|        case CODELENS:
  ------------------
  |  Branch (939:9): [True: 632, False: 128k]
  ------------------
  940|  2.29k|            while (state->have < state->nlen + state->ndist) {
  ------------------
  |  Branch (940:20): [True: 2.28k, False: 8]
  ------------------
  941|  2.86k|                for (;;) {
  942|  2.86k|                    here = state->lencode[BITS(state->lenbits)];
  ------------------
  |  |  492|  2.86k|    ((unsigned)hold & ((1U << (n)) - 1))
  ------------------
  943|  2.86k|                    if ((unsigned)(here.bits) <= bits) break;
  ------------------
  |  Branch (943:25): [True: 1.71k, False: 1.15k]
  ------------------
  944|  1.15k|                    PULLBYTE();
  ------------------
  |  |  475|  1.15k|    do { \
  |  |  476|  1.15k|        if (have == 0) goto inf_leave; \
  |  |  ------------------
  |  |  |  Branch (476:13): [True: 576, False: 576]
  |  |  ------------------
  |  |  477|  1.15k|        have--; \
  |  |  478|    576|        hold += (unsigned long)(*next++) << bits; \
  |  |  479|    576|        bits += 8; \
  |  |  480|    576|    } while (0)
  |  |  ------------------
  |  |  |  Branch (480:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  945|  1.15k|                }
  946|  1.71k|                if (here.val < 16) {
  ------------------
  |  Branch (946:21): [True: 1.50k, False: 208]
  ------------------
  947|  1.50k|                    DROPBITS(here.bits);
  ------------------
  |  |  496|  1.50k|    do { \
  |  |  497|  1.50k|        hold >>= (n); \
  |  |  498|  1.50k|        bits -= (unsigned)(n); \
  |  |  499|  1.50k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (499:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  948|  1.50k|                    state->lens[state->have++] = here.val;
  949|  1.50k|                }
  950|    208|                else {
  951|    208|                    if (here.val == 16) {
  ------------------
  |  Branch (951:25): [True: 72, False: 136]
  ------------------
  952|     72|                        NEEDBITS(here.bits + 2);
  ------------------
  |  |  485|     72|    do { \
  |  |  486|     80|        while (bits < (unsigned)(n)) \
  |  |  ------------------
  |  |  |  Branch (486:16): [True: 16, False: 64]
  |  |  ------------------
  |  |  487|     72|            PULLBYTE(); \
  |  |  ------------------
  |  |  |  |  475|     16|    do { \
  |  |  |  |  476|     16|        if (have == 0) goto inf_leave; \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (476:13): [True: 8, False: 8]
  |  |  |  |  ------------------
  |  |  |  |  477|     16|        have--; \
  |  |  |  |  478|      8|        hold += (unsigned long)(*next++) << bits; \
  |  |  |  |  479|      8|        bits += 8; \
  |  |  |  |  480|      8|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (480:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  488|     72|    } while (0)
  |  |  ------------------
  |  |  |  Branch (488:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  953|     64|                        DROPBITS(here.bits);
  ------------------
  |  |  496|     64|    do { \
  |  |  497|     64|        hold >>= (n); \
  |  |  498|     64|        bits -= (unsigned)(n); \
  |  |  499|     64|    } while (0)
  |  |  ------------------
  |  |  |  Branch (499:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  954|     64|                        if (state->have == 0) {
  ------------------
  |  Branch (954:29): [True: 0, False: 64]
  ------------------
  955|      0|                            strm->msg = (char *)"invalid bit length repeat";
  956|      0|                            state->mode = BAD;
  957|      0|                            break;
  958|      0|                        }
  959|     64|                        len = state->lens[state->have - 1];
  960|     64|                        copy = 3 + BITS(2);
  ------------------
  |  |  492|     64|    ((unsigned)hold & ((1U << (n)) - 1))
  ------------------
  961|     64|                        DROPBITS(2);
  ------------------
  |  |  496|     64|    do { \
  |  |  497|     64|        hold >>= (n); \
  |  |  498|     64|        bits -= (unsigned)(n); \
  |  |  499|     64|    } while (0)
  |  |  ------------------
  |  |  |  Branch (499:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  962|     64|                    }
  963|    136|                    else if (here.val == 17) {
  ------------------
  |  Branch (963:30): [True: 120, False: 16]
  ------------------
  964|    120|                        NEEDBITS(here.bits + 3);
  ------------------
  |  |  485|    120|    do { \
  |  |  486|    160|        while (bits < (unsigned)(n)) \
  |  |  ------------------
  |  |  |  Branch (486:16): [True: 80, False: 80]
  |  |  ------------------
  |  |  487|    120|            PULLBYTE(); \
  |  |  ------------------
  |  |  |  |  475|     80|    do { \
  |  |  |  |  476|     80|        if (have == 0) goto inf_leave; \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (476:13): [True: 40, False: 40]
  |  |  |  |  ------------------
  |  |  |  |  477|     80|        have--; \
  |  |  |  |  478|     40|        hold += (unsigned long)(*next++) << bits; \
  |  |  |  |  479|     40|        bits += 8; \
  |  |  |  |  480|     40|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (480:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  488|    120|    } while (0)
  |  |  ------------------
  |  |  |  Branch (488:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  965|     80|                        DROPBITS(here.bits);
  ------------------
  |  |  496|     80|    do { \
  |  |  497|     80|        hold >>= (n); \
  |  |  498|     80|        bits -= (unsigned)(n); \
  |  |  499|     80|    } while (0)
  |  |  ------------------
  |  |  |  Branch (499:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  966|     80|                        len = 0;
  967|     80|                        copy = 3 + BITS(3);
  ------------------
  |  |  492|     80|    ((unsigned)hold & ((1U << (n)) - 1))
  ------------------
  968|     80|                        DROPBITS(3);
  ------------------
  |  |  496|     80|    do { \
  |  |  497|     80|        hold >>= (n); \
  |  |  498|     80|        bits -= (unsigned)(n); \
  |  |  499|     80|    } while (0)
  |  |  ------------------
  |  |  |  Branch (499:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  969|     80|                    }
  970|     16|                    else {
  971|     16|                        NEEDBITS(here.bits + 7);
  ------------------
  |  |  485|     16|    do { \
  |  |  486|     24|        while (bits < (unsigned)(n)) \
  |  |  ------------------
  |  |  |  Branch (486:16): [True: 16, False: 8]
  |  |  ------------------
  |  |  487|     16|            PULLBYTE(); \
  |  |  ------------------
  |  |  |  |  475|     16|    do { \
  |  |  |  |  476|     16|        if (have == 0) goto inf_leave; \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (476:13): [True: 8, False: 8]
  |  |  |  |  ------------------
  |  |  |  |  477|     16|        have--; \
  |  |  |  |  478|      8|        hold += (unsigned long)(*next++) << bits; \
  |  |  |  |  479|      8|        bits += 8; \
  |  |  |  |  480|      8|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (480:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  488|     16|    } while (0)
  |  |  ------------------
  |  |  |  Branch (488:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  972|      8|                        DROPBITS(here.bits);
  ------------------
  |  |  496|      8|    do { \
  |  |  497|      8|        hold >>= (n); \
  |  |  498|      8|        bits -= (unsigned)(n); \
  |  |  499|      8|    } while (0)
  |  |  ------------------
  |  |  |  Branch (499:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  973|      8|                        len = 0;
  974|      8|                        copy = 11 + BITS(7);
  ------------------
  |  |  492|      8|    ((unsigned)hold & ((1U << (n)) - 1))
  ------------------
  975|      8|                        DROPBITS(7);
  ------------------
  |  |  496|      8|    do { \
  |  |  497|      8|        hold >>= (n); \
  |  |  498|      8|        bits -= (unsigned)(n); \
  |  |  499|      8|    } while (0)
  |  |  ------------------
  |  |  |  Branch (499:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
  976|      8|                    }
  977|    152|                    if (state->have + copy > state->nlen + state->ndist) {
  ------------------
  |  Branch (977:25): [True: 0, False: 152]
  ------------------
  978|      0|                        strm->msg = (char *)"invalid bit length repeat";
  979|      0|                        state->mode = BAD;
  980|      0|                        break;
  981|      0|                    }
  982|  1.04k|                    while (copy--)
  ------------------
  |  Branch (982:28): [True: 896, False: 152]
  ------------------
  983|    896|                        state->lens[state->have++] = (unsigned short)len;
  984|    152|                }
  985|  1.71k|            }
  986|       |
  987|       |            /* handle error breaks in while */
  988|      8|            if (state->mode == BAD) break;
  ------------------
  |  Branch (988:17): [True: 0, False: 8]
  ------------------
  989|       |
  990|       |            /* check for end-of-block code (better have one) */
  991|      8|            if (state->lens[256] == 0) {
  ------------------
  |  Branch (991:17): [True: 0, False: 8]
  ------------------
  992|      0|                strm->msg = (char *)"invalid code -- missing end-of-block";
  993|      0|                state->mode = BAD;
  994|      0|                break;
  995|      0|            }
  996|       |
  997|       |            /* build code tables -- note: do not change the lenbits or distbits
  998|       |               values here (9 and 6) without reading the comments in inftrees.h
  999|       |               concerning the ENOUGH constants, which depend on those values */
 1000|      8|            state->next = state->codes;
 1001|      8|            state->lencode = (const code FAR *)(state->next);
 1002|      8|            state->lenbits = 9;
 1003|      8|            ret = inflate_table(LENS, state->lens, state->nlen, &(state->next),
 1004|      8|                                &(state->lenbits), state->work);
 1005|      8|            if (ret) {
  ------------------
  |  Branch (1005:17): [True: 0, False: 8]
  ------------------
 1006|      0|                strm->msg = (char *)"invalid literal/lengths set";
 1007|      0|                state->mode = BAD;
 1008|      0|                break;
 1009|      0|            }
 1010|      8|            state->distcode = (const code FAR *)(state->next);
 1011|      8|            state->distbits = 6;
 1012|      8|            ret = inflate_table(DISTS, state->lens + state->nlen, state->ndist,
 1013|      8|                            &(state->next), &(state->distbits), state->work);
 1014|      8|            if (ret) {
  ------------------
  |  Branch (1014:17): [True: 0, False: 8]
  ------------------
 1015|      0|                strm->msg = (char *)"invalid distances set";
 1016|      0|                state->mode = BAD;
 1017|      0|                break;
 1018|      0|            }
 1019|      8|            Tracev((stderr, "inflate:       codes ok\n"));
 1020|      8|            state->mode = LEN_;
 1021|      8|            if (flush == Z_TREES) goto inf_leave;
  ------------------
  |  |  174|      8|#define Z_TREES         6
  ------------------
  |  Branch (1021:17): [True: 0, False: 8]
  ------------------
 1022|       |                /* fallthrough */
 1023|     13|        case LEN_:
  ------------------
  |  Branch (1023:9): [True: 5, False: 129k]
  ------------------
 1024|     13|            state->mode = LEN;
 1025|       |                /* fallthrough */
 1026|   125k|        case LEN:
  ------------------
  |  Branch (1026:9): [True: 125k, False: 4.48k]
  ------------------
 1027|   125k|            if (have >= 6 && left >= 258) {
  ------------------
  |  Branch (1027:17): [True: 121k, False: 3.61k]
  |  Branch (1027:30): [True: 2.35k, False: 119k]
  ------------------
 1028|  2.35k|                RESTORE();
  ------------------
  |  |  456|  2.35k|    do { \
  |  |  457|  2.35k|        strm->next_out = put; \
  |  |  458|  2.35k|        strm->avail_out = left; \
  |  |  459|  2.35k|        strm->next_in = next; \
  |  |  460|  2.35k|        strm->avail_in = have; \
  |  |  461|  2.35k|        state->hold = hold; \
  |  |  462|  2.35k|        state->bits = bits; \
  |  |  463|  2.35k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (463:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1029|  2.35k|                inflate_fast(strm, out);
 1030|  2.35k|                LOAD();
  ------------------
  |  |  445|  2.35k|    do { \
  |  |  446|  2.35k|        put = strm->next_out; \
  |  |  447|  2.35k|        left = strm->avail_out; \
  |  |  448|  2.35k|        next = strm->next_in; \
  |  |  449|  2.35k|        have = strm->avail_in; \
  |  |  450|  2.35k|        hold = state->hold; \
  |  |  451|  2.35k|        bits = state->bits; \
  |  |  452|  2.35k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (452:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1031|  2.35k|                if (state->mode == TYPE)
  ------------------
  |  Branch (1031:21): [True: 0, False: 2.35k]
  ------------------
 1032|      0|                    state->back = -1;
 1033|  2.35k|                break;
 1034|  2.35k|            }
 1035|   122k|            state->back = 0;
 1036|   153k|            for (;;) {
 1037|   153k|                here = state->lencode[BITS(state->lenbits)];
  ------------------
  |  |  492|   153k|    ((unsigned)hold & ((1U << (n)) - 1))
  ------------------
 1038|   153k|                if ((unsigned)(here.bits) <= bits) break;
  ------------------
  |  Branch (1038:21): [True: 122k, False: 31.4k]
  ------------------
 1039|  31.4k|                PULLBYTE();
  ------------------
  |  |  475|  31.4k|    do { \
  |  |  476|  31.4k|        if (have == 0) goto inf_leave; \
  |  |  ------------------
  |  |  |  Branch (476:13): [True: 455, False: 30.9k]
  |  |  ------------------
  |  |  477|  31.4k|        have--; \
  |  |  478|  30.9k|        hold += (unsigned long)(*next++) << bits; \
  |  |  479|  30.9k|        bits += 8; \
  |  |  480|  30.9k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (480:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1040|  31.4k|            }
 1041|   122k|            if (here.op && (here.op & 0xf0) == 0) {
  ------------------
  |  Branch (1041:17): [True: 121k, False: 946]
  |  Branch (1041:28): [True: 0, False: 121k]
  ------------------
 1042|      0|                last = here;
 1043|      0|                for (;;) {
 1044|      0|                    here = state->lencode[last.val +
 1045|      0|                            (BITS(last.bits + last.op) >> last.bits)];
  ------------------
  |  |  492|      0|    ((unsigned)hold & ((1U << (n)) - 1))
  ------------------
 1046|      0|                    if ((unsigned)(last.bits + here.bits) <= bits) break;
  ------------------
  |  Branch (1046:25): [True: 0, False: 0]
  ------------------
 1047|      0|                    PULLBYTE();
  ------------------
  |  |  475|      0|    do { \
  |  |  476|      0|        if (have == 0) goto inf_leave; \
  |  |  ------------------
  |  |  |  Branch (476:13): [True: 0, False: 0]
  |  |  ------------------
  |  |  477|      0|        have--; \
  |  |  478|      0|        hold += (unsigned long)(*next++) << bits; \
  |  |  479|      0|        bits += 8; \
  |  |  480|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (480:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1048|      0|                }
 1049|      0|                DROPBITS(last.bits);
  ------------------
  |  |  496|      0|    do { \
  |  |  497|      0|        hold >>= (n); \
  |  |  498|      0|        bits -= (unsigned)(n); \
  |  |  499|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (499:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1050|      0|                state->back += last.bits;
 1051|      0|            }
 1052|   122k|            DROPBITS(here.bits);
  ------------------
  |  |  496|   122k|    do { \
  |  |  497|   122k|        hold >>= (n); \
  |  |  498|   122k|        bits -= (unsigned)(n); \
  |  |  499|   122k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (499:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1053|   122k|            state->back += here.bits;
 1054|   122k|            state->length = (unsigned)here.val;
 1055|   122k|            if ((int)(here.op) == 0) {
  ------------------
  |  Branch (1055:17): [True: 946, False: 121k]
  ------------------
 1056|    946|                Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?
 1057|    946|                        "inflate:         literal '%c'\n" :
 1058|    946|                        "inflate:         literal 0x%02x\n", here.val));
 1059|    946|                state->mode = LIT;
 1060|    946|                break;
 1061|    946|            }
 1062|   121k|            if (here.op & 32) {
  ------------------
  |  Branch (1062:17): [True: 0, False: 121k]
  ------------------
 1063|      0|                Tracevv((stderr, "inflate:         end of block\n"));
 1064|      0|                state->back = -1;
 1065|      0|                state->mode = TYPE;
 1066|      0|                break;
 1067|      0|            }
 1068|   121k|            if (here.op & 64) {
  ------------------
  |  Branch (1068:17): [True: 0, False: 121k]
  ------------------
 1069|      0|                strm->msg = (char *)"invalid literal/length code";
 1070|      0|                state->mode = BAD;
 1071|      0|                break;
 1072|      0|            }
 1073|   121k|            state->extra = (unsigned)(here.op) & 15;
 1074|   121k|            state->mode = LENEXT;
 1075|       |                /* fallthrough */
 1076|   121k|        case LENEXT:
  ------------------
  |  Branch (1076:9): [True: 0, False: 129k]
  ------------------
 1077|   121k|            if (state->extra) {
  ------------------
  |  Branch (1077:17): [True: 32, False: 121k]
  ------------------
 1078|     32|                NEEDBITS(state->extra);
  ------------------
  |  |  485|     32|    do { \
  |  |  486|     32|        while (bits < (unsigned)(n)) \
  |  |  ------------------
  |  |  |  Branch (486:16): [True: 0, False: 32]
  |  |  ------------------
  |  |  487|     32|            PULLBYTE(); \
  |  |  ------------------
  |  |  |  |  475|      0|    do { \
  |  |  |  |  476|      0|        if (have == 0) goto inf_leave; \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (476:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  477|      0|        have--; \
  |  |  |  |  478|      0|        hold += (unsigned long)(*next++) << bits; \
  |  |  |  |  479|      0|        bits += 8; \
  |  |  |  |  480|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (480:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  488|     32|    } while (0)
  |  |  ------------------
  |  |  |  Branch (488:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1079|     32|                state->length += BITS(state->extra);
  ------------------
  |  |  492|     32|    ((unsigned)hold & ((1U << (n)) - 1))
  ------------------
 1080|     32|                DROPBITS(state->extra);
  ------------------
  |  |  496|     32|    do { \
  |  |  497|     32|        hold >>= (n); \
  |  |  498|     32|        bits -= (unsigned)(n); \
  |  |  499|     32|    } while (0)
  |  |  ------------------
  |  |  |  Branch (499:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1081|     32|                state->back += state->extra;
 1082|     32|            }
 1083|   121k|            Tracevv((stderr, "inflate:         length %u\n", state->length));
 1084|   121k|            state->was = state->length;
 1085|   121k|            state->mode = DIST;
 1086|       |                /* fallthrough */
 1087|   121k|        case DIST:
  ------------------
  |  Branch (1087:9): [True: 168, False: 129k]
  ------------------
 1088|   136k|            for (;;) {
 1089|   136k|                here = state->distcode[BITS(state->distbits)];
  ------------------
  |  |  492|   136k|    ((unsigned)hold & ((1U << (n)) - 1))
  ------------------
 1090|   136k|                if ((unsigned)(here.bits) <= bits) break;
  ------------------
  |  Branch (1090:21): [True: 121k, False: 15.3k]
  ------------------
 1091|  15.3k|                PULLBYTE();
  ------------------
  |  |  475|  15.3k|    do { \
  |  |  476|  15.3k|        if (have == 0) goto inf_leave; \
  |  |  ------------------
  |  |  |  Branch (476:13): [True: 157, False: 15.1k]
  |  |  ------------------
  |  |  477|  15.3k|        have--; \
  |  |  478|  15.1k|        hold += (unsigned long)(*next++) << bits; \
  |  |  479|  15.1k|        bits += 8; \
  |  |  480|  15.1k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (480:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1092|  15.3k|            }
 1093|   121k|            if ((here.op & 0xf0) == 0) {
  ------------------
  |  Branch (1093:17): [True: 52, False: 121k]
  ------------------
 1094|     52|                last = here;
 1095|     60|                for (;;) {
 1096|     60|                    here = state->distcode[last.val +
 1097|     60|                            (BITS(last.bits + last.op) >> last.bits)];
  ------------------
  |  |  492|     60|    ((unsigned)hold & ((1U << (n)) - 1))
  ------------------
 1098|     60|                    if ((unsigned)(last.bits + here.bits) <= bits) break;
  ------------------
  |  Branch (1098:25): [True: 44, False: 16]
  ------------------
 1099|     16|                    PULLBYTE();
  ------------------
  |  |  475|     16|    do { \
  |  |  476|     16|        if (have == 0) goto inf_leave; \
  |  |  ------------------
  |  |  |  Branch (476:13): [True: 8, False: 8]
  |  |  ------------------
  |  |  477|     16|        have--; \
  |  |  478|      8|        hold += (unsigned long)(*next++) << bits; \
  |  |  479|      8|        bits += 8; \
  |  |  480|      8|    } while (0)
  |  |  ------------------
  |  |  |  Branch (480:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1100|     16|                }
 1101|     44|                DROPBITS(last.bits);
  ------------------
  |  |  496|     44|    do { \
  |  |  497|     44|        hold >>= (n); \
  |  |  498|     44|        bits -= (unsigned)(n); \
  |  |  499|     44|    } while (0)
  |  |  ------------------
  |  |  |  Branch (499:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1102|     44|                state->back += last.bits;
 1103|     44|            }
 1104|   121k|            DROPBITS(here.bits);
  ------------------
  |  |  496|   121k|    do { \
  |  |  497|   121k|        hold >>= (n); \
  |  |  498|   121k|        bits -= (unsigned)(n); \
  |  |  499|   121k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (499:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1105|   121k|            state->back += here.bits;
 1106|   121k|            if (here.op & 64) {
  ------------------
  |  Branch (1106:17): [True: 0, False: 121k]
  ------------------
 1107|      0|                strm->msg = (char *)"invalid distance code";
 1108|      0|                state->mode = BAD;
 1109|      0|                break;
 1110|      0|            }
 1111|   121k|            state->offset = (unsigned)here.val;
 1112|   121k|            state->extra = (unsigned)(here.op) & 15;
 1113|   121k|            state->mode = DISTEXT;
 1114|       |                /* fallthrough */
 1115|   121k|        case DISTEXT:
  ------------------
  |  Branch (1115:9): [True: 41, False: 129k]
  ------------------
 1116|   121k|            if (state->extra) {
  ------------------
  |  Branch (1116:17): [True: 218, False: 121k]
  ------------------
 1117|    218|                NEEDBITS(state->extra);
  ------------------
  |  |  485|    218|    do { \
  |  |  486|    295|        while (bits < (unsigned)(n)) \
  |  |  ------------------
  |  |  |  Branch (486:16): [True: 118, False: 177]
  |  |  ------------------
  |  |  487|    218|            PULLBYTE(); \
  |  |  ------------------
  |  |  |  |  475|    118|    do { \
  |  |  |  |  476|    118|        if (have == 0) goto inf_leave; \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (476:13): [True: 41, False: 77]
  |  |  |  |  ------------------
  |  |  |  |  477|    118|        have--; \
  |  |  |  |  478|     77|        hold += (unsigned long)(*next++) << bits; \
  |  |  |  |  479|     77|        bits += 8; \
  |  |  |  |  480|     77|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (480:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  488|    218|    } while (0)
  |  |  ------------------
  |  |  |  Branch (488:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1118|    177|                state->offset += BITS(state->extra);
  ------------------
  |  |  492|    177|    ((unsigned)hold & ((1U << (n)) - 1))
  ------------------
 1119|    177|                DROPBITS(state->extra);
  ------------------
  |  |  496|    177|    do { \
  |  |  497|    177|        hold >>= (n); \
  |  |  498|    177|        bits -= (unsigned)(n); \
  |  |  499|    177|    } while (0)
  |  |  ------------------
  |  |  |  Branch (499:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1120|    177|                state->back += state->extra;
 1121|    177|            }
 1122|       |#ifdef INFLATE_STRICT
 1123|       |            if (state->offset > state->dmax) {
 1124|       |                strm->msg = (char *)"invalid distance too far back";
 1125|       |                state->mode = BAD;
 1126|       |                break;
 1127|       |            }
 1128|       |#endif
 1129|   121k|            Tracevv((stderr, "inflate:         distance %u\n", state->offset));
 1130|   121k|            state->mode = MATCH;
 1131|       |                /* fallthrough */
 1132|   123k|        case MATCH:
  ------------------
  |  Branch (1132:9): [True: 2.54k, False: 127k]
  ------------------
 1133|   123k|            if (left == 0) goto inf_leave;
  ------------------
  |  Branch (1133:17): [True: 1.49k, False: 122k]
  ------------------
 1134|   122k|            copy = out - left;
 1135|   122k|            if (state->offset > copy) {         /* copy from window */
  ------------------
  |  Branch (1135:17): [True: 1.76k, False: 120k]
  ------------------
 1136|  1.76k|                copy = state->offset - copy;
 1137|  1.76k|                if (copy > state->whave) {
  ------------------
  |  Branch (1137:21): [True: 0, False: 1.76k]
  ------------------
 1138|      0|                    if (state->sane) {
  ------------------
  |  Branch (1138:25): [True: 0, False: 0]
  ------------------
 1139|      0|                        strm->msg = (char *)"invalid distance too far back";
 1140|      0|                        state->mode = BAD;
 1141|      0|                        break;
 1142|      0|                    }
 1143|       |#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR
 1144|       |                    Trace((stderr, "inflate.c too far\n"));
 1145|       |                    copy -= state->whave;
 1146|       |                    if (copy > state->length) copy = state->length;
 1147|       |                    if (copy > left) copy = left;
 1148|       |                    left -= copy;
 1149|       |                    state->length -= copy;
 1150|       |                    do {
 1151|       |                        *put++ = 0;
 1152|       |                    } while (--copy);
 1153|       |                    if (state->length == 0) state->mode = LEN;
 1154|       |                    break;
 1155|       |#endif
 1156|      0|                }
 1157|  1.76k|                if (copy > state->wnext) {
  ------------------
  |  Branch (1157:21): [True: 0, False: 1.76k]
  ------------------
 1158|      0|                    copy -= state->wnext;
 1159|      0|                    from = state->window + (state->wsize - copy);
 1160|      0|                }
 1161|  1.76k|                else
 1162|  1.76k|                    from = state->window + (state->wnext - copy);
 1163|  1.76k|                if (copy > state->length) copy = state->length;
  ------------------
  |  Branch (1163:21): [True: 1.72k, False: 45]
  ------------------
 1164|  1.76k|            }
 1165|   120k|            else {                              /* copy from output */
 1166|   120k|                from = put - state->offset;
 1167|   120k|                copy = state->length;
 1168|   120k|            }
 1169|   122k|            if (copy > left) copy = left;
  ------------------
  |  Branch (1169:17): [True: 1.02k, False: 121k]
  ------------------
 1170|   122k|            left -= copy;
 1171|   122k|            state->length -= copy;
 1172|   364k|            do {
 1173|   364k|                *put++ = *from++;
 1174|   364k|            } while (--copy);
  ------------------
  |  Branch (1174:22): [True: 242k, False: 122k]
  ------------------
 1175|   122k|            if (state->length == 0) state->mode = LEN;
  ------------------
  |  Branch (1175:17): [True: 121k, False: 1.04k]
  ------------------
 1176|   122k|            break;
 1177|    962|        case LIT:
  ------------------
  |  Branch (1177:9): [True: 962, False: 128k]
  ------------------
 1178|    962|            if (left == 0) goto inf_leave;
  ------------------
  |  Branch (1178:17): [True: 16, False: 946]
  ------------------
 1179|    946|            *put++ = (unsigned char)(state->length);
 1180|    946|            left--;
 1181|    946|            state->mode = LEN;
 1182|    946|            break;
 1183|      0|        case CHECK:
  ------------------
  |  Branch (1183:9): [True: 0, False: 129k]
  ------------------
 1184|      0|            if (state->wrap) {
  ------------------
  |  Branch (1184:17): [True: 0, False: 0]
  ------------------
 1185|      0|                NEEDBITS(32);
  ------------------
  |  |  485|      0|    do { \
  |  |  486|      0|        while (bits < (unsigned)(n)) \
  |  |  ------------------
  |  |  |  Branch (486:16): [True: 0, False: 0]
  |  |  ------------------
  |  |  487|      0|            PULLBYTE(); \
  |  |  ------------------
  |  |  |  |  475|      0|    do { \
  |  |  |  |  476|      0|        if (have == 0) goto inf_leave; \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (476:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  477|      0|        have--; \
  |  |  |  |  478|      0|        hold += (unsigned long)(*next++) << bits; \
  |  |  |  |  479|      0|        bits += 8; \
  |  |  |  |  480|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (480:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  488|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (488:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1186|      0|                out -= left;
 1187|      0|                strm->total_out += out;
 1188|      0|                state->total += out;
 1189|      0|                if ((state->wrap & 4) && out)
  ------------------
  |  Branch (1189:21): [True: 0, False: 0]
  |  Branch (1189:42): [True: 0, False: 0]
  ------------------
 1190|      0|                    strm->adler = state->check =
 1191|      0|                        UPDATE_CHECK(state->check, put - out, out);
  ------------------
  |  |  419|      0|    (state->flags ? crc32(check, buf, len) : adler32(check, buf, len))
  |  |  ------------------
  |  |  |  Branch (419:6): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1192|      0|                out = left;
 1193|      0|                if ((state->wrap & 4) && (
  ------------------
  |  Branch (1193:21): [True: 0, False: 0]
  |  Branch (1193:42): [True: 0, False: 0]
  ------------------
 1194|      0|#ifdef GUNZIP
 1195|      0|                     state->flags ? hold :
  ------------------
  |  Branch (1195:22): [True: 0, False: 0]
  ------------------
 1196|      0|#endif
 1197|      0|                     ZSWAP32(hold)) != state->check) {
  ------------------
  |  |  250|      0|#define ZSWAP32(q) ((((q) >> 24) & 0xff) + (((q) >> 8) & 0xff00) + \
  |  |  251|      0|                    (((q) & 0xff00) << 8) + (((q) & 0xff) << 24))
  ------------------
 1198|      0|                    strm->msg = (char *)"incorrect data check";
 1199|      0|                    state->mode = BAD;
 1200|      0|                    break;
 1201|      0|                }
 1202|      0|                INITBITS();
  ------------------
  |  |  467|      0|    do { \
  |  |  468|      0|        hold = 0; \
  |  |  469|      0|        bits = 0; \
  |  |  470|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (470:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1203|      0|                Tracev((stderr, "inflate:   check matches trailer\n"));
 1204|      0|            }
 1205|      0|#ifdef GUNZIP
 1206|      0|            state->mode = LENGTH;
 1207|       |                /* fallthrough */
 1208|      0|        case LENGTH:
  ------------------
  |  Branch (1208:9): [True: 0, False: 129k]
  ------------------
 1209|      0|            if (state->wrap && state->flags) {
  ------------------
  |  Branch (1209:17): [True: 0, False: 0]
  |  Branch (1209:32): [True: 0, False: 0]
  ------------------
 1210|      0|                NEEDBITS(32);
  ------------------
  |  |  485|      0|    do { \
  |  |  486|      0|        while (bits < (unsigned)(n)) \
  |  |  ------------------
  |  |  |  Branch (486:16): [True: 0, False: 0]
  |  |  ------------------
  |  |  487|      0|            PULLBYTE(); \
  |  |  ------------------
  |  |  |  |  475|      0|    do { \
  |  |  |  |  476|      0|        if (have == 0) goto inf_leave; \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (476:13): [True: 0, False: 0]
  |  |  |  |  ------------------
  |  |  |  |  477|      0|        have--; \
  |  |  |  |  478|      0|        hold += (unsigned long)(*next++) << bits; \
  |  |  |  |  479|      0|        bits += 8; \
  |  |  |  |  480|      0|    } while (0)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (480:14): [Folded - Ignored]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  488|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (488:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1211|      0|                if ((state->wrap & 4) && hold != (state->total & 0xffffffff)) {
  ------------------
  |  Branch (1211:21): [True: 0, False: 0]
  |  Branch (1211:42): [True: 0, False: 0]
  ------------------
 1212|      0|                    strm->msg = (char *)"incorrect length check";
 1213|      0|                    state->mode = BAD;
 1214|      0|                    break;
 1215|      0|                }
 1216|      0|                INITBITS();
  ------------------
  |  |  467|      0|    do { \
  |  |  468|      0|        hold = 0; \
  |  |  469|      0|        bits = 0; \
  |  |  470|      0|    } while (0)
  |  |  ------------------
  |  |  |  Branch (470:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1217|      0|                Tracev((stderr, "inflate:   length matches trailer\n"));
 1218|      0|            }
 1219|      0|#endif
 1220|      0|            state->mode = DONE;
 1221|       |                /* fallthrough */
 1222|      0|        case DONE:
  ------------------
  |  Branch (1222:9): [True: 0, False: 129k]
  ------------------
 1223|      0|            ret = Z_STREAM_END;
  ------------------
  |  |  178|      0|#define Z_STREAM_END    1
  ------------------
 1224|      0|            goto inf_leave;
 1225|     14|        case BAD:
  ------------------
  |  Branch (1225:9): [True: 14, False: 129k]
  ------------------
 1226|     14|            ret = Z_DATA_ERROR;
  ------------------
  |  |  182|     14|#define Z_DATA_ERROR   (-3)
  ------------------
 1227|     14|            goto inf_leave;
 1228|      0|        case MEM:
  ------------------
  |  Branch (1228:9): [True: 0, False: 129k]
  ------------------
 1229|      0|            return Z_MEM_ERROR;
  ------------------
  |  |  183|      0|#define Z_MEM_ERROR    (-4)
  ------------------
 1230|      0|        case SYNC:
  ------------------
  |  Branch (1230:9): [True: 0, False: 129k]
  ------------------
 1231|       |                /* fallthrough */
 1232|      0|        default:
  ------------------
  |  Branch (1232:9): [True: 0, False: 129k]
  ------------------
 1233|      0|            return Z_STREAM_ERROR;
  ------------------
  |  |  181|      0|#define Z_STREAM_ERROR (-2)
  ------------------
 1234|   129k|        }
 1235|       |
 1236|       |    /*
 1237|       |       Return from inflate(), updating the total counts and the check value.
 1238|       |       If there was no progress during the inflate() call, return a buffer
 1239|       |       error.  Call updatewindow() to create and/or update the window state.
 1240|       |       Note: a memory error from inflate() is non-recoverable.
 1241|       |     */
 1242|  2.91k|  inf_leave:
 1243|  2.91k|    RESTORE();
  ------------------
  |  |  456|  2.91k|    do { \
  |  |  457|  2.91k|        strm->next_out = put; \
  |  |  458|  2.91k|        strm->avail_out = left; \
  |  |  459|  2.91k|        strm->next_in = next; \
  |  |  460|  2.91k|        strm->avail_in = have; \
  |  |  461|  2.91k|        state->hold = hold; \
  |  |  462|  2.91k|        state->bits = bits; \
  |  |  463|  2.91k|    } while (0)
  |  |  ------------------
  |  |  |  Branch (463:14): [Folded - Ignored]
  |  |  ------------------
  ------------------
 1244|  2.91k|    if (state->wsize || (out != strm->avail_out && state->mode < BAD &&
  ------------------
  |  Branch (1244:9): [True: 2.16k, False: 748]
  |  Branch (1244:26): [True: 13, False: 735]
  |  Branch (1244:52): [True: 13, False: 0]
  ------------------
 1245|    748|            (state->mode < CHECK || flush != Z_FINISH)))
  ------------------
  |  |  172|      0|#define Z_FINISH        4
  ------------------
  |  Branch (1245:14): [True: 13, False: 0]
  |  Branch (1245:37): [True: 0, False: 0]
  ------------------
 1246|  2.17k|        if (updatewindow(strm, strm->next_out, out - strm->avail_out)) {
  ------------------
  |  Branch (1246:13): [True: 0, False: 2.17k]
  ------------------
 1247|      0|            state->mode = MEM;
 1248|      0|            return Z_MEM_ERROR;
  ------------------
  |  |  183|      0|#define Z_MEM_ERROR    (-4)
  ------------------
 1249|      0|        }
 1250|  2.91k|    in -= strm->avail_in;
 1251|  2.91k|    out -= strm->avail_out;
 1252|  2.91k|    strm->total_in += in;
 1253|  2.91k|    strm->total_out += out;
 1254|  2.91k|    state->total += out;
 1255|  2.91k|    if ((state->wrap & 4) && out)
  ------------------
  |  Branch (1255:9): [True: 2.91k, False: 0]
  |  Branch (1255:30): [True: 2.06k, False: 848]
  ------------------
 1256|  2.06k|        strm->adler = state->check =
 1257|  2.06k|            UPDATE_CHECK(state->check, strm->next_out - out, out);
  ------------------
  |  |  419|  2.06k|    (state->flags ? crc32(check, buf, len) : adler32(check, buf, len))
  |  |  ------------------
  |  |  |  Branch (419:6): [True: 0, False: 2.06k]
  |  |  ------------------
  ------------------
 1258|  2.91k|    strm->data_type = (int)state->bits + (state->last ? 64 : 0) +
  ------------------
  |  Branch (1258:43): [True: 2.88k, False: 26]
  ------------------
 1259|  2.91k|                      (state->mode == TYPE ? 128 : 0) +
  ------------------
  |  Branch (1259:24): [True: 13, False: 2.89k]
  ------------------
 1260|  2.91k|                      (state->mode == LEN_ || state->mode == COPY_ ? 256 : 0);
  ------------------
  |  Branch (1260:24): [True: 0, False: 2.91k]
  |  Branch (1260:47): [True: 0, False: 2.91k]
  ------------------
 1261|  2.91k|    if (((in == 0 && out == 0) || flush == Z_FINISH) && ret == Z_OK)
  ------------------
  |  |  172|  2.90k|#define Z_FINISH        4
  ------------------
                  if (((in == 0 && out == 0) || flush == Z_FINISH) && ret == Z_OK)
  ------------------
  |  |  177|      8|#define Z_OK            0
  ------------------
  |  Branch (1261:11): [True: 53, False: 2.85k]
  |  Branch (1261:22): [True: 8, False: 45]
  |  Branch (1261:35): [True: 0, False: 2.90k]
  |  Branch (1261:57): [True: 0, False: 8]
  ------------------
 1262|      0|        ret = Z_BUF_ERROR;
  ------------------
  |  |  184|      0|#define Z_BUF_ERROR    (-5)
  ------------------
 1263|  2.91k|    return ret;
 1264|  2.91k|}
inflateEnd:
 1266|     41|int ZEXPORT inflateEnd(z_streamp strm) {
 1267|     41|    struct inflate_state FAR *state;
 1268|     41|    if (inflateStateCheck(strm))
  ------------------
  |  Branch (1268:9): [True: 6, False: 35]
  ------------------
 1269|      6|        return Z_STREAM_ERROR;
  ------------------
  |  |  181|      6|#define Z_STREAM_ERROR (-2)
  ------------------
 1270|     35|    state = (struct inflate_state FAR *)strm->state;
 1271|     35|    if (state->window != Z_NULL) ZFREE(strm, state->window);
  ------------------
  |  |  212|     35|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
                  if (state->window != Z_NULL) ZFREE(strm, state->window);
  ------------------
  |  |  246|     35|#define ZFREE(strm, addr)  (*((strm)->zfree))((strm)->opaque, (voidpf)(addr))
  ------------------
  |  Branch (1271:9): [True: 35, False: 0]
  ------------------
 1272|     35|    ZFREE(strm, strm->state);
  ------------------
  |  |  246|     35|#define ZFREE(strm, addr)  (*((strm)->zfree))((strm)->opaque, (voidpf)(addr))
  ------------------
 1273|     35|    strm->state = Z_NULL;
  ------------------
  |  |  212|     35|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
 1274|     35|    Tracev((stderr, "inflate: end\n"));
 1275|     35|    return Z_OK;
  ------------------
  |  |  177|     35|#define Z_OK            0
  ------------------
 1276|     41|}
inflateCopy:
 1439|     22|int ZEXPORT inflateCopy(z_streamp dest, z_streamp source) {
 1440|     22|    struct inflate_state FAR *state;
 1441|     22|    struct inflate_state FAR *copy;
 1442|     22|    unsigned char FAR *window;
 1443|     22|    unsigned wsize;
 1444|       |
 1445|       |    /* check input */
 1446|     22|    if (inflateStateCheck(source) || dest == Z_NULL)
  ------------------
  |  |  212|     22|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
  |  Branch (1446:9): [True: 0, False: 22]
  |  Branch (1446:38): [True: 0, False: 22]
  ------------------
 1447|      0|        return Z_STREAM_ERROR;
  ------------------
  |  |  181|      0|#define Z_STREAM_ERROR (-2)
  ------------------
 1448|     22|    state = (struct inflate_state FAR *)source->state;
 1449|       |
 1450|       |    /* allocate space */
 1451|     22|    copy = (struct inflate_state FAR *)
 1452|     22|           ZALLOC(source, 1, sizeof(struct inflate_state));
  ------------------
  |  |  245|     22|           (*((strm)->zalloc))((strm)->opaque, (items), (size))
  ------------------
 1453|     22|    if (copy == Z_NULL) return Z_MEM_ERROR;
  ------------------
  |  |  212|     22|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
                  if (copy == Z_NULL) return Z_MEM_ERROR;
  ------------------
  |  |  183|      0|#define Z_MEM_ERROR    (-4)
  ------------------
  |  Branch (1453:9): [True: 0, False: 22]
  ------------------
 1454|     22|    window = Z_NULL;
  ------------------
  |  |  212|     22|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
 1455|     22|    if (state->window != Z_NULL) {
  ------------------
  |  |  212|     22|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
  |  Branch (1455:9): [True: 22, False: 0]
  ------------------
 1456|     22|        window = (unsigned char FAR *)
 1457|     22|                 ZALLOC(source, 1U << state->wbits, sizeof(unsigned char));
  ------------------
  |  |  245|     22|           (*((strm)->zalloc))((strm)->opaque, (items), (size))
  ------------------
 1458|     22|        if (window == Z_NULL) {
  ------------------
  |  |  212|     22|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
  |  Branch (1458:13): [True: 0, False: 22]
  ------------------
 1459|      0|            ZFREE(source, copy);
  ------------------
  |  |  246|      0|#define ZFREE(strm, addr)  (*((strm)->zfree))((strm)->opaque, (voidpf)(addr))
  ------------------
 1460|      0|            return Z_MEM_ERROR;
  ------------------
  |  |  183|      0|#define Z_MEM_ERROR    (-4)
  ------------------
 1461|      0|        }
 1462|     22|    }
 1463|       |
 1464|       |    /* copy state */
 1465|     22|    zmemcpy((voidpf)dest, (voidpf)source, sizeof(z_stream));
  ------------------
  |  |  208|     22|#    define zmemcpy memcpy
  ------------------
 1466|     22|    zmemcpy((voidpf)copy, (voidpf)state, sizeof(struct inflate_state));
  ------------------
  |  |  208|     22|#    define zmemcpy memcpy
  ------------------
 1467|     22|    copy->strm = dest;
 1468|     22|    if (state->lencode >= state->codes &&
  ------------------
  |  Branch (1468:9): [True: 21, False: 1]
  ------------------
 1469|     22|        state->lencode <= state->codes + ENOUGH - 1) {
  ------------------
  |  |   51|     21|#define ENOUGH (ENOUGH_LENS+ENOUGH_DISTS)
  |  |  ------------------
  |  |  |  |   49|     21|#define ENOUGH_LENS 852
  |  |  ------------------
  |  |               #define ENOUGH (ENOUGH_LENS+ENOUGH_DISTS)
  |  |  ------------------
  |  |  |  |   50|     21|#define ENOUGH_DISTS 592
  |  |  ------------------
  ------------------
  |  Branch (1469:9): [True: 21, False: 0]
  ------------------
 1470|     21|        copy->lencode = copy->codes + (state->lencode - state->codes);
 1471|     21|        copy->distcode = copy->codes + (state->distcode - state->codes);
 1472|     21|    }
 1473|     22|    copy->next = copy->codes + (state->next - state->codes);
 1474|     22|    if (window != Z_NULL) {
  ------------------
  |  |  212|     22|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
  |  Branch (1474:9): [True: 22, False: 0]
  ------------------
 1475|     22|        wsize = 1U << state->wbits;
 1476|     22|        zmemcpy(window, state->window, wsize);
  ------------------
  |  |  208|     22|#    define zmemcpy memcpy
  ------------------
 1477|     22|    }
 1478|     22|    copy->window = window;
 1479|     22|    dest->state = (struct internal_state FAR *)copy;
 1480|     22|    return Z_OK;
  ------------------
  |  |  177|     22|#define Z_OK            0
  ------------------
 1481|     22|}
inflate.c:inflateStateCheck:
   94|  3.01k|local int inflateStateCheck(z_streamp strm) {
   95|  3.01k|    struct inflate_state FAR *state;
   96|  3.01k|    if (strm == Z_NULL ||
  ------------------
  |  |  212|  6.02k|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
  |  Branch (96:9): [True: 6, False: 3.00k]
  ------------------
   97|  3.01k|        strm->zalloc == (alloc_func)0 || strm->zfree == (free_func)0)
  ------------------
  |  Branch (97:9): [True: 0, False: 3.00k]
  |  Branch (97:42): [True: 0, False: 3.00k]
  ------------------
   98|      6|        return 1;
   99|  3.00k|    state = (struct inflate_state FAR *)strm->state;
  100|  3.00k|    if (state == Z_NULL || state->strm != strm ||
  ------------------
  |  |  212|  6.01k|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
  |  Branch (100:9): [True: 0, False: 3.00k]
  |  Branch (100:28): [True: 0, False: 3.00k]
  ------------------
  101|  3.00k|        state->mode < HEAD || state->mode > SYNC)
  ------------------
  |  Branch (101:9): [True: 0, False: 3.00k]
  |  Branch (101:31): [True: 0, False: 3.00k]
  ------------------
  102|      0|        return 1;
  103|  3.00k|    return 0;
  104|  3.00k|}
inflate.c:fixedtables:
  252|      5|local void fixedtables(struct inflate_state FAR *state) {
  253|       |#ifdef BUILDFIXED
  254|       |    static int virgin = 1;
  255|       |    static code *lenfix, *distfix;
  256|       |    static code fixed[544];
  257|       |
  258|       |    /* build fixed huffman tables if first call (may not be thread safe) */
  259|       |    if (virgin) {
  260|       |        unsigned sym, bits;
  261|       |        static code *next;
  262|       |
  263|       |        /* literal/length table */
  264|       |        sym = 0;
  265|       |        while (sym < 144) state->lens[sym++] = 8;
  266|       |        while (sym < 256) state->lens[sym++] = 9;
  267|       |        while (sym < 280) state->lens[sym++] = 7;
  268|       |        while (sym < 288) state->lens[sym++] = 8;
  269|       |        next = fixed;
  270|       |        lenfix = next;
  271|       |        bits = 9;
  272|       |        inflate_table(LENS, state->lens, 288, &(next), &(bits), state->work);
  273|       |
  274|       |        /* distance table */
  275|       |        sym = 0;
  276|       |        while (sym < 32) state->lens[sym++] = 5;
  277|       |        distfix = next;
  278|       |        bits = 5;
  279|       |        inflate_table(DISTS, state->lens, 32, &(next), &(bits), state->work);
  280|       |
  281|       |        /* do this just once */
  282|       |        virgin = 0;
  283|       |    }
  284|       |#else /* !BUILDFIXED */
  285|      5|#   include "inffixed.h"
  ------------------
  |  |    1|       |    /* inffixed.h -- table for decoding fixed codes
  |  |    2|       |     * Generated automatically by makefixed().
  |  |    3|       |     */
  |  |    4|       |
  |  |    5|       |    /* WARNING: this file should *not* be used by applications.
  |  |    6|       |       It is part of the implementation of this library and is
  |  |    7|       |       subject to change. Applications should only use zlib.h.
  |  |    8|       |     */
  |  |    9|       |
  |  |   10|      5|    static const code lenfix[512] = {
  |  |   11|      5|        {96,7,0},{0,8,80},{0,8,16},{20,8,115},{18,7,31},{0,8,112},{0,8,48},
  |  |   12|      5|        {0,9,192},{16,7,10},{0,8,96},{0,8,32},{0,9,160},{0,8,0},{0,8,128},
  |  |   13|      5|        {0,8,64},{0,9,224},{16,7,6},{0,8,88},{0,8,24},{0,9,144},{19,7,59},
  |  |   14|      5|        {0,8,120},{0,8,56},{0,9,208},{17,7,17},{0,8,104},{0,8,40},{0,9,176},
  |  |   15|      5|        {0,8,8},{0,8,136},{0,8,72},{0,9,240},{16,7,4},{0,8,84},{0,8,20},
  |  |   16|      5|        {21,8,227},{19,7,43},{0,8,116},{0,8,52},{0,9,200},{17,7,13},{0,8,100},
  |  |   17|      5|        {0,8,36},{0,9,168},{0,8,4},{0,8,132},{0,8,68},{0,9,232},{16,7,8},
  |  |   18|      5|        {0,8,92},{0,8,28},{0,9,152},{20,7,83},{0,8,124},{0,8,60},{0,9,216},
  |  |   19|      5|        {18,7,23},{0,8,108},{0,8,44},{0,9,184},{0,8,12},{0,8,140},{0,8,76},
  |  |   20|      5|        {0,9,248},{16,7,3},{0,8,82},{0,8,18},{21,8,163},{19,7,35},{0,8,114},
  |  |   21|      5|        {0,8,50},{0,9,196},{17,7,11},{0,8,98},{0,8,34},{0,9,164},{0,8,2},
  |  |   22|      5|        {0,8,130},{0,8,66},{0,9,228},{16,7,7},{0,8,90},{0,8,26},{0,9,148},
  |  |   23|      5|        {20,7,67},{0,8,122},{0,8,58},{0,9,212},{18,7,19},{0,8,106},{0,8,42},
  |  |   24|      5|        {0,9,180},{0,8,10},{0,8,138},{0,8,74},{0,9,244},{16,7,5},{0,8,86},
  |  |   25|      5|        {0,8,22},{64,8,0},{19,7,51},{0,8,118},{0,8,54},{0,9,204},{17,7,15},
  |  |   26|      5|        {0,8,102},{0,8,38},{0,9,172},{0,8,6},{0,8,134},{0,8,70},{0,9,236},
  |  |   27|      5|        {16,7,9},{0,8,94},{0,8,30},{0,9,156},{20,7,99},{0,8,126},{0,8,62},
  |  |   28|      5|        {0,9,220},{18,7,27},{0,8,110},{0,8,46},{0,9,188},{0,8,14},{0,8,142},
  |  |   29|      5|        {0,8,78},{0,9,252},{96,7,0},{0,8,81},{0,8,17},{21,8,131},{18,7,31},
  |  |   30|      5|        {0,8,113},{0,8,49},{0,9,194},{16,7,10},{0,8,97},{0,8,33},{0,9,162},
  |  |   31|      5|        {0,8,1},{0,8,129},{0,8,65},{0,9,226},{16,7,6},{0,8,89},{0,8,25},
  |  |   32|      5|        {0,9,146},{19,7,59},{0,8,121},{0,8,57},{0,9,210},{17,7,17},{0,8,105},
  |  |   33|      5|        {0,8,41},{0,9,178},{0,8,9},{0,8,137},{0,8,73},{0,9,242},{16,7,4},
  |  |   34|      5|        {0,8,85},{0,8,21},{16,8,258},{19,7,43},{0,8,117},{0,8,53},{0,9,202},
  |  |   35|      5|        {17,7,13},{0,8,101},{0,8,37},{0,9,170},{0,8,5},{0,8,133},{0,8,69},
  |  |   36|      5|        {0,9,234},{16,7,8},{0,8,93},{0,8,29},{0,9,154},{20,7,83},{0,8,125},
  |  |   37|      5|        {0,8,61},{0,9,218},{18,7,23},{0,8,109},{0,8,45},{0,9,186},{0,8,13},
  |  |   38|      5|        {0,8,141},{0,8,77},{0,9,250},{16,7,3},{0,8,83},{0,8,19},{21,8,195},
  |  |   39|      5|        {19,7,35},{0,8,115},{0,8,51},{0,9,198},{17,7,11},{0,8,99},{0,8,35},
  |  |   40|      5|        {0,9,166},{0,8,3},{0,8,131},{0,8,67},{0,9,230},{16,7,7},{0,8,91},
  |  |   41|      5|        {0,8,27},{0,9,150},{20,7,67},{0,8,123},{0,8,59},{0,9,214},{18,7,19},
  |  |   42|      5|        {0,8,107},{0,8,43},{0,9,182},{0,8,11},{0,8,139},{0,8,75},{0,9,246},
  |  |   43|      5|        {16,7,5},{0,8,87},{0,8,23},{64,8,0},{19,7,51},{0,8,119},{0,8,55},
  |  |   44|      5|        {0,9,206},{17,7,15},{0,8,103},{0,8,39},{0,9,174},{0,8,7},{0,8,135},
  |  |   45|      5|        {0,8,71},{0,9,238},{16,7,9},{0,8,95},{0,8,31},{0,9,158},{20,7,99},
  |  |   46|      5|        {0,8,127},{0,8,63},{0,9,222},{18,7,27},{0,8,111},{0,8,47},{0,9,190},
  |  |   47|      5|        {0,8,15},{0,8,143},{0,8,79},{0,9,254},{96,7,0},{0,8,80},{0,8,16},
  |  |   48|      5|        {20,8,115},{18,7,31},{0,8,112},{0,8,48},{0,9,193},{16,7,10},{0,8,96},
  |  |   49|      5|        {0,8,32},{0,9,161},{0,8,0},{0,8,128},{0,8,64},{0,9,225},{16,7,6},
  |  |   50|      5|        {0,8,88},{0,8,24},{0,9,145},{19,7,59},{0,8,120},{0,8,56},{0,9,209},
  |  |   51|      5|        {17,7,17},{0,8,104},{0,8,40},{0,9,177},{0,8,8},{0,8,136},{0,8,72},
  |  |   52|      5|        {0,9,241},{16,7,4},{0,8,84},{0,8,20},{21,8,227},{19,7,43},{0,8,116},
  |  |   53|      5|        {0,8,52},{0,9,201},{17,7,13},{0,8,100},{0,8,36},{0,9,169},{0,8,4},
  |  |   54|      5|        {0,8,132},{0,8,68},{0,9,233},{16,7,8},{0,8,92},{0,8,28},{0,9,153},
  |  |   55|      5|        {20,7,83},{0,8,124},{0,8,60},{0,9,217},{18,7,23},{0,8,108},{0,8,44},
  |  |   56|      5|        {0,9,185},{0,8,12},{0,8,140},{0,8,76},{0,9,249},{16,7,3},{0,8,82},
  |  |   57|      5|        {0,8,18},{21,8,163},{19,7,35},{0,8,114},{0,8,50},{0,9,197},{17,7,11},
  |  |   58|      5|        {0,8,98},{0,8,34},{0,9,165},{0,8,2},{0,8,130},{0,8,66},{0,9,229},
  |  |   59|      5|        {16,7,7},{0,8,90},{0,8,26},{0,9,149},{20,7,67},{0,8,122},{0,8,58},
  |  |   60|      5|        {0,9,213},{18,7,19},{0,8,106},{0,8,42},{0,9,181},{0,8,10},{0,8,138},
  |  |   61|      5|        {0,8,74},{0,9,245},{16,7,5},{0,8,86},{0,8,22},{64,8,0},{19,7,51},
  |  |   62|      5|        {0,8,118},{0,8,54},{0,9,205},{17,7,15},{0,8,102},{0,8,38},{0,9,173},
  |  |   63|      5|        {0,8,6},{0,8,134},{0,8,70},{0,9,237},{16,7,9},{0,8,94},{0,8,30},
  |  |   64|      5|        {0,9,157},{20,7,99},{0,8,126},{0,8,62},{0,9,221},{18,7,27},{0,8,110},
  |  |   65|      5|        {0,8,46},{0,9,189},{0,8,14},{0,8,142},{0,8,78},{0,9,253},{96,7,0},
  |  |   66|      5|        {0,8,81},{0,8,17},{21,8,131},{18,7,31},{0,8,113},{0,8,49},{0,9,195},
  |  |   67|      5|        {16,7,10},{0,8,97},{0,8,33},{0,9,163},{0,8,1},{0,8,129},{0,8,65},
  |  |   68|      5|        {0,9,227},{16,7,6},{0,8,89},{0,8,25},{0,9,147},{19,7,59},{0,8,121},
  |  |   69|      5|        {0,8,57},{0,9,211},{17,7,17},{0,8,105},{0,8,41},{0,9,179},{0,8,9},
  |  |   70|      5|        {0,8,137},{0,8,73},{0,9,243},{16,7,4},{0,8,85},{0,8,21},{16,8,258},
  |  |   71|      5|        {19,7,43},{0,8,117},{0,8,53},{0,9,203},{17,7,13},{0,8,101},{0,8,37},
  |  |   72|      5|        {0,9,171},{0,8,5},{0,8,133},{0,8,69},{0,9,235},{16,7,8},{0,8,93},
  |  |   73|      5|        {0,8,29},{0,9,155},{20,7,83},{0,8,125},{0,8,61},{0,9,219},{18,7,23},
  |  |   74|      5|        {0,8,109},{0,8,45},{0,9,187},{0,8,13},{0,8,141},{0,8,77},{0,9,251},
  |  |   75|      5|        {16,7,3},{0,8,83},{0,8,19},{21,8,195},{19,7,35},{0,8,115},{0,8,51},
  |  |   76|      5|        {0,9,199},{17,7,11},{0,8,99},{0,8,35},{0,9,167},{0,8,3},{0,8,131},
  |  |   77|      5|        {0,8,67},{0,9,231},{16,7,7},{0,8,91},{0,8,27},{0,9,151},{20,7,67},
  |  |   78|      5|        {0,8,123},{0,8,59},{0,9,215},{18,7,19},{0,8,107},{0,8,43},{0,9,183},
  |  |   79|      5|        {0,8,11},{0,8,139},{0,8,75},{0,9,247},{16,7,5},{0,8,87},{0,8,23},
  |  |   80|      5|        {64,8,0},{19,7,51},{0,8,119},{0,8,55},{0,9,207},{17,7,15},{0,8,103},
  |  |   81|      5|        {0,8,39},{0,9,175},{0,8,7},{0,8,135},{0,8,71},{0,9,239},{16,7,9},
  |  |   82|      5|        {0,8,95},{0,8,31},{0,9,159},{20,7,99},{0,8,127},{0,8,63},{0,9,223},
  |  |   83|      5|        {18,7,27},{0,8,111},{0,8,47},{0,9,191},{0,8,15},{0,8,143},{0,8,79},
  |  |   84|      5|        {0,9,255}
  |  |   85|      5|    };
  |  |   86|       |
  |  |   87|      5|    static const code distfix[32] = {
  |  |   88|      5|        {16,5,1},{23,5,257},{19,5,17},{27,5,4097},{17,5,5},{25,5,1025},
  |  |   89|      5|        {21,5,65},{29,5,16385},{16,5,3},{24,5,513},{20,5,33},{28,5,8193},
  |  |   90|      5|        {18,5,9},{26,5,2049},{22,5,129},{64,5,0},{16,5,2},{23,5,385},
  |  |   91|      5|        {19,5,25},{27,5,6145},{17,5,7},{25,5,1537},{21,5,97},{29,5,24577},
  |  |   92|      5|        {16,5,4},{24,5,769},{20,5,49},{28,5,12289},{18,5,13},{26,5,3073},
  |  |   93|      5|        {22,5,193},{64,5,0}
  |  |   94|      5|    };
  ------------------
  286|      5|#endif /* BUILDFIXED */
  287|      5|    state->lencode = lenfix;
  288|      5|    state->lenbits = 9;
  289|      5|    state->distcode = distfix;
  290|      5|    state->distbits = 5;
  291|      5|}
inflate.c:updatewindow:
  368|  2.17k|local int updatewindow(z_streamp strm, const Bytef *end, unsigned copy) {
  369|  2.17k|    struct inflate_state FAR *state;
  370|  2.17k|    unsigned dist;
  371|       |
  372|  2.17k|    state = (struct inflate_state FAR *)strm->state;
  373|       |
  374|       |    /* if it hasn't been done already, allocate space for the window */
  375|  2.17k|    if (state->window == Z_NULL) {
  ------------------
  |  |  212|  2.17k|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
  |  Branch (375:9): [True: 13, False: 2.16k]
  ------------------
  376|     13|        state->window = (unsigned char FAR *)
  377|     13|                        ZALLOC(strm, 1U << state->wbits,
  ------------------
  |  |  245|     13|           (*((strm)->zalloc))((strm)->opaque, (items), (size))
  ------------------
  378|     13|                               sizeof(unsigned char));
  379|     13|        if (state->window == Z_NULL) return 1;
  ------------------
  |  |  212|     13|#define Z_NULL  0  /* for initializing zalloc, zfree, opaque */
  ------------------
  |  Branch (379:13): [True: 0, False: 13]
  ------------------
  380|     13|    }
  381|       |
  382|       |    /* if window not in use yet, initialize */
  383|  2.17k|    if (state->wsize == 0) {
  ------------------
  |  Branch (383:9): [True: 13, False: 2.16k]
  ------------------
  384|     13|        state->wsize = 1U << state->wbits;
  385|     13|        state->wnext = 0;
  386|     13|        state->whave = 0;
  387|     13|    }
  388|       |
  389|       |    /* copy state->wsize or less output bytes into the circular window */
  390|  2.17k|    if (copy >= state->wsize) {
  ------------------
  |  Branch (390:9): [True: 0, False: 2.17k]
  ------------------
  391|      0|        zmemcpy(state->window, end - state->wsize, state->wsize);
  ------------------
  |  |  208|      0|#    define zmemcpy memcpy
  ------------------
  392|      0|        state->wnext = 0;
  393|      0|        state->whave = state->wsize;
  394|      0|    }
  395|  2.17k|    else {
  396|  2.17k|        dist = state->wsize - state->wnext;
  397|  2.17k|        if (dist > copy) dist = copy;
  ------------------
  |  Branch (397:13): [True: 1.83k, False: 340]
  ------------------
  398|  2.17k|        zmemcpy(state->window + state->wnext, end - copy, dist);
  ------------------
  |  |  208|  2.17k|#    define zmemcpy memcpy
  ------------------
  399|  2.17k|        copy -= dist;
  400|  2.17k|        if (copy) {
  ------------------
  |  Branch (400:13): [True: 340, False: 1.83k]
  ------------------
  401|    340|            zmemcpy(state->window, end - copy, copy);
  ------------------
  |  |  208|    340|#    define zmemcpy memcpy
  ------------------
  402|    340|            state->wnext = copy;
  403|    340|            state->whave = state->wsize;
  404|    340|        }
  405|  1.83k|        else {
  406|  1.83k|            state->wnext += dist;
  407|  1.83k|            if (state->wnext == state->wsize) state->wnext = 0;
  ------------------
  |  Branch (407:17): [True: 0, False: 1.83k]
  ------------------
  408|  1.83k|            if (state->whave < state->wsize) state->whave += dist;
  ------------------
  |  Branch (408:17): [True: 646, False: 1.19k]
  ------------------
  409|  1.83k|        }
  410|  2.17k|    }
  411|  2.17k|    return 0;
  412|  2.17k|}

inflate_table:
   34|     24|                                unsigned FAR *bits, unsigned short FAR *work) {
   35|     24|    unsigned len;               /* a code's length in bits */
   36|     24|    unsigned sym;               /* index of code symbols */
   37|     24|    unsigned min, max;          /* minimum and maximum code lengths */
   38|     24|    unsigned root;              /* number of index bits for root table */
   39|     24|    unsigned curr;              /* number of index bits for current table */
   40|     24|    unsigned drop;              /* code bits to drop for sub-table */
   41|     24|    int left;                   /* number of prefix codes available */
   42|     24|    unsigned used;              /* code entries in table used */
   43|     24|    unsigned huff;              /* Huffman code */
   44|     24|    unsigned incr;              /* for incrementing code, index */
   45|     24|    unsigned fill;              /* index for replicating entries */
   46|     24|    unsigned low;               /* low bits for current root entry */
   47|     24|    unsigned mask;              /* mask for low root bits */
   48|     24|    code here;                  /* table entry for duplication */
   49|     24|    code FAR *next;             /* next available space in table */
   50|     24|    const unsigned short FAR *base;     /* base value table to use */
   51|     24|    const unsigned short FAR *extra;    /* extra bits table to use */
   52|     24|    unsigned match;             /* use base and extra for symbol >= match */
   53|     24|    unsigned short count[MAXBITS+1];    /* number of codes of each length */
   54|     24|    unsigned short offs[MAXBITS+1];     /* offsets in table for each length */
   55|     24|    static const unsigned short lbase[31] = { /* Length codes 257..285 base */
   56|     24|        3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,
   57|     24|        35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0};
   58|     24|    static const unsigned short lext[31] = { /* Length codes 257..285 extra */
   59|     24|        16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,
   60|     24|        19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 73, 200};
   61|     24|    static const unsigned short dbase[32] = { /* Distance codes 0..29 base */
   62|     24|        1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,
   63|     24|        257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,
   64|     24|        8193, 12289, 16385, 24577, 0, 0};
   65|     24|    static const unsigned short dext[32] = { /* Distance codes 0..29 extra */
   66|     24|        16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22,
   67|     24|        23, 23, 24, 24, 25, 25, 26, 26, 27, 27,
   68|     24|        28, 28, 29, 29, 64, 64};
   69|       |
   70|       |    /*
   71|       |       Process a set of code lengths to create a canonical Huffman code.  The
   72|       |       code lengths are lens[0..codes-1].  Each length corresponds to the
   73|       |       symbols 0..codes-1.  The Huffman code is generated by first sorting the
   74|       |       symbols by length from short to long, and retaining the symbol order
   75|       |       for codes with equal lengths.  Then the code starts with all zero bits
   76|       |       for the first code of the shortest length, and the codes are integer
   77|       |       increments for the same length, and zeros are appended as the length
   78|       |       increases.  For the deflate format, these bits are stored backwards
   79|       |       from their more natural integer increment ordering, and so when the
   80|       |       decoding tables are built in the large loop below, the integer codes
   81|       |       are incremented backwards.
   82|       |
   83|       |       This routine assumes, but does not check, that all of the entries in
   84|       |       lens[] are in the range 0..MAXBITS.  The caller must assure this.
   85|       |       1..MAXBITS is interpreted as that code length.  zero means that that
   86|       |       symbol does not occur in this code.
   87|       |
   88|       |       The codes are sorted by computing a count of codes for each length,
   89|       |       creating from that a table of starting indices for each length in the
   90|       |       sorted table, and then entering the symbols in order in the sorted
   91|       |       table.  The sorted table is work[], with that space being provided by
   92|       |       the caller.
   93|       |
   94|       |       The length counts are used for other purposes as well, i.e. finding
   95|       |       the minimum and maximum length codes, determining if there are any
   96|       |       codes at all, checking for a valid set of lengths, and looking ahead
   97|       |       at length counts to determine sub-table sizes when building the
   98|       |       decoding tables.
   99|       |     */
  100|       |
  101|       |    /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */
  102|    408|    for (len = 0; len <= MAXBITS; len++)
  ------------------
  |  |    9|    408|#define MAXBITS 15
  ------------------
  |  Branch (102:19): [True: 384, False: 24]
  ------------------
  103|    384|        count[len] = 0;
  104|  2.57k|    for (sym = 0; sym < codes; sym++)
  ------------------
  |  Branch (104:19): [True: 2.55k, False: 24]
  ------------------
  105|  2.55k|        count[lens[sym]]++;
  106|       |
  107|       |    /* bound code lengths, force root to be within code lengths */
  108|     24|    root = *bits;
  109|    200|    for (max = MAXBITS; max >= 1; max--)
  ------------------
  |  |    9|     24|#define MAXBITS 15
  ------------------
  |  Branch (109:25): [True: 200, False: 0]
  ------------------
  110|    200|        if (count[max] != 0) break;
  ------------------
  |  Branch (110:13): [True: 24, False: 176]
  ------------------
  111|     24|    if (root > max) root = max;
  ------------------
  |  Branch (111:9): [True: 0, False: 24]
  ------------------
  112|     24|    if (max == 0) {                     /* no symbols to code at all */
  ------------------
  |  Branch (112:9): [True: 0, False: 24]
  ------------------
  113|      0|        here.op = (unsigned char)64;    /* invalid code marker */
  114|      0|        here.bits = (unsigned char)1;
  115|      0|        here.val = (unsigned short)0;
  116|      0|        *(*table)++ = here;             /* make a table to force an error */
  117|      0|        *(*table)++ = here;
  118|      0|        *bits = 1;
  119|      0|        return 0;     /* no symbols, but wait for decoding to report error */
  120|      0|    }
  121|     40|    for (min = 1; min < max; min++)
  ------------------
  |  Branch (121:19): [True: 40, False: 0]
  ------------------
  122|     40|        if (count[min] != 0) break;
  ------------------
  |  Branch (122:13): [True: 24, False: 16]
  ------------------
  123|     24|    if (root < min) root = min;
  ------------------
  |  Branch (123:9): [True: 0, False: 24]
  ------------------
  124|       |
  125|       |    /* check for an over-subscribed or incomplete set of lengths */
  126|     24|    left = 1;
  127|    384|    for (len = 1; len <= MAXBITS; len++) {
  ------------------
  |  |    9|    384|#define MAXBITS 15
  ------------------
  |  Branch (127:19): [True: 360, False: 24]
  ------------------
  128|    360|        left <<= 1;
  129|    360|        left -= count[len];
  130|    360|        if (left < 0) return -1;        /* over-subscribed */
  ------------------
  |  Branch (130:13): [True: 0, False: 360]
  ------------------
  131|    360|    }
  132|     24|    if (left > 0 && (type == CODES || max != 1))
  ------------------
  |  Branch (132:9): [True: 0, False: 24]
  |  Branch (132:22): [True: 0, False: 0]
  |  Branch (132:39): [True: 0, False: 0]
  ------------------
  133|      0|        return -1;                      /* incomplete set */
  134|       |
  135|       |    /* generate offsets into symbol table for each length for sorting */
  136|     24|    offs[1] = 0;
  137|    360|    for (len = 1; len < MAXBITS; len++)
  ------------------
  |  |    9|    360|#define MAXBITS 15
  ------------------
  |  Branch (137:19): [True: 336, False: 24]
  ------------------
  138|    336|        offs[len + 1] = offs[len] + count[len];
  139|       |
  140|       |    /* sort symbols by length, by symbol order within each length */
  141|  2.57k|    for (sym = 0; sym < codes; sym++)
  ------------------
  |  Branch (141:19): [True: 2.55k, False: 24]
  ------------------
  142|  2.55k|        if (lens[sym] != 0) work[offs[lens[sym]]++] = (unsigned short)sym;
  ------------------
  |  Branch (142:13): [True: 1.58k, False: 968]
  ------------------
  143|       |
  144|       |    /*
  145|       |       Create and fill in decoding tables.  In this loop, the table being
  146|       |       filled is at next and has curr index bits.  The code being used is huff
  147|       |       with length len.  That code is converted to an index by dropping drop
  148|       |       bits off of the bottom.  For codes where len is less than drop + curr,
  149|       |       those top drop + curr - len bits are incremented through all values to
  150|       |       fill the table with replicated entries.
  151|       |
  152|       |       root is the number of index bits for the root table.  When len exceeds
  153|       |       root, sub-tables are created pointed to by the root entry with an index
  154|       |       of the low root bits of huff.  This is saved in low to check for when a
  155|       |       new sub-table should be started.  drop is zero when the root table is
  156|       |       being filled, and drop is root when sub-tables are being filled.
  157|       |
  158|       |       When a new sub-table is needed, it is necessary to look ahead in the
  159|       |       code lengths to determine what size sub-table is needed.  The length
  160|       |       counts are used for this, and so count[] is decremented as codes are
  161|       |       entered in the tables.
  162|       |
  163|       |       used keeps track of how many table entries have been allocated from the
  164|       |       provided *table space.  It is checked for LENS and DIST tables against
  165|       |       the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in
  166|       |       the initial root table size constants.  See the comments in inftrees.h
  167|       |       for more information.
  168|       |
  169|       |       sym increments through all symbols, and the loop terminates when
  170|       |       all codes of length max, i.e. all codes, have been processed.  This
  171|       |       routine permits incomplete codes, so another loop after this one fills
  172|       |       in the rest of the decoding tables with invalid code markers.
  173|       |     */
  174|       |
  175|       |    /* set up for code type */
  176|     24|    switch (type) {
  177|      8|    case CODES:
  ------------------
  |  Branch (177:5): [True: 8, False: 16]
  ------------------
  178|      8|        base = extra = work;    /* dummy value--not used */
  179|      8|        match = 20;
  180|      8|        break;
  181|      8|    case LENS:
  ------------------
  |  Branch (181:5): [True: 8, False: 16]
  ------------------
  182|      8|        base = lbase;
  183|      8|        extra = lext;
  184|      8|        match = 257;
  185|      8|        break;
  186|      8|    default:    /* DISTS */
  ------------------
  |  Branch (186:5): [True: 8, False: 16]
  ------------------
  187|      8|        base = dbase;
  188|      8|        extra = dext;
  189|      8|        match = 0;
  190|     24|    }
  191|       |
  192|       |    /* initialize state for loop */
  193|     24|    huff = 0;                   /* starting code */
  194|     24|    sym = 0;                    /* starting code symbol */
  195|     24|    len = min;                  /* starting code length */
  196|     24|    next = *table;              /* current table to fill in */
  197|     24|    curr = root;                /* current table index bits */
  198|     24|    drop = 0;                   /* current bits to drop from code for index */
  199|     24|    low = (unsigned)(-1);       /* trigger new sub-table when len > root */
  200|     24|    used = 1U << root;          /* use root table entries */
  201|     24|    mask = used - 1;            /* mask for comparing low */
  202|       |
  203|       |    /* check available table space */
  204|     24|    if ((type == LENS && used > ENOUGH_LENS) ||
  ------------------
  |  |   49|      8|#define ENOUGH_LENS 852
  ------------------
  |  Branch (204:10): [True: 8, False: 16]
  |  Branch (204:26): [True: 0, False: 8]
  ------------------
  205|     24|        (type == DISTS && used > ENOUGH_DISTS))
  ------------------
  |  |   50|      8|#define ENOUGH_DISTS 592
  ------------------
  |  Branch (205:10): [True: 8, False: 16]
  |  Branch (205:27): [True: 0, False: 8]
  ------------------
  206|      0|        return 1;
  207|       |
  208|       |    /* process all codes and make table entries */
  209|  1.58k|    for (;;) {
  210|       |        /* create table entry */
  211|  1.58k|        here.bits = (unsigned char)(len - drop);
  212|  1.58k|        if (work[sym] + 1U < match) {
  ------------------
  |  Branch (212:13): [True: 1.28k, False: 296]
  ------------------
  213|  1.28k|            here.op = (unsigned char)0;
  214|  1.28k|            here.val = work[sym];
  215|  1.28k|        }
  216|    296|        else if (work[sym] >= match) {
  ------------------
  |  Branch (216:18): [True: 288, False: 8]
  ------------------
  217|    288|            here.op = (unsigned char)(extra[work[sym] - match]);
  218|    288|            here.val = base[work[sym] - match];
  219|    288|        }
  220|      8|        else {
  221|      8|            here.op = (unsigned char)(32 + 64);         /* end of block */
  222|      8|            here.val = 0;
  223|      8|        }
  224|       |
  225|       |        /* replicate for those indices with low len bits equal to huff */
  226|  1.58k|        incr = 1U << (len - drop);
  227|  1.58k|        fill = 1U << curr;
  228|  1.58k|        min = fill;                 /* save offset to next table */
  229|  5.67k|        do {
  230|  5.67k|            fill -= incr;
  231|  5.67k|            next[(huff >> drop) + fill] = here;
  232|  5.67k|        } while (fill != 0);
  ------------------
  |  Branch (232:18): [True: 4.08k, False: 1.58k]
  ------------------
  233|       |
  234|       |        /* backwards increment the len-bit code huff */
  235|  1.58k|        incr = 1U << (len - 1);
  236|  3.14k|        while (huff & incr)
  ------------------
  |  Branch (236:16): [True: 1.56k, False: 1.58k]
  ------------------
  237|  1.56k|            incr >>= 1;
  238|  1.58k|        if (incr != 0) {
  ------------------
  |  Branch (238:13): [True: 1.56k, False: 24]
  ------------------
  239|  1.56k|            huff &= incr - 1;
  240|  1.56k|            huff += incr;
  241|  1.56k|        }
  242|     24|        else
  243|     24|            huff = 0;
  244|       |
  245|       |        /* go to next symbol, update count, len */
  246|  1.58k|        sym++;
  247|  1.58k|        if (--(count[len]) == 0) {
  ------------------
  |  Branch (247:13): [True: 128, False: 1.45k]
  ------------------
  248|    128|            if (len == max) break;
  ------------------
  |  Branch (248:17): [True: 24, False: 104]
  ------------------
  249|    104|            len = lens[work[sym]];
  250|    104|        }
  251|       |
  252|       |        /* create new sub-table if needed */
  253|  1.56k|        if (len > root && (huff & mask) != low) {
  ------------------
  |  Branch (253:13): [True: 80, False: 1.48k]
  |  Branch (253:27): [True: 40, False: 40]
  ------------------
  254|       |            /* if first time, transition to sub-tables */
  255|     40|            if (drop == 0)
  ------------------
  |  Branch (255:17): [True: 8, False: 32]
  ------------------
  256|      8|                drop = root;
  257|       |
  258|       |            /* increment past last table */
  259|     40|            next += min;            /* here min is 1 << curr */
  260|       |
  261|       |            /* determine length of next table */
  262|     40|            curr = len - drop;
  263|     40|            left = (int)(1 << curr);
  264|     40|            while (curr + drop < max) {
  ------------------
  |  Branch (264:20): [True: 0, False: 40]
  ------------------
  265|      0|                left -= count[curr + drop];
  266|      0|                if (left <= 0) break;
  ------------------
  |  Branch (266:21): [True: 0, False: 0]
  ------------------
  267|      0|                curr++;
  268|      0|                left <<= 1;
  269|      0|            }
  270|       |
  271|       |            /* check for enough space */
  272|     40|            used += 1U << curr;
  273|     40|            if ((type == LENS && used > ENOUGH_LENS) ||
  ------------------
  |  |   49|      0|#define ENOUGH_LENS 852
  ------------------
  |  Branch (273:18): [True: 0, False: 40]
  |  Branch (273:34): [True: 0, False: 0]
  ------------------
  274|     40|                (type == DISTS && used > ENOUGH_DISTS))
  ------------------
  |  |   50|     40|#define ENOUGH_DISTS 592
  ------------------
  |  Branch (274:18): [True: 40, False: 0]
  |  Branch (274:35): [True: 0, False: 40]
  ------------------
  275|      0|                return 1;
  276|       |
  277|       |            /* point entry in root table to sub-table */
  278|     40|            low = huff & mask;
  279|     40|            (*table)[low].op = (unsigned char)curr;
  280|     40|            (*table)[low].bits = (unsigned char)root;
  281|     40|            (*table)[low].val = (unsigned short)(next - *table);
  282|     40|        }
  283|  1.56k|    }
  284|       |
  285|       |    /* fill in remaining table entry if code is incomplete (guaranteed to have
  286|       |       at most one remaining entry, since if the code is incomplete, the
  287|       |       maximum code length that was allowed to get this far is one bit) */
  288|     24|    if (huff != 0) {
  ------------------
  |  Branch (288:9): [True: 0, False: 24]
  ------------------
  289|      0|        here.op = (unsigned char)64;            /* invalid code marker */
  290|      0|        here.bits = (unsigned char)(len - drop);
  291|      0|        here.val = (unsigned short)0;
  292|      0|        next[huff] = here;
  293|      0|    }
  294|       |
  295|       |    /* set return parameters */
  296|     24|    *table += used;
  297|     24|    *bits = root;
  298|     24|    return 0;
  299|     24|}

zError:
  131|     14|const char * ZEXPORT zError(int err) {
  132|     14|    return ERR_MSG(err);
  ------------------
  |  |   59|     14|#define ERR_MSG(err) z_errmsg[(err) < -6 || (err) > 2 ? 9 : 2 - (err)]
  |  |  ------------------
  |  |  |  Branch (59:31): [True: 0, False: 14]
  |  |  |  Branch (59:45): [True: 0, False: 14]
  |  |  ------------------
  ------------------
  133|     14|}
zcalloc:
  286|     70|voidpf ZLIB_INTERNAL zcalloc(voidpf opaque, unsigned items, unsigned size) {
  287|     70|    (void)opaque;
  288|     70|    return sizeof(uInt) > 2 ? (voidpf)malloc(items * size) :
  ------------------
  |  Branch (288:12): [Folded - Ignored]
  ------------------
  289|     70|                              (voidpf)calloc(items, size);
  290|     70|}
zcfree:
  292|     70|void ZLIB_INTERNAL zcfree(voidpf opaque, voidpf ptr) {
  293|     70|    (void)opaque;
  294|     70|    free(ptr);
  295|     70|}

